Configurazione di Postfix per la massima sicurezza: una guida completa

Impostazioni di sicurezza di base

Prima di esaminare le misure di sicurezza avanzate, è necessario assicurarsi che le impostazioni di base siano corrette. Questo include la limitazione dell'accesso al server Postfix. Nel file /etc/postfix/main.cf è necessario aggiungere o modificare le seguenti righe:

inet_interfaces = solo loopback
mynetworks = 127.0.0.0/8 [::1]/128

Queste impostazioni limitano l'accesso all'host locale e impediscono che il server venga usato impropriamente come relay aperto. Un relay aperto può essere utilizzato dagli spammer per inviare e-mail indesiderate, danneggiando gravemente la reputazione del vostro server. È quindi fondamentale effettuare questa protezione di base.

Attivare la crittografia TLS

L'uso di TLS (Transport Layer Security) è essenziale per garantire la riservatezza delle comunicazioni e-mail. Aggiungete le seguenti righe al file main.cf-Profilo:

smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level = may
smtp_tls_security_level = may

Queste impostazioni attivano il protocollo TLS per le connessioni in entrata e in uscita. Assicuratevi di utilizzare certificati SSL validi, possibilmente di un'autorità di certificazione (CA) affidabile. Un TLS correttamente implementato protegge le e-mail da intercettazioni e manipolazioni durante la trasmissione. Ulteriori informazioni sulla configurazione di TLS sono disponibili nella documentazione ufficiale di [Postfix] (https://www.postfix.org/TLS_README.html).

Impostare l'autenticazione SASL

Il Simple Authentication and Security Layer (SASL) fornisce un ulteriore livello di sicurezza. Aggiungere queste righe al file main.cf aggiunto:

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = sì
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname

Questa configurazione presuppone che si utilizzi Dovecot come provider SASL. Regolare le impostazioni di conseguenza se si utilizza un provider diverso. L'autenticazione SASL impedisce agli utenti non autorizzati di inviare e-mail tramite il vostro server, aumentando notevolmente la sicurezza.

Protezione contro gli attacchi denial-of-service

Per proteggere il server dal sovraccarico, è possibile impostare dei limiti di connessione. Aggiungete queste righe al file main.cf aggiunto:

smtpd_client_connection_rate_limit = 50
smtpd_client_message_rate_limit = 100
unità di tempo anvil_rate_time = 60s

Queste impostazioni limitano il numero di connessioni e di messaggi che un client può inviare al minuto. Limitando questo numero, si può evitare che il server venga sovraccaricato da richieste di massa o da messaggi di spam. Si tratta di un passo importante per garantire la disponibilità del server di posta.

Implementare le restrizioni HELO/EHLO

Molti mittenti di spam utilizzano nomi di host HELO/EHLO non validi o falsificati. È possibile bloccare tali connessioni con le seguenti impostazioni:

smtpd_helo_required = sì
smtpd_helo_restrictions =
 permit_mynetworks,
 reject_invalid_helo_hostname,
 reject_non_fqdn_helo_hostname

Queste regole richiedono un nome host HELO/EHLO valido e rifiutano le connessioni con nomi di dominio non validi o non completamente qualificati. Ciò rende più difficile per gli spammer inviare e-mail false, poiché devono fornire informazioni HELO/EHLO corrette.

Introdurre restrizioni per i trasmettitori

Per evitare un uso improprio del server, è possibile impostare restrizioni per i mittenti:

smtpd_sender_restrictions =
 permit_mynetworks,
 reject_non_fqdn_sender,
 reject_unknown_sender_domain,
 reject_unauth_pipelining

Queste regole rifiutano le e-mail provenienti da indirizzi di mittente incompletamente qualificati o da domini di mittente sconosciuto. In questo modo si riduce la probabilità che il vostro server venga utilizzato per lo spam o il phishing e, allo stesso tempo, si migliora la qualità complessiva delle e-mail ricevute.

Configurare le restrizioni dei destinatari

Analogamente alle restrizioni per i mittenti, è possibile definire regole anche per i destinatari:

smtpd_recipient_restrictions =
 permit_mynetworks,
 reject_unauth_destination,
 reject_non_fqdn_recipient,
 reject_unknown_recipient_domain

Queste impostazioni impediscono che il vostro server venga utilizzato in modo improprio come relay per destinazioni non autorizzate e rifiutano le e-mail a indirizzi di destinatari non validi. Questo aumenta ulteriormente la sicurezza del vostro server e allo stesso tempo garantisce l'integrità della comunicazione e-mail.

Implementare la greylisting

La greylisting è un metodo efficace per ridurre lo spam. Per prima cosa installate il pacchetto Postgrey:

sudo apt install postgrey

Aggiungete quindi la seguente riga al file main.cf aggiunto:

smtpd_recipient_restrictions =
 ... (impostazioni esistenti)
 check_policy_service unix:private/postgrey

Questa configurazione inoltra innanzitutto le e-mail in arrivo al servizio Postgrey, che genera rifiuti temporanei per i mittenti sconosciuti. I server e-mail che inviano e-mail legittime ritentano la consegna dopo un ritardo, eliminando di fatto i mittenti di spam che spesso tentano di inviare una sola volta.

Attivare il controllo SPF

Il Sender Policy Framework (SPF) aiuta a prevenire lo spoofing delle e-mail. Per prima cosa installate il pacchetto richiesto:

sudo apt install postfix-policyd-spf-python

Aggiungete quindi queste righe al file main.cf aggiunto:

policyd-spf_time_limit = 3600s
smtpd_recipient_restrictions =
 ... (impostazioni esistenti)
 check_policy_service unix:private/policyd-spf

Questa configurazione attiva il controllo SPF per le e-mail in arrivo. L'SPF verifica se l'e-mail è stata inviata da un server autorizzato per il dominio specificato, il che aiuta a prevenire lo spoofing e ad aumentare la credibilità della comunicazione e-mail.

Implementare la firma DKIM

DomainKeys Identified Mail (DKIM) aggiunge una firma digitale alle e-mail in uscita. Per prima cosa installate OpenDKIM:

sudo apt install opendkim opendkim-tools

Quindi configurare OpenDKIM e aggiungere queste righe al file main.cf aggiunto:

milter_protocollo = 2
milter_default_action = accept
smtpd_milters = unix:/var/run/opendkim/opendkim.sock
non_smtpd_milters = unix:/var/run/opendkim/opendkim.sock

Queste impostazioni attivano la firma DKIM per le e-mail in uscita. DKIM aumenta la sicurezza garantendo che le e-mail non siano state modificate inosservate e rafforza la fiducia nell'autenticità dei messaggi.

Impostare le linee guida DMARC

Il DMARC (Domain-based Message Authentication, Reporting and Conformance) si basa su SPF e DKIM. Aggiungete una voce DNS DMARC per il vostro dominio e installate OpenDMARC:

sudo apt install opendmarc

Configurare OpenDMARC e aggiungere questa riga al file main.cf aggiunto:

smtpd_milters = ... (impostazioni esistenti), inet:localhost:8893

Questa configurazione abilita il controllo DMARC per le e-mail in arrivo. Il DMARC consente ai proprietari dei domini di impostare i criteri per la gestione dei controlli SPF o DKIM falliti da parte dei server di ricezione e fornisce rapporti dettagliati sull'autenticazione delle e-mail.

Aggiornamenti e monitoraggio regolari

La sicurezza è un processo continuo. Assicuratevi di aggiornare regolarmente il vostro sistema Postfix:

sudo apt update
sudo apt upgrade

Controllate anche i log di Postfix per individuare eventuali attività sospette:

tail -f /var/log/mail.log

Gli aggiornamenti regolari colmano le lacune di sicurezza note e migliorano la stabilità del vostro server di posta. Il monitoraggio continuo dei registri consente di riconoscere tempestivamente le attività insolite e di reagire rapidamente.

Ulteriori misure di sicurezza

Oltre alle misure di sicurezza di base e avanzate, esistono ulteriori misure che si possono adottare per aumentare ulteriormente la sicurezza del server Postfix:

Configurazione del firewall

Assicurarsi che il firewall abbia aperto solo le porte necessarie per il server di posta. In genere, si tratta della porta 25 (SMTP), della porta 587 (invio) e della porta 993 (IMAP via SSL). Utilizzare strumenti come ufw oppure iptablesper controllare l'accesso a queste porte e bloccare le connessioni indesiderate.

Sistemi di rilevamento delle intrusioni (IDS)

Implementare un sistema di rilevamento delle intrusioni come Fail2Banper rilevare ripetuti tentativi di accesso falliti e bloccare automaticamente gli indirizzi IP che mostrano un comportamento sospetto. Questo riduce il rischio di attacchi brute force al vostro server di posta.

Backup e ripristino

Eseguite regolarmente backup dei file di configurazione e dei dati importanti. In caso di incidente di sicurezza, è possibile ripristinare rapidamente il sistema e ridurre al minimo le interruzioni del servizio. Conservate i backup in un luogo sicuro e verificate regolarmente l'integrità dei dati di backup.

Gestione degli utenti e dei diritti

Gestire con attenzione gli account utente e assegnare solo i diritti necessari. Utilizzate password forti e prendete in considerazione l'implementazione dell'autenticazione a più fattori (MFA) per proteggere ulteriormente l'accesso al server di posta.

Le migliori pratiche per la manutenzione di Postfix

La manutenzione continua del server Postfix è fondamentale per mantenere la sicurezza e le prestazioni. Ecco alcune buone pratiche:


  • Controllare regolarmente la configurazione: Controllate regolarmente il vostro main.cf e altri file di configurazione per garantire che tutte le misure di sicurezza siano implementate correttamente.

  • Analisi dei log: Utilizzate strumenti per analizzare automaticamente i log di posta per identificare rapidamente anomalie e potenziali incidenti di sicurezza.

  • Aggiornamenti software: Aggiornare regolarmente non solo Postfix, ma anche tutti i componenti dipendenti come Dovecot, OpenDKIM e OpenDMARC.

  • Monitoraggio e avvisi: Implementate un sistema di monitoraggio che vi segnali attività insolite o messaggi di errore.

Evitare gli errori più comuni nella configurazione di Postfix

Quando si configura Postfix per massimizzare la sicurezza, ci sono errori comuni che dovrebbero essere evitati:


  • Relè aperto: Assicurarsi che il server non sia configurato come open relay impostando il parametro interfacce_inet e reti-correttamente.

  • Certificati TLS non validi: Utilizzate sempre certificati SSL validi e aggiornati per utilizzare efficacemente la crittografia TLS.

  • Autenticazione mancante: Attivare l'autenticazione SASL per evitare un uso improprio del server.

  • Limiti di tasso insufficienti: Impostate limiti di connessione appropriati per prevenire attacchi denial-of-service.

  • SPF/DKIM/DMARC mancanti: Implementate metodi completi di autenticazione delle e-mail per garantire l'integrità e l'autenticità delle vostre e-mail.

Sintesi

La configurazione di Postfix per la massima sicurezza richiede un'attenta pianificazione e una regolare manutenzione. Implementando le misure descritte in questo articolo, è possibile migliorare significativamente la sicurezza del proprio server di posta elettronica. Ricordate che la sicurezza è un processo continuo. Rimanete aggiornati sulle nuove minacce e sulle migliori pratiche per mantenere il vostro server Postfix protetto. Sfruttate le risorse e le comunità disponibili per istruirvi e rimanere all'avanguardia della tecnologia.

Per ulteriori informazioni e istruzioni dettagliate, visitate la documentazione ufficiale di [Postfix documentation](https://www.postfix.org/documentation.html) e altre fonti affidabili nel campo della sicurezza della posta elettronica.

Articoli attuali