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 squidguard. Mostrar todas las entradas
Mostrando entradas con la etiqueta pfsense squidguard. 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

pfSense SquidGuard tutorial paso a paso

DriveMeca instalando y configurando SquidGuard en pfSense paso a paso
Los usuarios internet de nuestra LAN hay que reconocerles lo creativos que son a la hora de encontrar formas de como saltarse las políticas y navegar a paginas indebidas (paginas web que no tienen nada que ver con el negocio).  Pero no todo esta perdido y tampoco debes estar todo el dia espiando que hacen tus usuarios, usa SquidGuard (en conjunto con Squid) en tu firewall pfSense y por medio de filtros (ACL) puedes bloquear paginas.
A lo anterior sumemos que parte del trabajo ya esta hecho al poder descargar un paquete de ACL clasificados por categorías (porno, violencia, armas, etc) para ahorrarnos tener que clasificar muchas paginas en los filtros y así solo tener que ir "puliendo" nuestros filtros con el pasar de los días. Este tutorial en español paso a paso lo haremos en base a pfSense 2.3

Requerimientos para SguidGuard en pfSense


-Abrimos un browser y navegamos a la consola web de pfSense en nuestra red LAN. Ya dentro nos vamos al menú System - Package Manager
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-Damos click a Available Packages y buscamos el paquete SquidGuard
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-Damos click a su botón verde Install para instalarlo
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-pfSense nos pide confirmación de instalación. Damos click al botón verde Confirm
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-El paquete se descarga e instala con exito
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-Verificamos en el menú Status - Services que este ejecutándose el servicio Squid
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-Vamos al menú Services - SquidGuard Proxy Filter
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-Espera, no actives aun el servicio; al entrar bajamos en General Settings al final de la pagina
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-Activamos Enable GUI log, Enable log, Enable log rotation en Logging options y en Blacklist options activamos Blacklist. El siguiente paso importante es pegar el URL http://www.shallalist.de/Downloads/shallalist.tar.gz para cargar los ACL de Shallalist en Blacklist URL. Damos click al botón Save
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-Damos click a la pestaña Target categories para crear filtros y le damos click al botón Add
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-Para este ejemplo creare un filtro Bloqueadas (en un mismo filtro no pueden haber paginas bloqueadas y no bloqueadas, debemos crear uno para cada acción) Escribimos en Name el nombre (Bloqueadas), en Domain List separados por espacios en blanco escribimos los URL que queramos bloquear y que nuestras categorías de Shallalist no detecten, ejemplo, redtube.com
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-Bajamos en la pagina y le escribimos una descripción en Description, activamos Log y damos click al botón Save
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-Repetimos el proceso para crear un filtro para paginas que no queremos bloquear, en este caso le pongo el nombre de Permitidas y damos click al botón Save
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-Vamos a la pestaña General settings y activamos SquidGuard (Enable) y damos click al botón Apply para activar y ejecutar el servicio
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-Vamos a la pestaña Blacklist y damos click al botón verde Download para descargar el paquete de filtros Shallalist
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-Paso siguiente ir a la pestaña Common ACL y damos click al botón + donde nos aparecerán nuestras categorías Permitidas y Bloqueadas ademas de las que agregamos con Shallalist. Cada categoría tiene tres posibles valores, whitelist (siempre permitida confiable), deny (bloqueada) y allow (permitir siempre y cuando no este bloqueada en otra ACL)
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-No necesariamente debemos activar todas las ACL en este momento, podemos hacerlo poco a poco siempre teniendo en cuenta activar la ultima Default access [all] que puede o bloquear todo con deny (y nosotros comenzar a permitir paginas hasta que queden solo las necesarias) o permitir todo allow (y comenzar a bloquear paginas no necesarias) Activamos Log y damos click al botón Save
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-Ya podemos ir a la pestaña Log y ver como funcionan nuestros filtros SquidGuard dando click a los botones Blocked (bloqueadas), Filter GUI log (filtros), Filter log (filtros), Proxy config (configuracion squid) y Filter config (configuracion squidguard). Es bueno que te familiarices con la información que se muestra en estas opciones para poder ir haciendo ajustes cuando vayan pasando los días de su uso y recuerda, cada vez que hagas un cambio ve a la pestaña General settings y das click al botón Apply para que tome los cambios
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

-Como verificar si esta funcionando? Sencillo, abres un browser y tratas de navegar a una pagina que debería aparecer bloqueada, ejemplo, redtube.com y te saldrá una pagina de error diciéndote el filtro ACL que se activo, el URL bloqueado entre otras cosas, interesante cierto?
DriveMeca instalando y configurando SquidGuard en pfSense paso a paso

                                           Como actualizar pfSense paso a paso

Ya contamos con pfSense SquidGuard instalado y funcionando con una buena variedad de filtros ACL para bloquear o permitir paginas. Esto nos permitirá un mejor control de las paginas consultadas en nuestra LAN.

Quieres apoyarme? El conocimiento es gratis pero...igual tengo gastos. Puedes donarme dinero por medio de PayPal.

Donar 25 USD

Aun tienes dudas y quieres preguntarme algo que por email no crees posible? ahora puedes agendar una cita virtual conmigo (por medio de hangout de google), haz click aquí para agendar cita conmigo. Bien, 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