jueves, 10 de marzo de 2011

Control de aplicaciones vs Control de puertos (parte I)

El control de puertos es una funcionalidad que existe en casi todos los routers, tanto en los proporcionados por nuestro proveedor de Internet, como en los routers comerciales.

Vamos a intentar explicar las ventajas del control de aplicaciones, frente al tradicional control de puertos. Primero vamos a aclarar algunos términos que se utilizan al hablar del control de puertos:

  • La mayor parte de las aplicaciones que utilizamos a través de Internet es del tipo cliente/servidor. Decimos la mayor parte, ya que  tradicionalmente las aplicaciones eran de tipo cliente/servidor, aunque cada vez hay más aplicaciones P2P. Cliente/servidor significa que una de las partes proporciona el servicio (servidor) y los clientes acceden a ese servicio. Por ejemplo, una página Web está gestionada por un servidor Web y todos los que accedemos a esa página somos clientes. Cuando hablamos de P2P, ambas partes pueden comportarse como cliente y servidor. Por ejemplo: Skype, donde ambos extremos son iguales; o programas de descargas de archivos, donde el usuario tanto obtiene ficheros de los otros extremos, como comparte sus propios archivos.
  • El cliente y el servidor se comunican por un puerto. El servidor escucha las peticiones por un puerto, es decir, está a la espera de que le llegue tráfico por ese puerto para comunicarse con el cliente. Por tanto, el cliente tiene que hablarle al servidor por ese puerto para que el servidor pueda atenderle. Es un sitio común de encuentro.
En esto se basa el control de puertos: si yo sé que el tráfico Web va por el puerto 80, y corto el puerto 80, estoy evitando que mis usuarios se comuniquen con los servidores Web. Inicialmente el sistema es efectivo.
Problema: si los dos extremos se ponen de acuerdo en usar un puerto distinto, digamos el 8080, la comunicación volverá a funcionar, y como yo no he cortado el puerto 8080, no he conseguido mi objetivo de evitar ese tráfico.

Este comportamiento es muy habitual en los programas P2P de descarga de archivos, por ejemplo, donde no tienen un puerto fijo asignado, sino que el usuario prueba a cambiarlo hasta que detecta alguno que no esté cortado. En lenguaje coloquial, diríamos que el control de puertos es algo como "el juego del ratón y el gato". Inicialmente funciona, pero con usuarios avanzados no es demasiado efectivo.
Tampoco funciona cortar todos menos los necesarios, porque puede camuflarse tráfico no deseado por los puertos habituales, con lo que nuestros sistemas dejarán que pase sin objeciones.

El control de aplicaciones resuelve este problema, pero para no alargar demasiado esta entrada, lo dejaremos para una próxima entrega.
¿Qué os ha parecido el tema de hoy? ¿Demasiado técnico? Nos gustaría conocer vuestras opiniones.





 

No hay comentarios:

Publicar un comentario