Existe uma ferramenta para monitorar se o iptables (ou shorewall ou similar) está instalado e funcionando com um conjunto básico de regras importantes? Preciso de algo que me alerte se o firewall for desativado completamente ou se uma das várias regras não estiver mais ativa, por qualquer motivo.
Não quero testar a funcionalidade do firewall conectando-me às portas ou (pior) verificando se outras pessoas estão se conectando.
Servidor: debian wheezy, instalação padrão. Digamos que eu queira verificar se a regra da porta 80 está aberta para o mundo e a porta 8080 apenas para um determinado ip abcd
Uma maneira seria salvar as regras de trabalho como um arquivo de texto e, em seguida, ter um cron job diário que compare as regras atuais com esta original, mas espero que haja algo mais que eu possa usar. É possível conseguir isso em Munin ou Nagios?
Responder1
Você pode usarnmapferramenta para uso básico ouhping3para auditoria de segurança mais avançada de suas regras de firewall. Este comando nmap executado remotamente no seu firewall pode testar os conjuntos de regras do seu firewall:
nmap -p 0-65535 -Pn FIREWALL_HOST
Ou você pode implementar um tipo de auditoria com LOG
extensão de destino iptables para registrar tudo o que não correspondeu às regras 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, sua ideia de comparar um conjunto de regras também não é ruim. Você pode usar diff
para isso e depois verificar o código de retorno do comando:
iptables -L -n > RULESET_FILE
if ! diff RULESETS_FILE <(iptables -L -n) > RULESETS_CHANGES; then
echo "Rulesets changed"
fi
Responder2
tente comparar
iptabes-save
e configuração de inicialização (/etc/sysconfig/iptables, etc). Se tudo estiver bem - isso deve ser idêntico.