Categories: Utilidades

Bloqueando o acesso de (e para) um IP utilizando Iptables

Iniciando os posts da categoria “Utilidades”, onde pretendo escrever sobre ferramentas que facilitam a vida dos desenvolvedores, hoje irei escrever sobre o uso do firewall Iptables para o bloqueio de acesso de e para determinados IP’s.

Ok, mas isso é importante no cotidiano de um desenvolvedor?
A resposta é simples, SIM!

Os desenvolvedores precisam sair do seus mundinhos de “IDE sofisticada” e entender um pouco mais do mundo que os cercam, principalmente quando o assunto for infra-estrutura! Pois é lá que sua aplicação irá “viver”!

Muitas coisas podem ser feitas com a ajuda de um firewall, e sim, no contexto de desenvolvimento de software. Podemos simular situações de perda de conexão com a base de dados, problemas de configuração de ambiente e assim por diante.

Recentemente precisei simular a perda de conexão de uma aplicação Java web, rodando sobre o servidor de aplicações Jboss, para testar se as configurações de reestabelecimento de conexão (autoreconnect) estavam funcionando como o esperado, pensei então em fazer isso utilizando um firewall, mais para poder aprender um pouco mais sobre Iptables.

Agora a pergunta que todos devem estar fazendo, por que diabos você não desconectou o cabo de rede da máquina?
Simples, não havia como acessar a máquina fisicamente. Logo, a solução mais limpa, me pareceu a do firewall.

Mas vamos ao que interessa, como faço para bloquear o acesso de um IP para minha máquina?

Vamos supor que eu esteja em uma máquina A (IP: 172.16.1.10) e queira bloquear acessos provenientes de uma máquina B (IP: 172.16.2.20). Então, na máquina A devemos executar a seguinte instrução:

Isso irá prevenir que a máquina A receba conexões da máquina B, porém, ainda será possível o caminho contrário, ou seja, a máquina A poderá fazer conexão com a máquina B. Se for desejável que a máquina A não envie mensagens para a máquina B, devemos executar o seguinte comando:

Uma vez que ambos os comandos, acima apresentados, tenham sido executados, nenhuma conexão (nem de entrada e nem de saída) com a máquina B poderá ser realizada.

Para remover as configurações realizadas, e novamente termos acesso livre entre as máquinas A e B, execute os dois comandos abaixo:

Bom, pessoal, é isso, simples e objetivo.

Qualquer dúvida, deixe um comentário!

Article info