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 iptables
per 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 Fail2Ban
per 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
ereti
-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.