Bonjour,
Je tente, sans succès pour le moment, de lancer un script, via fail2ban pour exécuter la commande nmap en cas de multiples connexions infructueuses et d'envoyer le résultat par émail.
Mon script (bash) fonctionne très bien mais fail2ban ne lance pas mon script ...
voici un extrait du fichier /etc/fail2ban/jail.conf
[ssh]
voici l'extrait du fichier /etc/fail2ban/filter.d/sshd.conf (a la fin du script se trouve la ligne : actionban = /root/test.sh ban <HOST> )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 [ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3
voici mon script test.sh
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 # Fail2Ban configuration file # # Author: Cyril Jaquier # # $Revision$ # [INCLUDES] # Read common prefixes. If any customizations available -- read them from # common.local before = common.conf [Definition] _daemon = sshd # Option: failregex # Notes.: regex to match the password failures messages in the logfile. The # host must be matched by a group named "host". The tag "<HOST>" can # be used for standard IP/hostname matching and is only an alias for # (?:::f{4,6}:)?(?P<host>[\w\-.^_]+) # Values: TEXT # failregex = ^%(__prefix_line)s(?:error: PAM: )?Authentication failure for .* from <HOST>\s*$ ^%(__prefix_line)s(?:error: PAM: )?User not known to the underlying authentication module for .* from <HOST>\s*$ ^%(__prefix_line)sFailed (?:password|publickey) for .* from <HOST>(?: port \d*)?(?: ssh\d*)?$ ^%(__prefix_line)sROOT LOGIN REFUSED.* FROM <HOST>\s*$ ^%(__prefix_line)s[iI](?:llegal|nvalid) user .* from <HOST>\s*$ ^%(__prefix_line)sUser .+ from <HOST> not allowed because not listed in AllowUsers$ ^%(__prefix_line)sauthentication failure; logname=\S* uid=\S* euid=\S* tty=\S* ruser=\S* rhost=<HOST>(?:\s+user=.*)?\s*$ ^%(__prefix_line)srefused connect from \S+ \(<HOST>\)\s*$ ^%(__prefix_line)sAddress <HOST> .* POSSIBLE BREAK-IN ATTEMPT!*\s*$ ^%(__prefix_line)sUser .+ from <HOST> not allowed because none of user's groups are listed in AllowGroups\s*$ # Option: ignoreregex # Notes.: regex to ignore. If this regex matches, the line is ignored. # Values: TEXT # ignoreregex = #actionban = /root/test.sh ban [ip] actionban = /root/test.sh ban <HOST>
Quelqu'un à une idée pourquoi fail2ban ne lance pas le script /root/test.sh ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #!/bin/bash if [ "$1" = 'ban' ] then nmap -sS -O $2|mail -s "[Fail2Ban]: nmap of $2" info@mon_nom_de_domaine.fr fi
Merci d'avance pour votre aide.
Partager