Tentatives de login avec dovecot

15 réponses
Avatar
andre_debian
Bonjour,

Je constate des centaines de tentatives d'authentification
sur mon serveur pop dovecot :
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
"authentication failure; logname=3D uid=3D0 euid=3D0 tty=3Ddovecot=20
ruser=3Dhollie rhost=3D173.9.136.221 : 6 Time(s)"
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
avec =E0 chaque fois un "ruser" diff=E9rent.

Comment emp=EAcher ces tentatives ?

Andr=E9

10 réponses

1 2
Avatar
Jean-Jacques Doti
Salut,

Le 04/11/2015 11:26, a écrit :
Bonjour,

Je constate des centaines de tentatives d'authentification
sur mon serveur pop dovecot :
=========== > "authentication failure; logname= uid=0 euid=0 tty=dovecot
ruser=hollie rhost3.9.136.221 : 6 Time(s)"
=========== > avec à chaque fois un "ruser" différent.

Comment empêcher ces tentatives ?


Sur mon serveur de messagerie, j'utilise fail2ban. Après installation,
tout ce qu'il y a à faire c'est activer le jail dovecot. J'ai aussi
augmenté le temps de bannissement par défaut (de 10 minutes à 10
heures). Pour cela, j'ai simplement créé un fichier
/etc/fail2ban/jail.local contenant :
---------------------------
[DEFAULT]
bantime = 36000

[dovecot]
enabled = true
---------------------------

Je pense aussi que n'autoriser que les authentifications en SSL/TLS sur
dovecot (que ce soit en POP3 ou en IMAP4) limite fortement le nombre des
tentatives d'accès.

A+
Jean-Jacques
Avatar
andre_debian
On Wednesday 04 November 2015 11:52:40 Jean-Jacques Doti wrote:
> Je constate des centaines de tentatives d'authentification
> sur mon serveur pop dovecot :
> ============
> "authentication failure; logname= uid=0 euid=0 tty=dovecot
> ruser=hollie rhost3.9.136.221 : 6 Time(s)"
> ============
> avec à chaque fois un "ruser" différent.
> Comment empêcher ces tentatives ?

Sur mon serveur de messagerie, j'utilise fail2ban. Après installatio n,
tout ce qu'il y a à faire c'est activer le jail dovecot. J'ai aussi
augmenté le temps de bannissement par défaut (de 10 minutes à   10
heures). Pour cela, j'ai simplement créé un fichier
/etc/fail2ban/jail.local contenant :
---------------------------
[DEFAULT]
bantime = 36000
[dovecot]
enabled = true
---------------------------
A+ Jean-Jacques



Grand merci, j'ai fait ce que tu préconises.
Je verrai si ces login ont moindri, voire disparu ?

"/etc/fail2ban/" contient aussi "jail.conf" :
y a t-il ici une configuration à faire ?

Je pense aussi que n'autoriser que les authentifications en SSL/TLS sur
dovecot (que ce soit en POP3 ou en IMAP4) limite fortement le nombre des
tentatives d'accès :



On le fait via "/etc/dovecot/dovecot.conf" ?

@+

André
Avatar
Jean-Jacques Doti
Le 04/11/2015 12:56, a écrit :
On Wednesday 04 November 2015 11:52:40 Jean-Jacques Doti wrote:
Je constate des centaines de tentatives d'authentification
sur mon serveur pop dovecot :
=========== >>> "authentication failure; logname= uid=0 euid=0 tty=dovecot
ruser=hollie rhost3.9.136.221 : 6 Time(s)"
=========== >>> avec à chaque fois un "ruser" différent.
Comment empêcher ces tentatives ?


Sur mon serveur de messagerie, j'utilise fail2ban. Après installation,
tout ce qu'il y a à faire c'est activer le jail dovecot. J'ai aussi
augmenté le temps de bannissement par défaut (de 10 minutes à 10
heures). Pour cela, j'ai simplement créé un fichier
/etc/fail2ban/jail.local contenant :
---------------------------
[DEFAULT]
bantime = 36000
[dovecot]
enabled = true
---------------------------
A+ Jean-Jacques


Grand merci, j'ai fait ce que tu préconises.
Je verrai si ces login ont moindri, voire disparu ?

"/etc/fail2ban/" contient aussi "jail.conf" :
y a t-il ici une configuration à faire ?


jail.conf contient la conf de fail2ban mais les paramètres peuvent être
surchargés par ce que l'on met dans jail.local. L'intérêt de ne pas
modifier jail.conf et de pouvoir avoir les nouvelles versions de ce
fichier en cas de mise à jour du paquet.
Il reste quand même intéressant d'aller lire ce qu'il contient pour voir
quels sont les filtres livrés en standard et activables (ssh, apache,
serveurs SMTP, …)
Je pense aussi que n'autoriser que les authentifications en SSL/TLS sur
dovecot (que ce soit en POP3 ou en IMAP4) limite fortement le nombre des
tentatives d'accès :


On le fait via "/etc/dovecot/dovecot.conf" ?


Ben si tu as une installation standard de dovecot sous Debian, la
configuration est distribuée dans les fichiers *.conf sous
/etc/dovecot/conf.d. Pour activer le SSL/TLS, il faudra modifier le
fichier 10-ssl.conf et, surtout, générer la clé et le certificat
nécessaires au chiffrement (comme pour un serveur HTTPS). S'il y a peu
d'utilisateurs (ou qu'ils sont captifs), tu peux peut-être te contenter
d'un certificat auto-signé (ou avoir ta propre AC), sinon il faudra
passer par un certificat délivré par une autorité de certification
reconnue par les logiciels clients.
Le chiffrement de la communication permettra au moins d'éviter que les
mots de passes soient transmis en clair (il me semblait d'ailleurs que
dans la configuration par défaut sous Debian, l'envoi de mot de passe en
clair sur une liaison non chiffrée n'était pas accepté par dovecot).

A+
Jean-Jacques
Avatar
Philippe Gras
Le 4 nov. 2015 à 12:56, a écrit :

On Wednesday 04 November 2015 11:52:40 Jean-Jacques Doti wrote:
Je constate des centaines de tentatives d'authentification
sur mon serveur pop dovecot :
============
"authentication failure; logname= uid=0 euid=0 tty=dovecot
ruser=hollie rhost3.9.136.221 : 6 Time(s)"
============
avec à chaque fois un "ruser" différent.
Comment empêcher ces tentatives ?





Sur mon serveur de messagerie, j'utilise fail2ban. Après installation,
tout ce qu'il y a à faire c'est activer le jail dovecot. J'ai aussi
augmenté le temps de bannissement par défaut (de 10 minutes à 10
heures). Pour cela, j'ai simplement créé un fichier
/etc/fail2ban/jail.local contenant :
---------------------------
[DEFAULT]
bantime = 36000
[dovecot]
enabled = true
---------------------------
A+ Jean-Jacques



Grand merci, j'ai fait ce que tu préconises.
Je verrai si ces login ont moindri, voire disparu ?



Ils ne disparaîtront pas, mais ils seront droppés après les X tentatives infructueuses

que tu auras définies dans jail.local (# cp jail.conf jail.local si besoin).

Au début du fichier, tu as toutes les définitions géné rales :
========================= ========================= ===============
[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1/8 XXX.XXXX.XX/13 XX.XXX.XXX
findtime = 1127
bantime = 600
maxretry = 3 # nombre de tentatives autorisées par défaut ;-)
========================= ========================= ===============
Tu peux te faire envoyer des rapports de ban :
========================= ========================= ===============
#
# Destination email address used solely for the interpolations in
# jail.{conf,local} configuration files.
# destemail =
destemail =
#
# ACTIONS
#
========================= ========================= ===============
Continuer la suite pour affiner les configues de rapport…

Après, tu as des prisons spécifiques à chaque délit :
========================= ========================= ===============
[default-forbidden]
enabled = false # jail désactivée
filter = nginx-forbidden # selon un filtre spécifique ou pas
port = http
banaction = iptables-xt_recent-echo # et une action spécifique ou pas
logpath = /var/log/nginx/error.log # le fichier de log à analyser
bantime = 2419200 # ah, mais moi je veux les bannir pour au moins 1 mois !
========================= ========================= ===============
Après, tu as plein de trucs pour repérer les chieurs sur les mails :
========================= ========================= ===============
[postfix]

# enabled = false
enabled = true
port = smtp,ssmtp
filter = postfix
logpath = /var/log/mail.log
bantime = 2419200

[couriersmtp]

# enabled = false
enabled = true
port = smtp,ssmtp
filter = couriersmtp
logpath = /var/log/mail.log
bantime = 2419200

#
# Mail servers authenticators: might be used for smtp,ftp,imap servers, so
# all relevant ports get banned
#

[courierauth]

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

[sasl]

enabled = false
port = smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s
filter = sasl
# You might consider monitoring /var/log/mail.warn instead if you are
# running postfix since it would provide the same log lines at the
# "warn" level but overall at the smaller filesize.
logpath = /var/log/mail.log

[dovecot]

enabled = false
port = smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s
filter = dovecot
logpath = /var/log/mail.log
========================= ========================= ===============
Pareil, tu configures plus ou moins spécifiquement avec des filtres et des actions
perso selon tes besoins…

Je t'enverrai un rapport de ban sur ton adresse personnelle pour que tu voies à quoi
ça ressemble ;-)



"/etc/fail2ban/" contient aussi "jail.conf" :
y a t-il ici une configuration à faire ?

Je pense aussi que n'autoriser que les authentifications en SSL/TLS sur
dovecot (que ce soit en POP3 ou en IMAP4) limite fortement le nombre des
tentatives d'accès :



On le fait via "/etc/dovecot/dovecot.conf" ?

@+

André



Avatar
andre_debian
On Wednesday 04 November 2015 15:29:13 Philippe Gras wrote:
Ils ne disparaîtront pas, mais ils seront droppés après le s X
tentatives infructueuses
que tu auras définies dans jail.local
Au début du fichier, tu as toutes les définitions génà ©rales :



Onn peut préciser d'autres options, merci.

(# cp jail.conf jail.local si besoin).



Ce qui veut dire alors que : jail.conf = jail.local ?

André
Avatar
Philippe Gras
Le 4 nov. 2015 à 20:27, a écrit :

On Wednesday 04 November 2015 15:29:13 Philippe Gras wrote:
Ils ne disparaîtront pas, mais ils seront droppés après les X
tentatives infructueuses
que tu auras définies dans jail.local
Au début du fichier, tu as toutes les définitions générales :



Onn peut préciser d'autres options, merci.



On peut modifier à peu près tous les éléments de configuration :-)

(# cp jail.conf jail.local si besoin).



Ce qui veut dire alors que : jail.conf = jail.local ?



Comme l'a expliqué précédemment Jean-Jacques, tu commences par copier
jail.conf en le nommant jail.local (# cp jail.conf jail.local), et ensuite tu fais tes
propres configurations dans jail.local.

Alors, au début les 2 fichiers sont évidemment identiques, mais rapidement le
fichier local est enrichi par rapport au fichier conf.

C'est une procédure assez courante, car je l'ai déjà rencontrée avec différents
programmes (Awstats par ex.).=
Avatar
Jean-Jacques Doti
Le 04/11/2015 23:02, Philippe Gras a écrit :
Le 4 nov. 2015 à 20:27, a écrit :

On Wednesday 04 November 2015 15:29:13 Philippe Gras wrote:
Ils ne disparaîtront pas, mais ils seront droppés après les X
tentatives infructueuses
que tu auras définies dans jail.local
Au début du fichier, tu as toutes les définitions générales :


Onn peut préciser d'autres options, merci.


On peut modifier à peu près tous les éléments de configuration :-)
(# cp jail.conf jail.local si besoin).


Ce qui veut dire alors que : jail.conf = jail.local ?


Comme l'a expliqué précédemment Jean-Jacques, tu commences par copier
jail.conf en le nommant jail.local (# cp jail.conf jail.local), et ensuite tu fais tes
propres configurations dans jail.local.

Alors, au début les 2 fichiers sont évidemment identiques, mais rapidement le
fichier local est enrichi par rapport au fichier conf.



En fait, ce n'est pas exactement ce que j'ai écrit, ni ce que je fais.
Pour ma part, je ne mets dans jail.local que mes ajouts/modifications
par rapport à jail.conf. Je ne réalise donc pas une copie préalable de
jail.conf vers jail.local.
Mon jail.local ne contient en fait que ce que j'ai mis dans mon premier
post et rien d'autre (enfin, j'ai aussi quelques autres jails pour
lesquels j'ai surchargé la conf mais sur le même principe).
L'avantage est que, en cas de mise à jour, j'aurai le nouveau fichier de
conf. Évidemment, ça peut aussi être un soucis si le mainteneur change
une option qui me convenait mais l'important est d'en être conscient (et
sur une debian stable, le risque est très limité).

A+
JJ
Avatar
Philippe Gras
Le 5 nov. 2015 à 09:29, Jean-Jacques Doti a écrit :

Le 04/11/2015 23:02, Philippe Gras a écrit :
Le 4 nov. 2015 à 20:27, a écrit :

On Wednesday 04 November 2015 15:29:13 Philippe Gras wrote:
Ils ne disparaîtront pas, mais ils seront droppés après les X
tentatives infructueuses
que tu auras définies dans jail.local
Au début du fichier, tu as toutes les définitions générales :


Onn peut préciser d'autres options, merci.


On peut modifier à peu près tous les éléments de configuration :-)
(# cp jail.conf jail.local si besoin).


Ce qui veut dire alors que : jail.conf = jail.local ?


Comme l'a expliqué précédemment Jean-Jacques, tu commences par copier
jail.conf en le nommant jail.local (# cp jail.conf jail.local), et ensuite tu fais tes
propres configurations dans jail.local.

Alors, au début les 2 fichiers sont évidemment identiques, mais rapidement le
fichier local est enrichi par rapport au fichier conf.



En fait, ce n'est pas exactement ce que j'ai écrit, ni ce que je fais. Pour ma part, je ne mets dans jail.local que mes ajouts/modifications par rapport à jail.conf. Je ne réalise donc pas une copie préalable de jail.conf vers jail.local.



Si le fichier jail.local existe à l'installation, il est l'exacte reproduction de jail.conf

Le cas échéant (je ne m'en souviens plus), inutile de copier ce dernier.

Mon jail.local ne contient en fait que ce que j'ai mis dans mon premier post et rien d'autre (enfin, j'ai aussi quelques autres jails pour lesquels j'ai surchargé la conf mais sur le même principe).



Chacun y met ce qui lui convient, c'est ça qui est chouette :-)

L'avantage est que, en cas de mise à jour, j'aurai le nouveau fichier de conf. Évidemment, ça peut aussi être un soucis si le mainteneur change une option qui me convenait mais l'important est d'en être conscient (et sur une debian stable, le risque est très limité).



sic.

A+
JJ

Avatar
andre_debian
On Thursday 05 November 2015 09:29:51 Jean-Jacques Doti wrote:
En fait, ce n'est pas exactement ce que j'ai écrit, ni ce que je fais.
Pour ma part, je ne mets dans jail.local que mes ajouts/modifications
par rapport à jail.conf. Je ne réalise donc pas une copie préalable de
jail.conf vers jail.local.
Mon jail.local ne contient en fait que ce que j'ai mis dans mon premier
post et rien d'autre (enfin, j'ai aussi quelques autres jails pour
lesquels j'ai surchargé la conf mais sur le même principe).
L'avantage est que, en cas de mise à jour, j'aurai le nouveau fichier d e
conf. Évidemment, ça peut aussi être un soucis si le mainteneur cha nge
une option qui me convenait mais l'important est d'en être conscient (e t
sur une debian stable, le risque est très limité).



J'ai encore 88 tentatives, envoyées par logwatch ce matin vers 5h :
=======
authentication failure; logname= uid=0 euid=0 tty=dovecot ruser=a
rhost2.162.68.120 : 12 Time(s)
authentication failure; logname= uid=0 euid=0 tty=dovecot ruser=t
rhost2.162.68.120 : 11 Time(s)
...
=======
12 Times et 11 Times..., alors que maxretry = 3.

André
Avatar
Vincent Besse
On Thu, 5 Nov 2015 12:36:03 +0100
wrote:

[...]

J'ai encore 88 tentatives, envoyées par logwatch ce matin vers 5h :
=======
authentication failure; logname= uid=0 euid=0 tty=dovecot ruser ­
rhost2.162.68.120 : 12 Time(s)
authentication failure; logname= uid=0 euid=0 tty=dovecot ruser =
rhost2.162.68.120 : 11 Time(s)
...
=======
12 Times et 11 Times..., alors que maxretry = 3.

André



Avoir un fichier jail.local est une chose, encore faut-il que fail2ban
sache reconnaître ces lignes et les traiter. Il faut donc avoir
dans /etc/fail2ban/filter.d un fichier (par exemple 'dovecot.local' pour
qu' il ne soit pas lui non plus écrasé par une mise à jour) qui
contienne une regex correspondant à ces logs et que dans la section
[dovecot] (si tu l' as appelée comme ça) de jail.local tu lui dis es de
regarder le bon fichier de log. Vu la gueule des messages ça doit
provenir de /var/log/auth.log mais c' est à confirmer.

Vincent
--
La musique adoucit-elle les moeurs? Testez-vous sur:
http://soundcloud.com/ouhena
http://www.reverbnation.com/koslow
1 2