Knockd

Se você prefere não ter uma porta administrativa óbvia para o seu firewall Iptables – mas precisa de uma secreta – a ténica do port knocking é uma opção interessante que pode evitar ataques baseados em scripts. Para o administrador ambicioso e paranóico, a ferramenta mais adequada é o Knockd.

O pacote inclui dois componentes: o knock é o cliente que envia sinais de batida nas portas, enquanto o daemon knockd os recebe.

BATIDA

Para monitorar o processo, o cliente precisa somente dos números das portas nas quais deve bater e da opção -v:

knock -v 10.0.0.42 7000 8000 9000

A ferramenta responde com a saída na linha de comando.

O arquivo de configuração /etc/knockd.conf permite que o administrador do sistema especifique a ação que o daemon deve realizar ao receber uma batida válida.

EXEMPLO 1: /etc/knockd.conf

01 [options]

02 logfile=/var/log/knockd.log

03 [openSSH]

04 sequence = 7000.8000.9000

05 seq_timeout = 5

06 command = /sbin/iptables -A IPUT -s %IP -p tcp – - dport 22 -j ACCEPT

07 tcpflags = syn

08 [closeSSH]

09 sequence = 9000.8000.7000

10 seq_timeout = 5

11 command = /sbin/iptables -D INPUT -s %IP -p tcp –dport 22 -j ACCEPT

12 tcpflags = syn

CÓDIGO MORSE

Se reconhecer o sinal, o knockd abre a porta 22 para o IP correto, que passa seu próprio IP.

Ao se bater nas portas na seqüência errada, o daemon interrompe o acesso SSH. Há ainda uma outra opção – o knockd.conf – que é mais ou menos assim:

start_command = /usr/sbin/iptables -A INPUT -s %IP% -p tcp –syn –dport 22 -j ACCEPT

cmd_timeout = 10

stop_command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp –syn –dport 22 -j ACCEPT

Depois de bater, o daemon inicia o start_command e espera um número de minutos especificados em cmd_timeout antes de executar o stop_command.

Administradores de sistema realmente paranóicos vão adorar a opção de configurar um arquivo com sequência de portas. Cada sequência expira após ser usada.

Mais informações: http://www.zeroflux.org/cgi-bin/cvstrac.cgi/knock/wiki

Deixe uma resposta