Configuración de SquidGuard, habilitación de reglas de contenido y análisis de registros de Squid - Parte 6


Un LFCE ( Linux Foundation Certified Engineer ) es un profesional que tiene las habilidades necesarias para instalar, administrar y solucionar problemas de servicios de red en sistemas Linux, y está a cargo del diseño, implementación y mantenimiento continuo de la arquitectura del sistema en su totalidad.

Presentamos el programa de certificación de la Fundación Linux.

En publicaciones anteriores discutimos cómo instalar Squid + squidGuard y cómo configurar squid para manejar o restringir adecuadamente las solicitudes de acceso. Asegúrese de revisar esos dos tutoriales e instalar Squid y squidGuard antes de continuar, ya que establecen el fondo y el contexto de lo que cubriremos en esta publicación: integración de squidguard en un entorno de trabajo de squid para implementar reglas de lista negra y control de contenido sobre el servidor proxy.

  1. Install Squid and SquidGuard – Part 1
  2. Configuring Squid Proxy Server with Restricted Access – Part 5

¿Para qué puedo / no puedo usar SquidGuard?

Aunque squidGuard sin duda impulsará y mejorará las funciones de Squid, es importante destacar lo que puede y lo que no puede hacer.

squidGuard se puede utilizar para:

  1. limit the allowed web access for some users to a list of accepted/well known web servers and/or URLs only, while denying access to other blacklisted web servers and/or URLs.
  2. block access to sites (by IP address or domain name) matching a list of regular expressions or words for some users.
  3. require the use of domain names/prohibit the use of IP address in URLs.
  4. redirect blocked URLs to error or info pages.
  5. use distinct access rules based on time of day, day of the week, date etc.
  6. implement different rules for distinct user groups.

Sin embargo, ni squidGuard ni Squid pueden utilizarse para:

  1. analyze text inside documents and act in result.
  2. detect or block embedded scripting languages like JavaScript, Python, or VBscript inside HTML code.

Las listas negras son una parte esencial de squidGuard. Básicamente, son archivos de texto sin formato que te permitirán implementar filtros de contenido basados u200bu200ben palabras clave específicas. Hay listas negras comerciales y disponibles gratuitamente, y puede encontrar los enlaces de descarga en el sitio web del proyecto de listas negras de squidguard.

En este tutorial, le mostraré cómo integrar las listas negras proporcionadas por Shalla Secure Services a su instalación de squidGuard. Estas listas negras son gratuitas para uso personal/no comercial y se actualizan a diario. Incluyen, a la fecha, más de 1.700.000 entradas.

Para nuestra comodidad, creemos un directorio para descargar el paquete de la lista negra.

# mkdir /opt/3rdparty
# cd /opt/3rdparty 
# wget http://www.shallalist.de/Downloads/shallalist.tar.gz

El último enlace de descarga siempre está disponible como se destaca a continuación.

Después de desmarcar el archivo recién descargado, navegaremos hasta la carpeta de la lista negra ( BL ).

# tar xzf shallalist.tar.gz 
# cd BL
# ls

Puede pensar en los directorios que se muestran en la salida de ls como categorías de la lista de antecedentes, y sus subdirectorios correspondientes (opcionales) como subcategorías, descendiendo hasta direcciones URL y dominios específicos, que se enumeran en los archivos. URL y dominios , respectivamente. Consulte la imagen de abajo para obtener más detalles.

La instalación de todo el paquete blacklist , o de categorías individuales, se realiza copiando el directorio BL , o uno de sus subdirectorios, respectivamente, en /var/directorio lib/squidguard/db .

Por supuesto, podría haber descargado el tarball de lista negra en este directorio en primer lugar, pero el enfoque explicado anteriormente le da más control sobre qué categorías deben bloquearse (o no) en un momento específico.

A continuación, le mostraré cómo instalar las listas negras de anonvpn , piratería y chat y cómo configurar squidGuard para usarlas.

Paso 1 : Copie de forma recursiva los directorios anonvpn , piratería y chat de /opt/3rdparty/BL a /var/lib/squidguard/db .

# cp -a /opt/3rdparty/BL/anonvpn /var/lib/squidguard/db
# cp -a /opt/3rdparty/BL/hacking /var/lib/squidguard/db
# cp -a /opt/3rdparty/BL/chat /var/lib/squidguard/db

Paso 2 : Utilice los archivos de dominios y URL para crear archivos de base de datos de squidguard. Tenga en cuenta que el siguiente comando funcionará para crear archivos .db para todas las listas negras instaladas, incluso cuando una determinada categoría tenga 2 o más subcategorías.

# squidGuard -C all

Paso 3 : Cambie la propiedad del directorio /var/lib/squidguard/db/ y su contenido al usuario proxy para que Squid pueda leer los archivos de la base de datos.

# chown -R proxy:proxy /var/lib/squidguard/db/

Paso 4 : Configure Squid para usar squidGuard. Usaremos la directiva url_rewrite_program de Squid en /etc/squid/squid.conf para decirle a Squid que use squidGuard como reescritura/redirector de URL.

Agregue la siguiente línea a squid.conf , asegurándose de que /usr/bin/squidGuard sea la ruta absoluta correcta en su caso.

# which squidGuard
# echo "url_rewrite_program $(which squidGuard)" >> /etc/squid/squid.conf
# tail -n 1 /etc/squid/squid.conf

Paso 5 : agregue las directivas necesarias al archivo de configuración de squidGuard (ubicado en /etc/squidguard/squidGuard.conf ).

Consulte la captura de pantalla anterior, después del siguiente código para obtener más aclaraciones.

src localnet {
        ip      192.168.0.0/24
}

dest anonvpn {
        domainlist      anonvpn/domains
        urllist         anonvpn/urls
}
dest hacking {
        domainlist      hacking/domains
        urllist         hacking/urls
}
dest chat {
        domainlist      chat/domains
        urllist         chat/urls
}

acl {
        localnet {
                        pass     !anonvpn !hacking !chat !in-addr all
                        redirect http://www.lds.org
                }
        default {
                        pass     local none
        }
}

Paso 6 : reinicia Squid y prueba.

# service squid restart 		[sysvinit / Upstart-based systems]
# systemctl restart squid.service 	[systemctl-based systems]

Abra un navegador web en un cliente dentro de la red local y navegue hasta un sitio que se encuentre en cualquiera de los archivos de la lista negra (dominios o urls; usaremos http://spin.de/ chat en el siguiente ejemplo ) y será redirigido a otra URL, www.lds.org en este caso.

Puede verificar que la solicitud se realizó al servidor proxy, pero fue denegada (respuesta http 301 - Movida permanentemente ) y fue redirigida a www.lds.org en su lugar.

Si por alguna razón necesita habilitar una categoría que ha sido bloqueada en el pasado, elimine el directorio correspondiente de /var/lib/squidguard/db y comente (o elimine) la acl relacionada en el archivo squidguard.conf .

Por ejemplo, si desea habilitar los dominios y URL incluidos en la lista negra de la categoría anonvpn , deberá realizar los siguientes pasos.

# rm -rf /var/lib/squidguard/db/anonvpn

Y edite el archivo squidguard.conf de la siguiente manera.

Tenga en cuenta que las partes resaltadas en amarillo en ANTES se han eliminado en DESPUÉS .

En ocasiones, es posible que desee permitir ciertas URL o dominios , pero no un directorio completo en la lista negra. En ese caso, debe crear un directorio llamado myWhiteLists (o el nombre que elija) e insertar las URL y dominios deseados en /var/lib/squidguard/db/myWhiteLists en archivos denominados URL y dominios, respectivamente.

Luego, inicialice las nuevas reglas de contenido como antes,

# squidGuard -C all

y modifique squidguard.conf de la siguiente manera.

Como antes, las partes resaltadas en amarillo indican los cambios que deben agregarse. Tenga en cuenta que la cadena myWhiteLists debe ser la primera en la fila que comienza con pass.

Finalmente, recuerde reiniciar Squid para aplicar los cambios.

Conclusión

Después de seguir los pasos descritos en este tutorial, debería tener un potente filtro de contenido y un redirector de URL trabajando mano a mano con su proxy Squid. Si tiene algún problema durante su proceso de instalación/configuración o tiene alguna pregunta o comentario, puede consultar la documentación web de squidGuard, pero siempre no dude en escribirnos mediante el formulario a continuación y nos comunicaremos con usted tan pronto como sea posible. posible.