Projet

Général

Profil

Wiki » Historique » Version 18

Eric Seigne, 14/07/2021 15:19

1 1 Eric Seigne
# Wiki
2
3 10 Eric Seigne
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 (de confiance) ...
4 2 Eric Seigne
5 4 Eric Seigne
Pour l'instant l'idée est la suivante:
6 16 Eric Seigne
* un utilisateur (administrateur) créé autant de clé d'API qu'il a de serveur sur lesquels fail2ban tourne
7 4 Eric Seigne
* 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)
8
9 17 Eric Seigne
10 1 Eric Seigne
## Configuration initiale
11 6 Eric Seigne
12 17 Eric Seigne
### En automatique via le script et l'option --setup
13 1 Eric Seigne
14 7 Eric Seigne
Directement sur votre serveur, téléchargez l'assistant de configuration https://projets.cap-rel.fr/projects/fail2band/repository/webservice-fail2band/revisions/master/raw/tools/fail2band.sh et lancez le avec l'option --setup : il créé votre compte utilisateur et si vous en avez déjà un vous génère la clé d'accès à l'api pour le serveur et créé le fichier de configuration /etc/fail2band/config !
15
16 17 Eric Seigne
```fail2band.sh --setup```
17
18 1 Eric Seigne
Vous pouvez aussi lancer [[fail2band.sh --help]] qui devrait vous donner toute l'aide intégrée !
19
20 7 Eric Seigne
## Configuration pour uploader sa blacklist
21 1 Eric Seigne
22 17 Eric Seigne
(faire la Configuration initiale comme indiqué dans le paragraphe "Configuration initiale")
23 1 Eric Seigne
24 17 Eric Seigne
* 1. Installez https://projets.cap-rel.fr/projects/fail2band/repository/webservice-fail2band/revisions/master/raw/tools/fail2ban/action.d/fail2band.conf dans /etc/fail2ban/action.d/
25
* 2. Modifiez les règles fail2ban pour ajouter **fail2band** dans les actions, par exemple ajout de fail2band pour la prison sshd
26 11 Eric Seigne
27 9 Eric Seigne
```
28 1 Eric Seigne
[sshd]
29 9 Eric Seigne
enabled = true
30 3 Eric Seigne
banaction = %(banaction_allports)s
31 17 Eric Seigne
	    fail2band     <------------------------ c'est ça qu'il faut ajouter à vos blocs banaction
32 1 Eric Seigne
33
```
34
35 17 Eric Seigne
* 3. Relancez fail2ban et vérifiez sur le fichier log local de fail2ban que les nouvelles IP bannies sont aussi "poussées" sur le serveur fail2band.com ... (vérifiez sur le panneau d'admin du serveur web dans la section fail2ban que les ip remontées sont bien là)
36
37 4 Eric Seigne
## Configuration pour télécharger sa blacklist sur un autre serveur
38 8 Eric Seigne
39 17 Eric Seigne
(faire la Configuration initiale comme indiqué dans le paragraphe "Configuration initiale")
40 4 Eric Seigne
41 1 Eric Seigne
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 ...
42 4 Eric Seigne
43 17 Eric Seigne
* 1. Installez https://projets.cap-rel.fr/projects/fail2band/repository/webservice-fail2band/revisions/master/raw/tools/fail2ban/filter.d/fail2band-remote.conf dans /etc/fail2ban/filter.d/
44
* 2. Installez https://projets.cap-rel.fr/projects/fail2band/repository/webservice-fail2band/revisions/master/raw/tools/fail2ban/jail.d/fail2band-remote.conf dans /etc/fail2ban/jail.d/
45
* 3. Modifiez et adaptez le fichier de configuration de la prison, par exemple
46 1 Eric Seigne
47 4 Eric Seigne
```
48 17 Eric Seigne
[fail2band-remote]
49 4 Eric Seigne
enabled = true
50
banaction = iptables-allports
51 1 Eric Seigne
filter = fail2band-remote
52 4 Eric Seigne
protocol = all
53 17 Eric Seigne
logpath = /var/log/fail2band-remote.log
54 4 Eric Seigne
maxretry = 1
55
findtime = 1h
56 9 Eric Seigne
bantime = 1d
57 4 Eric Seigne
58 9 Eric Seigne
```
59 4 Eric Seigne
60 17 Eric Seigne
* 4. Relancez fail2ban et vérifier sur le fichier log local de fail2ban que tout marche bien
61 4 Eric Seigne
62 17 Eric Seigne
Ensuite il faut que le fichier /var/log/fail2band-remote.log se remplisse à partir de la base centrale ... il faut lancer le script fail2band.sh avec l'option --get via un cron par exemple: (dans le futur on regardera de plus près les websockets ou autres bricoles permises par http2)
63 5 Eric Seigne
64
65 1 Eric Seigne
```
66 9 Eric Seigne
/usr/local/bin/fail2band.sh --get --filter ssh
67 4 Eric Seigne
```
68 13 Eric Seigne
69
70
En [[résumé condensé]] ce que je fais actuellement pour déployer fail2band sur mes serveurs ...
Go to top
Ajouter une image à partir du presse-papier (Taille maximale: 50 Mo)