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/mail

Maildir

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 = yes

TLS

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 = yes

Prevenzione 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/spfpolicy

Milters [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.sock

Crea File DB

postmap /etc/postfix/canonical  
postmap /etc/postfix/access  
postmap /etc/postfix/virtual  
postmap /etc/postfix/sender_access

File di Configurazione di Esempio

  • main.cf
  • master.cf
  • canonical
  • virtual
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.