Comment configurer fail2ban avec le journal systemd?

10

J'ai installé fail2bansur le conteneur Debian Jessie LXC, actuellement il échoue en raison de:

Starting authentication failure monitor: fail2ban
ERROR  No file(s) found for glob /var/log/auth.log
ERROR  Failed during configuration: Have not found any log file for ssh jail

Il n'y a pas syslogou rsyslogsur le système et /var/log/auth.logn'est donc pas généré. Existe-t-il un moyen de savoir comment fail2banutiliser la sortie de journalctl _COMM=sshd?

Tombart
la source

Réponses:

11

Pour les systèmes systemd:

Vous devez spécifier le backend /etc/fail2ban/jail.confà utiliser systemdcomme suit:

backend = systemd

Redémarrez ensuite fail2ban:

systemctl restart fail2ban

Éditer:

Je suis un gars lourd de CentOS / RHEL / Fedora donc vous devrez peut-être adapter un peu ce que je dis. En ce qui concerne cette réponse, vous devrez peut-être mettre à jour le package fail2ban vers une version qui prend en charge systemd en tant que backend ou vous devrez installer rsysloget ajouter les éléments suivants à votre /etc/rsyslog.conf:

authpriv.*      /var/log/auth.log

Cela garantira que les journaux d'authentification sshd se connectent, /var/log/auth.logce qui sera lu par le pyinotifybackend par défaut dans fail2ban:


la source
systemdoption ne semble pas être prise en charge par fail2ban 0.8.13:fail2banERROR NOK: ("Unknown backend systemd. Must be among ['pyinotify', 'gamin', 'polling'] or 'auto'",)
Tombart
@Tombart Quelle version de Debian utilisez-vous? Il semble que vous ayez besoin d'un package fail2ban mis à jour qui prend en charge le backend systemd OU vous pouvez installer rsyslog et ajouter la bonne configuration à votre rsyslog.conf
Il s'agit de la dernière version de Debian 8 Jessie fournie avec le systemdsupport.
Tombart
@MatthewSanabria, pourquoi have to install rsyslogen centos?
kittygirl
2

Vous aurez besoin de la version 0.9.0 de fail2ban qui peut prendre en charge systemd, tandis que Debian Jessie a 0.8.3 dans le référentiel.

Essayez de télécharger et d'installer à partir de sources, ou recherchez les référentiels alternatifs.

Cordialement.

Tim Connor
la source
1

J'ai le même problème. Plutôt que de le comprendre, j'ai fini par réinstaller syslogd pour générer le ou les fichiers journaux.

apt-get install inetutils-syslogd

La création du fichier journal peut prendre quelques minutes après l'installation - Il sera créé lorsqu'une entrée de journal sera ajoutée.

Je ne le recommanderais pas à long terme (car cela ne résout pas réellement le problème), mais si vous voulez que fail2ban fonctionne immédiatement, il fait le travail.

Glen Davies
la source
0

Il y a un problème avec les fichiers de configuration.

J'avais jail.conf et jail.d/defaults-debian.conf

Le contenu de ce dernier était:

[sshd]
enabled = true

Le backend n'étant pas défini ici, la valeur par défaut est utilisée à la place de celle de jail.conf. Le problème est décrit en détail ici: https://github.com/fail2ban/fail2ban/issues/1372

l'ajout a backend = systemdfait l'affaire.

defaults-debian.conf

[sshd]
enabled = true
backend = systemd
Southz rgw
la source