Postfix : cannot find your hostname (total: 236)

Hello,

Je continue le debug de la conf de mon serveur de courrier et à présent j’attaque cette partie, où il me semble qu’il y est pas mal de faux positifs.

Voici un extrait de la log qui m’intéresse :

message reject detail
---------------------
  RCPT
    blocked using cbl.abuseat.org (total: 5)
           1   vspinternet.com.br
           1   ppp.twt.it
           1   as2116.net
           1   bl18-127-222.dsl.telepac.pt
           1   dsl-dynamic.vsi.ru
    cannot find your hostname (total: 236)
         180   **51.254.255.225**
          28   205.186.136.134
           2   164.132.186.76
           1   177.125.40.155
            [...]

J’ai un gros doute sur l’ip en gras, je fais la résolution de cette adresse depuis mon postfix et elle passe bien. Le reste des ip a l’air de correspondre à des serveurs de spam.

S’agit-il d’un faux positif ou c’est en face que l’admin a mal configuré son reverse ?

Voici ma conf postfix :

#
#######################
## GENERALS SETTINGS ##
#######################
#
disable_vrfy_command = yes
biff                 = no
append_dot_mydomain  = no
readme_directory     = no
delay_warning_time   = 4h
mailbox_command      = procmail -a "$EXTENSION"
recipient_delimiter  = +
message_size_limit   = 20480000
mailbox_size_limit   = 512000000
inet_interfaces      = all
inet_protocols       = ipv4
myhostname           = mail.monsite.net
mydomain             = monsite.net
myorigin             = $mydomain
mydestination        = localhost localhost.$mydomain
mynetworks           = 127.0.0.0/8  51.254.131.168/32
relayhost            =
relay_domains        =
alias_maps           = hash:/etc/aliases
alias_database       = hash:/etc/aliases


#
###############################
## FLUX                      ##
###############################
#
# 10 mails par seconde vers un domaine/destination, par défaut
default_destination_concurrency_limit = 100
default_destination_rate_delay  = 10s
# 10 mails / seconde vers dovecot
lmtp_destination_concurrency_limit = 100
lmtp_destination_rate_delay  = 10s
# 10 mails / seconde vers les boites internes
dovecot_destination_concurrency_limit = 100
dovecot_destination_rate_delay  = 10s
dovecot_destination_recipient_limit = 1
# 100 process par défaut
default_process_limit = 100
#
###############################
## SMTP (Client Emission)    ##
###############################
#
# par défaut était 30s
smtp_connect_timeout = 20s
# par défaut était 300s
smtp_helo_timeout = 200s
# par défaut était 600s
smtp_data_done_timeout = 400s
# par défaut était 300s
smtp_mail_timeout = 200s
#
smtp_tls_loglevel               = 0
smtp_tls_security_level         = may
smtp_tls_protocols = !SSLv2, !SSLv3

smtp_tls_mandatory_ciphers      = high
#smtp_tls_exclude_ciphers = LOW, DES, 3DES, SSLv2, SSLv3, RC4, RC2

smtp_tls_note_starttls_offer    = yes
#
smtp_tls_CAfile                 = /etc/ssl/certs/monsitenet_chain.crt
#
smtp_tls_session_cache_database  = btree:/var/lib/postfix/smtp_scache

#
###############################
## SMTPD (Serveur Réception) ##
## SUBMISSION                ##
###############################
#
smtpd_banner                    = $myhostname ESMTP
# TEST smtpd_banner                    = $myhostname ESMTP $mail_name
smtpd_helo_required             = yes
# nombre de message livrés par minute (au lieu de 100 avant)
smtpd_client_message_rate_limit = 600
#
## TLS IN
## ------
#
# ATTENTION : exclure certains ciphers a de dangereux effets de bords et
# n'est pas conseille
# Idem pour TLS v1.0 qui DOIT pour le moment reste active
#
smtpd_tls_loglevel              = 0
smtpd_tls_auth_only             = yes
smtpd_tls_security_level        = may
smtpd_tls_received_header       = yes
smtpd_tls_protocols = !SSLv2, !SSLv3

smtpd_tls_mandatory_ciphers     = high
smtpd_tls_CAfile                = $smtp_tls_CAfile
smtpd_tls_cert_file             = $smtp_tls_CAfile
smtpd_tls_key_file              = /etc/ssl/private/server.key
smtpd_tls_dh512_param_file      = /etc/ssl/dh512.pem

smtpd_tls_dh1024_param_file      = /etc/postfix/dh_4096.pem
smtpd_tls_eecdh_grade = ultra

smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache

smtpd_command_filter = pcre:/etc/postfix/command_filter.regex

# trop restrictif, je perds plein de clients
#smtpd_tls_exclude_ciphers = LOW, DES, 3DES, SSLv2, SSLv3, RC4, RC2

#
tls_preempt_cipherlist           = yes
tls_random_source                   = dev:/dev/urandom
#
## PARAMETRES SASL
## ---------------
#
smtpd_sasl_auth_enable          = yes
smtpd_sasl_type                 = dovecot
smtpd_sasl_path                 = private/auth
smtpd_sasl_security_options     = noanonymous
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
smtpd_sasl_local_domain         = $myhostname
smtpd_sasl_authenticated_header = yes
broken_sasl_auth_clients        = yes

#
## RESTRICTIONS POUR ACCUEIL MESSAGE
## ---------------------------------
#
## restrictions au moment de la connexion
#
smtpd_client_restrictions =
     permit_mynetworks,
     permit_sasl_authenticated,
     reject_unknown_client_hostname,
     check_client_access hash:/etc/postfix/client_access,
     permit_inet_interfaces
#
## restrictions après réception de la commande « HELO ou EHLO »
#
smtpd_helo_restrictions =
     permit_mynetworks,
     permit_sasl_authenticated,
     reject_invalid_helo_hostname,
     reject_non_fqdn_helo_hostname,
     reject_unknown_helo_hostname
#
## restrictions après réception de la commande « MAIL FROM »
#
smtpd_sender_restrictions =
     permit_mynetworks,
     permit_sasl_authenticated,
     reject_unknown_sender_domain,
     reject_unlisted_sender,
     reject_non_fqdn_sender,
     check_sender_access hash:/etc/postfix/sender_access,

#
## restrictions après réception de la commande « RCPT TO »
#
smtpd_recipient_restrictions =
     permit_mynetworks,
     permit_sasl_authenticated,
     reject_unauth_destination,
     reject_unlisted_recipient,
     reject_non_fqdn_recipient,
     reject_unknown_recipient_domain,
     reject_unauth_pipelining,
     #reject_rbl_client sbl-xbl.spamhaus.org,
     check_recipient_access hash:/etc/postfix/recipient_access,
     #reject_rbl_client all.s5h.net,
     reject_rbl_client cbl.abuseat.org,
     reject_rbl_client dnsbl.inps.de,
     permit

#
## restrictions après réception de la commande « DATA »
#
smtpd_data_restrictions =
     reject_unauth_pipelining
#
## restrictions mécanisme ETRN
#
smtpd_etrn_restrictions = reject
#
##############################
## LMTP                     ##
##############################
#
# par défaut était: 0s
lmtp_connect_timeout = 0s
# par défaut était: 300s
lmtp_lhlo_timeout = 100s
# Par défaut était 600s
lmtp_data_done_timeout = 200s
# Par défaut était 300s
lmtp_mail_timeout = 100s
#
lmtp_tls_session_cache_database  = btree:/var/lib/postfix/lmtp_scache
#
#############################################
## PAAMETRES GENERAUX DES COMPTES VIRTUELS ##
#############################################
#
virtual_uid_maps        = static:5000
virtual_gid_maps        = static:5000
virtual_minimum_uid     = 5000
virtual_mailbox_base    = /var/mail
# virtual_transport     = lmtp:unix:private/dovecot-lmtp
virtual_transport       = dovecot
#
###########################################
## COMPTES ET DOMAINES VIRTUELS / MYSQL  ##
###########################################
#
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps    = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps      = mysql:/etc/postfix/mysql-virtual-alias-maps.cf

#
######################
## ERRORS REPORTING ##
######################
#
notify_classes = bounce, software
#notify_classes = resource, software, protocol, policy
error_notice_recipient = webadmin@monsite.net
#
######################
## FILTRES ACTIFS   ##
######################
#
## liaison avec OPENDKIM
## -----------------------
#
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
#smtpd_milters = unix:/opendmarc/opendmarc.sock, inet:localhost:8891
non_smtpd_milters = $smtpd_milters
#
## pour liaison avec ==> AMAVIS ==> CLAMAV / SPAMASSASSIN
## ------------------------------------------------------
#
content_filter = smtp-amavis:[127.0.0.1]:10024

##########################
## MODIFICATION HEADERS ##
##########################

mime_header_checks = regexp:/etc/postfix/header_checks
header_checks = regexp:/etc/postfix/header_checks

Il nous manque quelques d’infos pour t’aider.
D’où sort ce message d’erreur ? Des logs de ton serveur ? du serveur distant ? D’un mail de retour ?

Ton message d’erreur fait apparaitre ça «cbl.abuseat.org», donc c’est dans ta ligne de config «smtpd_recipient_restrictions» qu’ il faut aller chercher.

Ca vient de mon serveur, mais la ligne cbl.abuseeat.org n’est pas concernée, ce bloc là évoque juste ce qui est bloqué via les RBL, je l’ai mis juste pour ne pas trop tronquer la log.

Moi ce qui m’embête c’est surtout le bloc “cannot find your hostname” et principalement la première ligne. Je ne vois pas pourquoi il me dit ça alors que je résouds (depuis le serveur toujours) très bien cette adresse.

Le message est un peu confus en effet, mais je pense qu’il doit faire une requête rDNS. C’est a dire qu’en prenant ton adresse IP il vérifie qu’il y a bien un nom de domaine affecté. Je m’explique, quand tu fait une requête sur le net tu donne le nom du serveur et un serveur DNS te donne l’adresse IP correspondante. Là c’est l’inverse, un serveur envoie une requête avec son adresse IP, le serveur en face demande a un serveur DNS s’il y a bien un nom de domaine affecté a cette adresse IP. Si ce n’est pas le cas alors il te renvoie cette erreur.
Note que je parle d’un nom de domaine, mais pas spécifiquement du nom de domaine du serveur de mail et heureusement, il peux y avoir tellement de possibilité derrière une IP unique que la vérification ne va pas trop loin.

Tu as toi aussi mis en place cette vérification avec la ligne
smtpd_client_restrictions = reject_unknown_client_hostname

Un fil qui en parle : Postfix, reverse DNS, reject_unknown_client

Si tu es en auto-hébergement @home avec un FAI classique il y a peu de chance que tu puisse configurer ça (seul Free en ADSL le propose), sinon demande a ton hébergeur.

Alors que tu devrais parler de nom de machine, car la requète rdns renvoie un fqdn correspondant à une machine (si c’est bien configuré).

D’ailleurs tu vois @Mimosa, @jhfra a fait sa vérification de reverse , et l’ip est bien résolue en reverse.

Oui.
Son reverse doit être un fqdn distinct de celui utilisé dans son HELO par le smtp qui veut se connecter.
C’est ça qui est rejeté, a priori.

En effet, mais quel type de résolution ?

Je laisse répondre, mais il me semble qu’il doit parler d’un bête host de l’ip.
Parce qu’il y a autre chose ?

Oui, j’ai fait un simple nslookup de l’ip pour résoudre son reverse. C’est là ma surprise, car tout (ou presque) ce qui est dans cette liste de cannot find your hostname est “résolvable”.

Est-ce que du coup je ne devrais pas retirer reject_unknown_client_hostname qui est plus vecteur de faux positifs ?

AMHA non.

C’est soit une erreur de config que l’emétteur va devoir de toutes façons corriger, vu que hotmail et consort va les refuser, soit plus certainement une configuration de merde quelconque par un robot spammeur:
en quoi ce sont des “faux” ?

Aprés, tu peux supprimer et regarder la teneur de ce que ça rejecte, mais à mon avis, c’est juste du spam.

Du moment que vous me dites que ma conf est propre et que ça ne vient pas de celle-ci, c’est le principal. Je veux juste m’assurer que tout est clean de mon côté.

Merci pour votre aide en tout cas !