Configurazione · 3 min read · Dec 31, 2025
Hosting Virtuale Come Fare Con Virtualmin Su CentOS 5.1 - Pagina 3
Configurazione
Configurazione di Postfix
Introduzione
Configureremo postfix con le seguenti funzionalità:
- Hosting virtuale
- Prevenzione UCE
- Antivirus
- Autenticazione SMTP
- TLS
- RBL
- SPF
- Mitigazione degli attacchi
L’aggiunta di account e domini sarà configurata tramite virtualmin anche se può essere fatta manualmente. La configurazione è progettata per essere amichevole con le risorse, quindi dovrebbe essere in grado di funzionare su macchine che non sono sovradimensionate, permettendo così di utilizzare meglio le risorse. Per renderla amichevole con le risorse non stiamo utilizzando database esterni per memorizzare le informazioni degli utenti virtuali come fanno la maggior parte delle altre guide, oltre a utilizzare milters per il controllo dello spam e dei virus invece di eseguire amavisd-new.
Le Basi
Per iniziare, configureremo le basi come il nome host, l’origine della posta, le reti, la directory dello spool delle mappe hash. Tutte queste opzioni di configurazione dovrebbero essere aggiunte a /etc/postfix/main.cf a meno che non sia specificato diversamente. I file di configurazione di esempio sono disponibili per il download alla fine di questa pagina.
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mydomain = example.com
myorigin = $mydomain
mynetworks = 127.0.0.0/8
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
canonical_maps = hash:/etc/postfix/canonical
sender_canonical_maps = hash:/etc/postfix/canonical
recipient_canonical_maps = hash:/etc/postfix/canonical
virtual_alias_maps = hash:/etc/postfix/virtual
mail_spool_directory = /var/spool/mailMaildir
Utilizzeremo il formato maildir molto migliorato rispetto al formato mbox predefinito:
home_mailbox = Maildir/SASL
Per eseguire l’autenticazione SMTP utilizzeremo SASL, tuttavia non utilizzeremo Cyrus SASL poiché richiede di eseguire il demone saslauthd, utilizzeremo invece dovecot sasl poiché eseguiremo dovecot per IMAP e POP3, uccidendo così due piccioni con una fava.
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yesTLS
Abbiamo bisogno di TLS per garantire che le password in chiaro non vengano trasmesse durante l’autenticazione SMTP, i server che supportano TLS possono anche comunicare con questo server tramite una connessione sicura.
Le istruzioni per creare il certificato del server firmato da cacert.org possono essere trovate qui.
- Imposta la sorgente casuale TLS:
tls_random_source = dev:/dev/urandom- Abilita TLS del server:
smtpd_use_tls = yes
smtpd_tls_key_file = /etc/pki/postfix/key.pem
smtpd_tls_cert_file = /etc/pki/postfix/server.pem
smtpd_tls_CAfile = /etc/pki/postfix/root.crt
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_tls_cache- Abilita TLS del client:
smtp_use_tls = yes
smtp_tls_key_file = /etc/pki/postfix/key.pem
smtp_tls_cert_file = /etc/pki/postfix/server.pem
smtp_tls_CAfile = /etc/pki/postfix/root.crt
smtp_tls_session_cache_database = btree:/var/spool/postfix/smtp_tls_cache
smtp_tls_note_starttls_offer = yesPrevenzione Spam
- Richiedi un EHLO / HELO valido:
smtpd_helo_required = yes- Prevenire attacchi di raccolta indirizzi email:
disable_vrfy_command = yes- Cambia i codici di rifiuto in permanenti (per impostazione predefinita postfix emette codici di errore 4xx che implicano un errore temporaneo, abbiamo bisogno di 5xx per errori permanenti):
unverified_recipient_reject_code = 550
unverified_sender_reject_code = 550
unknown_local_recipient_reject_code = 550- Configura la verifica dell’indirizzo del mittente:
address_verify_map = btree:/var/spool/postfix/verify
smtpd_sender_restrictions = hash:/etc/postfix/sender_access- Crea /etc/postfix/sender_access e aggiungi:
#esempio /etc/postfix/sender_access contiene domini frequentemente falsificati
aol.com reject_unverified_sender
hotmail.com reject_unverified_sender
yahoo.com reject_unverified_sender
gmail.com reject_unverified_sender
bigfoot.com reject_unverified_sender- Mitiga attacchi da zombie e client difettosi:
smtpd_error_sleep_time = 5s
smtpd_soft_error_limit = 10
smtpd_hard_error_limit = 20- Consenti solo il pipelining da client autenticati:
smtpd_data_restrictions = reject_unauth_pipelining- Installa postfix-policyd-spf-perl e abilita il supporto SPF:
wget http://www.openspf.org/blobs/postfix-policyd-spf-perl-2.005.tar.gz
tar xzvf postfix-policyd-spf-perl-2.005.tar.gz
cd postfix-policyd-spf-perl-2.005
cp postfix-policyd-spf-perl /etc/postfix/Aggiungi questo a /etc/postfix/master.cf:
spfpolicy unix - n n - - spawn user=nobody argv=/usr/bin/perl /etc/postfix/postfix-policyd-spf-perl- Aggiungi supporto DKIM:
Le istruzioni per aggiungere il supporto DKIM possono essere trovate qui.
- Aggiungi supporto domainkeys:
Le istruzioni per aggiungere il supporto domainkeys possono essere trovate qui.
- Far funzionare tutto dipende dall’opzione smtpd_recipient_restrictions, quindi la impostiamo qui sotto:
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
check_recipient_access hash:/etc/postfix/access
reject_unknown_recipient_domain
reject_unknown_sender_domain
reject_unverified_recipient
reject_non_fqdn_recipient
reject_non_fqdn_sender
reject_invalid_hostname
reject_rbl_client list.dsbl.org
reject_rbl_client zen.spamhaus.org
reject_rbl_client l1.spews.dnsbl.sorbs.net
reject_rbl_client combined.njabl.org
reject_rbl_client bl.spamcop.net
reject_rhsbl_sender dsn.rfc-ignorant.org
reject_rhsbl_sender bogusmx.rfc-ignorant.org
reject_rhsbl_sender rhsbl.sorbs.net
reject_rhsbl_client dsn.rfc-ignorant.org
reject_rhsbl_client bogusmx.rfc-ignorant.org
reject_rhsbl_client rhsbl.sorbs.net
check_policy_service unix:private/spfpolicyMilters [SpamAssassin & ClamAV]
Per la classificazione dello spam utilizzando spamassassin e la scansione dei virus utilizzando clamav utilizzeremo l’interfaccia milter di postfix invece di utilizzare il demone amavisd-new che richiede molte risorse. Questo è un modo molto efficiente di farlo poiché non dobbiamo nemmeno eseguire clamd, il milter clamav esegue la scansione da solo.
smtpd_milters = unix:/var/clamav/clmilter.socket unix:/var/run/spamass.sock
non_smtpd_milters = unix:/var/clamav/clmilter.socket unix:/var/run/spamass.sockCrea File DB
postmap /etc/postfix/canonical
postmap /etc/postfix/access
postmap /etc/postfix/virtual
postmap /etc/postfix/sender_accessFile di Configurazione di Esempio
- main.cf
- master.cf
- canonical
- virtual
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.