Fail2ban qui ne bannit pas

Bonjour,

J’ai pleins de tentative de connexion du type [access_compat:error] AH01797: client denied by server configuration: /var/www/html…
J’ai beau tout essayer mais fail2ban ne bannit pas les adresse ip, même si c’est moi qui tente d’acceder aux fichiers de l’exterieur…


Pourtant tout est bien configuré:

Et mes jails dans etc/fail2ban/jail.d/jeedom.conf:

[apache-botsearch]
enabled  = true
port     = http,https
filter   = apache-botsearch
logpath   = /var/www/html/log/http*.error
maxretry = 6

[apache-overflows]
enabled  = true
port     = http,https
filter   = apache-overflows
logpath   = /var/www/html/log/http*.error
maxretry = 2

[apache-noscript]
enabled  = true
port     = http,https
filter   = apache-noscript
logpath   = /var/www/html/log/http*.error
maxretry = 1

Le jail sshd fonctionne bien quant à lui. Il m’a bien banni après mes tentatives de connexion.

Santé jeedom:

Si quelqu’un pouvais m’aider…
Merci beaucoup.

Bon dimanche.

Schlew

Un peu plus d’info:
Je viens d’activer le jail apache-multiport. Il me bannit enfin bien mais j’arrive malgré tout à continué à créer des erreur dans le fichier http.error comme si je n’était pas banni.

Log fail2ban:

A+

Merci de donner les logs sous forme de copié collé et formaté avec Texte préformaté bouton </>.
En l’état c’est quasi illisible et tronqué.

Antoine

Bonjour

En ligne de commande en root lancer: iptables -L

Vous devriez visualiser les ip bannies comme cela:

root@Jeedom12:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
f2b-apache-multiport  tcp  --  anywhere             anywhere             multiport dports http,https
f2b-apache-noscript  tcp  --  anywhere             anywhere             multiport dports http,https

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain f2b-apache-multiport (1 references)
target     prot opt source               destination         
REJECT     all  --  ec2-15-237-61-142.eu-west-3.compute.amazonaws.com  anywhere             reject-with icmp-port-unreachable
REJECT     all  --  213.232.87.230       anywhere             reject-with icmp-port-unreachable
REJECT     all  --  ffc5722872.scan.leakix.org  anywhere             reject-with icmp-port-unreachable
REJECT     all  --  132.145.29.111       anywhere             reject-with icmp-port-unreachable
REJECT     all  --  connected-by.global-layer.com  anywhere             reject-with icmp-port-unreachable
RETURN     all  --  anywhere             anywhere            

Chain f2b-apache-noscript (1 references)
target     prot opt source               destination         
REJECT     all  --  vmi2399128.contaboserver.net  anywhere             reject-with icmp-port-unreachable
REJECT     all  --  45.144.227.14        anywhere             reject-with icmp-port-unreachable
REJECT     all  --  ec2-15-237-61-142.eu-west-3.compute.amazonaws.com  anywhere             reject-with icmp-port-unreachable
REJECT     all  --  94-156-177-121.virtualine.org  anywhere             reject-with icmp-port-unreachable
REJECT     all  --  213.232.87.230       anywhere             reject-with icmp-port-unreachable
REJECT     all  --  132.145.29.111       anywhere             reject-with icmp-port-unreachable
REJECT     all  --  connected-by.global-layer.com  anywhere             reject-with icmp-port-unreachable
RETURN     all  --  anywhere             anywhere            
root@Jeedom12:~# 

Cordialement

A priori c’est un fonctionnement normal

D’ailleurs concernant la configuration de Fail2ban

Je ne comprends pas pourquoi il ne faut pas activer multiport. Le message n’est pas clair :

Ne pas activer cette regle qui bloque l’accès a jeedom trop facile a cause d’erreur de type [access_compat:error] [pid 10800] [client 192.168.0.67:62801] AH01797: client denied by server configuration: /var/www/html/plugins/zigbee/core/config/devices/undefined, referer: http://192.168.0.49/index.php?v=d&p=zigbee&m=zigbee&id=189

Bonjour,

Mon ip est pourtant bien dans la liste des banned quand je fais un fail2ban-status banned.
Je regarderai ce soir avec iptable.
Pour info, j’ai pas de soucis avec le fonctionnement de jeedom en activant le multiport.
Bonne journée et merci pour vos réponses.

Schlew

Bonjour,

Voici le resultat iptable-L et fail2ban-client banned:

En pice jointe le log http.error et fail2ban
http.error.txt (5,6 Ko)
fail2ban.log (4,1 Ko)

Bonne soirée.

Schlew

Bonjour

Tout me semble correct.
2 règles ont bien bannies les IP apache-multiport et apache-noscript.
le bantime est réglé à 7200 secondes ( 2 heures), perso je bannis 2 mois je suis sur un NUC I5.

Il vaut mieux mettre les extraits de journaux en texte formaté comme cela:
1- la lecture est directe, plus facile pour voir la correspondance avec les commentaires
2- Certains membres ne veulent pas les ouvrir pour cause de risque de virus

fail2ban.log

2025-01-26 19:34:51,223 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 45.148.10.172 - 2025-01-26 19:34:50
2025-01-26 20:23:29,027 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 13.91.164.15 - 2025-01-26 20:23:29
2025-01-26 21:09:54,399 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 45.139.104.149 - 2025-01-26 21:09:54
2025-01-26 22:39:34,458 fail2ban.actions        [168325]: NOTICE  [apache-noscript] Unban 204.188.228.214
2025-01-26 23:38:16,586 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 78.153.140.177 - 2025-01-26 23:38:16
2025-01-26 23:38:17,037 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 78.153.140.177 - 2025-01-26 23:38:17
2025-01-26 23:38:17,264 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 78.153.140.177 - 2025-01-26 23:38:17
2025-01-26 23:38:17,497 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 78.153.140.177 - 2025-01-26 23:38:17
2025-01-26 23:38:17,511 fail2ban.actions        [168325]: NOTICE  [apache-multiport] Ban 78.153.140.177
2025-01-27 05:38:19,517 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 176.65.138.93 - 2025-01-27 05:38:19
2025-01-27 07:38:17,526 fail2ban.actions        [168325]: NOTICE  [apache-multiport] Unban 78.153.140.177
2025-01-27 09:21:33,171 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 141.94.145.70 - 2025-01-27 09:21:32
2025-01-27 10:17:50,587 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 45.148.10.172 - 2025-01-27 10:17:50
2025-01-27 10:36:50,734 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 104.209.35.6 - 2025-01-27 10:36:50
2025-01-27 12:47:24,788 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 92.255.57.58 - 2025-01-27 12:47:24
2025-01-27 13:56:20,327 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 94.154.35.225 - 2025-01-27 13:56:20
2025-01-27 13:56:24,572 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 94.154.35.225 - 2025-01-27 13:56:24
2025-01-27 13:56:25,288 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 94.154.35.225 - 2025-01-27 13:56:25
2025-01-27 13:56:25,406 fail2ban.actions        [168325]: NOTICE  [apache-multiport] Ban 94.154.35.225
2025-01-27 18:18:04,890 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 87.120.115.34 - 2025-01-27 18:18:04
2025-01-27 18:27:08,763 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 77.130.249.59 - 2025-01-27 18:27:08
2025-01-27 18:27:10,370 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 77.130.249.59 - 2025-01-27 18:27:10
2025-01-27 18:27:12,032 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 77.130.249.59 - 2025-01-27 18:27:12
2025-01-27 18:27:12,077 fail2ban.actions        [168325]: NOTICE  [apache-multiport] Ban 77.130.249.59
2025-01-27 18:27:13,651 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 77.130.249.59 - 2025-01-27 18:27:13
2025-01-27 18:27:14,693 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 77.130.249.59 - 2025-01-27 18:27:14
2025-01-27 18:27:15,769 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 77.130.249.59 - 2025-01-27 18:27:15
2025-01-27 18:27:16,131 fail2ban.actions        [168325]: NOTICE  [apache-multiport] 77.130.249.59 already banned
2025-01-27 18:27:17,567 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 77.130.249.59 - 2025-01-27 18:27:17
2025-01-27 18:27:18,722 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 77.130.249.59 - 2025-01-27 18:27:18
2025-01-27 18:27:20,356 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 77.130.249.59 - 2025-01-27 18:27:20
2025-01-27 18:27:20,742 fail2ban.actions        [168325]: NOTICE  [apache-multiport] 77.130.249.59 already banned
2025-01-27 18:27:22,475 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 77.130.249.59 - 2025-01-27 18:27:22
2025-01-27 18:27:23,656 fail2ban.filter         [168325]: INFO    [apache-multiport] Found 77.130.249.59 - 2025-01-27 18:27:23

http.error

[Sun Jan 26 12:01:47.928123 2025] [access_compat:error] [pid 24677:tid 24677] [client 92.255.57.58:48716] AH01797: client denied by server configuration: /var/www/html/actuator
[Sun Jan 26 13:18:15.908381 2025] [access_compat:error] [pid 24677:tid 24677] [client 45.178.250.41:1716] AH01797: client denied by server configuration: /var/www/html/boaform
[Sun Jan 26 14:39:34.407744 2025] [php7:error] [pid 5747:tid 5747] [client 204.188.228.214:48340] script '/var/www/html/upl.php' not found or unable to stat
[Sun Jan 26 14:39:34.624568 2025] [access_compat:error] [pid 846:tid 846] [client 204.188.228.214:48352] AH01797: client denied by server configuration: /var/www/html/t4
[Sun Jan 26 18:17:02.144936 2025] [access_compat:error] [pid 844:tid 844] [client 128.199.153.155:51466] AH01797: client denied by server configuration: /var/www/html/wp-admin
[Sun Jan 26 18:17:02.339536 2025] [access_compat:error] [pid 844:tid 844] [client 128.199.153.155:51466] AH01797: client denied by server configuration: /var/www/html/wordpress
[Sun Jan 26 19:34:50.777745 2025] [access_compat:error] [pid 151980:tid 151980] [client 45.148.10.172:35184] AH01797: client denied by server configuration: /var/www/html/.env
[Sun Jan 26 20:23:29.015939 2025] [access_compat:error] [pid 5747:tid 5747] [client 13.91.164.15:39454] AH01797: client denied by server configuration: /var/www/html/portal
[Sun Jan 26 21:09:54.389569 2025] [access_compat:error] [pid 151980:tid 151980] [client 45.139.104.149:41994] AH01797: client denied by server configuration: /var/www/html/boaform, referer: http://92.95.39.96:80/admin/login.asp
[Sun Jan 26 23:38:16.556536 2025] [access_compat:error] [pid 844:tid 844] [client 78.153.140.177:39408] AH01797: client denied by server configuration: /var/www/html/.env
[Sun Jan 26 23:38:17.023402 2025] [access_compat:error] [pid 845:tid 845] [client 78.153.140.177:43996] AH01797: client denied by server configuration: /var/www/html/.ENV
[Sun Jan 26 23:38:17.253614 2025] [access_compat:error] [pid 151980:tid 151980] [client 78.153.140.177:46418] AH01797: client denied by server configuration: /var/www/html/.Env
[Sun Jan 26 23:38:17.485366 2025] [access_compat:error] [pid 843:tid 843] [client 78.153.140.177:48062] AH01797: client denied by server configuration: /var/www/html/.AWS
[Mon Jan 27 05:38:19.482696 2025] [access_compat:error] [pid 845:tid 845] [client 176.65.138.93:37146] AH01797: client denied by server configuration: /var/www/html/.env
[Mon Jan 27 09:21:32.966697 2025] [access_compat:error] [pid 846:tid 846] [client 141.94.145.70:41824] AH01797: client denied by server configuration: /var/www/html/.git
[Mon Jan 27 10:17:50.571412 2025] [access_compat:error] [pid 842:tid 842] [client 45.148.10.172:33108] AH01797: client denied by server configuration: /var/www/html/.env
[Mon Jan 27 10:36:50.469621 2025] [access_compat:error] [pid 2257:tid 2257] [client 104.209.35.6:58968] AH01797: client denied by server configuration: /var/www/html/hudson
[Mon Jan 27 12:47:24.575492 2025] [access_compat:error] [pid 5747:tid 5747] [client 92.255.57.58:56430] AH01797: client denied by server configuration: /var/www/html/actuator
[Mon Jan 27 13:56:20.307499 2025] [access_compat:error] [pid 845:tid 845] [client 94.154.35.225:34764] AH01797: client denied by server configuration: /var/www/html/.env
[Mon Jan 27 13:56:24.558453 2025] [access_compat:error] [pid 24677:tid 24677] [client 94.154.35.225:34766] AH01797: client denied by server configuration: /var/www/html/wp-content
[Mon Jan 27 13:56:25.118239 2025] [access_compat:error] [pid 2257:tid 2257] [client 94.154.35.225:34778] AH01797: client denied by server configuration: /var/www/html/.git
[Mon Jan 27 18:18:04.598158 2025] [access_compat:error] [pid 845:tid 845] [client 87.120.115.34:53452] AH01797: client denied by server configuration: /var/www/html/.env
[Mon Jan 27 18:27:08.753852 2025] [access_compat:error] [pid 1175358:tid 1175358] [client 77.130.249.59:0] AH01797: client denied by server configuration: /var/www/html/var
[Mon Jan 27 18:27:10.277944 2025] [access_compat:error] [pid 2257:tid 2257] [client 77.130.249.59:0] AH01797: client denied by server configuration: /var/www/html/var
[Mon Jan 27 18:27:12.019814 2025] [access_compat:error] [pid 844:tid 844] [client 77.130.249.59:0] AH01797: client denied by server configuration: /var/www/html/var
[Mon Jan 27 18:27:13.486290 2025] [access_compat:error] [pid 1175358:tid 1175358] [client 77.130.249.59:0] AH01797: client denied by server configuration: /var/www/html/var
[Mon Jan 27 18:27:14.686526 2025] [access_compat:error] [pid 844:tid 844] [client 77.130.249.59:0] AH01797: client denied by server configuration: /var/www/html/var
[Mon Jan 27 18:27:15.763924 2025] [access_compat:error] [pid 1175358:tid 1175358] [client 77.130.249.59:0] AH01797: client denied by server configuration: /var/www/html/var
[Mon Jan 27 18:27:17.565206 2025] [access_compat:error] [pid 2257:tid 2257] [client 77.130.249.59:0] AH01797: client denied by server configuration: /var/www/html/var
[Mon Jan 27 18:27:18.713512 2025] [access_compat:error] [pid 843:tid 843] [client 77.130.249.59:0] AH01797: client denied by server configuration: /var/www/html/var
[Mon Jan 27 18:27:20.316730 2025] [access_compat:error] [pid 5747:tid 5747] [client 77.130.249.59:0] AH01797: client denied by server configuration: /var/www/html/var
[Mon Jan 27 18:27:22.464604 2025] [access_compat:error] [pid 846:tid 846] [client 77.130.249.59:0] AH01797: client denied by server configuration: /var/www/html/var
[Mon Jan 27 18:27:23.648630 2025] [access_compat:error] [pid 843:tid 843] [client 77.130.249.59:0] AH01797: client denied by server configuration: /var/www/html/var

Merci du conseil.
Mais pourquoi mon adresse ip externe n’est pas dans le liste iptable: 77.130.249.59?

Bonjour

Fail2ban banni selon les règles paramétrées.

Jeedom a son propre système de bannissement sur la connexion avec mot de passe:

Si tu rentre un mauvais mot de passe 6 fois de suite tu seras banni, ton adresse apparaîtra en bas dans les ips bannies. C’est spécifique à Jeedom. Ton adresse ne sera pas bannie par fail2ban.

Pour la règle apache-noscript, c’est dans le cas où tu demande une page du type:
monjeedom.fr/toto.php qui n’existe pas sur ton jeedom. tu peux faire l’essai.

Pour la règle apache-multiport, je n’ai pas encore compris il faut que je creuse.

Merci pour tes explications.
Bonne journée

Bonjour,

Ceci dit, je ne sais toujours pas comment bloquer ces attaques…
J’ai facile 50 lignes par jour dans le log.
C’est pareil chez vous?

Bonne journée.

Bonjour

J’essayé en ajoutant une jail spécifique à Fail2ban en m’appyant sur ce TUTO.
J’ai bien créé mon fichier apache-client-denied.conf comme indiqué dans le TUTO, j’ai ensuite modifié mon fichier jeedom.conf pour y ajouter

# Block repetitive : client denied by server configuration
[apache-clientd]

enabled = true
port = http,https
filter = apache-client-denied
logpath = /var/www/html/log/http*.error
maxretry = 3
action = iptables[name=HTTP, port=http, protocol=tcp]

J’ai redémarré Fail2ban et ma nouvelle jail est bien active

Status
|- Number of jail:      5
`- Jail list:   apache-botsearch, apache-clientd, apache-noscript, apache-overflows, sshd

Mais malheureusement les IP qui reviennent fréquemment ne sont pas bannies.

[Wed Jan 29 16:43:56.230839 2025] [access_compat:error] [pid 1996370:tid 1996370] [client 36.213.197.7:44814] AH01797: client denied by server configuration: /var/www/html/apps
[Wed Jan 29 16:43:56.802538 2025] [access_compat:error] [pid 1996370:tid 1996370] [client 36.213.197.7:44814] AH01797: client denied by server configuration: /var/www/html/app
[Wed Jan 29 16:43:58.408259 2025] [access_compat:error] [pid 1996370:tid 1996370] [client 36.213.197.7:44814] AH01797: client denied by server configuration: /var/www/html/public

J’ai sans aucun doute râté quelque chose, mais cela ne fonctionne pas.
Par contre un ban manuel dans cette jail fonctionne.

Status for the jail: apache-clientd
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     0
|  `- File list:        /var/www/html/log/http.error
`- Actions
   |- Currently banned: 2
   |- Total banned:     2
   `- Banned IP list:   78.153.140.203 36.213.197.7

Si jamais tu es plus inspiré que moi, car là ça dépasse largement mes compétences.

Bonjour

Regarde l’extrait du log du tuto, sur tes messages la constitution n’est pas identique.

Le « AH01797: client denied by server ».

Donc la règle ne s’applique pas. Il faut dans ce cas modifier l’expression régulière, mais je ne sais pas faire.

Cordialement

1 « J'aime »

Ok merci pour la piste.
Je vais savoir où chercher.
J’ai vu qu’il existait une commande

Fail2ban-regex

pour tester une syntaxe.

Là je suis sur le téléphone, donc je ne vais pas m’y amuser, mais je teste ça ASAP.

Bonjour

J’ai regardé pour ton problème, sur ma config les messages qui ont la même structure que toi sont détectés par la règle apache-mulitport:

log https.error

0375|[Thu Jan 30 09:21:49.928969 2025] [access_compat:error] [pid 126002:tid 126002] [client 209.38.29.21:0] AH01797: client denied by server configuration: /var/www/html/assets

Log fail2ban

0316|2025-01-30 09:21:50,100 fail2ban.filter         [181092]: INFO    [apache-multiport] Found 209.38.29.21 - 2025-01-30 09:21:49

Il faut peut être revérifier ta configuration sur cette règle.

Bonjour

Comme je l’ai mentionné plus haut, lors de la configuration de Fail2ban j’ai suivi les recommandations de Jeedom où il est précisé:

Il parait donc logique que la jail apache-mulitport ne soit pas appliquée.
Maintenant pourquoi Jeedom donne-t’il cette recommandation ? Là est la question…

Cette règle était appliquée puis elle a été retirée le 7 mars 2023 (voir github), il y avait certainement une bonne raison.

Pour ma part je l’ai activé et c’est la règle qui bannie le plus, il y avait certainement de faux positifs avec un risque de se bloquer. Pour l’instant je n’ai pas été bloqué.

J’ai installé un reverse proxy (VM) sur lequel j’ai installé Fail2ban qui filtre le plus gros des attaques ( 337 ip bannies en cours à ce jour) et le fail2ban de Jeedom.

Ajouter une règle augmente le filtrage, il faut expérimenter. je suis en VM sur Proxmox, c’est plus simple de revenir en arrière avec les snapshots et les sauvegardes.

On risque de s’autobloquer même si on a précisé dans Jeedom.conf ?

[DEFAULT]
#Ne pas bloque localhost ni s'auto-bloquer.
ignoreip = 127.0.0.1/8 192.168.1.0/24 192.168.0.0/24 10.0.0.0/8

Là je viens de tester avec une nouvelle regle sur un fichier test.log :

fail2ban-regex test.log '.*\[client <HOST>:\d+\] AH01797: client denied by server configuration.*$'

et ça a l’air de fonctionner correctement

Running tests
=============

Use   failregex line : .*\[client <HOST>:\d+\] AH01797: client denied by ...
Use         log file : test.log
Use         encoding : UTF-8


Results
=======

Failregex: 2 total
|-  #) [# of hits] regular expression
|   1) [2] .*\[client <HOST>:\d+\] AH01797: client denied by server configuration.*$
`-

Ignoreregex: 0 total

Date template hits:
|- [# of hits] date format
|  [3] {^LN-BEG}(?:DAY )?MON Day %k:Minute:Second(?:\.Microseconds)?(?: ExYear)?
`-

Lines: 3 lines, 0 ignored, 2 matched, 1 missed
[processed in 0.01 sec]

|- Missed line(s):
|  [Wed Jan 29 16:43:56.230839 2025] [access_compat:error] [pid 1996370:tid 1996370] [client 36.213.197.7:44814] AH01796: client denied by server configuration: /var/www/html/apps
`-

A priori la syntaxe du TUTO précédemment cité n’est pas bonne du tout. Quand je la teste avec Fail2ban-regex cela m’indique qu’il y a des erreurs de syntaxe. Peut-être était-ce prévu pour une version plus ancienne de Fail2ban.

Il y a effectivement une contradiction.

Fail2ban n’est pas facile à appréhender.