SYSADMIN JOURNAL / Linux · Networking · Security · HostingProcedure, appunti e soluzioni tecniche
Linux

Postfix: risolvere due dichiarazioni smtpd_recipient_restrictions in conflitto

Pubblicato il 12/11/2026

Guida basata su interventi documentati. Bonifica di una configurazione Postfix legacy in cui le restrictions del destinatario erano state dichiarate due volte.

Segnale iniziale

L'aggiunta di nuove regole antispam e di controllo SMTP aveva introdotto una duplicazione del parametro smtpd_recipient_restrictions nel file main.cf. La configurazione effettiva non corrispondeva più alle intenzioni dell'amministratore.

Perché è rischioso

Le restrictions sono valutate in ordine: una seconda definizione può sovrascrivere o alterare l'ordine atteso, causando rifiuti di posta legittima o rendendo inefficaci controlli di relay. Non basta vedere entrambe le righe nel file: verificare il valore finale con postconf.

Verifica

grep -n '^smtpd_recipient_restrictions' /etc/postfix/main.cf
postconf -n | grep -A4 '^smtpd_recipient_restrictions'
postfix check
postconf -P | grep 'smtpd_recipient_restrictions' || true

Soluzione

Nell'intervento è stata ripristinata un'unica configurazione coerente, mantenendo le regole consentite e controllando l'ordine delle policy di autenticazione, relay e destinatario. Le regole specifiche sono dipendenti dalla release di Postfix e dall'uso di smtpd_relay_restrictions.

Applicazione prudente

cp -a /etc/postfix/main.cf /root/main.cf.pre-fix
# Correggere manualmente l'ordine delle restrictions
postfix check && postfix reload
postconf -n | grep smtpd_recipient_restrictions

Verifica finale

Controllare i log di tentativi locali e remoti, inviare un messaggio di prova autorizzato, verificare che il server non sia open relay e che i client autenticati funzionino.

Distinzione importante

Il ripristino delle restrictions duplicato è distinto dal problema della mappa sasl_blocked.db mancante: entrambi possono produrre errori SMTP ma richiedono diagnosi specifiche.

Articoli correlati

Usare segnaposto e verificare l’ambiente prima di eseguire i comandi. Nessuna credenziale o identificativo infrastrutturale reale è riportato.