sexta-feira, 28 de agosto de 2009

Knock - Batendo na porta

Para não deixar uma porta administrativa óbvia aberta no servidor (como a porta 22, por exemplo), é possível utilizar portas secretas. A técnica de port knocking utiliza isso. O pacote necessário é o knockd
apt-get install knockd
 
O pacote inclui dois componentes: o knock é o cliente que envia sinais de batidas nas portas, enquanto o daemon knockd os recebe.

Para montar o processo, o cliente precisa somente dos números das portas nas quais deve bater e a opção -v:
knock -v 192.168.1.4 7000 8000 9000
A ferramenta responde com a saída na linha de comando: 
$ knock -v 192.168.1.4 7000 8000 9000
 
hitting tcp 192.168.1.4:7000
hitting tcp 192.168.1.4:8000
hitting tcp 192.168.1.4:9000
 
O arquivo de configuração /etc/knoking.conf permite que o administrador do sistema especifiquea ação que o daemon deve realizar ao receber uma batida válida: 
[options]
        logfile = /var/log/knockd.log
 
[openSSH]
        sequence    = 7000,8000,9000
        seq_timeout = 5
        command     = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 2200 -j ACCEPT
        tcpflags    = syn
 
[closeSSH]
        sequence    = 9000,8000,7000
        seq_timeout = 5
        command     = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 2200 -j ACCEPT
        tcpflags    = syn
Ao reconhecer o sinal o knocking abre a porta 2200 para o IP correto, que passa seu próprio IP.
Cada sequência expira após ser usada.

Nenhum comentário:

Postar um comentário