Configurando el servidor Proxy SQUID
Un servidor proxy, es un intermediario, facilita el acceso a Internet de varios usuarios al
mismo tiempo que están compartiendo una sola conexión a Internet. A veces los servidores proxy
también almacenan (caching) páginas web que le han sido solicitadas, y por consiguiente reduce el
tiempo de acceso y uso del ancho de banda.
Squid es un proxy que además realiza cache de paginas web, FTP’s, SSL, cache transparente, de
DNS y mantiene un registro completo de todos las solicitudes. Realiza muy bien la filtración de
contenido así como el control de acceso por IP y usuario.
Está disponible tanto para Linux como para sistemas Windows.
No se instala por defecto, pero se encuentra normalmente en los repositorios de cualquier
distribución con lo que puede ser instalado facilmente a través de Synaptic, Aptitude o apt-get
Squid utiliza el archivo de configuración localizado en /etc/squid/squid.conf.
Debemos empezar configurando el archivo “squid.conf”. Para ello, como root:
cd /etc/squid/ vi squid.conf
Ya dentro del archivo de configuración primero debemos definir qué puerto utilizará Squid. Por
defecto port 3128
http_port 3128
Si desea incrementar la seguridad, puede vincular el servicio a una IP que solo se pueda acceder desde la red local. Considerando que el servidor utilizado posee la IP 192.168.1.254,
puede hacerse lo siguiente:
http_port 192.168.1.254:3128
Con esto ya podemos arrancar nuestro Proxy Squid
/etc/init.d/squid restart
Ahora ya tenemos nuestro proxi en pleno funcionamiento, solo nos falta decirle a los navegadores que deben filtrar la conexión a internet mediante nuestro proxy. Debemos poner como direccion de proxi, la IP donde de la máquina donde se encuentre instalado Squid y puerto el
previamente definido. (en nuestro caso 3128)
Controles de Acceso
Ya tenemos nuestro Proxy funcionando, pero nos falta definirle ciertas reglas de control de accesos que permitirán a Squid acceder o denegar conexiones.
Es necesario por tanto, establecer Listas de Control de Acceso que definan una red o bien ciertas máquinas en particular. A cada lista se le asignará una Regla de Control de Acceso que permitirá o denegará el acceso a Squid.
– Listas de control de acceso.
Una lista de control de acceso tiene la siguiente sintaxis:
acl [nombre de la lista] src [lo que compone a la lista]
Por defecto, nadie está autorizado a conectarse al servidor proxy, excepto tu máquina. Entonces hay que crear una lista de autorización. Por ejemplo vamos a definir un grupo que abarca toda la red local. Para ello basta definir la IP correspondiente a la red y la máscara de la sub-red y
agregarla al fichero de configuración al final de la sección ACCESS CONTROLS
acl red_oficina src 192.168.5.0/255.255.255.0
También puede definirse una Lista de Control de Acceso especificando un fichero localizado en cualquier parte del disco duro, y la cual contiene una lista de direcciones IP. Ejemplo:
acl permitidos src "/etc/squid/permitidos.list"
El fichero /etc/squid/permitidos.list contendría algo como lo siguiente:
192.168.1.1 192.168.1.2 192.168.1.3
Lo anterior estaría definiendo que la Lista de Control de Acceso denominada permitidos estaría compuesta por las direcciones IP incluidas en el fichero /etc/squid/permitidos.list.
Además de lo anteriormente visto, podemos crear una Lista de Control de Acceso con todas webs, ip’s malignas o expresiones regulares que queramos bloquear. Podriamos crear una entrada en el fichero de configuración por cada una de ellas, pero creo que es más como de esta manera:
acl sitiosdenegados url_regex "/etc/squid/lista_webs_prohibidas.list"
Ejemplo de archivo lista_webs_prohibidas.list
www.sitioporno.com www.otrositioporno.com sitioindeseable.com sex.com sexo.com napster sex porn mp3 xxx adult warez celebri
– Reglas de Control de Acceso.
Ahora que tenemos las Listas de Control de Acceso es cuando tenemos que crear las Reglas de Control de Acceso. Estas definen si se permite o no el acceso hacia Squid. Se aplican a las Listas de Control de Acceso y deben colocarse en la sección de reglas de control de acceso definidas por el
administrador, es decir, a partir de donde se localiza la siguiente leyenda:
# # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS #
La sintaxis básica es la siguiente:
http_access [deny o allow] [lista de control de acceso]
Para autorizar a nuestra red local deberemos agregar lo siguiente al fichero de configuración:
http_access allow red_oficina
A continuación agregaremos una Regla de Control de Acceso con un símbolo de ! que se denegará el acceso a la Lista de Control de Acceso denominada sitiosdenegados:
http_access allow redlocal !sitiosdenegados
Ya solo nos queda reiniciar el servidor para que los cambios tengan efecto:
/etc/init.d/squid restart
Los logs del proxy se encuentran en /var/log/squid/access.log
Este es un solo un primer paso de todo lo que se puede hacer con Squid, pero espero que con este manual se os haya quitado el miedo a instalarlo y configurarlo.