Pero hay otra forma de enfrentarse al problema de controlar qué están hablando dos máquinas entre sí. Podemos introducir un nuevo interlocutor en medio de la conversación: donde antes A hablaba con B, ahora hay un C, de manera que A habla con C y C se lo cuenta a B, y viceversa. Ese nuevo intermediario es un proxy, y como tiene acceso a todos los paquetes intercambiados, puede aplicar medidas de seguridad.
Un proxy es un servicio de red que hace de intermediario en un determinado protocolo. El proxy más habitual es el proxy HTTP: un navegador en una máquina cliente que quiere descargarse una página web de un servidor no lo hace directamente, sino que le pide a un proxy que lo haga por él. El servidor no se ve afectado porque le da igual quién consulta sus páginas.
No hay que ver siempre la seguridad como algo negativo porque nos impide navegar por algunas webs; también puede impedir que entremos en determinados sitios peligrosos donde podemos recibir un ataque. Además, en las empresas hay otros motivos para instalar un proxy:
- Seguridad para el software del cliente. Puede ocurrir que el software del ordenador cliente esté hecho para una versión antigua del protocolo o tenga vulnerabilidades.Pasando por un proxy actualizado evitamos estos problemas.
- Rendimiento. Si en una LAN varios equipos acceden a la misma página, haciendo que pasen por el proxy podemos conseguir que la conexión al servidor se haga solo la primera vez, y el resto recibe una copia de la página que ha sido almacenada por el proxy.
- Anonimato. En determinados países hay censura a las comunicaciones, por lo que utilizar un proxy del extranjero les permite navegar con libertad.
- Acceso restringido. Si en nuestra LAN no está activado el routing a Internet, sino que solo puede salir un equipo, podemos dar navegación al resto instalando un proxy en ese equipo.
Qué hace
El proxy recibe de una máquina origen A un mensaje formateado para el servidor B según un protocolo determinado (petición 1 de la Figura 7.68). Lo procesa y genera un nuevo mensaje para el mismo destino B, pero ahora el origen es P, la máquina del proxy (petición 2). Cuando el servidor B genera la respuesta, la envía a P (respuesta 3). La máquina P procesa ese mensaje y genera su propio mensaje de respuesta con destino A (respuesta 4).Los usuarios no aprecian la diferencia porque las páginas (en el caso de un servidor web) llegan a su navegador con normalidad; pero realmente el servidor sí puede saber que el origen de la petición no es un ordenador interesado en su servicio, sino un intermediario del ordenador original. Por ejemplo, numerosos servicios de Internet que permiten consultar la IP pública que utiliza nuestro router para conectar a Internet también nos informan de si nuestra conexión está pasando por un proxy.
El procesamiento del proxy puede llevar a decidir no generar ningún mensaje. Es decir, cortar la comunicación. Este comportamiento se decide mediante reglas. En estas reglas podemos filtrar determinadas direcciones de origen o destino, algunas directivas del protocolo (por ejemplo, palabras dentro de la URL de una página web), incluso contenidos (por ejemplo, imágenes). Como podemos suponer, cuanto más compleja sea la regla, más tardará el proxy en aplicarla a las peticiones que le llegan, lo que puede ralentizar en exceso la comunicación.
Además de controlar las conexiones web, el proxy mejora el rendimiento global de la navegación porque guarda en disco las páginas que envía a los clientes. En nuestro ejemplo sería la respuesta 4 de la Figura 7.68. Es el llamado proxy caché. De esta manera, si esa misma máquina o cualquier otra solicita al proxy la misma página (le envía la misma petición 1), no hace falta generar la petición 2 ni esperar la respuesta 3: directamente, el proxy le devuelve la respuesta 4. Hemos ahorrado los dos mensajesque van sobre la red más lenta.
Dónde situarlo
Si el volumen de tráfico que pasará por el proxy es reducido y las reglas definidas son sencillas, el servidor proxy necesitará pocos recursos (CPU, RAM, disco para la caché), por lo cual puede estar incluido en una máquina que ya ofrezca otros servicios (DHCP, DNS, disco en red, correo).Si el volumen es elevado o las reglas que hemos definido son complejas, no podemos permitirnos afectar a otros servicios: necesitaremos una máquina en exclusividad (incluso más de una, formando un clúster). Aunque habrá que dimensionar adecuadamente el ancho de banda en esas máquinas dedicadas, porque van a recibir mucho tráfico.
En cualquier caso, el servidor proxy debe tener la mejor conectividad posible con los servidores para los que hace de intermediario (generalmente, servidores web en Internet).
Tipos de proxy
Si instalamos un proxy para un determinado protocolo (por ejemplo, HTTP), el siguiente paso es conseguir que el tráfico de nuestros usuarios pase por ese proxy. Tenemos dos opciones:- Proxy explícito. Configuramos los navegadores de los usuarios para que utilicen el proxy de la empresa.
- Proxy transparente. En algún punto de la red un router filtrará ese tipo de tráfico (por ejemplo, comprobando que el destino es el puerto 80 de TCP) y lo enviará al proxy, sin que el usuario tenga que hacer nada. Si estamos utilizando un router Linux, la solución óptima es instalarlo ahí, porque ahorramos sacar el tráfico hasta otra máquina.
En el caso del proxy explícito podemos incluir un mecanismo de autenticación, de manera que solo algunos usuarios puedan acceder a Internet y solo a algunas web. En un proxy transparente no tiene sentido porque el usuario no tiene ninguna opción de introducir usuario y contraseña.
No hay comentarios:
Publicar un comentario
Gracias por tu tiempo.