- Modifié
Tu peu te servir de la fonction regex pour vérifier ta conf
fail2ban-regex /data/nginx/log/ton-fichier.log /etc/fail2ban/filter.d/ton-fichier.conf
Sinon ne pas oublier de passer l'option
chain = FORWARD dans ta jail
Tu peu te servir de la fonction regex pour vérifier ta conf
fail2ban-regex /data/nginx/log/ton-fichier.log /etc/fail2ban/filter.d/ton-fichier.conf
Sinon ne pas oublier de passer l'option
chain = FORWARD dans ta jail
Ho di ho !!!
Bon bah j'avais laché l'affaire, virer fail2ban et tout ça, mais comme j'ai un peu de temps en ce moment, j'me suis dit que j'allais m'y remettre (si jamais il y a eu des avancés chez certains entre temps )
Donc depuis je suis passé sous debian 9 - stretch
J'ai réinstallé la dernière version officiel de docker par leurs repots à eux, fail2ban (depuis le repot stretch) et mon portsentry tourne toujours.
J'ai check mes regex fail2ban de mes jails, et j'ai bien des centaines de match dans mes logs, pourtant pas de ban de la part de fail2ban.
@kilroy je ne sais pas si tu es encore sur ce fofo, mais qu'entends-tu par ta dernière ligne ?
Merci anyway =)
rah j'ai espéré de dingue quand j'ai vu ce message, mais malheureusement j'ai modifié la chain = INPUT en FORWARD, redémarré le service, mais non, toujours pas de ban quand je bourrine mon serv depuis mon tel...
J'ai bien toujours mes logs qui se peuplent avec toutes mes tentatives foireuses..
Après y'a un truc que je comprends pas : mon fail2ban est sur mon host, et il parse des logs aussi sur mon host, je connais pas beaucoup le soft, mais j pensais qu'il parsait juste des logs à la recherche de regex et qu'il ajoutait l'IP en question dans un jail qui sera drop ? on est d'accord ? alors pourquoi le fait que docker run mon reverse proxy change la donne ?
Je suis pas un pro mais oui, tes logs sont également sur ton hôte mais ça n'empêche pas que tout le trafic passe par FORWARD et l'interface réseau "docker0". Donc il peut rien drop à l'heure actuel.
J'ai peut-être trouvé quelque chose sur le net pour toi.
Premier fichier : https://github.com/SuperITMan/docker-fail2ban/blob/master/action.d/docker-iptables-multiport.conf
Deuxième fichier : https://github.com/SuperITMan/docker-fail2ban/blob/master/jail.local
J'ai check un peu tout ça, mais c'est pour une image docker qui fait tourner fail2ban, et non un fail2ban sur l'hôte avec un docker revers proxy
Bon et sinon, après maintes modifs et autres tests, j'ai pas plus avancé... voici mon fail2ban-regex:
fail2ban-regex /docker/data/nginx/log/nginx_error.log /etc/fail2ban/filter.d/nginx-http-auth.conf
Running tests
=============
Use failregex filter file : nginx-http-auth, basedir: /etc/fail2ban
Use log file : /docker/data/nginx/log/nginx_error.log
Use encoding : UTF-8
Results
=======
Failregex: 196 total
|- #) [# of hits] regular expression
| 1) [196] ^ \[error\] \d+#\d+: \*\d+ user "\S+":? (password mismatch|was not found in ".*"), client: <HOST>, server: \S*, request: "\S+ \S+ HTTP/\d+\.\d+", host: "\S+"(, referrer: "\S+")?\s*$
`-
Ignoreregex: 0 total
Date template hits:
|- [# of hits] date format
| [241] Year(?P<_sep>[-/.])Month(?P=_sep)Day 24hour:Minute:Second(?:,Microseconds)?
`-
Lines: 241 lines, 0 ignored, 196 matched, 45 missed
[processed in 0.02 sec]
Je sais bien que ça vient d'une image docker, mais sauf erreur de ma part (qui est tout à fait possible) c'est le même réseau et la même chaîne.
Tu devrais essayer...
EDIT : Tu vois ce qu'il faudrait modifier ?
@Rathorian merci, je me doutais que tu avais calé que c'était une image docker, juste pour être sur la même longueur d'ondes =) (et merci encore pour ton aide)
Alors oui, j'ai bien check et modifier:
- la directive backend en polling
- ajouter l'action dans mes déclarations de jails nginx
- créer le fichier docker_multiports appelés par les jails
- redémarrer fail2ban
Toujours pareil, mes jails se chargent, les regex sont bonnes, mes log se peuplent, mais personne ne se fait ban
Salut,
Ok. Je pourrais voir ton fichier jail.conf avec les modifications ?
Il me faudrait aussi la version de fail2ban que tu utilises...
Fail2ban v0.9.6-2
Et mon jail.local:
[DEFAULT]
backend=polling
[nginx-http-auth]
enabled = true
filter = nginx-http-auth
logpath = /docker/data/nginx/log/nginx_error.log
action = docker-iptables-multiport[name=NoAuthFailures, port="http,https"]
maxretry = 6
Yep yep, mon script est bien au bon endroit :/
J'ai tenté de passé les logs de fail2ban en débug pour voir si y'avait pas un truc louche, et là, OH MY GOD !
il crache tellement de logs ><
mais rien de probant non plus...
Essaie directement l'image alors....
J'utilise un fail2ban dans un conteneur et ça marche. Mais je sais que j'avais galéré à le faire fonctionner.
Au final, j'avais dû ajouter une nouvelle action dans le conteneur: docker-action.conf
Peux-tu tester avec mon script https://github.com/cloneMe/turbo-seedbox ?
@lokiii je pete l incruste dans ton post un tout petit peu excuse moi d'avance ..!
@cloneMe, salut ! je suis en train de moi aussi installer un serveur sous docker.. et je me demandais si ton script etait bien fonctionnel ? Et compatible ou pas avec Debian 9 ?
Enfin je voulais savoir si il était possible/facile d'ajouter Sonarr et Radarr apres .. ?
Ah et pour le moment j'ai déjà pas mal d'apps d installées via le script Ratxabox.. et un dossier contant environ 2to de films.. il y a t il moyen de desinstaller sans tout reformater puis d installer ton script ? (sauf si compatbile avec Debian 9 là je reformate)
Merci d avance !
@Pinedours : Mon script installe et utilise docker, docker-compose et curl (si besoin). Docker doit être compatible avec Debian 9, du coup, mon script aussi
Mon script n'installe pas Sonarr. Est-ce mieux que sickrage ?
La liste des serveurs que mon script peut installer est dans ce fichier :
https://github.com/cloneMe/turbo-seedbox/blob/master/build.sh
@lokiii : je ne peux pas répondre sur ma conversation ( https://mondedie.fr/d/8262-Script-Docker-Installer-rtorrent-sickrage-couchpotato-plex ). Du coup, je continue sur celle-là.
@Pinedours pas de soucis, profites de l'aide
@cloneMe Merci beaucoup pour tes réponses, j'avais laissé tombé fail2ban pour passer sous ossec, mais du coup, si j'ai un peu de temps aujourd'hui je vais essayer de voir si en passant par ton script (enfin sa conf), ça fonctionne, je te tiens au courant ! =)
Voici un super tuto qui décrit comment utiliser Fail2ban avec Docker pour les requettes Http POST ( exemple de login avec Wordpress ) Installer et configurer fail2ban avec Docker