Está en la página 1de 23

Servidores

Proxy

Servidor Proxy Web


Se trata de un proxy para una aplicacin especfica: el acceso a la web. Aparte de la
utilidad general de un proxy, proporciona una cache para las pginas web y los
contenidos descargados, que es compartida por todos los equipos de la red, con la
consiguiente mejora en los tiempos de acceso para consultas coincidentes. Al mismo
tiempo libera la carga de los enlaces hacia Internet.

Funcionamiento

El cliente realiza una peticin (p.e. mediante un navegador web)


de un recurso de Internet (una pgina web o cualquier otro
archivo) especificado por una URL.
Cuando el proxy cach recibe la peticin, busca la URL
resultante en su cach local. Si la encuentra, devuelve el
documento inmediatamente, si no es as, lo captura del servidor
remoto, lo devuelve al que lo pidi y guarda una copia en su
cach para futuras peticiones.

Ejemplo

Un cliente de un ISP manda una peticin a Google la


peticin llega en un inicio al servidor Proxy que tiene este
ISP, no va directamente a la direccin IP del dominio de
Google. Esta pgina concreta suele ser muy solicitada por
un alto porcentaje de usuarios, por lo tanto el ISP la retiene
en su Proxy por un cierto tiempo y crea una respuesta
mucho menor en tiempo. Cuando el usuario crea una
bsqueda el servidor Proxy ya no es utilizado y el ISP enva
su peticin y el cliente recibe su respuesta ahora s desde
Google.

Ventajas

Ahorro de Trfico
Velocidad en Tiempo de respuesta
Demanda a Usuarios
Filtrado de contenidos
Modificacin de contenidos

Desventajas

Las pginas mostradas pueden no estar actualizadas si


stas han sido modificadas desde la ltima carga que
realiz el proxy cach.
El hecho de acceder a Internet a travs de un Proxy, en
vez de mediante conexin directa, impide realizar
operaciones avanzadas a travs de algunos puertos o
protocolos.
Almacenar las pginas y objetos que los usuarios
solicitan puede suponer una violacin de la intimidad
para algunas personas.

Proxies transparentes

Un proxy transparente combina un servidor proxy con NAT de manera que las
conexiones son enrutadas dentro del proxy sin configuracin por parte del
cliente, y habitualmente sin que el propio cliente conozca de su existencia

Squid

Squid

Squid es el software para servidor Proxy ms popular y extendido entre los


sistemas operativos basados sobre UNIX.
Es muy confiable, robusto y verstil.
Al ser software libre, adems de estar disponible el cdigo fuente, est libre del
pago de costosas licencias por uso o con restriccin a un uso con determinado
nmero de usuarios.

Squid

Squid es un servidor Web Proxy con cach, lo que permite agilizar el acceso a
Internet de manera considerable.
Para usar el servidor Proxy se debe configurar manualmente el navegador Web,
o bien con un script de actualizacin automtica.

Squid

/etc/squid/squid.conf
http_port 3128
cache_mem 16 MB
cache_dir ufs /var/spool/squid 500 16 256
ftp_user proxy@su-dominio.net
cache_mgr joseperez@midominio.net
maximum_object_size 4096 KB
prefer_direct off

Squid - ACL

Es necesario establecer Listas de Control de Acceso que definan una red o bien
ciertas maquinas en particular.
A cada lista se le asignar una Regla de Control de Acceso que permitir o
denegar el acceso a Squid.
acl [nombre de la lista] src [lo que compone a la lista]

Squid ACL

acl mynetwork src 192.168.27.0/255.255.255.0


http_access [deny o allow] [lista de control de acceso]
http_access allow mynetwork
http_access deny !safe_ports
http_access deny CONNECT !SSL_ports

Squid

Al menos una Lista de Control de Acceso


Al menos una Regla de Control de Acceso
Acelerar Web
httpd_accel_host
httpd_accel_port
httpd_accel_with_proxy

Squid

Proxy transparente, los navegadores no necesitan cambiar su configuracin.


iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT to-port
3128
echo 1 > /proc/sys/net/ipv4/ip_forward

Squid

acl msn_messenger req_mime_type -i ^application/x-msn-messenger$


http_access deny msn_messenger
acl msn_url url_regex -i gateway.dll
acl msn_port port 1863
http_access deny msn_method msn_url
http_access deny msn_port
http_access deny CONNECT msn_port

Controles de Acceso

Es necesario establecer Listas de Control de Acceso que definan una red o un


rango de direcciones IP en particular.
A cada lista se le asignar una Regla de Control de Acceso que permitir o
denegar el acceso a Squid.

Lista de Control de acceso

acl [nombre de la lista] src [lo que compone a la lista]


Si se desea establecer una lista de controld e acceso que
abarque toda una red 192.168.1.0/24.
acl miredlocal src 192.168.1.0/255.255.255.0
Creando una lista de control de acceso en un fichero
acl permitidos src /etc/squid/acl/permitidos

Lista de Control de acceso

El archivo /etc/squid/acl/permitidos contendra algo as:


192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5

url_regex

acl sitiosnegados url_regex "/etc/squid/sitiosnegados"


www.sitioporno.com
sitioindeseable.com
napster
sex
porn
mp3
xxx
adult
acl youtube url_regex -i youtube.com

Restringir por tiempo

acl <nombre> time [abreviacin-da] [h1:m1-h2:m2]


S -> Domingo (Sunday)
M -> Lunes (Monday)
T -> Martes (Tuesday)
W -> Mircoles (Wednesday)
H -> Jueves (Thursday)
F -> Viernes (Friday)
A -> Sbado (Saturday)

acl dias time MTWHF 08:00-18:00

Restringir por extensin

acl extensiones urlpath_regex "/etc/squid/extensiones"


\.avi$
\.mp4$
\.mp3$
\.mp4$
\.mpg$
\.mpeg$
\.mov$
\.exe$
\.bat$

Tips

El parametro cache_mem debe ser 1/3 de la memoria RAM.


Cada vez que se modifique el archivo /etc/squid.conf o alguna
ACL hay que recargar el servicio squid.
/etc/init.d/squid reload
Se recomiendo poner el spool del cache en otra particin
/dev/hda6 /var/spool/squid
Para ver si esta filtrando adecuadamente hay que ver los logs del
squid en linea.
tail -f /var/log/squid/access.log