web-dev-qa-db-fra.com

Firewalld - Logging Refuser les paquets activés - Not Logging

J'utilise le pare-feu et la zone de chute est la zone par défaut avec une interface attribuée à la zone.

J'ai ensuite des règles riches pour permettre un peu de trafic dans la zone de goutte et j'ai activé firewall-cmd --set-log-denied=all. Je pensais que cela consoliderait tout ce qui tente de se connecter au serveur qui ne provient pas de la règle riche de la liste blanche ... mais elle ne se connectera pas. J'ai Ran Port Scans contre le serveur et le/var/journal/messages n'affiche pas les journaux des ports refusés.

Toutefois, lorsque j'ai défini la zone par défaut sur le public et attribuer l'interface au public, il est refusé de refuser des paquets lorsque j'exécute une autre analyse de port.

Pourquoi?

6
Matt B

Le problème semble être lié à un bogue comme indiqué dans le commentaire. Cependant, pour ceux qui ont toujours des problèmes pour obtenir la journalisation des paquets de déni de pare-feu, l'approche suivante a fonctionné pour moi:

Les suivants ont fonctionné avec firewalld + rsyslogd

Éditer /etc/sysconfig/firewalld et mettre à jour la valeur pour LogDenied à all (ou au besoin)

LogDenied=all

redémarrer le pare-feu

Sudo systemctl restart firewalld

Alternativement, en utilisant la ligne de commande, on peut exécuter la commande suivante:

Sudo firewall-cmd --set-log-denied all

Cela ajoute généralement des règles de journalisation juste avant de rejeter/déposer des règles dans le pare-feu, quelque chose comme:

LOG  all  --  anywhere   anywhere  LOG level warning prefix "IN_drop_DROP: "
LOG  all  --  anywhere   anywhere  LOG level warning prefix "FINAL_REJECT: "

Créer un fichier nommé /etc/rsyslog.d/custom_iptables.conf et ajouter les affirmations suivantes à ce sujet:

:msg,contains,"_DROP" /var/log/iptables.log
:msg,contains,"_REJECT" /var/log/iptables.log
& stop

redémarrez RSYSLOG

Sudo systemctl restart rsyslog   

Maintenant, les paquets abandonnés et rejetés seront connectés à /var/log/iptables.log

4
VanagaS

Emploi génial, cela m'a aidé à descendre dans le bon chemin, j'apprécie le poste.

La seule chose que j'ai remarquée, c'est que je crois que l'emplacement de LogDenied=all devrait être /etc/firewalld/firewalld.conf puisque /etc/sysconfig/firewalld est pour les options de ligne de commande de démarrage. De plus, le fichier de RSYSLOG peut être mieux nommé avec un .conf, parfois par défaut inclure les instructions pourraient ne pas rechercher un fichier .log.

Verré bon travail Vanagas!

réf: https://firewalld.org/documentation/man-pages/firewalld.conf.html

4
kondor6c