Server di Posta · 3 min read · Oct 05, 2025
Soluzione Completa per Server di Posta con Domini e Utenti Virtuali (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Pagina 6
V. Server di Consegna della Posta
Il server di consegna della posta è il server che controlla lo SPAM utilizzando un algoritmo bayesiano tramite un servizio noto come DSPAM. DSPAM è incredibilmente capace e viene fornito con una buona quantità di documentazione riguardo le sue varie configurazioni. La nostra configurazione particolare è piuttosto semplice. MX-1 e MX-2 consegnano la posta a postman.internal.example.com tramite LMTP. LMTP è il Protocollo di Trasferimento della Posta Locale, puoi trovare alcune informazioni di base qui. DSPAM riceve la posta, controlla contro i propri algoritmi e passa la posta a ClamAV per la rilevazione di virus. Supponendo che tutto vada bene, la posta viene quindi data a Dovecot per la consegna finale.
Esamineremo le sezioni una alla volta. Quindi, facciamo partire le cose su postman.internal.example.com.
A. Impostazioni NFS
Poiché Dovecot consegnerà la nostra posta per noi, vogliamo mappare la directory vmail sul server di consegna della posta.
Procedi e crea l’utente e la directory vmail in questo modo:
# useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin -c "Cassetta Postale Virtuale" vmail
# mkdir /var/vmail
# chmod 770 /var/vmail/
# chown vmail:mail /var/vmail/Ora dobbiamo installare gli strumenti client NFS:
# apt-get install nfs-common portmapLa directory deve quindi essere montata sulla condivisione NFS. Per fare un semplice test, esegui il seguente comando:
# mount files-1.internal.example.com:/vmail /vmailOra dovresti avere accesso alla condivisione /vmail da files-1. Prova a scrivere un file:
# cd /vmail
# touch tmpDovrebbe funzionare bene questa volta (postman ha accesso in lettura e scrittura al montaggio NFS… i server MX avevano solo accesso in lettura).
Assumendo che tutto funzioni, procedi a smontare l’NFS:
# cd /
umount /vmailE poi rendi il montaggio permanente inserendo quanto segue nel tuo /etc/fstab:
[...]
files-1.internal.example.com:/vmail /vmail nfs rw,rsize=4096,wsize=4096,hard,intr,tcp,noatime,nodev,async 0 0Procedi a montare il file system un’ultima volta:
# mount /vmail… e sei a posto!
B. Installa DSPAM
Ancora una volta, debian rende tutto ridicolmente semplice:
# apt-get install dspam dspam-doc libdspam7-drv-mysqlTi verrà chiesto se vuoi configurare il database per libdspam7-drv-mysql con dbconfig-common, scegli ‘No’. Onestamente, se vuoi usare dbconfig, non c’è nulla che ti fermi, ma per il bene della documentazione, spiegherò le impostazioni.
C. Configura il Database MySQL
Dovrai impostare alcune tabelle nel database MySQL, quindi accedi a sql-1.internal.example.com e avvia il client mysql come root:
# mysql -u root -pPoi procedi a creare il nuovo database DSPAM e l’utente:
MYSQL> CREATE DATABASE dspam_db;
MYSQL> GRANT ALL PRIVILEGES ON dspam_db.* TO 'dspam_user'@'postman.internal.example.com' IDENTIFIED BY 'dspam_user_password';NOTA: Cambia la dspam_user_password con una password sicura!
D. Configura DSPAM per MySQL
Ora che MySQL ha un database DSPAM e un Account Utente, possiamo procedere a importare le tabelle dal driver MySQL di DSPAM. Queste sono memorizzate in /usr/share/doc/libdspam7-drv-mysql sul server di consegna della posta (postman.internal.example.com). Ci sono due versioni diverse degli schemi, una costruita per la velocità, l’altra per risparmiare spazio su disco rigido. Useremo quella per la velocità, ma puoi scegliere quella che preferisci. Ricorda, leggi la documentazione, è per questo che è lì!
Installa lo schema principale:
# mysql -u dspam_user -h sql-1.internal.example.com -p dspam_db < /usr/share/doc/libdspam7-drv-mysql/mysql_objects-speed.sqlSe ricevi errori di autorizzazione, torna al server mysql e controlla per assicurarti di aver creato correttamente l’utente.
Assumendo che tutto sia andato bene, vogliamo anche inserire le tabelle per gli utenti virtuali:
# mysql -u dspam_user -h sql-1.internal.example.com -p dspam_db < /usr/share/doc/libdspam7-drv-mysql/virtual_users.sqlOra, dobbiamo solo dire a DSPAM come comunicare con il nostro DB MySQL. Questo viene fatto tramite il file /etc/dspam/dspam.d/mysql.conf. Modificalo di conseguenza:
[...]
MySQLServer sql-1.internal.example.com
MySQLPort 3306
MySQLUser dspam_user
MySQLPass dspam_user_password
MysqLDb dspam_db
[...]
MySQLVirtualTable dspam_virtual_uids
MySQLVirtualUIDField uid
MySQLVirtualUsernameField username
[...] Ora DSPAM memorizzerà tutte le sue informazioni all’interno del DB MySQL.
NOTA: Questa è una configurazione temporanea, solo perché non avevamo finito l’installazione dell’utente virtuale DSPAM prima di scrivere questa guida. Idealmente, vorresti che DSPAM guardasse la stessa tabella degli utenti virtuali di Postfix per ottenere tutte le informazioni sui token memorizzate correttamente. Aggiornerò la guida non appena completeremo quel cambiamento.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.