Port-knocking, una nueva táctica para la seguridad, por Andor

Hace tiempo se había hablado en Slashdot del port-knocking, una manera de elevar la seguridad aun más los servidores y hacer manejo remoto del firewall.
En que consiste? Muy sencillo, es como el santo y seña
Tu quedas con la novia, y para que sepa que eres tú, tocas en la puerta de du casa y...

-Pum ... Pum... PumPumPum
(o eran 3 largos y dos cortos?)
(o eran 2 cortos, esperar, y 3 largos?)

El : Soy yo...
Ella : Qué vienes a buscar ?
El : A ti...
Ella : Y es tarde...
El : Por qué ?
Ella : Porque ahora soy yo la que quiere estar sin ti...
(OT: Quien diría que Pimpinela tiene 20 discos, eh? ;) )

Y eso quiere decir que te has equivocado al golpear, o que llevas una mancha de huevo en la camisa.

Pues el Port-Knocking es algo parecido
Consiste en hacer intentos de conexión a una secuencia de puertos predefinida para que el sistema reconozca que eres tu, y, por ejemplo, te añada una tabla al iptables para darte acceso al ssh, o a la VPN o similar.

En una de las soluciones que implementan Port-Knocking, que es knockd hay un pequeño ejemplo para permitir el acceso al ssh:

[openSSH]
sequence = 7000,8000,9000
protocol = tcp
timeout = 15
command = /usr/sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

Si haces una llamada (un intento de conexión cualquiera, por ejemplo con un telnet) al puerto 7000, duespés una al 8000 y acto seguido una al 9000, lanza un comando de iptables, y se abre el SSH para tu dirección IP.

Ya le vais viendo el intríngulis al tema? Pues luego podemos hacer a la inversa, añadiendo unas cuantas líneas más en el fichero de configuración:

[closeSSH]
sequence = 9000,8000,7000
protocol = tcp
timeout = 15
command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

Una llamada al 9000, otra al 8000, otra al 7000, y "Pum, pum, adiós, me voy, así que echa el cerrojo", y el puerto vuelve a estar cerrado, cerrado como antes.

Pues así de sencillo es todo
Una de las ventajas es que los puertos ni siquiera tienen que estar abiertos, ya que la aplicación escucha a nivel de enlace, y por lo tanto, si te hacen un escaneo de puertos, no encontrarán los puertos que utilizas para hacer las combinaciones mágicas.

En principio el diseño conceptual del Port-Knocking tenía como objetivo abrir y cerrar accesos y puertos, pero si se piensa un poquito, se puede utilizar para cosas más divertidas.

Lanzar procesos, backups, alertas, aplicaciones, reiniciar el equipo... todo depende de la imaginación y el arte de cada uno.

Ojo!! Ni se os ocurra poner llamadas a puertos consecutivos, o cercanos cuando implementeis esto. Procurad que sean puertos distantes, y no comunes, y no programar la llamada para que los puertos sean llamados en orden de mayor a menor o viceversa, sino pensaros una secuencia un poco aleatoria, ya que si no un simple escaneo "rutinario" de puertos, te puede hacer "saltar las alarmas", los procesos, o las tablas del firewall, activando llamadas.

URLs:
knockd : http://www.zeroflux.org/knock/
knockd en slashdot : http://slashdot.org/article.pl?sid=04/04/14/1832222
Teoría del port-knocking [slashdot] : http://slashdot.org/article.pl?sid=04/02/05/1834228&tid=172


Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios. (es necesario iniciar sesión)

Una tarde me aburría y... Bueno, no se, a lop m

Una tarde me aburría y...

Bueno, no se, a lop mejor al interés general queda este artículo un poco lejos, pero si me echais una manita y me pedís alguna otra cosa, en plan de un tutorial para shell en OsX, o un tutorial de permisos (creo que tengo uno a medias), pues podemos echar un ojo a ver que se puede hacer :D

Que va! lo que no mata engorda... Es bueno esto d

Que va! lo que no mata engorda...
Es bueno esto de usar combinaciones de puertos...

A mi me interesa esto de Knock pero ya hay para ma

A mi me interesa esto de Knock pero ya hay para mac??...me baje de la pagina http://www.zeroflux.org/knock/ el código fuente y no me compila....algun consejo para poder compilarlo???...Gracias...

Ah lo de los tutoriales de Shell y permisos a mi me gusta...ya me gustaria ver uno q aveces se necesita....

Asegúrate de que tienes libpcap (según sistemas li

Asegúrate de que tienes libpcap (según sistemas libpcap-dev), porque es requerido por el software para que escuche las llamadas a puertos.

De todas maneras yo no lo he probado a compilar en Mac OSX, así que no te se decir si aun instalando libpcap va a funcionar, anyway, si alguien se ofrece voluntario a prestar su OSX (una shell remota me bastaría) intentaría compilarlo :D

PD : libpcap son unas librerías de red que se utilizan para 'esnifear', o 'escuchar' las conexiones y los datos que se mueven a través de una conexión de red.

Que marco teorico se necesita para realizar una in

Que marco teorico se necesita para realizar una investigacion mas profesional sobre esta nueva tecnica??

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.
CAPTCHA
Este servicio evita el envío automatizado de comentarios
6 + 4 =
Solucione este simple problema matemático y añada el resultado. Ejemplo: 3+1 es igual a 4

Los comentarios que vulneren los derechos de otros usuarios, estén relacionados con actividades ilegales , supongan un claro ejemplo de interés comercial o sean ajenos al contenido de la noticia serán borrados sin aviso previo. Una buena ortografía y sintaxis ayudará a otros usuarios a entender mucho mejor sus inquietudes. Una vez enviado el comentario, se hará visible en unos minutos. Si cree que alguno de los comentarios publicados vulnera sus derechos, por favor, envíenos unas líneas a través de nuestro formulario de contacto. Al colocar un comentario en esta web, acepta que sus datos queden recogidos en una base de datos propiedad de Entremaqueros, SL., ubicada en EE.UU., cuya finalidad es el exclusivo almacenamiento de los mismos.


Necesitará iniciar sesión o registrarse para publicar comentarios o acceder a otros servicios de www.faq-mac.com