Proxy

2,021 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,021
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
125
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Proxy

  1. 1. Servidores Proxy
  2. 2. Servidor Proxy Web <ul><li>Se trata de un proxy para una aplicación específica: el acceso a la web. Aparte de la utilidad general de un proxy, proporciona una cache para las páginas 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. </li></ul>
  3. 3. Funcionamiento <ul><li>El cliente realiza una petición (p.e. mediante un navegador web) de un recurso de Internet (una página web o cualquier otro archivo) especificado por una URL. </li></ul><ul><li>Cuando el proxy caché recibe la petición, 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. </li></ul>
  4. 4. Ejemplo <ul><li>Un cliente de un ISP manda una petición a Google la petición llega en un inicio al servidor Proxy que tiene este ISP, no va directamente a la dirección IP del dominio de Google. Esta página 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 búsqueda el servidor Proxy ya no es utilizado y el ISP envía su petición y el cliente recibe su respuesta ahora sí desde Google. </li></ul>
  5. 5. Ventajas <ul><li>Ahorro de Tráfico </li></ul><ul><li>Velocidad en Tiempo de respuesta </li></ul><ul><li>Demanda a Usuarios </li></ul><ul><li>Filtrado de contenidos </li></ul><ul><li>Modificación de contenidos </li></ul>
  6. 6. Desventajas <ul><li>Las páginas mostradas pueden no estar actualizadas si éstas han sido modificadas desde la última carga que realizó el proxy caché. </li></ul><ul><li>El hecho de acceder a Internet a través de un Proxy, en vez de mediante conexión directa, impide realizar operaciones avanzadas a través de algunos puertos o protocolos. </li></ul><ul><li>Almacenar las páginas y objetos que los usuarios solicitan puede suponer una violación de la intimidad para algunas personas. </li></ul>
  7. 7. Proxies transparentes <ul><li>Un proxy transparente combina un servidor proxy con NAT de manera que las conexiones son enrutadas dentro del proxy sin configuración por parte del cliente, y habitualmente sin que el propio cliente conozca de su existencia </li></ul>
  8. 8. Squid
  9. 9. Squid <ul><li>Squid es el software para servidor Proxy más popular y extendido entre los sistemas operativos basados sobre UNIX. </li></ul><ul><li>Es muy confiable, robusto y versátil. </li></ul><ul><li>Al ser software libre, además de estar disponible el código fuente, está libre del pago de costosas licencias por uso o con restricción a un uso con determinado número de usuarios. </li></ul>
  10. 10. Squid <ul><li>Squid es un servidor Web Proxy con caché, lo que permite agilizar el acceso a Internet de manera considerable. </li></ul><ul><li>Para usar el servidor Proxy se debe configurar manualmente el navegador Web, o bien con un script de actualización automática. </li></ul>
  11. 11. Squid <ul><li>/etc/squid/squid.conf </li></ul><ul><ul><li>http_port 3128 </li></ul></ul><ul><ul><li>cache_mem 16 MB </li></ul></ul><ul><ul><li>cache_dir ufs /var/spool/squid 500 16 256 </li></ul></ul><ul><ul><li>ftp_user [email_address] </li></ul></ul><ul><ul><li>cache_mgr joseperez@midominio.net </li></ul></ul><ul><ul><li>maximum_object_size 4096 KB </li></ul></ul><ul><ul><li>prefer_direct off </li></ul></ul>
  12. 12. Squid - ACL <ul><li>Es necesario establecer Listas de Control de Acceso que definan una red o bien ciertas maquinas en particular. </li></ul><ul><li>A cada lista se le asignará una Regla de Control de Acceso que permitirá o denegará el acceso a Squid. </li></ul><ul><ul><li>acl [nombre de la lista] src [lo que compone a la lista] </li></ul></ul>
  13. 13. Squid ACL <ul><li>acl mynetwork src 192.168.27.0/255.255.255.0 </li></ul><ul><li>http_access [deny o allow] [lista de control de acceso] </li></ul><ul><li>http_access allow mynetwork </li></ul><ul><li>http_access deny !safe_ports </li></ul><ul><li>http_access deny CONNECT !SSL_ports </li></ul>
  14. 14. Squid <ul><li>Al menos una Lista de Control de Acceso </li></ul><ul><li>Al menos una Regla de Control de Acceso </li></ul><ul><li>Acelerar Web </li></ul><ul><ul><li>httpd_accel_host </li></ul></ul><ul><ul><li>httpd_accel_port </li></ul></ul><ul><ul><li>httpd_accel_with_proxy </li></ul></ul>
  15. 15. Squid <ul><li>Proxy transparente, los navegadores no necesitan cambiar su configuración. </li></ul><ul><li>iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT –to-port 3128 </li></ul><ul><li>echo 1 > /proc/sys/net/ipv4/ip_forward </li></ul>
  16. 16. Squid <ul><li>acl msn_messenger req_mime_type -i ^application/x-msn-messenger$ </li></ul><ul><li>http_access deny msn_messenger </li></ul><ul><li>acl msn_url url_regex -i gateway.dll </li></ul><ul><li>acl msn_port port 1863 </li></ul><ul><li>http_access deny msn_method msn_url </li></ul><ul><li>http_access deny msn_port </li></ul><ul><li>http_access deny CONNECT msn_port </li></ul>
  17. 17. Controles de Acceso <ul><li>Es necesario establecer Listas de Control de Acceso que definan una red o un rango de direcciones IP en particular. </li></ul><ul><li>A cada lista se le asignará una Regla de Control de Acceso que permitirá o denegará el acceso a Squid. </li></ul>
  18. 18. Lista de Control de acceso <ul><li>acl [nombre de la lista] src [lo que compone a la lista] </li></ul><ul><ul><li>Si se desea establecer una lista de controld e acceso que abarque toda una red 192.168.1.0/24. </li></ul></ul><ul><ul><li>acl miredlocal src 192.168.1.0/255.255.255.0 </li></ul></ul><ul><ul><li>Creando una lista de control de acceso en un fichero </li></ul></ul><ul><ul><li>acl permitidos src “/etc/squid/acl/permitidos” </li></ul></ul>
  19. 19. Lista de Control de acceso <ul><li>El archivo “ /etc/squid/acl/permitidos ” contendría algo así: </li></ul><ul><ul><li>192.168.1.1 </li></ul></ul><ul><ul><li>192.168.1.2 </li></ul></ul><ul><ul><li>192.168.1.3 </li></ul></ul><ul><ul><li>192.168.1.4 </li></ul></ul><ul><ul><li>192.168.1.5 </li></ul></ul>
  20. 20. url_regex <ul><li>acl sitiosnegados url_regex &quot;/etc/squid/sitiosnegados&quot; </li></ul><ul><li>www.sitioporno.com </li></ul><ul><li>sitioindeseable.com </li></ul><ul><li>napster </li></ul><ul><li>sex </li></ul><ul><li>porn </li></ul><ul><li>mp3 </li></ul><ul><li>xxx </li></ul><ul><li>adult </li></ul><ul><li>acl youtube url_regex -i youtube.com </li></ul>
  21. 21. Restringir por tiempo <ul><li>acl <nombre> time [abreviación-día] [h1:m1-h2:m2] </li></ul><ul><ul><li>S -> Domingo (Sunday)‏ </li></ul></ul><ul><ul><li>M -> Lunes (Monday)‏ </li></ul></ul><ul><ul><li>T -> Martes (Tuesday)‏ </li></ul></ul><ul><ul><li>W -> Miércoles (Wednesday)‏ </li></ul></ul><ul><ul><li>H -> Jueves (Thursday)‏ </li></ul></ul><ul><ul><li>F -> Viernes (Friday)‏ </li></ul></ul><ul><ul><li>A -> Sábado (Saturday)‏ </li></ul></ul><ul><li>acl dias time MTWHF 08:00-18:00 </li></ul>
  22. 22. Restringir por extensión <ul><li>acl extensiones urlpath_regex &quot;/etc/squid/extensiones&quot; </li></ul><ul><li>.avi$ </li></ul><ul><li>.mp4$ </li></ul><ul><li>.mp3$ </li></ul><ul><li>.mp4$ </li></ul><ul><li>.mpg$ </li></ul><ul><li>.mpeg$ </li></ul><ul><li>.mov$ </li></ul><ul><li>.exe$ </li></ul><ul><li>.bat$ </li></ul>
  23. 23. Tips <ul><li>El parametro cache_mem debe ser 1/3 de la memoria RAM. </li></ul><ul><li>Cada vez que se modifique el archivo /etc/squid.conf o alguna ACL hay que recargar el servicio squid. </li></ul><ul><ul><li>/etc/init.d/squid reload </li></ul></ul><ul><li>Se recomiendo poner el spool del cache en otra partición </li></ul><ul><ul><li>/dev/hda6 /var/spool/squid </li></ul></ul><ul><li>Para ver si esta filtrando adecuadamente hay que ver los logs del squid en linea. </li></ul><ul><ul><li>tail -f /var/log/squid/access.log </li></ul></ul>

×