Hemos visto que los firewall normales permiten controlar las conexiones a nivel de red. Si necesitamos algo más, hay que recurrir a un firewall de aplicación o directamente a un IPS.
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.
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). 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 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, incluso contenidos. 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. Es el llamado proxy caché. De esta manera, si esa misma máquina o cualquier otra solicita al proxy la misma página, 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 mensajes que 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. Aunque habrá que dimensionar adecuadamente el ancho de banda en esas máquinas dedicadas, porque van a recibir mucho tráfico.
Tipos de proxy
Si instalamos un proxy para un determinado protocolo (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 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.
Una tercera opción de navegación proxy al alcance de los usuarios es utilizar un proxy web. Esto es, una página web donde entramos para introducir la URL de la página web que realmente queremos visitar. El servidor del proxy web conecta con esa página y nos muestra el resultado. Este mecanismo es el más utilizado para evitar la censura en algunos países. En una empresa no es aceptable porque el tráfico de nuestros empleados está pasando por la máquina de una empresa desconocida y no sabemos qué puede hacer con esos datos.
No hay comentarios:
Publicar un comentario
Comenta lo que sea!