Wiki » Historique » Révision 4
« Précédent |
Révision 4/18
(diff)
| Suivant »
Eric Seigne, 08/07/2021 19:23
Wiki¶
fail2band : une api qui permet de remonter ses ip bannies et de les télécharger depuis ses autres serveurs ... voir à terme de les partager avec d'autres utilisateurs ...
Pour l'instant l'idée est la suivante:
- un utilisateur (administrateur) créé autant de clé d'API qu'il a de serveur sur lesquels fail2ban tournent
- il ne faut surtout pas utiliser la même clé d'API sur 2 serveurs, car c'est un élément qui permet de ne pas "boucler" (ie renvoyer la blacklist du serveur 1 sur serveur 1)
- l'administrateur se connecte sur le panneau d'admin fail2band.com pour créer ses clés d'api et :
- un script "push" permet d'envoyer ses données vers le serveur
- un script "pull" permet de télécharger la blacklist
Configuration pour un nouveau serveur (uploader sa blacklist)¶
- 1. Créer son compte sur https://fail2band.com/
- 2. Créer une clé d'API pour ce serveur via la console web de https://fail2band.com (à terme le script CLI devra permettre de le faire direct sur le serveur "client")
- 3. Installer le script https://projets.cap-rel.fr/projects/fail2band/repository/webservice-fail2band/revisions/master/entry/tools/fail2band_push.sh
- 4. Ouvrir le script et ajouter les infos ad-hoc dans la partie configuration (api, ip)
- 5. Installer https://projets.cap-rel.fr/projects/fail2band/repository/webservice-fail2band/revisions/master/entry/tools/fail2ban/action.d/fail2band.conf dans /etc/fail2ban/action.d/
- 6. Modifier ses règles fail2ban pour ajouter fail2band dans les actions, par exemple ajout de fail2band pour inli-authlog:
[inli-authlog] enabled = true filter = inli-authlog banaction = %(banaction_allports)s fail2band protocol = all logpath = /var/log/auth.log maxretry = 1 bantime = 2678400
- 7. Relancer fail2ban et vérifier sur le fichier log local de fail2ban que les nouvelles IP bannies sont aussi "poussées" sur le serveur fail2band.com ...
Configuration pour télécharger sa blacklist depuis un autre serveur¶
Rappel: le principe de base est que la blacklist est commune pour le compte utilisateur mais différentiée pour les clés d'api utilisées ...
- 1. Installer le script https://projets.cap-rel.fr/projects/fail2band/repository/webservice-fail2band/revisions/master/entry/tools/fail2band_pull.sh
- 2. Ouvrir le script et ajouter les infos ad-hoc dans la partie configuration (api, ip)
- 3. Installer https://projets.cap-rel.fr/projects/fail2band/repository/webservice-fail2band/revisions/master/entry/tools/fail2ban/filter.d/fail2band-remote.conf dans /etc/fail2ban/filter.d/
- 4. Installer https://projets.cap-rel.fr/projects/fail2band/repository/webservice-fail2band/revisions/master/entry/tools/fail2ban/jail.d/fail2band-remote.conf dans /etc/fail2ban/jail.d/
- 5. Modifier/adapter le fichier de configuration de la prison, par exemple
[fail2band-remote-ssh] enabled = true banaction = iptables-allports filter = fail2band-remote protocol = all logpath = /var/log/fail2band-remote-ssh.log maxretry = 1 findtime = 1h bantime = 1d
Important: vous voyez le suffixe "ssh" à fail2band-remote ? il est également sur le nom du fichier log à monitorer, c'est aussi le nom du filtre qu'on va envoyer à la requête réseau via le script pull
Ce suffixe correspond aux noms des collecteurs de vos règles fail2ban lors de l'envoi. Ainsi si vous envoyez des données de postfix-sasl vous pourrez télécharger uniquement les IP bannies par ce filtre ...
- 6. Relancer fail2ban et vérifier sur le fichier log local de fail2ban que tout marche bien
fail2band_pull.sh ssh
Ensuite il faut que le fichier /var/log/fail2band-remote-ssh.log se remplisse à partir de la base centrale ... il faut lancer le script fail2band_pull.sh via un cron par exemple, dans le futur on regardera de plus près les websockets ou autres bricoles permises par http2
Mis à jour par Eric Seigne il y a environ 3 ans · 4 révisions
Go to top