Claudio Borges

Technical blog about Linux, BSD, Mac OS X, Games and etc.

Port knocking utilizando iptables

without comments

Port Knocking é uma técnica que consiste em enviar uma sequência pré-determinada de pacotes em portas específicas para abrir conexão com algum host.

Não vou me aprofundar sobre o assunto, caso queira fazer isto, o google é seu amigo =). O que irei fazer é demonstrar como utilizar o iptables para realizar esta tarefa.

Supondo que a sua política padrão é DROP e que a porta do ssh é 22 (porta padrão), vamos criar uma regra para liberar o ssh por 20 segundos quando chegar uma conexão tcp na porta 65535:

iptables -A INPUT -i eth0 -p tcp -m state --state NEW --dport 22 -m recent --rcheck --seconds 20 --name SSH --rsource -j ACCEPT 
iptables -A INPUT -i eth0 -p tcp -m state --state NEW --dport 65535 -m recent --set --name SSH --rsource -j DROP 

Supondo que o ip do servidor onde você acabou de implementar as regras acima seja 187.10.223.67, digite:

telnet 187.10.223.67 65535

Logo em seguida, pressione CTRL + C e tente conectar no ssh, você terá somente 20 segundos após ter utilizado o telnet.

Simples né? com estas duas regras acima, você criou um port knocking em iptables :).

Written by but3k4

November 2nd, 2009 at 4:17 pm

Posted in Linux

Tagged with , , ,

Palestra Latinoware 2009

without comments

Participei do latinoware 2009, este ano estava muito legal, com maior espaço para os standes e muita gente legal palestrando (incluindo eu).

Minha palestra tinha horário confirmado para as 12:00, como estava chovendo muito, levei uns 10 minutos para chegar no bloco onde iria palestrar. Chegando lá, levei uns 5 minutos para iniciar, isto inclui tirar a água da chuva que estava ensopando meu cabelo, ligar notebook e etc. Com isto, perdi minutos importantes e tive que acelerar em alguns tópicos e em outros resumir mais ainda. No geral minha palestra foi legal, o pessoal estava com muitas dúvidas tanto na parte de programação quanto na parte de sysadmin.

Para aqueles que quizerem baixar o conteúdo que foi apresentado, clique aqui.

Written by but3k4

October 26th, 2009 at 5:45 pm

Posted in Geral

Tagged with , , ,

Transferindo arquivos com o nc

without comments

O nc (netcat) é o canivete suiço do tcp/ip, com ele é possível fazer N coisas (o ncode vai gostar de ouvir isso =P). Uma delas é fazer transferência de arquivos, ou seja, você não necessita de ssh ou scp nem tão pouco ftp, basta apenas utilizar alguma porta que esteja liberada em seu fw (caso for fazer transferências via internet).

O processo é simples, vamos supor que quero fazer o backup do /etc e automaticamente transferir para outra maquina, para isto, utilizo o nc como server:

tar -cvzpf - /etc | nc -vvv -l -p 1234

Do lado do cliente, utilizo:

nc -vvv ip_do_servidor 1234 > etc.tar.gz

As opções utilizadas foram:

-v = verbose
-l = listen
-p = port

Simples assim.

Written by but3k4

July 21st, 2009 at 10:02 am

Posted in Linux,OpenBSD

Tagged with , ,