martes, diciembre 19, 2006

Port Knocking que gran maravilla.

Se conoce como portknocking a la técnica de abrir puertos utilizando una combinación de llamadas a un grupo de puertos en concreto en una concreta secuencia, es decir, girando la rueda de nuestra caja fuerte (atacando puertos) en una secuencia de números secretos (grupo de puertos) para poder abrirla (abrir un puerto).

Partiendo de un firewall que lo deniega todo, un script perl vigila el log del firewall en busca de una secuencia de llamadas a puertos concreta que actúa a modo de password, desbloqueando la ejecución de una aplicación o una línea de comandos. La secuencia de llamadas se realiza utilizando el software cliente de la propia aplicación, la cual debe estar instalada en los equipos remotos desde los que queremos acceder al servicio oculto (también puede estar en un usb-stick).

Veamos una configuración simple partiendo del paquete knockd disponible para Debian.

1.- Instalamos el paquete:
apt-get install knockd

2.-Para que arranque en el inicio:
Debian->Modificamos /etc/default/knockd para permitir que knockd arranque en el inicio de sistema
START_KNOCKD=1

3.- Editamos /etc/knockd.conf y configuramos nuestros servicios
[options]
logfile = /var/log/knockd.log

[openSSH]
sequence = 7000,8000,9000
seq_timeout = 5
command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn

[closeSSH]
sequence = 9000,8000,7000
seq_timeout = 5
command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn

4.- Reiniciar el servicio
/etc/init.d/knockd restart

A partir de este momento, nuestro sistema será invisible a los port-scanners pero utilizando el cliente knock y la secuencia de puertos que hemos establecido, podemos abrir el puerto bajo demanda:

knock IP SecPuertos


Es como tener una caja fuerte en la que se necesita una combinación para poder ser abierta.
Existe un cliente portknocking para Windows, cuyo funcionamiento no he verificado llamado
It's Me.

1 comentario:

//carlos dijo...

al principio pensaba que era la idea esa de Jose... pero lo he leido (por encima, claro, la configuracion y tal ya me supera) y no me parece exactamente lo mismo, de todas formas si fuera alguien preocupado por la seguridad de mi ordenador creo qu me interesario un huevo... o dos...