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?
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
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