En esta sección describiremos el procedimiento para configurar Shorewall como Proxy HTTP Transparente (Interceptor), en donde en el mismo firewall se ejecuta un Proxy HTTP Squid escuchando en el puerto TCP 3128.
El proxy squid esta escuchando peticiones de los hosts en la red local en el puerto 3128, lo podemos ver en el parametro http_port del archivo de configuración de squid
/etc/squid/squid.conf
, por ejemplo:http_port 3128
Para configurar el proxy transparente debemos configurar la regla para permitir que los hosts en la zona loc puedan acceder al puerto 3128 de la interfaz local del firewall, además, debemos permitir tráfico saliente desde el Firewall hacía el Internet ya que el proceso local squid debe acceder a sitios remotos usando el protocolo TCP/80, agregue las siguiente reglas en el archivo
/etc/shorewall/rules
:#
# Trafico originado en el Firewall (fw) con destino el Internet (net): fw2net
#
...
ACCEPT fw net tcp 21 #FTP
ACCEPT fw net tcp 80 # HTTP
...
...
...
#
# Trafico originado en la LAN (loc) con destino el Firewall (fw)
#
...
ACCEPT loc fw tcp 3128 # Squid
...
Ahora agregamos la que redireccionará todo el tráfico proveniente de la red local con destino el puerto TCP 80 en el Internet hacía el puerto 3128 local de squid:
#
# Trafico originado en la LAN (loc) con destino el Internet (net): loc2net
#
# Proxy Transparente
REDIRECT loc 3128 tcp 80
...
...
Tal vez sea necesario excluir algunos hosts destino o redes de la redirección, por ejemplo en el firewall se ejecuta un servidor web en el que se muestran gráficas de tráfico, para excluir la redirección del puerto TCP/80 hacía la dirección IP interna del firewall use la siguiente regla:
#
# Trafico originado en la LAN (loc) con destino el Internet (net): loc2net
#
# Proxy Transparente
REDIRECT loc 3128 tcp 80 - !192.168.221.254
...
...
Si tiene algún servidor Web en la red interna y también desea agregarlo a la lista de destinos a excluir de la redirección puede usar una lista separada por comas, por ejemplo:
#
# Trafico originado en la LAN (loc) con destino el Internet (net): loc2net
#
# Proxy Transparente
REDIRECT loc 3128 tcp 80 - !192.168.221.254,192.168.221.4
...
...
Para que el Squid funcione como Proxy Transparente con Shorewall debe tener configurado Squid cuando menos con los siguientes parametros:
http_port 3128 transparent
acl loc_subnet src 192.168.221.0/24
http_access allow loc_subnet
Nota | |
---|---|
Estas configuraciones son para Squid 2.6 ó superior. |
Recargue la configuración de shorewall para que los cambios tomen efecto:
# shorewall restart
Probablemente existe el requierimiento de excluir algunos sistemas internos de usar el proxy, es decir, hacer que esos sistemas vayan directo al Internet, para lograr dicha labor excluya la dirección IP del sistema interno en la regla y agregue una regla para permitir el acceso directo al puerto TCP/80 en el Internet:
ACCEPT fw net tcp 80
REDIRECT loc:!192.168.221.200 3128 tcp 80 - !192.168.221.254,192.168.221.4
ACCEPT loc:192.168.221.200 net tcp 80
Recargue la configuración de shorewall para que los cambios tomen efecto.
Publicación original Por: Jorge Armando Medina
No hay comentarios:
Publicar un comentario