6 votos

IP bloqueada en iptables, pero todavía se puede ver en logs de apache

Estoy corriendo un servidor Centos 6.0, con Apache 2/MySQL. Tengo iptables en ejecución. He seguido estos pasos esta noche para bloquear todo el tráfico de una IP con 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

Pero todavía estoy viendo los éxitos de esta IP en mi Apache acceso a los registros constantemente, incluso después de reiniciar Apache. iptables es, definitivamente, la ejecución y es, definitivamente, la dirección IP correcta.

Estos son el resto de mi iptables entradas:

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

Lo que me estoy perdiendo?

20voto

dmourati Puntos 9454

Su primera regla iptables permite que el muy tráfico que están tratando de bloquear.

1    ACCEPT     all  --  anywhere             anywhere            

El orden importa.

7voto

Olivier S Puntos 1592

En primer lugar propongo utilizar system-config-firewall o system-config-firewall-tui . Hay una sección con "reglas personalizadas" que va a hacer esto para usted.

Si quieres hacer este tipo de cosas manualmente tienes que insertar la regla antes que la "ACEPTAR" para tcp dpt:http . La forma más fácil es: iptables -I INPUT 1 -s xxx.xxx.xxx.xxx -j DROP

( Insertar en la posición 1 , en lugar de Anexar )

4voto

G. Bach Puntos 218

Dado que el problema ya fue resuelto, permítanme añadir un aparte: su ENTRADA en la cadena ya tiene la política de ACEPTAR. La regla para ACEPTAR todo el tráfico no es sólo echar a perder su firewall, es también redundante mientras se trabaja de forma diferente que el de la política (dependiendo de donde la cadena de la Aceptación de la regla se coloca) - el que la hace inútil y difficul para depurar. De no cubrir la misma cosa dos veces en su firewall.

-1voto

David James Puntos 8344

Se puede ver que IP, porque tienes la regla para aceptar RELACIONADOS y ESTABLECIDO las sesiones:

3    ACCEPT     all  --  anywhere             anywhere state RELATED,ESTABLISHED

Usted necesita matar conexión de IP bloqueada va tcpkill y que la propiedad intelectual no se conecta más :)

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: