Comment puis-je configurer le /etc/syslog.conf
fichier afin d'enregistrer les informations du journal iptables
dans un fichier spécifique.
Je souhaite enregistrer ces informations séparément, afin de pouvoir extraire ce que je veux facilement et rapidement.
Réponses:
syslog
Jetez un œil dans la page de manuel de
iptables
. Il montre un objectif appeléLOG
qui peut faire ce que vous voulez.Exemple
Définissez le niveau de journalisation
LOG
sur 4.Configurez
syslog.conf
pour écrire ces messages dans un fichier séparé.Redémarrez syslogd.
Debian / Ubuntu
Fedora / CentOS / RHEL
REMARQUE: cette méthode de journalisation est appelée priorités fixes. Ce sont soit des nombres, soit des noms (1,2,3,4, ..) ou (DEBUG, WARN, INFO, etc.).
rsyslog
Si par hasard vous utilisez
rsyslog
, vous pouvez créer un filtre basé sur la propriété comme ceci:Ajoutez ensuite ce commutateur à vos règles iptables que vous souhaitez enregistrer:
Vous pouvez également enregistrer les messages à l'aide de ce type de filtre de propriété:
REMARQUE: cette 2e méthode ne nécessite aucune modification
iptables
.Références
la source
/var/log/iptables
et également dans/var/log/messages
. Je veux seulement une copie de ces données dansiptables.log
Cela suppose que votre pare-feu crée déjà des journaux, comme tout pare-feu sain devrait le faire. Pour certains exemples, il nécessite un message identifiable, tel que "NETFILTER" dans l'exemple de slm.
créer un fichier dans rsyslog.d
Cela fonctionne dans CentOS 7. Je ne sais pas comment vérifier qu'il provient du pare-feu à part chercher IN et OUT ... CentOS est bizarre. Ne l'utilisez que si la prochaine version ne fonctionne pas.
Cela fonctionne dans CentOS 7 et vérifie également le contenu du message (remplacez «Shorewall» par tout ce que vous avez dans le message de votre règle -j LOG):
Cela fonctionne dans d'autres (Ubuntu, Debian, openSUSE). Et c'est la meilleure façon de le faire. Aucune recherche de chaînes dans le message:
Et voici ce qu'une machine openSUSE par défaut a (que je pense que chaque distribution devrait avoir et est manquante) (la différence ne semble être que "stop" au lieu de "& ~"; tous les systèmes ne prennent pas en charge les deux syntaxes):
Et pour tout ce qui précède, n'oubliez pas non plus un fichier logrotate.d:
contenant:
la source