J'ai quelques hôtes gênants qui essaient de l'utiliser avec un serveur SSH que je fais tourner, et j'essaie de les interdire en utilisant fail2ban. Le problème est que je n'ai pas beaucoup travaillé avec des regex, et encore moins avec des regex Python.
Voici les lignes qui posent problème dans mon auth.log :
Nov 19 18:58:17 myhost sshd[48272]: Connection from xxx.xxx.xxx.xxx port 3284 on my.host.ip.address port 22
Nov 19 18:58:21 myhost sshd[48272]: fatal: Read from socket failed: Connection reset by peer [preauth]
Je veux saisir les deux lignes de la regex, j'ai vu dans d'autres messages comment faire des choses multi-lignes, mais pour le moment je n'arrive même pas à faire correspondre la première ligne ! Voici un extrait de mon fichier *.conf :
[INCLUDES]
# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf
[Init]
maxlines = 2
[Definition]
_daemon = sshd
failregex = ^%(__prefix_line)s^Connection from <HOST>*$
Je comprends que le "__prefix_line" est conçu pour attraper le premier bit "myhost sshd[PID]", mais tout ce que j'obtiens lorsque j'exécute "fail2ban-regex" est :
Results
=======
Failregex: 0 total
Ignoreregex: 0 total
Date template hits:
|- [# of hits] date format
| [115124] MONTH Day Hour:Minute:Second
`-
Lines: 115124 lines, 0 ignored, 0 matched, 115124 missed
Quelqu'un a-t-il une idée ?
Merci d'avance !
1 votes
Duplicata de stackoverflow.com/questions/25722626/ (je ne suis pas sûr que cela compte comme une duplication si c'est sur un autre site d'échange de piles)
0 votes
J'ai regardé celui-là, et j'ai basé mes tests dessus, mais je n'ai pas avancé, d'où ma question.
0 votes
Avez-vous essayé
<HOST>.*$
au lieu de<HOST>*$
? Vous n'avez pas donné de jeu de caractères, la fonction*
peut utiliser. Ainsi, les*
s'appliquerait à la dernière commande de la liste élargie<HOST>
.