Vérifiez facilement la policy de vos chains iptables avec Nagios

Vous avez surement une politique par défaut pour le firewall netfilter de vos serveurs sous Linux. Si vous cherchez un moyen simple de vérifier la conformité de l’état de vos pare-feux avec votre politique sécurité, ne cherchez plus !

J’ai mis à disposition sur mon repo github rvrignaud/supervision un script perl nommé check_iptables_policy.pl. Il se contente pour l’instant de vérifier la policy des chaine INPUT, OUTPUT et FORWARD. Ce script repose sur l’utilisation de perl-suid. Pour l’installer sur Debian :

# apt-get install perl-suid

Comme celui-ci manipule la commande iptables, il faut lui positionner le setuid afin de pouvoir l’exécuter en utilisateur non privilégié :

# chmod 6755 /usr/lib/nagios/plugins/check_iptables_policy.pl

Il est très simple à utiliser :

$ ./check_iptables_policy.pl -i DROP -f DROP -o ACCEPT
// Vérifie que le chaînes INPUT et FORWARD sont en DROP et OUTPUT à ACCEPT

Ce script retournera automatiquement CRITICAL si une des chaînes n’a pas la bonne policy affectée.

Vos retours sont les bienvenus !

Share
  1. Je ne critique pas du tout le travail en sois (ni le script), mais j’ai quand même du mal à saisir l’utilité de la chose.

    Pour ma part par exemple, avec des filtres, mes INPUTs sont en ACCEPT et pourtant, ce n’est pas une ‘faille’ en sois.

    De plus, certain input peuvent etre en accept et d’autre en drop, c’est tout l’intéret …

    • Je ne sous-entends absolument pas qu’il ne peut pas y avoir de gestion cohérente de firewall avec une policy autre que DROP. Le script est d’ailleurs paramétrable à cette fin. Ce check permet juste de vérifier la cohérence entre la politique souhaitée et celle en production ceci afin d’éviter qu’un « stop » de firewall pour test ou debugage ne soit oublié !

Laisser un commentaire