PDF de programación - Configuración de Proxy transparente

Imágen de pdf Configuración de Proxy transparente

Configuración de Proxy transparentegráfica de visualizaciones

Actualizado el 14 de Abril del 2020 (Publicado el 26 de Noviembre del 2018)
606 visualizaciones desde el 26 de Noviembre del 2018
196,2 KB
10 paginas
Creado hace 16a (28/01/2008)
Configuración de Proxy transparente



por Alejandro Moreno

amperisblog[@]gmail.com
http://amperis.blogspot.com

26 de enero de 2008



Configuración de Proxy transparente


Introducción

Existen cientos de manuales y howto’s de cómo montar un servidor Proxy en
producción para una empresa. En este manual se hará hincapié sobre todo en la manera
de filtrar el contenido Web a ciertas paginas, el filtrado de las descargas por Internet y la
generación de reports diarios para el control.

Como todos sabemos un Proxy es un software que realiza las peticiones a un servidor en
nombre de un cliente. Aunque la configuración básica de un Proxy es la de cachear el
contenido Web este concepto para mi ya no tiene mucho sentido dado las velocidades
que tenemos hoy en dia para el acceso a Internet y sobre todo el aspecto cambiante que
tienen las paginas Web. De que sirve cachear una pagina Web si a los 5 minutos ya ha
cambiado su aspecto.

En este manual voy a explicar como montar un Proxy transparente para ponerlo en
producción para unos 200 usuarios, con filtro a paginas Web, filtro de descarga de
archivos, reports diarios, etc.
Al ser un Proxy transparente lo que quiero hacer es que el usuario no tenga conciencia
de su existencia y es por eso que el Proxy será su puerta de enlace TCP/IP.

Para implementar esto vamos a utilizar un servidor que será un gateway y allí
instalaremos todo el software necesario. Como siempre en mí (y vosotros ¿no?), si se
puede hacer gratis lo haremos gratis, así que instalaremos un Linux. Para este servidor
utilizaremos la versión 8 de Fedora junto con su última versión para Squid. Dado que
tendremos bastantes conexiones este servidor tendrá que tener una Ethernet a 1Gbps.

Todas las estaciones de trabajo tendrán como puerta de enlace el servidor Proxy.
Lógicamente aunque el router (o lo que sea) sea alcanzable, los cliente no tienen
permisos para cambiar su configuración TCP/IP. Recuerda que estamos hablando de
200 estaciones que seguramente estarán ligadas a un dominio NT o Active Directory.



2



Configuración de Proxy transparente

Instalación

Una vez que tenemos el servidor ya podemos comenzar la instalación del SO. Para la
instalación de Fedora 8 no explicaré nada especial salvo elegir el minino numero de
paquetes para posteriormente arrancar el mínimo numero de servicios posibles (si que
instalaremos las herramientas de desarrollo y las herramientas del sistema). Solo
necesitamos lo necesario. Otra cosa importante para cualquier instalación es seleccionar
la instalación en inglés ya que es en este idioma donde salen los primeros parches y
sobre todo para facilitar la búsqueda de errores por Internet.

Nota: respecto a la BIOS sería aconsejable en los servers activar la opción de arrancar
el servidor automáticamente cuando haya tensión eléctrica. De esta forma cuando se va
la corriente y vuelve nos aseguramos que el Server arranca. Ya se que todos tenemos
un SAI en la empresa. Pero el SAI se termina y no todos tenemos generadores. 

Una vez terminada la instalación debemos hacer una actualización completa del sistema
y comenzar a bajar los 300Mb que seguramente abran en actualizaciones.


Luego instalaremos todos los paquetes (si no están ya instalados) que necesitamos para
nuestra implantación.

# yum upgrade
# yum install squid.i386 httpd.i386 mrtg.i386 iptables.i386


Después del upgrade reiniciaremos el server (manias mias) para ver que todo ha ido
bien y le echaremos un vistazo al /var/log/messages.

También nos faltarán un par de paquetes no oficiales de Fedora (una lastima que no
sean ya oficiales). Estos son Sarg y Webmin. Los dos son proyectos libres en
Sourceforge. El Webmin es opcional pero lo conocí hace mucho tiempo y para mi viene
de serie en todos los servidores Linux. Una vez descargados empezamos a instalar.

# cd /root/instalacion
# rpm -i webmin-1.390-1.noarch.rpm
# tar -xzvf sarg-2.2.3.1.tar.gz
# cd sarg-2.2.3.1
# cat README
# ./configure --enable-sysconfdir=/etc/sarg --enable-htmldir=/var/www/html/sarg
# make
# make install
# make clean


Nota: Yo tengo por costumbre guardarme en /root/instalacion todos los paquetes que
voy instalado. De esta forma si tuviera que montar otra maquina igual en otro sitio
simplemente tendría que seguir los mismos pasos y con las mismas versiones de
paquetes.

Una vez que tenemos todo el software instalado arrancaremos “ntsysv” para
deshabilitar y habilitar todos los servicios necesitemos. Tenemos que habilitar iptables,
httpd y squid.



3

Configuración de Proxy transparente

Ahora solo queda ir paquete por paquete configurándolo.

Configuración del gateway

Por defecto Linux no realiza funciones de ruteo (forwarding), por tanto no es capaz de
aceptar un paquete que no sea para el y rutarlo hacia la mejor ruta. Como nuestro
objetivo es que este servidor también haga de gateway tendremos que activar esta
opción.
Editaremos “/etc/sysctl.con” y cambiaremos “net.ipv4.ip_forward=0”
por “net.ipv4.ip_forward=1”. Después solo tenemos que reiniciar los servicios
de red con “service network restart”.

Si configuramos una estación y le ponemos como puerta de enlace este servidor ya
deberíamos poder navegar por Internet (si no navegamos tendríamos que parar el
iptables ya que aun no lo hemos configurado correctamente).



4

Configuración de Proxy transparente

Configuración de iptables

Lo primero que vamos hacer es asegurar el servidor configurando el firewall. Para ello
editaremos la configuración de iptables desde “/etc/sysconfig/iptables”. La
configuración sería algo parecida a esta:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
:LOGDROP - [0:0]

-A LOGDROP -j LOG --log-prefix "IPTABLES "
-A LOGDROP -j DROP

-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


# Filtro de paquetes entrantes al servidor.
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s
192.168.1.5/255.255.255.255 --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s
192.168.1.5/255.255.255.255 --dport 3128 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s
192.168.1.5/255.255.255.255 --dport 10000 -j ACCEPT

# Filtramos donde pueden conectarse las estaciones

# podemos hacer Pings a Internet
-A RH-Firewall-1-INPUT -p icmp -m icmp -s 192.168.1.0/255.255.255.0 --icmp-type echo-
request -j ACCEPT

# Acceso al correo
-A RH-Firewall-1-INPUT -m tcp -p tcp -s 192.168.1.0/255.255.255.0 -d 80.80.80.80 --
dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp -s 192.168.1.0/255.255.254.0 -d 80.80.80.80 --
dport 110 -j ACCEPT

# Acceso a Web seguro
-A RH-Firewall-1-INPUT -m tcp -p tcp -s 192.168.1.0/255.255.255.0 --
dport 443 -j ACCEPT

# permitimos hacer consultas DNS
-A RH-Firewall-1-INPUT -p udp -s 192.168.1.0/255.255.255.0 --
dport 53 -j ACCEPT

# Denegamos el resto de paquetes
-A RH-Firewall-1-INPUT -m tcp -p tcp -j LOGDROP
-A RH-Firewall-1-INPUT -j DROP

# Prohibimos el ICMP Redirect para evitar el cambio de ruta de los paquetes.
-A OUTPUT -p icmp -m icmp --icmp-type redirect -j DROP

COMMIT
*nat
:PREROUTING ACCEPT [2:557]
:POSTROUTING ACCEPT [1:108]
:OUTPUT ACCEPT [1:108]

# Redireccionamiento paral el Transparent-Proxy con Squid
-A PREROUTING -i eth0 -p tcp -m tcp -s 192.168.1.0/255.255.255.0 --dport 80 -j REDIRECT
--to-ports 3128

COMMIT



5

Configuración de Proxy transparente

Existen multitud de scripts para generar reglas para iptables. Lo que definimos primero
son las reglas necesarias para que solo el administrador del sistema (@ip 192.168.1.5)
se pueda conectar por SSH y al Webmin.
El siguiente conjunto de reglas definen donde se pueden conectar las maquinas. Por
política de empresa los usuarios solo podrán navegar por Internet (puertos 80 y 443 de
TCP) y acceder al correo electrónico (110 y 25 de TCP). Según nuestro caso el servidor
de correo electrónico se encuentra en la propia empresa, por tanto los usuarios solo
pueden leer el correo de la empresa y no se pueden conectar hacia Internet en busca de
de un servidor de correo.

Para terminar denegamos todos los paquetes y marcamos con la etiqueta “IPTABLES”
todos los paquetes TCP para identificar mejor los paquetes denegados dentro de
“/var/log/messages”.

Para las reglas de NAT introducimos una regla de prerouting por la cual todos los
paquetes que vayan al puerto 80 (http) se redireccionan al pueto 3128 (el Proxy squid).

Nota: Para el que no este acostumbrado al funcionamiento de iptables decir que las
ACLs se procesan de arriba abajo. Cuando una regla es cierta para un paquete, este es
denegado o aceptado y ya no se procesan más reglas. Si al final el paquete no es
aceptado por ninguna regla, la ultima regla elimina el paquete.

Para que iptables cargue las nuevas reglas reiniciamos el servicio con “service
iptables restart”.


Configuración del Proxy

La política que seguiremos para esta implementación será la siguiente: queremos que
todos los usuarios puedan navegar (a excepción de los que yo considere), queremos que
existen ciertas paginas prohibidas, también queremos que cierto tipo de archivos (exes,
pif, etc) estén prohibidos al igual que las conexi
  • Links de descarga
http://lwp-l.com/pdf14322

Comentarios de: Configuración de Proxy transparente (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad