Connexion POSTFIX régulière d'une IP douteuse

Tags: #<Tag:0x00007f50a26c6700>

Bonjour

Je trouve ce message régulier, environ toutes les 5mn dans les mail.log:

Nov  7 07:26:25 ks307144 postfix/smtpd[22483]: connect from unknown[185.234.219.62]
Nov  7 07:26:25 ks307144 postfix/smtpd[22483]: lost connection after AUTH from unknown[185.234.219.62]
Nov  7 07:26:25 ks307144 postfix/smtpd[22483]: disconnect from unknown[185.234.219.62] ehlo=1 auth=0/1 commands=1/2
Nov  7 07:29:46 ks307144 postfix/anvil[22583]: statistics: max connection rate 1/60s for (smtp:185.234.219.62) at Nov  7 07:26:25
Nov  7 07:29:46 ks307144 postfix/anvil[22583]: statistics: max connection count 1 for (smtp:185.234.219.62) at Nov  7 07:26:25
Nov  7 07:34:45 ks307144 postfix/smtpd[23471]: connect from unknown[185.234.219.62]
Nov  7 07:34:45 ks307144 postfix/smtpd[23471]: lost connection after AUTH from unknown[185.234.219.62]
Nov  7 07:34:45 ks307144 postfix/smtpd[23471]: disconnect from unknown[185.234.219.62] ehlo=1 auth=0/1 commands=1/2

Cela signifie-t-il que cette IP cherche à se connecter ou qu’elle a cracké des identifiants pour se connecter au serveur ?

Et j’en ai des milliers tous les jours sur mon petit serveur familial à la maison.

J’en ai aussi des milliers :wink:
Cela n’a rien d’alarmant du moment que ton serveur Postfix est bien configuré. Le mieux est d’utiliser postscreen pour rejeter ces connexions avant toute transaction SMTP. Ce sera efficace au moins sur le type d’IP que tu cites qui estrecensée sur la plupart des listes noires (DNSBL)

Merci pour ces infos.

A priori ma conf postfix passe tous les tests que j’ai faits.

Postscreen ne fera pas double emploi avec les règles postfix de fail2ban que j’ai déjà ? La voici:

# cat jail.d/postfix.local 
[postfix]
enabled  = true
port     = smtp,ssmtp,submission
filter   = postfix
logpath  = /var/log/mail.log
maxretry = 3
bantime  = 3600
findtime = 600

[postfix-rbl]
enabled = true
port     = smtp,465,submission
logpath  = %(postfix_log)s
backend  = %(postfix_backend)s
maxretry = 1

# cat jail.d/dovecot-pop3imap.local 
[dovecot-pop3imap]
enabled = true
filter = dovecot-pop3imap
action = iptables-multiport[name=dovecot-pop3imap, port="pop3,imap", protocol=tcp]
logpath = /var/log/mail.log
maxretry = 3
findtime = 1200

@matt: c’est rentable d’avoir un serveur à la maison pour quelques petits sites WEB? Tu utilise quoi comme machine, FAI, débit connexion ?

Ah non, j’ai un peu de service http (accés à diverses webapps sur des port dédiés) mais c’est essentiellement pour gèrer en local chez moi mes domaines de mail.

emeraude@emeraude:~$ sudo inxi
CPU: Dual Core Intel Pentium Gold G5400 (-MT MCP-) speed/min/max: 800/800/3700 MHz Kernel: 4.19.0-6-amd64 x86_64 
Up: 21d 14h 23m Mem: 1870.6/3814.5 MiB (49.0%) Storage: 2.04 TiB (57.9% used) Procs: 185 Shell: bash 5.0.3 inxi: 3.0.32 

Tous les disques ne sont pas allumés, j’en ai d’autres, c’est aussi mon NAS.

Free

Pourrite:
image

Oui pour du mail c’est suffisant

Pour revenir au sujet initial, j’ai un script qui accède à mon serveur smtp toutes les minutes et une à deux fois par jour mon serveur ne répond pas. Je pense qu’il perd beaucoup de temps dans les tentatives d’intrusion et autres filtrages de SPAMS.
Postscreen pourrait-il significativement améliorer les performances de postfix, sachant que fail2ban doit déjà passablement réduire le traffic malware ?

J’aimerais par exemple que l’ip citée au début 185.234.219.62 soit définitivement bannie automatiquement ne générant même plus de log

Tu as tout intérêt à configurer postscreen. Mais cela n’a rien à voir avec fail2ban.
Postscreen va rejeter les connexions, en se basant sur les DNSBL que tu auras spécifié, avant toute transactions SMTP.
Fail2ban agit après coup, en examinant les logs et bloque les adresses IP considérées comme fautives (d’après les filtres configurés) grâce au pare-feu (iptables ou nftables).

Le fait que le serveur ne réponde pas ou qu’il ait des problèmes de performances est probablement dû à d’autres facteurs que les tentatives de connexions.

Je vais configurer poscreen. Apparemment c’est déjà installé avec Postfix. Y-a-t-il une config simple de départ ?

Comment diagnostiquer ça ?

Il n’y a pas de configuration de départ. Il faut lire la doc et adapter à tes besoins. Cela ne sert à rien de copier/coller des bouts de configuration sans vraiment les comprendre. En cas de problème, tu seras incapable de dépanner.

Les diagnostics de problèmes de performances d’un serveur se font à l’aide des outils de surveillance (monitoring) que tu as l’habitude d’utiliser.

Un peu compliqué cette doc, pour moi qui suis un administrateur occasionel.
J’ai ajouté ça à ma conf, main.cf:

postscreen_access_list = permit_mynetworks,
    cidr:/etc/postfix/postscreen_access.cidr
postscreen_blacklist_action = enforce

/etc/postfix/postscreen_access.cidr:

m.o.n.ip	permit
185.234.219.62  reject

Mais c’est peut-être pas nécessaire de spécifier les spammers commme 185.234.219.62. Postscreen ne va-t-il pas automatiquement les détecter ?

C’est tout à fait insuffisant. Il faut commencer par configurer le démon postcreen (dans master.cf) et utiliser les DNSBL via la directive postscreen_dnsbl_sites dans le main.cnf
Si tu veux configurer à coup de copier/coller, cherche les tutoriels sur Postscreen. Celui-ci est assez bien fait : https://blog.debugo.fr/serveur-messagerie-policyd-spf-postscreen/#comments

Effectivement…j’avais rien compris à la doc :sweat_smile:
Ce tuto est beaucoup plus approprié à mon cas très peu initié à smtp. On peut pas tout faire.
Merci Bruno

J’ai mis en place une configuration minimale mais comment vérifier qu’elle est correcte et effeicace, examiner la Temporary whitelist test par exemple ?

Il suffit de regarder tes logs un petit moment, tu verras des choses comme cela :

Nov 11 10:09:05 mx10 postfix/postscreen[23188]: CONNECT from [185.234.218.158]:55358 to [156.143.28.13]:25
Nov 11 10:09:06 mx10 postfix/postscreen[23188]: PREGREET 11 after 0.05 from [185.234.218.158]:55358: EHLO User\r\n
Nov 11 10:09:07 mx10 postfix/dnsblog[23192]: addr 185.234.218.158 listed by domain zen.spamhaus.org as 127.0.0.2
Nov 11 10:09:07 mx10 postfix/dnsblog[23192]: addr 185.234.218.158 listed by domain zen.spamhaus.org as 127.0.0.4
Nov 11 10:09:07 mx10 postfix/dnsblog[23190]: addr 185.234.218.158 listed by domain b.barracudacentral.org as 127.0.0.2
Nov 11 10:09:09 mx10 postfix/postscreen[23188]: DNSBL rank 4 for [185.234.218.158]:55358
Nov 11 10:09:09 mx10 postfix/postscreen[23188]: DISCONNECT [185.234.218.158]:55358
  • Ligne 1 :
    La machine 185.234.218.158 établit une connexion sur le port 25
  • Ligne 2 :
    Le client 185.234.218.158 est trop bavard et commence à discuter avant le délai imposé par postscreen (PRGREET)
  • Lignes 3 à 6 :
    Postscreen vérifie l’adresse IP sur les DNSBL configurées (postscreen_dnsbl_sites) et calcule une valeur : rank 4 (on attribué un coefficient 3 à zen.spmahaus.org et 1 à barracudacentral.org).
  • Ligne 7
    Le client est immédiatement déconnecté du fait de ces directives :
postscreen_dnsbl_threshold = 3
postscreen_dnsbl_action = drop

Si le client est accepté tu verras une ligne PASS NEW dans le logs. Si le client à déjà été accépté (liste blanche) tu verras dans les logs PASS OLD.

Mon serveur de mail a été blacklisté sur BARRACUDA / SORBS DUHL / Spamhaus ZEN / fortinet

Or il se trouve que 2 de ces serveurs sont dans la conf postscreen que j’ai ajoutée:

        cidr:/etc/postfix/postscreen_access.cidr
    postscreen_blacklist_action = drop
    postscreen_greet_wait = 3s
    postscreen_greet_banner = On attend un pneu...
    postscreen_greet_action = drop
    postscreen_dnsbl_sites =
     zen.spamhaus.org*2,
     bl.spamcop.net,
     b.barracudacentral.org*2
    postscreen_dnsbl_threshold = 3
    postscreen_dnsbl_action = drop
    postscreen_pipelining_enable = yes
    postscreen_pipelining_action = enforce
    postscreen_non_smtp_command_enable = yes
    postscreen_non_smtp_command_action = enforce
    postscreen_bare_newline_enable = yes

Cette conf pourrait-elle avoir un rapport avec mon blaclistage ?

Non aucun rapport.
Il faut aller voir sur les différents sites, tu auras le motif de la mise en liste noire.
Exemple : http://www.barracudacentral.org/lookups/reason

Attention, utiliser une résolution locale quand on joue avec les RBL, idéalement pnds-recursor.

Pour trouver l’origine de ton blacklistage vérifie que :

  • Tu ne sois pas en openrelay :boom:
  • Que ce que tu émets te semble légitime
  • Que tu n’émettes pas trop rapidement

Et sinon :

postscreen_pipelining_enable = yes
postscreen_pipelining_action = enforce
postscreen_non_smtp_command_enable = yes
postscreen_non_smtp_command_action = enforce
postscreen_bare_newline_enable = yes

Connais-tu le sens exact de chacune de ces options ? Si non, je te conseille très vivement de les désactiver sans quoi tu ne vas pas communiquer avec grand monde…

Il faut vraiment se méfier des tutos sur le postmastering en mode copier/coller. Il n’y a pas deux façons de faire identiques et les besoins de chacun diffèrent. Reprends bien ta conf postfix pour en comprendre chaque option.