Hoje me deparei com a necessidade de bloquear um IP externo que estava tentando acesso sucessivamente ao meu servido de e-mails e esta listagem de comandos me auxiliou e resolvi compartilhar.
Nos exemplos a seguir, substitua sempre o IP 1.2.3.4 pelo IP que deseja bloquear ou verificar.
Para realizar um simples bloqueio ao IP que causou o ataque e não receber mais nenhum dado dele:
iptables -I INPUT -s 1.2.3.4 -j DROP
Outras opções para realizar bloqueios:
Para bloquear apenas em uma placa de rede específica (onde eth1 é a interface que receberá o bloqueio).
iptables -I INPUT -i eth1 -s 1.2.3.4 -j DROP
Bloqueio de um range inteiro (subnet) de 254 IPs:
Digamos: 189.1.50.1 até 189.1.50.254
Troque o último bloco do IP por “0″ e adicione /24 ao final:
iptables -A INPUT -s 189.1.50.0/24 -j DROPPara bloquear uma sub-rede ainda maior, por exemplo, 189.1.1.1 até 189.1.254.254, substitua os dois ultimos blocos por “0″ e agora adicione /16 ao final:
iptables -A INPUT -s 189.1.0.0/16 -j DROPPara gerar um log a cada bloqueio realizado com o iptables, use:
iptables -A INPUT -s 189.1.50.0/24 -j LOG –log-prefix “IP BLOQUEADO:”Para listar/exibir todos os IPs bloqueados:
iptables -L -vPara verificar se determinado IP está ou não bloqueado:
iptables -L -v | grep 1.2.3.4Para desbloquear um IP:
Digite:
iptables -L INPUT -n –line-numbers | grep 1.2.3.4 Exemplo de resultado:
num pkts bytes target prot opt in out source destination
1 0 0 DROP 0 – * * 200.19.5.15 0.0.0.0/0
2 0 0 DROP 0 – * * 201.21.1.3 0.0.0.0/0
3 0 0 DROP 0 – * * 189.32.8.25 0.0.0.0/0
Supondo que queremos desbloquear o IP 201.21.1.3 , que está na linha 2:
iptables -D INPUT 2Como salvar as configurações do iptables, para terem efeito após um reboot ?
service iptables save
less /etc/sysconfig/iptables