User Tools

Site Tools


doc:appunti:linux:sa:postfix

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:postfix [2023/11/28 09:06] – [Problema virtual_alias_domains, myorigin e mydestination] niccolodoc:appunti:linux:sa:postfix [2024/02/26 09:18] (current) – [Socket in /var/run/ e nel chroot di Postfix: problema con tmpfs] niccolo
Line 143: Line 143:
 :!: **ATTENZIONE 1**: Il contenuto di **myorigin** viene usato anche per qualificare l'//envelope sender// dei messaggi generati automaticamente (ad esempio dal tool ''vacation''). È opportuno quindi che si tratti di un dominio completo, altrimenti è probabile che il messaggio venga rifiutato dal ricevente con l'errore **//Sender address rejected: need fully-qualified address//**. Non è strettamente necessario che si tratti di un dominio che riceve mail (cioè con record MX), in genere dovrebbe essere sufficiente che un mittente valido sia indicato nell'header ''From:''. :!: **ATTENZIONE 1**: Il contenuto di **myorigin** viene usato anche per qualificare l'//envelope sender// dei messaggi generati automaticamente (ad esempio dal tool ''vacation''). È opportuno quindi che si tratti di un dominio completo, altrimenti è probabile che il messaggio venga rifiutato dal ricevente con l'errore **//Sender address rejected: need fully-qualified address//**. Non è strettamente necessario che si tratti di un dominio che riceve mail (cioè con record MX), in genere dovrebbe essere sufficiente che un mittente valido sia indicato nell'header ''From:''.
  
-:!: **ATTENZIONE 2**: Il contenuto di **myorigin** viene usato anche per qualificare i messaggi di errore **MAILER-DAEMON@**, è opportuno quindi che consenta di individuare il sistema di origine piuttosto che un dominio email. Quindi anche in questo caso si suggerisce di usare quualcosa del tipo ''mail.mydomain.org''.+:!: **ATTENZIONE 2**: Il contenuto di **myorigin** viene usato anche per qualificare i messaggi di errore **MAILER-DAEMON@**, è opportuno quindi che consenta di individuare il sistema di origine piuttosto che un dominio email. Quindi anche in questo caso si suggerisce di usare qualcosa del tipo ''mail.mydomain.org''.
  
  
Line 392: Line 392:
  
 ==== Socket in /var/run/ e nel chroot di Postfix: problema con tmpfs ==== ==== Socket in /var/run/ e nel chroot di Postfix: problema con tmpfs ====
 +
 +Per **Debian 12 Bookworm** vedere la pagina dedicata **[[postfix_courier_authdaemon_debian_12]]**.
  
 Nelle moderne distribuzioni Debian (da 7 Wheezy in poi) la directory **''/var/run/''** viene creata in tmpfs e quindi al reboot è totalmente vuota. Questo è un problema perché la soluzione con il link simbolico vista al paragrafo precedente non sopravvive al reboot. Una soluzione poco elegante è modificare lo script **''/etc/init.d/courier-authdaemon''**, in modo che crei il link prima di avviare il servizio; inoltre questo è sconsigliato se si utilizza il moderno **systemd** (a partire da Debian 8 Jessie). Nelle moderne distribuzioni Debian (da 7 Wheezy in poi) la directory **''/var/run/''** viene creata in tmpfs e quindi al reboot è totalmente vuota. Questo è un problema perché la soluzione con il link simbolico vista al paragrafo precedente non sopravvive al reboot. Una soluzione poco elegante è modificare lo script **''/etc/init.d/courier-authdaemon''**, in modo che crei il link prima di avviare il servizio; inoltre questo è sconsigliato se si utilizza il moderno **systemd** (a partire da Debian 8 Jessie).
  
-Quindi la **soluzione ottimale** è utilizzare un **mount bind** della directory che contiene il socket e **incaricare systemd** di effettuare il mount prima di avviare Postfix. Il punto di montaggio deve essere creato come visto nel paragrafo precedente, la //mount unit// va creata in **/etc/systemd/system/**, deve avere il nome esatto **var-spool-postfix-var-run-courier-authdaemon.mount** e contiene:+La **soluzione ottimale** è utilizzare un **mount bind** della directory che contiene il socket e **incaricare systemd** di effettuare il mount prima di avviare Postfix. Il punto di montaggio deve essere creato come visto nel paragrafo precedente, la //mount unit// va creata in **/etc/systemd/system/**, deve avere il nome esatto **var-spool-postfix-var-run-courier-authdaemon.mount** e contiene:
  
 <file> <file>
 [Unit] [Unit]
 Description=Mount Courier Authdaemon into Postfix chroot Description=Mount Courier Authdaemon into Postfix chroot
-Requires=courier-authdaemon.service +Wants=courier-authdaemon.service 
-After=courier-authdaemon.service+# A stronger dependency may cause a Systemd ordering cycle problem. 
 +#Requires=courier-authdaemon.service 
 +#After=courier-authdaemon.service
  
 [Mount] [Mount]
Line 674: Line 678:
 ===== Sender rewrite ===== ===== Sender rewrite =====
  
-È possibile riscrivere l'indirizzo di provenienza di una mail, utile soprattutto per le mail generate in automatico da account locale, che altrimenti potrebbero avere indirizzi brutti e poco graditi ai filtri antispam, del tipo **root@localhost** oppure **nagios@host.domain.tld**.+È possibile riscrivere l'indirizzo di provenienza di una mail, utile soprattutto per le mail generate in automatico da account locale, che altrimenti potrebbero avere indirizzi brutti e poco graditi ai filtri antispam, del tipo **root@localhost** oppure **nagios@mail.mydomain.org**.
  
 Postfix dispone della direttiva **''sender_canonical_maps''**; basta aggiungere in main.cf qualcosa del genere: Postfix dispone della direttiva **''sender_canonical_maps''**; basta aggiungere in main.cf qualcosa del genere:
Line 686: Line 690:
  
 <file> <file>
-root                  user@domain.tld +root                    user@domain.tld 
-root@host.domain.tld  user@domain.tld+root@mail.mydomain.org  user@domain.tld
 </file> </file>
  
Line 949: Line 953:
 debug_peer_level = 2 debug_peer_level = 2
 </file> </file>
 +
 +
 +====== Problemi SSL ======
 +
 +Se un server remoto tenta di stabilire una connessione cifrata, ma incontra qualche problema, si può riscontrare questo errore nel log:
 +
 +<code>
 +postfix/smtpd[1630564]: SSL_accept error from unknown[124.132.32.203]: lost connection
 +</code>
 +
 +Se si ha l'impostazione **smtpd_tls_security_level = may**, il server remoto dovrebbe riprovare senza crittografia, ma in caso di server difettosi può essere impossibile ricevere mail da quell'host.
 +
 +Una soluzione temporanea può essere quella di inibire il flag STARTTLS in risposta al comando EHLO, cioè non annunciare SSL a quel particolare host. Questo comportamento si ottiene con una riga in main.cf:
 +
 +<file>
 +# Discard some EHLO features for specific servers.
 +# E.g. disable starttls with broken servers.
 +smtpd_discard_ehlo_keyword_address_maps = hash:/etc/postfix/smtpd_discard_ehlo_keywords
 +</file>
 +
 +E il relativo file **smtpd_discard_ehlo_keywords** che contiene effettivamente l'esclusione:
 +
 +<file>
 +124.132.32.203 starttls
 +</file>
 +
 +Il file va compilato con postmap, ecc.
  
  
doc/appunti/linux/sa/postfix.1701162366.txt.gz · Last modified: 2023/11/28 09:06 by niccolo