fail2ban ban pas l'utilisateur de réfèrence

Salut,

Je viens d’installer fail2ban mais il ne ban pas l’adresse ip du brut force ssh si c’est le bon utilisateur :

si je fait pour tester depuis un PC externe : ssh test@monip je me fais bannir mais si je fais ssh jimbo@monip je ne me fais jamais bannir malgré les mot de passe faux.

Il y a quelque chose de particulié à changer dans la configuration ?

Salut,

isalo.org/wiki.debian-fr/ind … e=Fail2ban

[quote=“wiki”]Pour activer la surveillance d’un service, il suffit de placer la variable “enabled” à “true”

Par défaut la protection du servie SSH est activée, pas les autres: Si votre ssh n’écoute pas sur le port 22, pensez à le changer… (port = N° de port)

[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
[/quote]
:033

oui ben c’est fait !!! sauf que ça banni bien les utilisateurs inconnu mais le bon avec mot de passe faux ça banni rien

Huummm …

Install fraîche, je présume que tu n’as pas de fichier /etc/fail2ban/jail.local

Mais un /etc/fail2ban/fail2ban.conf

Quel est le contenu de ce dernier ?

cat /etc/fail2ban/fail2ban.conf

fail2ban est il activé ?

[quote]#

JAILS

Next jails corresponds to the standard configuration in Fail2ban 0.6 which

was shipped in Debian. Enable any defined here jail by including

[SECTION_NAME]

enabled = true
[/quote]
Voir également …

[quote][DEFAULT]

“ignoreip” can be an IP address, a CIDR mask or a DNS host

ignoreip = ???[/quote]

externe externe ? où réseau local ?

Loreleil t’a donné des pistes mais le mieux serait que tu nous envoies ici le copié/collé de /etc/fail2ban/jail.conf

Salut,
Si fail2ban arrive à se mettre en branle pour des essais infructueux, c’est qu’il fonctionne.
Je regarderais les logs pour les deux essais

  • celui avec le mauvais login
  • celui avec le bon login

Comparer, et vérifier que la sortie dans le fichier log pour le deuxième essai correspond à une règle dans le fichier /etc/fail2ban/filter.d/sshd.conf.
Tout dépend de la sortie dans le fichier /var/log/auth.log. Si elle est “exotique” par rapport à la conf de fail2ban, ça ne fonctionnera pas.

Le principe est très simple:

  • un essai infructueux de connexion (apache, ssh, postfix, etc.) envoie une ligne dans les logs.
  • fail2ban examine en permanence les logs, et compare avec les règles définies dans le dossier /etc/fail2ban/filter.d
  • Si la ligne de log correspond à un “failregex” il le note. Si le même log pour la même ip revient plusieurs fois, il banni l’IP avec iptables.

Salut,

Autre piste …

[quote=“jimbo”]je fais ssh jimbo@monip je ne me fais jamais bannir malgré les mot de passe faux.
[/quote]

Fail2ban est configurer par défaut à 6 tentatives (mini) en ssh (maxretry = 6) avant de bannir l’IP concerner.

N’as tu point modifié le nombre de tentative ?

Combien de tentative as tu fait ?

[quote][ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6[/quote]

Fail2ban.conf

[code][Definition]

Option: loglevel

Notes.: Set the log level output.

1 = ERROR

2 = WARN

3 = INFO

4 = DEBUG

Values: NUM Default: 3

loglevel = 3

Option: logtarget

Notes.: Set the log target. This could be a file, SYSLOG, STDERR or STDOUT.

Only one log target can be specified.

Values: STDOUT STDERR SYSLOG file Default: /var/log/fail2ban.log

logtarget = /var/log/fail2ban.log

Option: socket

Notes.: Set the socket file. This is used to communicate with the daemon. Do

not remove this file when Fail2ban runs. It will not be possible to

communicate with the server afterwards.

Values: FILE Default: /var/run/fail2ban/fail2ban.sock

socket = /var/run/fail2ban/fail2ban.sock
[/code]

jail.conf

[code]# Fail2Ban configuration file.

This file was composed for Debian systems from the original one

provided now under /usr/share/doc/fail2ban/examples/jail.conf

for additional examples.

To avoid merges during upgrades DO NOT MODIFY THIS FILE

and rather provide your changes in /etc/fail2ban/jail.local

Author: Yaroslav O. Halchenko debian@onerussian.com

$Revision: 281 $

The DEFAULT allows a global definition of the options. They can be override

in each jail afterwards.

[DEFAULT]

“ignoreip” can be an IP address, a CIDR mask or a DNS host

ignoreip = 127.0.0.1
bantime = 6000
maxretry = 3

“backend” specifies the backend used to get files modification. Available

options are “gamin”, “polling” and “auto”.

yoh: For some reason Debian shipped python-gamin didn’t work as expected

This issue left ToDo, so polling is default backend for now

backend = polling

Destination email address used solely for the interpolations in

jail.{conf,local} configuration files.

destemail = root@localhost

ACTIONS

Default banning action (e.g. iptables, iptables-new,

iptables-multiport, shorewall, etc) It is used to define

action_* variables. Can be overriden globally or per

section within jail.local file

banaction = iptables-multiport

email action. Since 0.8.1 upstream fail2ban uses sendmail

MTA for the mailing. Change mta configuration parameter to mail

if you want to revert to conventional ‘mail’.

mta = sendmail

Default protocol

protocol = tcp

Action shortcuts. To be used to define action parameter

The simplest action to take: ban only

action_ = %(banaction)s[name=%(name)s, port="%(port)s", protocol="%(protocol)s]

ban & send an e-mail with whois report to the destemail.

action_mw = %(banaction)s[name=%(name)s, port="%(port)s", protocol="%(protocol)s]
%(mta)s-whois[name=%(name)s, dest="%(destemail)s", protocol="%(protocol)s]

ban & send an e-mail with whois report and relevant log lines

to the destemail.

action_mwl = %(banaction)s[name=%(name)s, port="%(port)s", protocol="%(protocol)s]
%(mta)s-whois-lines[name=%(name)s, dest="%(destemail)s", logpath=%(logpath)s]

Choose default action. To change, just override value of ‘action’ with the

interpolation to the chosen action shortcut (e.g. action_mw, action_mwl, etc) in jail.local

globally (section [DEFAULT]) or per specific section

action = %(action_)s

JAILS

Next jails corresponds to the standard configuration in Fail2ban 0.6 which

was shipped in Debian. Enable any defined here jail by including

[SECTION_NAME]

enabled = true

in /etc/fail2ban/jail.local.

Optionally you may override any other parameter (e.g. banaction,

action, port, logpath, etc) in that section within jail.local

[ssh]

enabled = true
port = ssh,686
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

Generic filter for pam. Has to be used with action which bans all ports

such as iptables-allports, shorewall

[pam-generic]

enabled = false

pam-generic filter can be customized to monitor specific subset of 'tty’s

filter = pam-generic

port actually must be irrelevant but lets leave it all for some possible uses

port = all
banaction = iptables-allports
port = anyport
logpath = /var/log/auth.log
maxretry = 6

[xinetd-fail]

enabled = false
filter = xinetd-fail
port = all
banaction = iptables-multiport-log
logpath = /var/log/daemon.log
maxretry = 2

[ssh-ddos]

enabled = false
port = ssh
filter = sshd-ddos
logpath = /var/log/auth.log
maxretry = 6

HTTP servers

[apache]

enabled = false
port = http,https
filter = apache-auth
logpath = /var/log/apache*/*error.log
maxretry = 6

default action is now multiport, so apache-multiport jail was left

for compatibility with previous (<0.7.6-2) releases

[apache-multiport]

enabled = false
port = http,https
filter = apache-auth
logpath = /var/log/apache*/*error.log
maxretry = 6

[apache-noscript]

enabled = false
port = http,https
filter = apache-noscript
logpath = /var/log/apache*/*error.log
maxretry = 6

[apache-overflows]

enabled = false
port = http,https
filter = apache-overflows
logpath = /var/log/apache*/*error.log
maxretry = 2

FTP servers

[vsftpd]

enabled = false
port = ftp,ftp-data,ftps,ftps-data
filter = vsftpd
logpath = /var/log/vsftpd.log

or overwrite it in jails.local to be

logpath = /var/log/auth.log

if you want to rely on PAM failed login attempts

vsftpd’s failregex should match both of those formats

maxretry = 6

[proftpd]

enabled = false
port = ftp,ftp-data,ftps,ftps-data
filter = proftpd
logpath = /var/log/proftpd/proftpd.log
maxretry = 6

[wuftpd]

enabled = false
port = ftp,ftp-data,ftps,ftps-data
filter = wuftpd
logpath = /var/log/auth.log
maxretry = 6

Mail servers

[postfix]

enabled = false
port = smtp,ssmtp
filter = postfix
logpath = /var/log/mail.log

[couriersmtp]

enabled = false
port = smtp,ssmtp
filter = couriersmtp
logpath = /var/log/mail.log

Mail servers authenticators: might be used for smtp,ftp,imap servers, so

all relevant ports get banned

[courierauth]

enabled = false
port = smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s
filter = courierlogin
logpath = /var/log/mail.log

[sasl]

enabled = false
port = smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s
filter = sasl

You might consider monitoring /var/log/warn.log instead

if you are running postfix. See http://bugs.debian.org/507990

logpath = /var/log/mail.log

DNS Servers

These jails block attacks against named (bind9). By default, logging is off

with bind9 installation. You will need something like this:

logging {

channel security_file {

file “/var/log/named/security.log” versions 3 size 30m;

severity dynamic;

print-time yes;

};

category security {

security_file;

};

};

in your named.conf to provide proper logging

!!! WARNING !!!

Since UDP is connectionless protocol, spoofing of IP and immitation

of illegal actions is way too simple. Thus enabling of this filter

might provide an easy way for implementing a DoS against a chosen

victim. See

http://nion.modprobe.de/blog/archives/690-fail2ban-+-dns-fail.html

Please DO NOT USE this jail unless you know what you are doing.

#[named-refused-udp]

#enabled = false
#port = domain,953
#protocol = udp
#filter = named-refused
#logpath = /var/log/named/security.log

[named-refused-tcp]

enabled = false
port = domain,953
protocol = tcp
filter = named-refused
logpath = /var/log/named/security.log
[/code]

erreur avec test

Jan 7 10:05:42 pcjimbo sshd[3058]: Invalid user test from xxx.xxx.xxx.xxx Jan 7 10:05:46 pcjimbo sshd[3058]: pam_unix(sshd:auth): check pass; user unknown Jan 7 10:05:46 pcjimbo sshd[3058]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=78.218.208.7 Jan 7 10:05:47 pcjimbo sshd[3058]: Failed password for invalid user test from xxx.xxx.xxx.xxx port 51840 ssh2

ca je le fait 2 fois est bam :

iptables -L chain fail2ban-ssh (1 references) target prot opt source destination DROP all -- xxx.xxx.xxx.xxx anywhere RETURN all -- anywhere anywhere

2012-01-07 09:52:58,453 fail2ban.jail : INFO Creating new jail 'ssh' 2012-01-07 09:52:58,453 fail2ban.jail : INFO Jail 'ssh' uses poller 2012-01-07 09:52:58,562 fail2ban.filter : INFO Added logfile = /var/log/auth.log 2012-01-07 09:52:58,562 fail2ban.filter : INFO Set maxRetry = 3 2012-01-07 09:52:58,563 fail2ban.filter : INFO Set findtime = 600 2012-01-07 09:52:58,563 fail2ban.actions: INFO Set banTime = 6000 2012-01-07 09:52:58,584 fail2ban.jail : INFO Jail 'ssh' started 2012-01-07 10:05:48,101 fail2ban.actions: WARNING [ssh] Ban xxx.xxx.xxx.xxx

un petit status ok :

fail2ban-client status Status |- Number of jail: 1 `- Jail list: ssh

erreur avec jimbo

Jan 7 10:04:45 pcjimbo sshd[3049]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=xxx.xxx.xxx.xxx user=jimbo Jan 7 10:04:46 pcjimbo sshd[3049]: Failed password for jimbo from xxx.xxx.xxx.xxx port 51839 ssh2

ca je le fait 50 fois il se passe rien il banni rien

mais peut être que la dans le filtre il ne prend pas en compte l’erreur de password mais seulement l’erreur de login :

[code]cat /etc/fail2ban/filter.d/sshd.conf

Fail2Ban configuration file

Author: Cyril Jaquier

$Revision: 728 $

[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 “” can

be used for standard IP/hostname matching and is only an alias for

(?:::f{4,6}:)?(?P[\w-.^_]+)

Values: TEXT

failregex = ^%(__prefix_line)s(?:error: PAM: )?Authentication failure for .* from \s*$
^%(__prefix_line)s(?:error: PAM: )?User not known to the underlying authentication module for .* from \s*$
^%(__prefix_line)sFailed (?:password|publickey) for .* from (?: port \d*)?(?: ssh\d*)?$
^%(__prefix_line)sROOT LOGIN REFUSED.* FROM \s*$
^%(__prefix_line)siI user .* from \s*$
^%(__prefix_line)sUser .+ from not allowed because not listed in AllowUsers$
^%(__prefix_line)sauthentication failure; logname=\S* uid=\S* euid=\S* tty=\S* ruser=\S* rhost=(?:\s+user=.)?\s$
^%(__prefix_line)srefused connect from \S+ ()\s*$
^%(__prefix_line)sAddress .* POSSIBLE BREAK-IN ATTEMPT!\s$
^%(__prefix_line)sUser .+ from 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 =
[/code]

si ca vous saute aux yeux merci de me le dire suis devenu aveugle :119

Bonjour,

Dé-commentes cette ligne dans ton jail.conf.

[code]# [SECTION_NAME]

enabled = true[/code]

restart … ?

[quote=“loreleil”]Bonjour,

Dé-commentes cette ligne dans ton jail.conf.

[code]# [SECTION_NAME]

enabled = true[/code]

restart … ?[/quote]

ça start pas si je fais ça c’est du commentaire

ça c’est du commentaire :

[code]# Next jails corresponds to the standard configuration in Fail2ban 0.6 which

was shipped in Debian. Enable any defined here jail by including

#[/code]

# [SECTION_NAME] enabled = true

-edit-

Ne pas omettre que fail2ban ne travaille pas en instantané, mais en rétro-actif.

Il consulte les log des dix dernières minutes est réagit en conséquence.

ça c’est du commentaire : # [SECTION_NAME]

# [SECTION_NAME] enabled = true

-edit-

Ne pas omettre que fail2ban ne travaille pas en instantané, mais en rétro-actif.

Il consulte les log des dix dernières minutes est réagit en conséquence.[/quote]

oui j’ai tenté de tout dé commenter et que la ligne et ça start pas !

Les deux lignes sont du commentaire. Faut lire les lignes qui précèdent…

ben oui c’est pour ça qu’il failed a starter, le souci vient pas de la et quand je fais les erreurs de password avec le test je suis ban direct pas d’histoire de 10 minutes d’attente

J’ai fourché … je rectifie. :083

jail.conf chez moi …

[quote]# Next jails corresponds to the standard configuration in Fail2ban 0.6 which

was shipped in Debian. Enable any defined here jail by including

[SECTION_NAME]

enabled = true
[/quote]

[quote=“jimbo”]
oui j’ai tenté de tout dé commenter et que la ligne et ça start pas ![/quote]

:~# /etc/init.d/fail2ban reload
?

-edit-

[quote=“PascalHambourg”]J’aurais dû écrire “Faut lire les lignes qui précèdent… et celle qui suit” :[/quote] … :083

J’aurais dû écrire “Faut lire les lignes qui précèdent… et celle qui suit” :

Tout ce bloc est du texte de commentaire qu’il n’y a pas lieu de décommenter.
J’ai regardé les filtres pour sshd et il me semble qu’ils devraient marcher dans les deux cas, mais je ne suis pas très fort en expressions rationnelles.

quote=“PascalHambourg”

Ouais, je sais, je suis chiant avec mon besoin compulsif de précision.

(…)[/quote]

:005 Non ! … :wink:

[quote=“loreleil”]Huummm …

Install fraîche, je présume que tu n’as pas de fichier /etc/fail2ban/jail.local[/quote]

Quel rapport avec le fait qu’il ne faut pas décommenter ces lignes, ce que l’on devrait comprendre aisément si on a lu le texte qui les entoure, que c’est une fausse piste et qu’il serait bon de ne plus perdre de temps dessus ?

fail2ban-client status
Status
|- Number of jail: 1
`- Jail list: ssh

il voit le failed mais il le bane pas avec mon username valide

Re,
Quelle est ta version de fail2ban ?
Tu utilises des “jails” multiples (ssh, apache, ftp, dovecot, etc…) ?