Thuban : Un fail2ban pour OpenBSD : vilain
lundi 26 décembre 2016 à 17:17Suite au message de Vincent qui me parlait de fail2ban, j'ai eu envie de reprendre ses idées . Il s'agit d'un petit programme qui reproduit le comportement de fail2ban mais pour OpenBSD.
Autrement dit, cet outil surveille les journaux du systèm et repère les erreurs d'identification. Si trop d'erreurs à la suite sont reprérées, on peut supposer que le serveur subit une attaque. Alors, on met sur liste noire l'IP.
Je l'ai modifié pour qu'il soit possible de surveiller plusieurs services et plusieurs journaux en même temps.
Il s'utilise ainsi :
- Ajout de ces lignes dans le fichier
/etc/pf.conf
:
table persist
block quick from
On crée donc une table qui contiendra les IP à blacklister.
- Création d'un fichier de configuration dans
/etc/vilain.conf
:
[DEFAULT]
# 24h + 5min
watch_while = 86700
maxtries = 3
#[name of the guardian]
#logfile = /file/to/watch
#regex = regex that return the bad guy IP
[ssh]
logfile = /var/log/authlog
regex = .* Failed .* from ([\\S]+) .*
[ssh2]
logfile = /var/log/authlog
regex = .* Connection closed by ([\\S]+) .*
La première section permet de définir pendant combien de temps une IP "mauvaise" est surveillée, et le nombre d'essais successifs qu'elle peut faire.
Ensuite, vous pouvez créez autant de sections que vous voulez. Il faut juste veiller à créer une expression régulière qui ressort l'IP du méchant.
- Lancer vilain, qui ne nécessite que python3.
Tout se télécharge ici : http://git.yeuxdelibad.net/vilain.tgz ou http://git.yeuxdelibad.net/vilain/
J'aimerais avoir vos idées en plus des retours de bugs : quelles regexp sur quels fichiers vous auriez besoin ?
ps : les lecteurs du site obsd4a.net auront certainement remarqué une répétition dans cet article. J'ai besoin de retours d'expérience :) ).
Original post of Thuban.Votez pour ce billet sur Planet Libre.