Vamos a ver como filtrar con iptables las IPs de spammers y hackers que pretendan atacar a nuestro servidor.
Una vez hayamos detectado la IP atacante, por ejemplo con logcheck, crearemos una regla para filtrar dicha IP.
Por ejemplo para filtrar la ip 99.99.99.99:
iptables -A INPUT -s 99.99.99.99 -j DROP
Podemos eliminar una línea cambiando el parámetro -A por -D.
Para listar todas las reglas creadas usamos:
iptables -L
Estas reglas se pierden al reiniciar el sistema, por lo que vamos a salvarlas a un fichero y hacer que se carguen en el arranque:
Si es necesario creamos el directorio /var/lib/iptables
Comprobamos que están activas las reglas deseadas con iptables -L
Las volcamos a un fichero con:
iptables-save > /var/lib/iptables/iptablesReglas
Ahora crearemos un script en el directorio:
/etc/network/if-up.d
Lo llamaremos por ejemplo inicioIptables y el contenido será el siguiente:
#!/bin/sh
/sbin/iptables-restore < /var/lib/iptables/iptablesReglas
Hay que darle permisos de ejecución al fichero: chmod a+x inicioIptables
Con esto en cada inicio del sistema, se cargaran las reglas para iptables.
Seguidamente vamos a configurar el sistema para que guarde en un log registro de los accesos denegados:
Editamos: /etc/syslog.conf
Y añadimos la línea:
kern.warning /var/log/iptables.log
Debemos añadir este log a los logs monitorizados por logcheck.
Ahora lo que hay que hacer es para cada ip bloqueada, crear dos reglas iptables: una para guardar el registro y la otra para rechazar la conexión.
Por ejemplo:
iptables -A INPUT -s 99.99.99.99 -j LOG --log-prefix 'IP BLOQUEADA ' --log-level 4
iptables -A INPUT -s 99.99.99.99 -j DROP
Para reiniciar el servicio de monitorización: /etc/init.d/sysklogd restart
(Si tras reiniciar el servicio, no registra los accesos denegados en el log, probar reiniciando todo el sistema).
22/6/09
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario