Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

postfix smtpd sasl auto blacklist d'un compte abusé

14 views
Skip to first unread message

Patrick Lamaizière

unread,
Jul 1, 2015, 7:51:36 AM7/1/15
to
bonjour,

J'ai parfois des comptes utilisateurs usurpés qui envoient du mail en
smtp + sasl. Je cherche un moyen d'auto blacklisté ces comptes au niveau
du serveur de mail

La détection se ferait sur les logs de postfix :

Par exemple :

postfix/smtpd[11323] 6F0EA14004D: client=unknown[xx.xx.xx.xx],
sasl_method=PLAIN, sasl_username=toto

ou les limites :

postfix/smtpd[11322] warning: Message delivery request rate limit
exceeded: 105 from unknown[xx.xx.xx.xx] for service submission

mais dans ce cas je ne vois pas comment faire le lien
avec l'utilisateur (ie de manière automatique), ces cons de spammeurs
changent d'ip...

des idées ?

Merci.

JKB

unread,
Jul 1, 2015, 7:56:39 AM7/1/15
to
Le Wed, 1 Jul 2015 11:51:35 +0000 (UTC),
Patrick Lamaizière <adr...@est.invalid> écrivait :
> bonjour,

Bonjour,
Je ne comprends pas bien le problème (et je ne connais pas postfix,
je suis avec sendmail et je m'en porte très bien). Mais pour usurper
un mail, si je comprends bien, tu dois avoir une tentative de
connexion sur le 587/TCP avec une authentification SASL qui suit.
Chez moi, SASL crache dans un fichier journal. Je peux donc déjà
repérer les comptes qui posent problème et les désactiver. Une fois
que c'est fait, il faut changer le mot de passe de l'utilisateur qui
est de toute façon compromis. Personnellement, je force les mots de
passe des utilisateurs et ils n'ont pas la possibilité de le changer
(pour éviter les trucs comme toto/toto).

Je ne sais pas si ça répond à la question.

HTH

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
=> http://loubardes.de-charybde-en-scylla.fr

Patrick Lamaizière

unread,
Jul 1, 2015, 8:05:57 AM7/1/15
to
JKB :

> Je ne comprends pas bien le problème (et je ne connais pas postfix,
> je suis avec sendmail et je m'en porte très bien). Mais pour usurper
> un mail, si je comprends bien, tu dois avoir une tentative de
> connexion sur le 587/TCP avec une authentification SASL qui suit.
> Chez moi, SASL crache dans un fichier journal. Je peux donc déjà
> repérer les comptes qui posent problème et les désactiver. Une fois
> que c'est fait, il faut changer le mot de passe de l'utilisateur qui
> est de toute façon compromis. Personnellement, je force les mots de
> passe des utilisateurs et ils n'ont pas la possibilité de le changer
> (pour éviter les trucs comme toto/toto).
>
> Je ne sais pas si ça répond à la question.

C'est ça mais le but c'est que ce soit fait automatiquement.
On a tout simplement pas le temps d'être dans les logs postfix, quand on
s'en aperçoit c'est en général trop tard, ou c'est le week-end...

On a des limites postfix mais c'est insufisant.

Donc une solution automatique + alerte (genre nagios) serait bien.


JKB

unread,
Jul 1, 2015, 9:44:07 AM7/1/15
to
Le Wed, 1 Jul 2015 12:05:56 +0000 (UTC),
Patrick Lamaizière <adr...@est.invalid> écrivait :
Ah, ça, ça dépasse mes compétences. Avec sendmail, j'ai un nombre
maximal de mails par heure et par utilisateur. Au delà, le serveur
répond qu'il est en vacances et l'administrateur reçoit une alerte.
C'est certainement scriptable. Et comme il paraît que postfix fait
au moins autant de chose que l'antiquité sendmail, enfin, c'est ce
qu'on m'a dit ici, ça doit être possible avec Postfix :-P

Désolé, je ne peux pas t'aider plus...

Jacques Belin

unread,
Jul 1, 2015, 11:00:49 AM7/1/15
to

Le mercredi 1 juillet 2015 13:51:35,
Patrick Lamaizière <adr...@est.invalid> a écrit:
Tu as essayé fail2ban ?

Il y a une règle qui gère le sasl, mais elle ne traite que les echecs
d'authentification, selon les IP. Mais à priori rien ne t'empêche de
faire ta propre règle qui limiterait le nombre de connexions acceptées
pour un même utilisateur...


Jacques.
--
The last man connected to the Net was browsing some old WebSites.
"You have new mail" appeared on the screen...
--------------------------- adapted from a short Fredric Brown's story

JKB

unread,
Jul 1, 2015, 11:18:48 AM7/1/15
to
Le Wed, 01 Jul 2015 17:00:44 +0200,
Jacques Belin <jbelinP...@oryva.net> écrivait :
>
> Le mercredi 1 juillet 2015 13:51:35,
> Patrick Lamaizière <adr...@est.invalid> a écrit:
>
>> bonjour,
>>
>> J'ai parfois des comptes utilisateurs usurpés qui envoient du mail en
>> smtp + sasl. Je cherche un moyen d'auto blacklisté ces comptes au niveau
>> du serveur de mail
>>
>> La détection se ferait sur les logs de postfix :
>>
>> Par exemple :
>>
>> postfix/smtpd[11323] 6F0EA14004D: client=unknown[xx.xx.xx.xx],
>> sasl_method=PLAIN, sasl_username=toto
>>
>> ou les limites :
>>
>> postfix/smtpd[11322] warning: Message delivery request rate limit
>> exceeded: 105 from unknown[xx.xx.xx.xx] for service submission
>>
>> mais dans ce cas je ne vois pas comment faire le lien
>> avec l'utilisateur (ie de manière automatique), ces cons de spammeurs
>> changent d'ip...
>
> Tu as essayé fail2ban ?
>
> Il y a une règle qui gère le sasl, mais elle ne traite que les echecs
> d'authentification, selon les IP. Mais à priori rien ne t'empêche de
> faire ta propre règle qui limiterait le nombre de connexions acceptées
> pour un même utilisateur...

Si le serveur est un tantinet chargé, j'éviterais fail2ban qui est
écrit en python avec tout ce que ça implique. Rien qu'avec les
surveillances classiques, j'ai réussi à mettre un serveur à genou...

patpro ~ patrick proniewski

unread,
Jul 1, 2015, 1:40:11 PM7/1/15
to
In article <mn0l34$2flq$1...@poup.poupinou.org>,
Patrick Lamaizière <adr...@est.invalid> wrote:

> C'est ça mais le but c'est que ce soit fait automatiquement.
> On a tout simplement pas le temps d'être dans les logs postfix, quand on
> s'en aperçoit c'est en général trop tard, ou c'est le week-end...
>
> On a des limites postfix mais c'est insufisant.
>
> Donc une solution automatique + alerte (genre nagios) serait bien.

J'ai commencé à configurer notre instance de splunk pour détecter les
abus sur ssh et sasl (bientôt sur le CAS aussi). J'ai une recherche
automatique sur une fourchette de 24h qui cherche pour chaque login la
géolocalisation de l'IP utilisée, et qui m'alerte par mail si un login
s'est authentifié à partir de plus de X pays différents sur la période.

Tu peux sans doute tenter de faire la même chose avec quelques scripts.

D'expérience, un compte compromis utilisé en submission est très
facilement visible : tu peux compter 20 à 40 pays différents en moins de
24h, et en général plus d'une dizaine dans la première heure.

patpro

--
À vendre :
http://www.leboncoin.fr/informatique/770978814.htm
http://www.leboncoin.fr/informatique/770976404.htm

patpro ~ patrick proniewski

unread,
Jul 2, 2015, 10:10:13 AM7/2/15
to
In article
<patpro-C2E654....@node-81s.pool-1-0.dynamic.totbb.net>,
patpro ~ patrick proniewski <pat...@boleskine.patpro.net> wrote:

> D'expérience, un compte compromis utilisé en submission est très
> facilement visible : tu peux compter 20 à 40 pays différents en moins de
> 24h, et en général plus d'une dizaine dans la première heure.

J'ai jeté un ¦il aux traces de la dernière compromission chez nous,
voici ce que cela donne :

14h38 : première connexion, origine British Virgin Islands, puis rien
jusqu'à 15h01.
15h01 à 15h08 : 5 nouveaux pays : Biélorussie, Indonésie, UK, USA,
Vietnam
15h10 à 15h17 : 4 nouveaux pays : Chypre, Russie, Taiwan, Turquie

Entre 15h et 16h : 19 pays, 59 adresses IP, 46% des connexions provenant
des USA, 7% du Vietnam

etc. jusqu'à un total de 58 pays différents (détection de la
compromission tardive du fait que les alertes Splunk mentionnées dans
mon message précédent n'était pas en place à cette date).

La détection sur changement d'IP peut donc être plus rapide, mais si tu
t'autorises une fenêtre d'une heure pour détecter un compte compromis
sur une utilisation SMTP, tu peux vraisemblablement construire
facilement la partie détection du script sans risquer de ramener aucun
faux positif.

Pour la partie blocage si tu utilises Dovecot il est peut être possible
de gérer une liste de login qui sont blacklistés :

<http://wiki2.dovecot.org/Authentication/RestrictAccess?highlight=%28deny
%29>

D'ailleurs je pense que je vais essayer ça dès que j'ai un moment :)
Le script n'aurait qu'à ajouter le login à bloquer dans le fichier qui
va bien.

--
À vendre :
http://www.leboncoin.fr/informatique/821220894.htm
http://www.leboncoin.fr/informatique/821221994.htm

Patrick Lamaizière

unread,
Jul 24, 2015, 5:20:57 AM7/24/15
to
patpro ~ patrick proniewski :

Bonjour,

J'ai pas eu le temps de regarder (l'idée de geolocalisatation est
sympa)

Ceci dit vous n'avez pas une recrudescence des phishing en ce moment ?
Depuis quinze jours c'est l'enfer ici :-(

Merci et bonnes vacances !

patpro ~ patrick proniewski

unread,
Jul 24, 2015, 12:40:25 PM7/24/15
to
In article <mot01o$2q4r$1...@poup.poupinou.org>,
nous c'était plutôt il y a un mois ou deux.
Ces 3 derniers jours quelques uns d'un coup, mais génériques et très
mauvais comparés à ceux de la vague précédente (qui utilisait des
comptes piratés en ciblant les contacts de ces comptes -> redoutable).

Bonnes vacances à toi aussi !
0 new messages