IP bloqueado no iptables, mas ainda vendo nos logs do apache

6

Estou executando um servidor Centos 6.0, com Apache 2 / MySQL. Eu tenho o iptables em execução. Eu segui estes passos esta noite para bloquear todo o tráfego de um IP usando iptables:

iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP
iptables -A OUTPUT -d xxx.xxx.xxx.xxx -j DROP
service iptables save
service iptables restart

Mas ainda estou vendo acessos desse IP em meus logs de acesso do Apache constantemente, mesmo depois que eu reinicio o Apache. O iptables está definitivamente rodando e é definitivamente o endereço IP correto.

Estas são as outras entradas do meu iptables:

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  anywhere             anywhere            
2    REJECT     all  --  anywhere             loopback/8          reject-with icmp-port-unreachable 
3    ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
4    ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http 
5    ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:https 
6    ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:30000 
7    ACCEPT     icmp --  anywhere             anywhere            icmp echo-request 
8    REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable 

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
1    REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable 

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  anywhere             anywhere

O que estou perdendo?

    
por msaunders 06.02.2012 / 04:35

4 respostas

7

Primeiramente, sugiro que você use system-config-firewall ou system-config-firewall-tui . Há uma seção com "regras personalizadas" que fará isso para você.

Se você quiser fazer esse tipo de coisa manualmente, você deve inserir a regra antes do "ACCEPT" para tcp dpt: http. A maneira mais fácil é: iptables -I INPUT 1 -s xxx.xxx.xxx.xxx -j DROP

(insira na posição 1, em vez de acrescentar)

    
por 06.02.2012 / 05:52
20

Sua primeira regra de iptables permite o tráfego que você está tentando bloquear.

1    ACCEPT     all  --  anywhere             anywhere            

assuntos de ordem.

    
por 06.02.2012 / 04:50
4

Como seu problema já foi resolvido, deixe-me adicionar um aparte: sua cadeia INPUT já tem a política definida como ACEITAR. A regra para ACEITAR todo o tráfego não é apenas atrapalhar o seu firewall, ele também é redundante ao trabalhar de forma diferente da política (dependendo de onde na cadeia a regra de ACEITAR é colocada) - o que torna inútil e difícil de depurar. Não cubra a mesma coisa duas vezes no seu firewall.

    
por 06.02.2012 / 13:24
-1

Você pode ver esse IP, porque você tem regras para aceitar sessões RELACIONADAS e ESTABELECIDAS:

3    ACCEPT     all  --  anywhere             anywhere state RELATED,ESTABLISHED

Você precisa eliminar a conexão do IP do barramento bloqueado e esse IP não se conectará mais:)

    
por 06.02.2012 / 06:48