Squid es un servidor proxy para web con caché. Es una de las aplicaciones más populares y de referencia para esta función, software libre publicado bajo licencia GPL. Entre sus utilidades está la de mejorar el rendimiento de las conexiones de empresas y particulares a Internet guardando en caché peticiones recurrentes a servidores web y DNS, acelerar el acceso a un servidor web determinado o añadir seguridad realizando filtrados de tráfico.

Aunque orientado principalmente a HTTP y HTTPS soporta también otros protocolos como FTP e incluso Gopher. Implementa cifrado SSL/TLS tanto en la conexión al servidor web como a los navegadores y cualquier cliente web que lo soporte.

Instalación de SQUID

Antes de realizar ninguna configuración vamos a instalar el paquete apt install squid3 y ahora procedemos a la configuración del proxy

Configuración proxy en firefox

Nos dirigimos a Preferencias - Avanzado - Red - Conexión - Configuración y tiene que quedar asi:

Especificaciones configuración

Queremos instalar un servidor proxy/cache en nuestro servidor. Con ello vamos a poder controlar las páginas web a las que accedamos, además de acelerar nuestra navegación.

Nos piden la configuración de un proxy/cache/filtro en nuestra infraestrucutra. Hemos elegido como proxy/cache squid3, y como filtro de contenido dansguardian. Tenemos que tener en cuenta las siguientes consideraciones:

El proxy/cache solo admite conexiones de la red local

Vamos a editar el fichero de configuración /etc/squid3/squid.conf, introducimos lo siguiente:

Creación de usuarios y credenciales

Ahora creamos los usuarios y le asignamos una contraseña:

Deniega cualquier conexión que no este autentificada con los usuarios creados anteriormente

Para la autenticación descomentamos y completamos estas lineas en el fichero /etc/squid3/squid.conf:

Info! Los http_access una vez se cumple la condición lo que se encuentra abajo no se comprueba.

Se quieren limitar las siguientes conexiones

Anteriormente hemos añadido una acl en la cual englobamos los dos usuarios, ahora vamos a crear dos acl mas en la cual vamos a separar alumnos y profesores:

Para los profesores y alumnos

No se pueden bajar ficheros que se puedan instalar (exe,msi,rar,zip,bin,iso).

Y reinicio el servicio systemctl restart squid3

Al intentar descargar un archivo por ejemplo .exe o .zip

No tienen acceso a Internet los fines de semana

Y reinicio el servicio systemctl restart squid3

Para los alumnos

No pueden ver contenido multimedia

Y reinicio el servicio systemctl restart squid3

Cuando intentemos acceder a un video con formato .mp4 nos solicitara un nuevo logueo, como solo hemos prohibido a los alumnos si te logueas como profesor podras ver el video.

Sólo tienen conexión de 8:00 h. a 14:00 h.

Y reinicio el servicio systemctl restart squid3

Filtrar dominios por medio de un fichero

Para poder filtar varios dominios a la vez vamos a crear una lista negra la cual vamos a llamar black_domain.acl y añadimos las siguiente lineas en el fichero /etc/squid3/squid.conf:

Creamos el fichero /etc/squid3/black_domain.acl y insertamos la siguiente linea:

Y reinicio el servicio systemctl restart squid3

Orden de http_access

Es muy importante el orden de los http_access por lo tanto todo lo explicado anteriormente tendrá el siguiente orden para que funcione a la perfección.

Asi quedaria el fichero sin los comentarios

Info! Recomiendo no eliminar todo el fichero dado que existen “acl” por defecto y son necesarias para la navegación.