doc:appunti:linux:sa:postfix_spf_check
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:appunti:linux:sa:postfix_spf_check [2019/01/18 11:55] – niccolo | doc:appunti:linux:sa:postfix_spf_check [2021/02/12 12:39] (current) – [SPF check con Postfix] niccolo | ||
---|---|---|---|
Line 2: | Line 2: | ||
Installare il pacchetto Debian **postfix-policyd-spf-python**. Secondo quanto riportato dal sito **[[http:// | Installare il pacchetto Debian **postfix-policyd-spf-python**. Secondo quanto riportato dal sito **[[http:// | ||
+ | |||
+ | Secondo le specifiche **[[https:// | ||
+ | |||
+ | Per implementare il check SPF su **MAIL FROM** si deve aggiungere al DNS un record di tipo **TXT** relativamente al dominio mittente, un esempio per il dominio example.org: | ||
+ | |||
+ | < | ||
+ | example.org. | ||
+ | </ | ||
+ | |||
+ | Per implementare il check SPF su **HELO/ | ||
+ | |||
+ | < | ||
+ | mail.example.org. | ||
+ | </ | ||
+ | |||
+ | **ATTENZIONE**! Nei **record TXT** è necessario specificare **il nome esatto** del **dominio** e quello dell' | ||
+ | |||
+ | ===== Configurazione ===== | ||
Il file di configurazione del programma è **/ | Il file di configurazione del programma è **/ | ||
+ | |||
+ | < | ||
+ | debugLevel = 2 | ||
+ | TestOnly = 1 | ||
+ | HELO_reject = Fail | ||
+ | Mail_From_reject = Fail | ||
+ | PermError_reject = False | ||
+ | TempError_Defer = False | ||
+ | skip_addresses = 127.0.0.0/ | ||
+ | </ | ||
+ | |||
+ | Il parametro **HELO_reject** determina il comportamento durante il check di **HELO/ | ||
+ | |||
+ | L' | ||
+ | |||
+ | Attenzione al parametro **TestOnly** che fa **esattamente il contrario di quello che si intuisce**! Impostando **TestOnly = 1** significa che **il filtro è attivo** (restituisce a Postfix il codice dell' | ||
+ | |||
+ | Attenzione che il **reload** o il **restart** del servizio dopo aver cambiato configurazione non esiste, in quanto il processo viene avviato da Postfix solo quando necessario (vedi più avanti la configurazione). Pertanto in caso di variazione della configurazione è necessario fare il **restart di Postfix**. | ||
+ | ===== Manual Testing ===== | ||
+ | |||
+ | Per verificare il funzionamento del programma con la configurazione corrente è sufficiente eseguire da linea di comando **policyd-spf**, | ||
+ | |||
+ | < | ||
+ | request=smtpd_access_policy | ||
+ | protocol_state=RCPT | ||
+ | protocol_name=ESMTP | ||
+ | helo_name=testhost.rigacci.org | ||
+ | queue_id=8045F2AB23 | ||
+ | instance=12345.6789 | ||
+ | sender=test.sender@rigacci.org | ||
+ | recipient=test.recipient@rigacci.org | ||
+ | client_address=192.222.46.168 | ||
+ | client_name=testhost.rigacci.org | ||
+ | </ | ||
+ | |||
+ | il programma risponde con qualcosa del tipo: | ||
+ | |||
+ | < | ||
+ | action=550 5.7.23 Message rejected due to: SPF fail - not authorized. | ||
+ | Please see http:// | ||
+ | </ | ||
+ | |||
+ | L' | ||
+ | |||
+ | ===== IPv6 e record AAAA ===== | ||
+ | |||
+ | Nei record SPF è possibile indicare direttamente anche degli indirizzi IPv6, usando la sintassi **%%ip6: | ||
+ | |||
+ | ===== Problema recort TXT ed helo_name ===== | ||
+ | |||
+ | **ATTENZIONE**! Per motivi non chiari il programma **policyd-spf** richiede il **record TXT** di **// | ||
+ | |||
+ | Per questo motivo - quando si configura un server di posta - è opportuno controllare l' | ||
+ | |||
+ | Ad ogni modo - dopo che **policyd-spf** ha controllato la corrispondenza fra SPF di // | ||
+ | |||
+ | ===== Configurazione di Postfix ===== | ||
+ | |||
+ | Anzitutto si configura Postfix in modo che attivi uno **Unix socket** collegato al programma **policyd-spf**; | ||
+ | |||
+ | < | ||
+ | policyd-spf | ||
+ | user=policyd-spf argv=/ | ||
+ | </ | ||
+ | |||
+ | Il socket viene creato in **/ | ||
+ | |||
+ | < | ||
+ | smtpd_recipient_restrictions = | ||
+ | permit_sasl_authenticated, | ||
+ | permit_mynetworks, | ||
+ | ... | ||
+ | reject_unauth_destination, | ||
+ | check_policy_service unix: | ||
+ | </ | ||
+ | |||
+ | Il programma **policyd-spf** non viene eseguito immediatamente, | ||
+ | |||
+ | < | ||
+ | spawn -z -n policyd-spf -t unix user=policyd-spf argv=/ | ||
+ | </ | ||
+ | |||
+ | inoltre a nome dell' | ||
+ | |||
+ | < | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | ===== Web References ===== | ||
+ | |||
+ | * **[[https:// |
doc/appunti/linux/sa/postfix_spf_check.1547808944.txt.gz · Last modified: 2019/01/18 11:55 by niccolo