¿Existe una herramienta para monitorear que iptables (o Shorewall o similar) esté funcionando con un conjunto básico de reglas importantes? Necesito algo que me avise si el firewall se apaga por completo o si una de varias reglas ya no está activa, por cualquier motivo.
No quiero probar la funcionalidad del firewall conectándome a los puertos o (peor) verificando si otros se están conectando.
Servidor: debian wheezy, instalación estándar. Digamos que quiero verificar que la regla del puerto 80 esté abierta para todo el mundo y el puerto 8080 solo para una determinada IP abcd.
Una forma sería guardar las reglas de trabajo como un archivo de texto y luego realizar un trabajo cron diario que compare las reglas actuales con la original, pero espero que haya algo más que pueda usar. ¿Es posible lograr esto en munin o nagios?
Respuesta1
Puedes usarnmapaherramienta para básico ohping3para una auditoría de seguridad más avanzada de sus reglas de firewall. Este comando nmap ejecutado de forma remota contra su firewall puede probar los conjuntos de reglas de su firewall:
nmap -p 0-65535 -Pn FIREWALL_HOST
O puede implementar un tipo de auditoría con LOG
la extensión de destino de iptables para registrar todo lo que no coincide con las reglas anteriores:
# firewal rulesets
iptables -A INPUT -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -s 1.2.3.5 -j ACCEPT
....
....
....
# this rule will log everything suspicious not matched before
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP
Finalmente, tu idea de comparar un conjunto de conjuntos de reglas tampoco es mala. Puede usarlo diff
y luego verificar el código de retorno del comando:
iptables -L -n > RULESET_FILE
if ! diff RULESETS_FILE <(iptables -L -n) > RULESETS_CHANGES; then
echo "Rulesets changed"
fi
Respuesta2
intenta comparar
iptabes-save
y configuración de inicio (/etc/sysconfig/iptables, etc.). Si todo está bien, debería ser idéntico.