Estas aquiContenido / Servidores invisibles con Port Knocking
Servidores invisibles con Port Knocking
Por José Manuel Gómez, Editor
La inmensa mayoría de los servidores web están en Internet para ser vistos, y cuanto más vistos sean mucho mejor. Sin embargo, existen personas y organizaciones que desean aprovechar las indudables ventajas de Internet en cuanto a ubicuidad, pero no quieren que sus servidores web (o de correo, etc) puedan ser visitados por cualquiera. De hecho, prefieren ser totalmente invisibles para todo el mundo... excepto para algunas personas muy concretas.
¿Cómo puede lograrse esto? En principio parece fácil (contraseñas, certificados y otros métodos de control de acceso) pero, a poco que lo pensemos, todos los métodos habituales implican visibilidad: el servidor ha de tener algún puerto abierto, que resultará evidente a cualquier escáner de puertos. No es eso lo que a esta gente le interesa.
De cara a lograr la ansiada invisibilidad total resulta fundamental que el servidor disponga de un cortafuegos que cierre todos sus puertos, siendo así totalmente inaccesible desde el exterior. Pero, ¿qué utilidad puede tener un servidor completamente aislado de la Red? La solución a este interrogante pasa por una técnica conocida como Port Knocking...
Imaginemos que el servidor "invisible" dispone de un proceso que escucha y registra constantemente los intentos de conexión sobre sus puertos cerrados. Podemos configurar una determinada secuencia de puertos (que puede ser codificada) de forma que, cuando se da, se modifica una regla de acceso, en el sentido de permitir la conexión desde esa cierta dirección IP a un puerto concreto. Finalizada la conexión quizás una nueva secuencia determina el cierre inmediato del puerto empleado y se retorna al estado de total invisibilidad.
Las implementaciones prácticas de esta técnica pueden utilizar diversas aproximaciones. La más sencilla sería trabajar sobre el propio fichero de registro del cortafuegos o IDS, pero nada impide hacerlo directamente sobre la propia pila IP del servidor. Tampoco es estrictamente necesario recurrir a una secuencia -codificada o no- de intentos de acceso a puertos cerrados, sino que podría bastar con un determinado paquete enviado a uno solo de ellos. En fin; en la práctica las variaciones son casi infinitas, pero la idea subyacente es siempre la misma.
Las ventajas del port knocking -además de las ya comentadas en cuanto a ocultamiento y acceso restringido a servicios- pueden ser aún más obvias cuando se considera una situación mucho más común: la posibilidad de administrar remotamente un servidor en base a un servicio SSH latente, oculto y que sólo funciona bajo demanda. El incremento de seguridad parece obvio.
Si esta curiosa técnica ha despertado vuestro interés, podéis ampliar información en la excelente web de Martin Krzywinski, dedicada por completo a ella:
Por nuestra parte, pronto incluiremos algunas implementaciones de Port Knocking en nuestra nueva sección de Herramientas Libres.



