martes, 24 de mayo de 2011

port knocking (Golpeo de Puertos)


Es un mecanismo para abrir puertos externamente en un firewall mediante una secuencia preestablecida de intentos de conexión a puertos que se encuentran cerrados. Una vez que el firewall recibe una secuencia de conexión correcta, sus reglas son modificadas para permitir al host que realizó los intentos conectarse a un puerto específico.
El propósito principal del golpeo de puertos es prevenir un escanéo de puertos por parte de un atacante que busca posibles servicios vulnerables. Como los mismos solo se abren ante un golpeo de puertos correcto. Normalmente los puertos donde se brindan los servicios se muestran aparentemente cerrados.
Por lo general este mecanismo se implementa configurando un servicio para que revise la bitácora o log del firewall para detectar esta secuencia de intentos de conexión. Otra forma es tener un proceso examinando paquetes con alguna interfaz de captura de paquetes, pero esto tiene que hacerse en puertos TCP que se encuentren "abiertos".
El mayor uso del golpeo de puertos, es para determinar acceso al puerto 22, el puerto del Secure Shell (SSH). El golpeo en cuestión es similar a un handshake secreto. La complejidad del mismo puede variar desde una simple lista ordenada de intentos de conexión a puertos TCP, UDP, ICMP u otro protocolo; hasta un hash basado en la dirección origen, tiempo y otros factores, el cual determinará cuáles serán los puertos a golpear.

Imagen propia bit.ly/mP3jAo


Instalamos el demonio de port-knoking que es knockd que es el golpeador de puertos 


Configure mi tarjeta de red estatica con la eth0


Editamos el archivo de configuracion


Habilitamos el knockd (STARTS=1) y especificamos la tarjeta de red por la cual tocaremos los puertos, como aparece en los cuadros..


Tambn editaremos el archivo /etc/knockd.conf

[openSSH] le especificamos al ssh se inicie cuando toquemos el puerto 22 se inicie
sequence la sentencia del tcp con el cual activaremos el puerto
seq_timeout El tiempo de conexion 
command la regla que ejecutara la secuencia
tcpflags  son tipos de estados que definen el trafico de paquetes tcp, syn principalmente es para solicitar nuevas conexiones.



Verificamos que puertos tengo abiertos y vemos que el puerto del ssh (22) no esta escuchando



Tambien le hize un nmap y tampoco encontro el puerto del ssh abierto 



Reiniciamos el port-knoking y todo OK



Procederemos a hacer la configuracion en nuestro cliente 

Instalamos el demonio del knockd 


Instalamos el ssh


Activamos el knock START_KNOCKD=1


Abrimos los puertos


Podemos ver que el puerto del ssh esta abierto


Espero les sea de gran ayuda
Alguna duda o comentario me la hacen llegar
danielpalacio92@misena.edu.co

No hay comentarios:

Publicar un comentario