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 tanto Squid como 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. Instale Squid y SquidGuard - Parte 1
  2. Configuración de Squid Proxy Server con acceso restringido - Parte 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. limitar el acceso web permitido para algunos usuarios a una lista de servidores web y/o URL aceptados/conocidos solamente, mientras niega el acceso a otros servidores web y/o URL de la lista negra.
  2. bloquear el acceso a sitios (por dirección IP o nombre de dominio) que coincidan con una lista de expresiones regulares o palabras para algunos usuarios.
  3. exigir el uso de nombres de dominio/prohibir el uso de direcciones IP en las URL.
  4. redirige las URL bloqueadas a páginas de información o de error.
  5. utilice reglas de acceso distintas según la hora del día, el día de la semana, la fecha, etc.
  6. implementar diferentes reglas para distintos grupos de usuarios.

Sin embargo, ni SquidGuard ni Squid pueden utilizarse para:

  1. analizar texto dentro de documentos y actuar en consecuencia.
  2. detectar o bloquear lenguajes de secuencias de comandos incrustados como JavaScript, Python o VBscript dentro del código HTML.

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 en 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 fondo, y sus subdirectorios correspondientes (opcionales) como subcategorías, descendiendo hasta dominios y URL 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 brinda 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 busque 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) el acl relacionado en el archivo squidguard.conf .

Por ejemplo, si desea habilitar los dominios y las URL incluidas 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 los dominios deseados en /var/lib/squidguard/db/myWhiteLists en archivos llamados 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 utilizando el formulario a continuación y nos comunicaremos con usted tan pronto como sea posible. posible.