Inicio / Wikis / Artículos / Cómo configurar Squid en modo transparente + Squid cache + filtro de contenidos y algo más, en 10 minutos - Al hueso

Cómo configurar Squid en modo transparente + Squid cache + filtro de contenidos y algo más, en 10 minutos - Al hueso

03 de Marzo de 2006
Seguridad informática

2 - Al hueso

La distribución Linux que se use para el servidor fue Fedora Core 2, aunque no lo e probado en otra distribución, en teoría debería funcionar en cualquiera.

Software Utilizado:

  • IPtables-1.3.3
  • Squid-2.5.STABLE10

Si para el día que leas este tutorial existen otras versiones más recientes, es recomendable que las instales.

El fichero de configuración de Squid se encuentra en /etc/squid/squid.conf es bastante extenso, 3690 líneas aproximado, por eso ten cuidado. Te recomiendo que comentes todos los cambios que vayas realizando y que antes de empezar hagas un respaldo del squid.conf.

Los parámetros que se trataran en este tutorial son:

HTTP_PORT
VISIBLE_HOSTNAME
CACHE_MEM
CACHE_DIR
ACL (Lista control acceso)
HTTP_ACCESS (Regla de control de acceso)
CACHE_MGR
HTTPD_ACCEL_HOST
HTTPD_ACCEL_PORT
HTTPD_ACCEL_WITH_PROXY

Parámetro HTTP_PORT

Este parámetro se utiliza para especificar el puerto que usará Squid, por defecto usa el puerto 3128, algunos manuales dicen que para un Proxy transparente se debe usar el puerto 80, en mi caso, la máquina en la que esta el servidor Proxy también tiene corriendo Apache, por lo que el puerto 80 ya está ocupado. Este parámetro lo descomentamos y dejamos el puerto 3128 para el Proxy, mas adelante explicaré porque.

http_port 3128

Parámetro VISIBLE_HOSTNAME

En este parámetro se configura un nombre, no es muy relevante el nombre pero si es importante configurarlo, porque si no Squid nos arrojara un lindo error.

FATAL: Could not determine fully qualified hostname. Please set ‘visible_hostname’

En mi caso este parámetro no lo encontré dentro del squid.conf, por lo que lo escribí yo mismo debajo de http_port.

visible_hostname BOTH

Parámetro CACHE_MEM

En el parámetro cache_mem se configura la cantidad de memoria que se asignará para el cache del Proxy, por defecto es 16MB, pero dependiendo del hardware de la máquina se puede asignar más, en mi caso le asigne 32MB.

cache_mem 32 MB

Parámetro CACHE_DIR

Aquí se establece cuanto espacio en el HD se asignará para el cache del Proxy, mientras más espacio en el cache más páginas puede almacenar, por lo que se supone que menos ancho de banda se ocupará. Por defecto son 100MB, en mi configuración establecí 400MB.

cache_dir 400 MB

ACL (Lista de control de accesos)

ACL es necesario para establecer las listas de control de acceso al Proxy, estas pueden definir la red completa o ciertas máquinas específicas. A estas listas de acceso se les asigna una regla de acceso que define si se permite o se rechaza la conexión al Proxy.

Las lista de control de acceso se definen asi:

acl (Nombre de la lista) src (Red o equipos que componen la lista)

Si se desea crear una lista de acceso que contenga toda la red, en donde las máquinas tiene direcciones 192.168.0.x y cuya máscara de subred sea 255.255.255.0 entonces el ejemplo sería así:

acl mired src 192.168.0.0/255.255.255.0

Ahora si se necesita que solo algunos equipos tengan acceso al Proxy, se debe crear un fichero con las IPs de los equipos, localizado en el HD, el cual será invocado y leído por Squid.

alc maquinas_permitidas “/etc/squid/maquinas_permitidas”

Parámetro HTTP_ACCESS (Reglas de control de acceso)

Este parámetro define si se permite el acceso o no a Squid. Debes ponerlas donde dice:

# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR # CLIENTS.

Fácil? Bueno, la sintáxis de las reglas de control de acceso son así:

http_access (allow o deny) (lista de control de acceso)

Un ejemplo donde se da acceso a toda la red seria algo así:

http_access allow mired

Otro ejemplo:

http_access allow maquinas_permitidas

También se pueden definir varias listas de acceso, una para aceptar y otra para denegar, para esto de usa el símbolo ! que significa excepción.

http_access allow gerencia !secretarias

Esta regla otorga acceso a la lista llamada gerencia y deniega el acceso a la lista secretarias.

Ahora que ya sabes que son las listas, voy a describir como realicé mi configuración. Lo que yo hice fue otorgar acceso a toda mi red al Proxy, es decir todos tiene salida a Internet a través del Proxy. El Proxy controla el acceso al puerto 80, ósea Web, los demás protocolos salen a través de NAT.

Mi sección de lista de control de acceso es asi:

#Recommended minimun configuration:
acl all src 0.0.0.0/0.0.0.0
acl all src proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl mired src 192.168.0.0/255.255.255.0

Hecho esto, pasamos a las reglas de control de acceso, lo que seria algo así:

#INSERT YOUR RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
http_access allow localhost
http_access allow mired
http_access deny all

La regla http_access allow mired, permite el acceso a toda la red, 192.168.0.0/255.255.255.0, es decir a las IPs comprendidas entre 192.168.0.1 a 192.168.0.254

ATENCION: Squid no es capas de manejar protocolos como POP, IMAP y SMTP, por lo tanto para la salida y entrada del correo se debe usar NAT.

Parámetro CACHE_MGR

Este parámetro es para configurar una dirección de correo, en caso que ocurra alguna catástrofe en el servidor. Así squid podrá avisar cuando ocurra algo malo.

cache_mgr administrador@superadministradores.org

SQUID CACHE

El cache de Squid trabaja básicamente almacenando en el servidor las páginas que los usuarios visitan, así cuando el usuario vuelve a visitarla posteriormente u otro usuario solicita la misma página, esta no será cargada desde el hosting donde se aloja la página, sino será cargada desde el cache de nuestro Proxy. Squid Cache acelera la navegación de las páginas ya que al estar guardada se aprovecha el ancho de banda que sirve para otros servicios críticos que usan Internet.

Ahora para usar el cache debemos activar los siguientes parámetros:

HTTPD_ACCEL_HOST
HTTPD_ACCEL_PORT
HTTPD_ACCEL_WITH_PROXY

En mi configuración para en Proxy transparente, estos parámetros los deje así:

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Hecho esta, ya tenemos el Proxy Squid activo, ahora solo falta configurar los mensajes de error, los que vienen en distintos idiomas, por defecto English, los que se localizan en /usr/lib/squid/errors. Primero debemos borrar el enlace simbólico en /etc/squid/errors, y establecer uno nuevo a /usr/lib/squid/errors/Spanish.

Ahora solo basta iniciar el servicio.

service squid start (Fedora, Red-Hat, Mandriba)
/etc/init.d/squid start (Debian, Ubuntu, etc.)
/etc/rc.d/squid start (Slackware)

Squid debería iniciar in problemas, si no es así, revisa el archivo de configuración en /etc/squid.conf, vuelve a leer este tutorial o consulta a la lista de correo de http://www.tux.cl/

Pero esto aún no termina, ahora necesitamos indicarle a nuestro firewall que nos redireccione todo el trafico en el puerto 80 proveniente desde nuestra red. Mi configuración quedo asi.

#HTTP
IPTABLES –t nat –A PREROUTING –i eth1 –p tcp –dport 80 –j REDIRECT –to-port 3128

Mi servidor posee 2 interfaces de red, donde eth0 esta conectada a Internet y eth1 a la red interna. Ahora tenemos un Proxy totalmente transparente, esto significa que en los clientes no necesitaremos cambiar nada. Este ejemplo es aplicable a cualquier servicio que necesite pasar por un Proxy

#FTP
IPTABLES –t nat –A PREROUTING –i eth1 –p tcp –dport 21 –j REDIRECT –to-port 3128

#HTTPS
IPTABLES –t nat –A PREROUTING –i eth1 –p tcp –dport 443 –j REDIRECT –to-port 3128
Valora este capítulo:
Autor y licencia de 'Cómo configurar Squid en modo transparente + Squid cache + filtro de contenidos y algo más, en 10 minutos - Al hueso'
Jose Luis Gonzalez Extraído de: http://www.tux.cl/doku.php?id=articulos:redes:como_configurar_squid_en_modo_transparente_squid_cache_filtro_de_contenidos_en_10mins CopyLeft
Copyleft 2000-2006
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Opiniona sobre 'Cómo configurar Squid en modo transparente + Squid cache + filtro de contenidos y algo más, en 10 minutos - Al hueso' (0)

Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.

Opina sobre este artículo



* Valoración:
* Nombre:
* Correo electrónico:
* Título:
* Comentario:

Wikis relacionados con 'Cómo configurar Squid en modo transparente + Squid cache + filtro de contenidos y algo más, en 10 minutos - Al hueso'

Este documento pretende ser una guía sencilla para usuarios que no quieran complicarse la vida... Más »
En la edición anterior, se explicó las bases de Netfilter/IPTables. En esta segunda entrega, se... Más »
Los sitios web han de convertirse en filtros de información, es decir, deben ofrecer una... Más »
Este modulo define la desigualdad de Cauchy-Schwarz y discute algunos de sus usos prácticos, especialmente... Más »
Este artículo discute preguntas actuales de caracter teórico y metodológico en los estudios sobre la... Más »
¿Estás seguro de que deseas eliminar este capítulo?