¿Qué
es un proxy?
Es un software que
realiza tareas de servidor intermediario. El caso mas común es utilizarlo para
compartir internet en ámbitos donde se posee una única conexión a internet y
varias computadoras. El servidor proxy se conecta directamente a internet y por
otra interfaz a la red interna, de modo que todos los pedidos a internet de las
computadoras pertenecientes a la LAN pasan a través del proxy y es este en
realidad el que hace las conexiones hacia la web y luego entrega las respuestas
a los hosts correspondientes.
Es
un programa o dispositivo que realiza una acción en representación de otro, esto
es, si una hipotética máquina A solicita un recurso a una C,
lo hará mediante una petición a B; C entonces no
sabrá que la petición procedió originalmente de A.
Características
Una de las funciones principales de un
servidor proxy es actuar como cache de contenido principalmente web (http).
Esto mejora el desempeño de una red consumiendo menos recursos, debido que
frente a un nuevo pedido de un sitio que ya ha sido realizado, en vez de
generar tráfico hacia internet se entrega el sitio cuyo contenido se encuentra
almacenado en el servidor.
• De ellos, el más famoso es el servidor proxy web (comúnmente
conocido solamente como «proxy»).
Intercepta la navegación de los clientes por
páginas web, por varios motivos posibles: seguridad, rendimiento, anonimato,
etc.
• También existen proxies para otros
protocolos, como el proxy de FTP.
• El proxy ARP puede hacer de enrutador en una
red, ya que hace de intermediario entre ordenadores.
• Proxy (patrón de diseño) también es un
patrón de diseño (programación) con el mismo esquema que el proxy de red.
• Un componente hardware también puede actuar
como intermediario para otros.
Como se ve, proxy tiene un significado muy general, aunque siempre es sinónimo
de intermediario. Cuando un
equipo de la red desea acceder a una información o recurso, es realmente el
proxy quien realiza la comunicación y a continuación traslada el resultado al
equipo inicial.
Ventajas
• Control: sólo el intermediario hace
el trabajo real, por tanto se pueden limitar y restringir los derechos de los
usuarios, y dar permisos sólo al proxy.
• Ahorro. Sólo uno de los
usuarios (el proxy) ha de estar preparado para hacer el trabajo real. Con estar
preparado queremos decir
que es el único que necesita los recursos necesarios para hacer esa
funcionalidad. Ejemplos de recursos necesarios para hacer la función
pueden ser la capacidad y lógica de cómputo o la dirección de red externa
(IP).
• Velocidad. Si varios clientes van a
pedir el mismo recurso, el proxy puede hacer caché: guardar la respuesta de una
petición para darla directamente cuando otro usuario la pida. Así no tiene que
volver a contactar con el destino, y acaba más rápido.
• Filtrado. El proxy puede negarse a
responder algunas peticiones si detecta que están prohibidas.
• Modificación. Como intermediario que
es, un proxy puede falsificar información, o modificarla siguiendo un
algoritmo.
• Anonimato. Si todos lo usuarios se
identifican como uno sólo, es difícil que el recurso accedido pueda
diferenciarlos. Pero esto puede ser malo, por ejemplo cuando hay que hacer
necesariamente la identificación.
Desventajas
• Abuso. Al estar dispuesto a recibir
peticiones de muchos usuarios y responderlas, es posible que haga algún trabajo
que no toque. Por tanto, ha de controlar quién tiene acceso y quién no a sus
servicios, cosa que normalmente es muy difícil.
• Carga. Un proxy ha de hacer el
trabajo de muchos usuarios.
• Intromisión. Es un paso más entre
origen y destino, y algunos usuarios pueden no querer pasar por el proxy. Y
menos si hace de caché y guarda copias de los datos.
• Incoherencia. Si hace de caché, es
posible que se equivoque y dé una respuesta antigua cuando hay una más reciente
en el recurso de destino. En realidad este problema no existe con los
servidores proxy actuales, ya que se conectan con el servidor remoto para
comprobar que la versión que tiene en cache sigue siendo la misma que la
existente en el servidor remoto.
• Irregularidad. El hecho de que el
proxy represente a más de un usuario da problemas en muchos escenarios, en
concreto los que presuponen una comunicación directa entre 1 emisor y 1
receptor (como TCP/IP).
¿Qué
es un Squid?
Es un software de libre distribución para realizar la tarea de un servidor
proxy con prestaciones muy profesionales.
Funcionamiento
Ø Permite
el acceso web a máquinas privadas (IP privada) que no están conectadas
directamente a Internet.
Ø Controla
el acceso web aplicando reglas.
Ø Registra
el tráfico web desde la red local hacia el exterior.
Ø Controla
el contenido web visitado y descargado.
Ø Controla
la seguridad de la red local ante posibles ataques, intrusiones en el sistema,
etc.
Ø Funciona
como una caché de páginas web. Es decir, almacena las páginas web visitadas por
los usuarios y de esta manera las puede enviar a otros usuarios sin tener que
acceder a Internet de nuevo.
Ø Guarda
en caché las peticiones DNS e implementa una caché para las conexiones
fallidas.
Ø Registra
logs de todas las peticiones cursadas.
Ø Soporta
el protocolo ICP que permite integrar cachés que colaboran y permite crear
jerarquías de cachés y el intercambio de datos.
Ventajas
Ø Reduce los tiempos de respuesta.
Si la
página web que se solicita está en la caché del servidor, ésta se sirve sin
necesidad de acceder de nuevo al servidor original, con lo cual se ahorra
tiempo.
Ø Disminuye el tráfico en la red y el consumo de
ancho de banda.
Si la
página web está almacenada en la caché del servidor, la petición no sale de la
red local y no será necesario hacer uso de la línea exterior consiguiendo así
un ahorro en la utilización del ancho de banda.
Ø Cortafuegos.
Cuando
se utiliza un servidor proxy-caché, éste comunica con el exterior, y puede
funcionar como cortafuegos, lo cual aumentará la seguridad del usuario respecto
a la información a la que se acceda.
Ø Filtrado de servicios.
Es
posible configurar el servidor proxy-caché dejando sólo disponibles aquellos
servicios (HTTP, FTP,...) que se consideren necesarios, impidiendo la
utilización del resto.