Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Mostrando entradas con la etiqueta pfsense 2. Mostrar todas las entradas
Mostrando entradas con la etiqueta pfsense 2. Mostrar todas las entradas

Como personalizar error de Squidguard en pfSense paso a paso

DriveMeca personalizando la pagina de error de SquidGuard en pfSense
Un proxy nos ahorra tiempo y dinero ademas de evitar muchos problemas de seguridad al bloquear archivos maliciosos. Sobre proxy ya he escrito varios artículos, varios de ellos con el tema de squid + squidguard sobre pfSense pero no había aun tocado el tema de personalizar la pagina de error cuando se filtra un sitio web y gracias a uno de mis lectores, también fan del opensource, me puse a investigar como hacerlo.

Esto nos puede servir para dar mas información en esta pagina (la que viene por default es muy reducida) o colocar el logo de nuestro negocio o firma, etc. Ahora si, con un poco de html básico hagamos los cambios para tener una pagina de error mucho mas profesional y con mas información a la mano.

Requerimientos para personalizar pagina de error SquidGuard

-Normalmente la estructura de el error por default de Squidguard es así:
DriveMeca personalizando la pagina de error de SquidGuard en pfSense

-Entramos a la interfaz web de pfSense firewall y  nos vamos a el menú Diagnostics - Edit File
DriveMeca personalizando la pagina de error de SquidGuard en pfSense


Personalizamos función de error de SquidGuard en pfSense

-Ya allí editamos el fichero /usr/local/www/sgerror.php escribiendolo en la caja de texto. Damos click al botón Load
DriveMeca personalizando la pagina de error de SquidGuard en pfSense

-Buscamos la función get_error_page y la modificamos de la siguiente forma (aconsejable sacar una copia antes por si algo sale mal, una forma sencilla de hacerle backup es copiarla y pegarla en un archivo txt). Es muy importante tener cuidado con espacios en blanco o tabulaciones.

Reemplazamos email-del-administrador@gmail.com por el email del administrador encargado (al que le escribirán los usuarios reportando paginas bloqueadas que no lo deberían estar, por ejemplo) y drivemeca-squid-cache_logo.jpg por el jpg que queremos colocar al fondo (en este ejemplo es el que muestra la mascota de squid)
DriveMeca personalizando la pagina de error de SquidGuard en pfSense


function get_error_page($er_code_id, $err_msg='') {
        global $err_code;
        global $cl;
        global $g;
        global $config;
        $str = Array();

header("HTTP/1.1 " . $err_code[$er_code_id]);
$str[] = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">';
$str[] = '<html>';
$str[] = '<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title></title></head>';
$str[] = '<body style="background-color:#FFFFFF; font-family:verdana, arial, sans serif;">';
$str[] = '<div style="width:70%; margin:20px auto;">';
$str[] = '<div style="padding:5px; background-color:#C0C0C0; text-align:center; font-weight:bold; font-family:verdana,arial,sans serif; color:#000000; font-size:60%;">';

if ($cl['n']) $str[] = "Nombre: {$cl['n']} | ";
if ($cl['a']) $str[] = "IP: {$cl['a']} | ";
if ($cl['i'])  $str[] = "Usuario: {$cl['i']} | ";
if ($cl['s']) $str[] = "Grupo: {$cl['s']} | ";
if ($cl['t']) $str[] = "Categoria: {$cl['t']} ";
if ($cl['u']) $str[] = "URL: {$cl['u']} ";

$str[] = '</div><div style="background-color:#F4F4F4; text-align:center; padding:20px;">';
$str[] = '<div style="letter-spacing:0.5em; word-spacing:1em; padding:20px; background-color:#FF0000; text-align:center; color:#FFFFFF; font-size:200%; font-weight: bold;">Acceso denegado</div>';
$str[] = '<div style="padding:20px; margin-top:20px; background-color:#E2E2E2; text-align:center; color:#000000; font-family:verdana, arial, sans serif; font-size:80%;">';

if ($cl['u'])        $str[] = "<p><b>URL: {$cl['u']}</b></p>";
$str[] = '<div style="text-align:left;">';
$str[] = '<p><b>El website que ud trata de visitar a sido bloqueado por nuestras politicas de filtrado web</b></p>';

$str[] = '<p><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif">El acceso ha sido denegado por una de las siguientes razones:</font></p>';
$str[] = '<ul>';
$str[] = '<li><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Esta pagina contiene o esta etiquetada como material inapropiado.</font></li>';
$str[] = '<li><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Su usuario esta bajo una politica que no le permite acceder a sitios en esta categoria.</font></li>';
$str[] = '<li><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Por favor, de click <a href="javascript:history.back()">aqui</a> para devolverse a la pagina anterior.</font></li>';
$str[] = '<li id="list3"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"> Por favor contacte al <a href="mailto:email-del-administrador@gmail.com?Subject=Sitio web bloqueado por squidguard">Administrador del proxy</a> si piensa que esto es un error. Por favor, incluya toda la informacion del caso.</font></li>';
$str[] = '</ul>';

$str[] = '<p><img style="padding-top:20px;display: block;margin: 0px auto" src="http://'. $_SERVER['HTTP_HOST'] .'/drivemeca-squid-cache_logo.jpg" alt="geblockt"></p></div></div>';
$str[] = '<div style="padding:5px; background-color:#C0C0C0; text-align:right; color:#FFFFFF; font-size:60%; font-family:verdana,arial,sans serif;">Filtrado Web hecho por <a style="color:#FFFFFF;"><b>PfSense</b></a> y <a style="color:#FFFFFF;"><b>SquidGuard</b></a></div></div>';
$str[] = "</body>";
$str[] = "</html>";

return implode("\n", $str);
}

-Copiamos el banner gráfico desde el menú Diagnostics - Command Prompt
DriveMeca personalizando la pagina de error de SquidGuard en pfSense

-Copiamos dando click al botón Seleccionar archivo de la sección Upload File y damos click al botón Upload
DriveMeca personalizando la pagina de error de SquidGuard en pfSense

-Ejecutamos el comando mv /tmp/drivemeca-squid-cache_logo.jpg /usr/local/www desde la sección Execute Shell command y damos click al botón Execute. Este comando moverá el banner gráfico al sitio donde lo cargara la función modificada por nosotros
DriveMeca personalizando la pagina de error de SquidGuard en pfSense

-Verificamos haya quedado el banner gráfico ejecutando por medio de Execute Shell Command el comando ls -la /usr/local/www/*.jpg. Damos click al botón Execute y debe mostrarnos el archivo jpg en su sitio
DriveMeca personalizando la pagina de error de SquidGuard en pfSense


Chequeamos funcionamiento de pagina de error SquidGuard en pfSense

-Muy bien, ya tenemos una pagina de error personalizada mas profesional. Verificamos su funcionamiento tratando de navegar a una pagina que debería estar bloqueada en nuestro firewall pfSense con SquidGuard, ejemplo, www.playboy.com
DriveMeca personalizando la pagina de error de SquidGuard en pfSense


Artículos recomendados: Como configurar OpenVPN en pfSense paso a paso
                                           Como actualizar pfSense paso a paso
                                           Que tanto usas tu proxy, Estadísticas de squid en pfsense
                                           Monitorea pfSense por medio de NRPE y Nagios
                                           Como configurar DHCP Server en PFsense 2 paso a paso


Te parece útil este tema? ya tienes tu pagina de error personalizada? Usas SquidGuard? Te gusto el articulo? hazme un favor, compártelo en tus redes sociales (compartir es sexy). Escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como actualizar Pfsense 2.0.1 paso a paso

Comenzamos el año 2013 después de unas vacaciones y nos ponemos al día en lo que a software respecta viendo que pfsense lanzo una actualización, por lo cual hoy les mostrare como pasar de la versión 2.0.1 a la 2.0.2. En un articulo anterior les mostré como instalarlo. Además de otros artículos sobre configuraciones de agregados de este excelente firewall que pueden buscar en este mi blog.

-Nos conectamos a su interfaz web como admin y vemos que nos alerta sobre una actualización en el bloque System Information.


-Damos click en Click here en System Information.


-Se nos muestra que pasaremos de la versión 2.0.1 a la 2.0.2. Damos click al botón Invoke Auto Upgrade.


-Comienza la descarga del nuevo firmware, hora de ir por un café ;-)


-Ya comenzada la instalación se nos alerta que al terminar se reiniciara el equipo dejándonos sin internet por unos segundos.


-Como el reinicio es tan rapido y no cambia la pagina, damos click a Sense en la esquina superior izquierda para ir a la pagina de inicio. Allí nos dice que se hizo la actualización pero que aun esta descargando paquetes y no debemos hacer cambios hasta que termine.


-Si nos vamos al menú System - Firmware - Auto update, vemos lo mismo. Debemos esperar unos minutos mas a que termine.


-Al cabo de unos minutos si vamos a la pagina de inicio ya veremos que termino y ya estamos en la versión 2.0.3. Verificamos que todo este funcionando en nuestra LAN.


Si te resulto útil este articulo, se social, compártelo con otros por medio de los botones.
Disfrútenlo.
Share/Bookmark

Como bloquear dropbox con pfsense

Los discos virtuales o en el cloud se han hecho populares, ya hoy en dia uno puede almacenar casi cualquier cosa y una opción muy popular es Dropbox, no tengo nada en contra del servicio, solo que a veces se puede volver un problema al consumir el ancho de banda de nuestra LAN o volverse un problema de seguridad al ser mal usado por usuarios.
Por ello hoy les mostrare como bloquearlo con pfsense 2, el cual ya vimos en un articulo anterior como se instala. Este servicio, dropbox, usa el puerto 443 (https) por lo cual es casi imposible bloquearlo lo cual nos lleva a descartar sus rangos de ip's. Si después queremos permitir a solo algunos usuarios su uso, entonces debemos hacer otras reglas que lo permitan a esos usuarios y darle mas prioridad sobre la que crearemos bloqueándolo.

-Este es el grupo de ip's que usa Dropbox.

-Entramos a nuestro pfsense y nos vamos al menu Firewall - Aliases.


-Agregamos un aliases dando click al botón +



-Agregamos los 3 rangos ip versión 4.


-Aplicamos los cambios.


-Vamos al menu Firewall - Rules.


-Creamos una regla que haga Block de los paquetes que vengan de esas ip's.


-Guardamos y aplicamos el cambio. Con esto los usuarios que intente sincronizar su Dropbox no lo lograran, al nosotros descartar los paquetes que vengan de las ip's de listadas en el aliases.

Si te resulto útil este articulo, se social, compártelo con otros por medio de los botones.
Disfrútenlo.
Share/Bookmark

Como configurar IPSec en PfSense 2

IPsec viene por default en muchos OS (Windows, Mac, etc) y dispositivos para permitirnos conectarnos y de forma segura acceder a nuestros equipos. PfSense trae entre otros, pptp, ipsec. Hoy les mostrare como crear un servicio de ipsec en nuestro pfsense para que nuestros usuarios móviles con android, ipad, iphone, etc puedan conectarse cuando estén fuera.

-Entramos a la web administrativa de pfsense y nos vamos al menú VPN - IPsec y activamos Enable IPsec.


-Pasamos a la pestaña Mobile clients y activamos:
  •  IKE extensions
  •  Colocamos una subred que no este en uso en nuestra LAN
  •  Activamos Network list
Le damos click al boton Save.


-Nos devolvemos a la pestaña Tunnels y agregamos una fase 1 con los siguientes valores:
  • Description
  • Authentication method: Mutual PSK + Xauth
  • Negotiation mode: aggressive
  • My identifier: My IP address
  • Peer identifier: User distinguished name: una direccion de email
  • Pre-Shared Key: contraseña
  • Policy Generation: default
  • Proposal Checking: Obey
  • Encryption algorithm: AES 128 bits
  • Hash algorithm: SHA1
  • DH key group: 2
  • Lifetime: 86400
  • NAT Traversal: enabled
  • Dead Peer Detection: enabled DPD
Damos click a Save
 

-Creamos una fase 2 debajo de la fase 1 que acabamos de crear
  • Mode: Tunnel
  • Local Network: LAN subnet
  • Protocol: ESP
  • Encryption algorithms: AES 128
  • Hash algorithms: SHA1
  • PFS key group: off
  • Lifetime: 28800
Guardamos dando click en Save


-Debe quedarnos así

 

-Ya activo el servicio, nos vamos al menú Firewall - Rules y creamos una regla en la pestaña ipsec


-Nos vamos al menú Status - Services y verificamos este ejecutándose el servicio de ipsec, en este caso se llama racoon.


-Con esto ya tenemos el server IPsec listo, debemos crear una cuenta en el dispositivo o equipo que queramos conectar al pfsense, teniendo cuidado de colocar en el campo group name el email que colocamos anteriormente y en secret la contraseña de PSK.
Disfrútenlo
Share/Bookmark

Como agrego sitios a squidGuard en pfsense

Ya tenemos un firewall pfsense, con proxy, reglas de filtrado y tenemos un usuario sin privilegios para administración básica. Ahora debemos ir afinando nuestros filtros en squidGuard para que esas paginas que se nos escaparon y no queremos que nuestros usuarios visiten queden atrapadas. Hoy les mostrare como.

-Entramos a la interfaz web de nuestro pfsense y nos vamos a Services - Proxy filter.

-Nos vamos a la pestaña Target categories y nos creamos una categoría dándole click al botón + a la derecha.

-Le colocamos un nombre, sitios a bloquear o permitir (en una categoría no pueden haber a la vez sitios a bloquear y a permitir, deben estar en categorías diferentes). Le decimos que guarde un log cuando se active y salimos dando click al botón Save. En mi ejemplo quiero bloquear dropbox.com.

-Nos vamos a la pestaña Common ACL y abrimos el listado de reglas dando click al botón > verde. Allí nos deben aparecer de primera nuestras categorías creadas. Le damos el permiso debido, es decir, whitelist, deny, allow o --- y guardamos con el botón Save.

-Aplicamos el cambio en la pestaña General settings dando click a Apply. Con esto ya debe estar bloqueando o dejando pasar las paginas de nuestras nuevas categorías.

Disfrútenlo.
Share/Bookmark

Como crear un usuario sin privilegios en pfsense 2

Una de las facilidades de pfsense es que podemos crear cuentas de usuario sin permisos a todo el sistema sino a lo que nosotros le asignemos. Ejemplo, permiso para monitorear el trafico entrante y saliente, apagar y reiniciar el firewall, etc. Hoy les mostrare como y así no tienen que manejar la cuenta admin usuarios con poco conocimiento.

-Nos conectamos a la pagina web de pfsense y entramos al menú System - User Manager.

-Por default solo esta creado el usuario admin
-Cambiamos a la pestaña Groups y vemos que solo existen los grupos admins y all. Nos creamos un nuevo grupo dándole click al botón + que aparece a la derecha.
-Le colocamos un nombre, agregamos una descripción y salimos dando click al botón Save.
-Ya nos debe aparecer el nuevo grupo creado.
-Nos pasamos a la pestaña Users y agregamos un usuario dando click al botón + ala derecha. Le colocamos nombre, password. agregamos el grupo control creado anteriormente dándole click al botón > y salimos dando click al botón Save.
-Ya con el grupo.
-Volvemos al usuario, dando click al botón e a la derecha.

-Agregamos privilegios dando click al botón + a la derecha.
-Agregamos privilegios dando click, si queremos varios privilegios, presionamos la tecla Control y damos click, así no desmarcamos los anteriores ya marcados. Salimos dando click al botón Save.
-Ya marcados los privilegios.
-En este ejemplo estos son los que marque, me interesa que el usuario sin privilegios vea el ancho de banda de salida/entrada, vea el funcionamiento del DHCP (sin poder modificarlo) y pueda apagar o reiniciar el firewall.
De esta forma podemos asignar esta tarea a otra persona sin tantos conocimientos mientras nosotros miramos otros proyectos.
Disfrútenlo.




Share/Bookmark