Sunteți pe pagina 1din 3

Seguridad y Alta Disponibilidad

2 ASIR

CONFIGURACIN DEL PROXY SQUID EN MODO INVERSO

Un proxy inverso , o reverso que es lo mismo , es un proxy que centraliza el trafico entrante de internet hacia nuestra red local. En este caso al tratarse de un proxyweb reverso lo que centralizara ser las solicitudes al puerto 80(http) , despus y mediante las reglas de las listas de control de acceso (ACL) configuraremos el modo en que nuestro proxyserver reverso solicita las URLs a los diferentes servidores web que podamos tener. Existen diferentes razones para instalarnos un proxy inverso pero la mayor razn ayudar a proteger nuestros recursos de red de amenazas exteriores. Yo creo que una buena configuracin de la topologa de la red ,con una zona neutra a la que solo se puede acceder por medio del enrutamiento realizado por squid y atendiendo a las polticas configuradas en este, debera de proteger de forma adecuada tanto nuestra dmz como el resto de nuestra red local. Sera conveniente aadir detectores de intrusin, firewalls y antivirus en el equipo que recibe todo el trfico entrante, con la intencin de crear una maquina que ser muy difcil de comprometer. As crearemos el primer punto fuerte en cuanto a seguridad en nuestra red.

Configuracin de squid para reverse-proxy web


Squid se configura a travs de su archivo de configuracin, este archivo es /etc/squid/squid.conf Lo primero que haremos ser indicar a squid que permanezca a la escucha en la ip que est conectada con el exterior y en el puerto 80 (puerto de escucha por defecto para http) e indicar que es un virtual host, esto se har mediante la directiva http_port. Un ejemplo de esta directiva para una tarjeta de red con ip 192.170 .1.100 puede ser por ejemplo http_port 192.170.1.100:80 vhost vport . Despues de esto lo que deberemos hacer es crear una lista de los dominios internos que tenemos en nuestra red e indicarle al squid donde se encuentra el archivo de lista de dominios mediante una directiva acl dstdomain ,esto permitir acceder al proxy a los dominios de destino que estn en la lista. Un ejemplo ,suponiendo que en nuestra red interna tenemos 3 dominios llamados por ejemplo dominio.uno.org , dominio.dos.org dominio.tres.org ,pues creamos un archivo de texto con el fqdn de cada uno de ellos , y le llamamos webslokales.txt por ejemplo. Despus le decimos a squid mediante una directiva donde se encuentra esa lista ,la directica quedara asi : acl weblokales dstdomain "/etc/squid/weblokales.txt" Y algo muy importante ,permitir el direccionamiento hacia nuestras webs , antes creamos la acl weblokales,pues ahora vamos a permitir el acceso a esas webs por medio de la directiva http_access allow weblokales que permitir el acceso hacia los dominios que estn listados en weblokales.

Ahora lo que hare, ser crear una acl dst ,para indicar al squid , que se conecte de forma directa hacia las maquinas que tienen alojadas las webs , como he dicho que lo mas lgico seria tener estos servers en una dmz ,llamare a la directiva dmz y apuntara a la direccin de red de la dmz,

acl midmz dst 192.171.1.0/24 (voy a poner los servers y el squid en diferentes redes para ver como redirecciona ) always_direct allow midmz Con estas dos directivas ya le digo al squid donde tiene que ir a buscar las solicitudes http pero ahora viene mi mayor duda . En todos los manuales que he visto por internet hacen uso de un script para redireccionar ,es como una tabla dns ,relaciona nombres de dominio(concretamente sus alias www) con ips.

Se podr hacer esta redireccin mediante el sistema DNS en caso de tener instalado algn servidor de este tipo como bind9 en vez de usar el scrip?

Me imagino que para resolver un par de nombres de dominio sea mejor el script, mas rpido al tener las tablas mucho mas pequeas y consumiendo bastantes menos recursos que todo un servidor DNS. Bueno , el script es un programa escrito en perl y hay que decirle al squid que lo utilice para resolver los nombres de los dominios por sus ips correspondientes. Le llamare redireccionador.pl y lo guardare en /usr/local/sbin/ . Para hacer esto hace falta editar de nuevo el archivo /etc/squid/squid.conf y aadir una nueva directiva para decir a squid donde se encuentra este archivo redirecionador, la directiva es simplemente redirect_program /usr/local/sbin/redireccionador.pl

Y el cdigo del script es el siguiente: #!/usr/bin/perl -p BEGIN { $| = 1; } s%^http://www.estaURL.com.ar([:/]|$)%http://192.168.20.2$1% && next; s%^http://www.otra.com.ar([:/]|$)%http://192.168.20.3$1% && next; s%^http://www.OTRAURL.com.ar([:/]|$)%http://192.168.20.5$1% && next; s%^http://www.ESTATAMBIEN.org.ar([:/]|$)%http://192.168.20.6$1% && next;

Habr que adaptar el cdigo cambiando los URLs y la IPs a para que se adapten a nuestra red y a los nombres de nuestras webs , y con esto ya tenemos a squid actuando como reverse-proxyweb.

Curso 2011/12

Dpto. Informtica I.E.S Alisal

S-ar putea să vă placă și