Pages : 1
#1 Le 17/09/2012, à 14:58
- olivier.revollat
Fail2ban : test ssh
Bonjour a tous,
j'ai installé fail2ban sur un serveur, mais j'avais l'impression que malgré la présence de tentatives d'attaques dans les logs, aucune action n'était faite (ban adresse ip via iptables, ...)
Pour en avoir le coeur net, j'ai fait volontairement quelques tests en tentant de me connecter à mon serveur depuis l'extérieur sans clef privé, ce que je n'ai pas autorisé dans la conf du serveur ssh, donc ça génère des log dans /var/log/auth.log du type :
Sep 17 15:32:16 XXXXXX sshd[2661]: reverse mapping checking getaddrinfo for reverse.xxxxxxx.xxx [xxx.xxx.xxx.xxx] failed - POSSIBLE BREAK-IN ATTEMPT!
Sep 17 15:32:16 XXXXXX sshd[2661]: Connection closed by xxx.xxx.xxx.xxx [preauth]
Sep 17 15:32:26 XXXXXX sshd[2823]: reverse mapping checking getaddrinfo for reverse.xxxxxxx.xxx [xxx.xxx.xxx.xxx] failed - POSSIBLE BREAK-IN ATTEMPT!
Sep 17 15:32:26 XXXXXX sshd[2823]: Received disconnect from xxx.xxx.xxx.xxx: 14: No supported authentication methods available [preauth]
Sep 17 15:32:37 XXXXXX sshd[2978]: reverse mapping checking getaddrinfo for reverse.xxxxxxx.xxx [xxx.xxx.xxx.xxx] failed - POSSIBLE BREAK-IN ATTEMPT!
Sep 17 15:32:37 XXXXXX sshd[2978]: Connection closed by xxx.xxx.xxx.xxx [preauth]
Or, quand je check le staus du "jail sshd" :
$ sudo fail2ban-client status ssh
Status for the jail: ssh
|- filter
| |- File list: /var/log/auth.log
| |- Currently failed: 0
| `- Total failed: 0
`- action
|- Currently banned: 0
| `- IP list:
`- Total banned: 0
... ces tentatives de connexion répétées et infructueuses ne semblent pas inquiéter fail2ban, sic !!
Pour info je vous met ici le filtre utilisé pour le jail sshd (donc le fichier /etc/fail2ban/filter.d/sshd.conf) :
[Definition]
_daemon = sshd
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*$
ignoreregex =
c'est vraiment l'installation DE BASE (paquet) de fail2ban et pour info j'ai une Ubuntu 12.04 ... mais c'est vrai que quand je regarde ce fichier (filtre), l'expression régulière qui devrait déclencher une action pour ce genre de ligne :
Sep 17 15:32:26 XXXXXX sshd[2823]: reverse mapping checking getaddrinfo for reverse.xxxxxxx.xxx [xxx.xxx.xxx.xxx] failed - POSSIBLE BREAK-IN ATTEMPT!
Semble être :
^%(__prefix_line)sAddress <HOST> .* POSSIBLE BREAK-IN ATTEMPT!*\s*$
Mais la regexp n'a pas l'air de "matcher" .... alors pourquoi est ce que l'installation du paquet fail2ban m'aurait mis des filtres pour sshd qui ne soient pas fonctionnels ????? Ou alors le pb vient de moi mais je ne comprends pas ce que je doit faire pour faire fonctionner correctement fail2ban .... si vous pouvez m'aider ..
merci a tous
Dernière modification par olivier.revollat (Le 17/09/2012, à 14:59)
Hors ligne
#2 Le 17/09/2012, à 15:16
- olivier.revollat
Re : Fail2ban : test ssh
j'ai confirmation avec la commande :
fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf
j'ai bien des IP qui ressortent (correspondants à de "vrai" tentatives d'attaques qui datent de ce matin) mais pas l'IP avec laquelle j'ai fait des tests de connexion ... et je voulais savoir, pour les match regexp que je vois avec la commande précédente ou y a t-il une trace que ces IP ont été bannies à un moment donné ??? car dans /var/log/fail2ban.log je n'ai rien, alors que par contre les regexp matchent bien ... ça veut bien dire que ça a du déclencher des actions derrière non ??? !!!!
Hors ligne
#3 Le 28/09/2012, à 08:23
- Pseudo supprimé
Re : Fail2ban : test ssh
sudo fail2banclient --version ??
est-ce que TOUTES tes règles fail2ban apparaissent dans iptables ?
sudo iptables -L INPUT -n -v
..
fail2ban-ssh tcp -- anywhere anywhere multiport dports ssh,2288
ensuite, il faut regarder, dans /etc/fail2ban/jail.local
qui est la copie de fail2ban.conf
en supposant que ton ssh tourne sur le port 2288
[ssh]
enabled = true
port = "ssh,2288"
filter = sshd
logpath = /var/log/auth.log
findtime = 30
maxretry = 3
bantime = 1800
action = iptables-multiport[name=ssh, port="22,2288"]
mail-whois[name=ssh, dest=root@domain.tld]
le mail-whois sert à envoyer un mail si tu as un serveur smtp (pas obligatoire)
#4 Le 28/09/2012, à 09:32
- olivier.revollat
Re : Fail2ban : test ssh
Version :
Fail2Ban v0.8.6
Dans iptables:
$ sudo iptables -L INPUT -n -v
Chain INPUT (policy DROP 47 packets, 2961 bytes)
pkts bytes target prot opt in out source destination
4045K 301M fail2ban-ssh tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22,443
...
...
Pour la config de mon ssh j'ai :
[ssh]
enabled = true
port = ssh,https
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
et plus aut dans le ficheir de config y'a ça :
[DEFAULT]
...
...
banaction = iptables-multiport
...
...
En tout cas, la situation s'est "améliorée" depuis la dernière fois, car maintenant il y a bien des "tentatives de brute force" qui ont été détecté :
$ sudo fail2ban-client status ssh
Status for the jail: ssh
|- filter
| |- File list: /var/log/auth.log
| |- Currently failed: 0
| `- Total failed: 51
`- action
|- Currently banned: 0
| `- IP list:
`- Total banned: 5
Donc ça à l'air de fonctionner, mais c'est curieux que les tests de connexion échoués que je fessait de mon coté ne m'avait pas "blacklisté" ..
Hors ligne
#5 Le 05/10/2012, à 18:59
- loreleil.747
Re : Fail2ban : test ssh
Salut,
@olivier.revollat
Bonjour a tous,
j'ai installé fail2ban sur un serveur, mais j'avais l'impression que malgré la présence de tentatives d'attaques dans les logs, aucune action n'était faite (ban adresse ip via iptables, ...)
Pour en avoir le coeur net, j'ai fait volontairement quelques tests en tentant de me connecter à mon serveur depuis l'extérieur sans clef privé, ce que je n'ai pas autorisé dans la conf du serveur ssh, donc ça génère des log dans /var/log/auth.log du type :Sep 17 15:32:16 XXXXXX sshd[2661]: reverse mapping checking getaddrinfo for reverse.xxxxxxx.xxx [xxx.xxx.xxx.xxx] failed - POSSIBLE BREAK-IN ATTEMPT!
Pour ce faire, il te faut adapter la regex .
Ajoutes celle-ci à la suite.
~ # cat /etc/fail2ban/filter.d/sshd.conf
...
^%(__prefix_line)sreverse mapping checking getaddrinfo for .* \[<HOST>\] failed - POSSIBLE BREAK-IN ATTEMPT!*\s*$
...
Il te restes à vérifier cette dernière.
~ # fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf
Running tests
=============
Use regex file : /etc/fail2ban/filter.d/sshd.conf
Use log file : /var/log/auth.log
Results
=======
Failregex
|- Regular expressions:
...
| [10] ^\s*(?:\S+ )?(?:kernel: \[\d+\.\d+\] )?(?:@vserver_\S+ )?(?:(?:\[\d+\])?:\s+[\[\(]?sshd(?:\(\S+\))?[\]\)]?:?|[\[\(]?sshd(?:\(\S+\))?[\]\)]?:?(?:\[\d+\])?:)?\s*reverse mapping checking getaddrinfo for .* \[<HOST>\] failed - POSSIBLE BREAK-IN ATTEMPT!\s*$
`- Number of matches:
[1] 0 match(es)
[2] 0 match(es)
[3] 0 match(es)
[4] 0 match(es)
[5] 2 match(es)
[6] 0 match(es)
[7] 0 match(es)
[8] 0 match(es)
[9] 0 match(es)
[10] 417 match(es)
[11] 0 match(es)
Ignoreregex
|- Regular expressions:
|
`- Number of matches:
Summary
=======
Addresses found:
[1]
[2]
[3]
[4]
[5]
114.141.180.109 (Thu Oct 04 20:17:50 2012)
199.115.230.96 (Fri Oct 05 00:10:38 2012)
[6]
[7]
[8]
[9]
[10]
186.29.130.105 (Wed Oct 03 21:35:16 2012)
186.29.130.105 (Wed Oct 03 21:37:05 2012)
184.22.105.30 (Thu Oct 04 17:11:51 2012)
184.22.105.30 (Thu Oct 04 17:11:52 2012)
184.22.105.30 (Thu Oct 04 17:11:53 2012)
184.22.105.30 (Thu Oct 04 17:11:54 2012)
184.22.105.30 (Thu Oct 04 17:11:55 2012)
184.22.105.30 (Thu Oct 04 17:11:56 2012)
...
190.221.26.51 (Thu Oct 04 21:36:40 2012)
190.221.26.51 (Thu Oct 04 21:36:57 2012)
190.221.26.51 (Thu Oct 04 21:37:31 2012)
190.221.26.51 (Thu Oct 04 21:37:54 2012)
190.221.26.51 (Thu Oct 04 21:38:08 2012)
190.221.26.51 (Thu Oct 04 21:38:22 2012)
190.221.26.51 (Thu Oct 04 21:38:33 2012)
190.221.26.51 (Thu Oct 04 21:38:45 2012)
190.221.26.51 (Thu Oct 04 21:38:58 2012)
190.221.26.51 (Thu Oct 04 21:39:10 2012)
190.221.26.51 (Thu Oct 04 21:39:22 2012)
190.221.26.51 (Thu Oct 04 21:39:33 2012)
190.221.26.51 (Thu Oct 04 21:39:45 2012)
190.221.26.51 (Thu Oct 04 21:39:59 2012)
190.221.26.51 (Thu Oct 04 21:40:13 2012)
190.221.26.51 (Thu Oct 04 21:40:26 2012)
190.221.26.51 (Thu Oct 04 21:40:41 2012)
190.221.26.51 (Thu Oct 04 21:40:55 2012)
190.221.26.51 (Thu Oct 04 21:41:11 2012)
190.221.26.51 (Thu Oct 04 21:41:26 2012)
190.221.26.51 (Thu Oct 04 21:41:40 2012)
190.221.26.51 (Thu Oct 04 21:41:56 2012)
190.221.26.51 (Thu Oct 04 21:42:08 2012)
190.221.26.51 (Thu Oct 04 21:42:17 2012) ...
190.221.26.51 (Thu Oct 04 21:47:43 2012)
190.221.26.51 (Thu Oct 04 21:47:55 2012)
186.28.235.88 (Fri Oct 05 00:27:03 2012)
186.28.235.88 (Fri Oct 05 00:27:12 2012)
186.28.235.88 (Fri Oct 05 00:29:45 2012)
186.28.235.88 (Fri Oct 05 00:30:09 2012)
186.28.235.88 (Fri Oct 05 00:30:46 2012)
186.28.235.88 (Fri Oct 05 00:31:30 2012)
[11]
Date template hits:
94964 hit(s): MONTH Day Hour:Minute:Second
0 hit(s): WEEKDAY MONTH Day Hour:Minute:Second Year
0 hit(s): WEEKDAY MONTH Day Hour:Minute:Second
0 hit(s): Year/Month/Day Hour:Minute:Second
0 hit(s): Day/Month/Year Hour:Minute:Second
0 hit(s): Day/Month/Year Hour:Minute:Second
0 hit(s): Day/MONTH/Year:Hour:Minute:Second
0 hit(s): Month/Day/Year:Hour:Minute:Second
0 hit(s): Year-Month-Day Hour:Minute:Second
0 hit(s): Year.Month.Day Hour:Minute:Second
0 hit(s): Day-MONTH-Year Hour:Minute:Second[.Millisecond]
0 hit(s): Day-Month-Year Hour:Minute:Second
0 hit(s): TAI64N
0 hit(s): Epoch
0 hit(s): ISO 8601
0 hit(s): Hour:Minute:Second
0 hit(s): <Month/Day/Year@Hour:Minute:Second>
Success, the total number of match is 419
However, look at the above section 'Running tests' which could contain important
information.
~ #
Je t'en serre cinq .... ^¿^
Hors ligne
Pages : 1