SquidGuard Proxy

pfSense

Para comenzar con la configuración de esta parte del squid nos dirigimos a Services - SquidGuard Proxy Filter donde nos encontramos varias secciones.

General Settings

Una vez que clicamos en SquidGuard Proxy Filter en Services caemos en esta pestaña donde nos muestra un botón que tendríamos que clicar cada vez que hagamos un cambio en la configuración del servicio:

General Settings

En esta sección tenemos la opción de utilizar LDAP, de configurar opciones del servicio en dependencia de nuestro hardware y la cantidad de usuarios. También podemos configurar el número de procesos hijos que estarán disponibles en el arranque, los logs del sistema, de modo que no nos quedemos sin espacio en disco, y la sección Blacklist options que no puede faltar.

Target categories

En este apartado vamos a crear dos nuevos items: Permitidos y Bloqueados

Permitidos y Bloqueados

En Permitidas he puesto los dominios que voy a permitir acceder. La red 192.168.56.0 /124 de la LAN y la 172.27.1.0/24 de la DMZ.

Permitidas

En Domain List podemos escribir aquellas IP o dominios a permitir o bloquear según sea la lista. Tienen que estar separados por un espacio.

En el ejemplo he utilizado las IP de los nodos de Tor que han sido obtenidas de la URL:

https://www.dan.me.uk/torlist/ 

El problema es que esta lista viene una por línea y necesitamos que estén separadas por un espacio. Para solucionar esto vamos a utilizar el comando sed. Copiamos y pegamos las IP en un documento por ejemplo lista.txt y ejecutamos:

sed ':a;N;$!ba;s/\n/ /g' lista.txt > lista_espacios.txt

Ahora ya podemos abrir el fichero lista_espacios.txt, copiar y pegar ya que lo tendremos sin salto de lineas y con un espacio entra las IP.

Entonces, en el apartado de URL list podemos escribir las URL a bloquear.

Bloquedas

Blacklist

Podemos descargar el archivo de blacklists de la Universidad de Francia:

http://dsi.ut-capitole.fr/blacklists/download/blacklists_for_pfsense.tar.gz

Así que, nos quedaría de la siguiente manera:

Podemos configurar franjas horarias para las reglas para flexibilizar el acceso a Internet.

Podemos configurar las Common ACL y las Groups ACL. Veremos las Target Rule List esto es:

  • las Target categories

  • las 74 categorías descargadas. Debemos elegir entre:

    • whitelist (permitida aunque la encuentre en otra categoría bloqueada),

    • allow (permitida siempre y cuando no aparezca en otra categoría)

    • deny (no permitida)

    Common ACLs

Groups ACL

Groups ACL y las Common ACL son casi lo mismo aunque tenemos que tener en cuenta que las Common ACL tienen prioridad sobre las de Grupo, esto es: si en las common ACL tenemos una categoría determinada bloqueada aunque en Groups ACL la permitamos seguirá estando bloqueada.

Clientes a quienes les puede afectar las reglas ACL

Podemos configurar a qué rango de IP (clientes) les afectan las reglas. Yo he optado por poner todo el rango de direcciones válido de la red LAN (no debería ser).

Las Target rules List es donde podemos seleccionar el comportamiento de si es whitelist, allow o deny en función de nuestras necesidades.

Hay una opción curiosa y es la de no permitir escribir la IP en lugar del nombre de dominio para no saltarse las reglas ACL.

No permitir IP

Del resto de opciones, lo más importante es activar el servicio de logs para encontrar los fallos. Guardamos y salimos:

Ya tenemos SquidGuard funcionando y recuerda que a cada cambio que hagamos en la configuración tenemos que hacer Apply en la pestaña General y Reiniciar el servicio en la pestaña Logs en la flecha circular.

Squid Proxy Reports

Nos vamos a Status - Squid Proxy Reports y prácticamente sin modificar nada podremos acceder a los reports del squid como se muestra a continuación.

LightSquid report

No es simple de configurar. Hay montones de detalles a considerar. Tampoco estoy utilizando una VM con suficiente RAM y espacio en disco con lo que he ido recibiendo mensajes de error de la swap de disco.

Mensaje de error

A partir de este punto sería interesante poder optimizar la configuración y testear el servicio, sobre todo el tema de las whitelist, blacklist, etc.

Last updated

Was this helpful?