El Port Knocking (algo así como “toque de puertos”) básicamente consiste en realizar varios intentos de conexión seguidas a ciertos puertos con X protocolo (previamente establecidos) para «avisar» al sistema de que somos nosotros y nos deje entrar o ejecute algo que nosotros queramos, un Port Knocking se divide en 2 partes esenciales:
- Servidor: quien queda a la espera de alguna conexión a los puertos que especificamos.
- Cliente: que nos permite “tocar” los puertos en la secuencia establecida, para poder ingresar al sistema.
#EJEMPLO REGLAS ITABLES QUE PUEDES USAR #bloqueamos el traficoPara empezar a instalar y configurar nuestro Port Knocking, debemos hacer lo siguiente:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#permitimos ping y loockback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -p ICMP –icmp-type 8 -m limit –limit 1/s -j ACCEPT
iptables -A OUTPUT -p ICMP –icmp-type 0 -m limit –limit 1/s -j ACCEPT
#permitimos acceso al apache (si lo tenemos) o algun servicio critico
iptables -A INPUT -p TCP –dport 80 -d IPSERVIDOR -m state –state NEW -j ACCEPT
Instalar el demonio knockd, que contiene tanto el cliente, como el servidor de port knocking, para distribuciones basadas en debian, basta con un apt-get install knockd, en otras distribuciones también se encuentra empaquetado, aunque puedes compilar tu mismo el programa si no lo encuentras.
En la imagen de ejemplo podrás apreciar que (en este caso particular) deseo tener una combinación de puertos para abrir el servicio y otro para cerrarlo, si no deseas esto puedes simplemente poner un timeout a el comando y cuando este deje de estar activo, pasara a ejecutar el comando que especifiques.
[abrircerrarSSH]También puedes cambiar los comandos a ejecutar para que realicen las tareas que tu quieras, en este caso lo que se quiere es abrir un puerto con el iptables.
sequence = 7000,8000,9000
seq_timeout = 5
tcpflags = syn,ack
start_command = iptables -A INPUT -p TCP –dport 22 -s %IP% -m state –state NEW -j ACCEPT
cmd_timeout = 25
stop_command = iptables -D INPUT -p TCP –dport 22 -s %IP% -m state –state NEW -j ACCEPT
Actualizado:
Acabo de encontrar un cliente de Port Knocking para iPhone mucho mejor, gratuito y sin publicidad llamado KnockOnD, click aquí para mas info.
Para mas Información:
Pagina Oficial del Port Knocking
Tomado de: http://www.dragonjar.org/configurando-port-knocking-en-tu-servidor.xhtml
No hay comentarios:
Publicar un comentario