How to Stop Spam With Postfix Linux Email Server
Cuprins:
- Cerințe preliminare
- Instalați Redis
- Instalați Neconsolidat
- Instalați Rspamd
- Configurați Rspamd
- Configurați Nginx
- Configurați Postfix
- Configurați Dovecot
- Creați tastele DKIM
- Setări DNS
- Concluzie
Aceasta este a treia parte din Configurarea și configurarea noastră a unui server de poștă. În acest tutorial vom parcurge instalarea și configurarea sistemului de filtrare a spamului Rspamd și integrarea acestuia în serverul nostru de poștă, creând înregistrări DNS DKIM și DMARC.
Poate vă întrebați de ce alegem să mergem cu Rspamd și nu cu Spamassassin. Rspamd este mai activ menținut și scris în C și este mult mai rapid decât Spamassassin, care este scris în Perl. Un alt motiv este că Rspamd vine cu un modul de semnare DKIM, astfel încât nu va trebui să folosim un alt software pentru a semna e-mailurile noastre de ieșire.
Cerințe preliminare
Înainte de a continua cu acest tutorial, asigurați-vă că sunteți autentificat ca utilizator cu privilegii sudo.
Instalați Redis
Redis va fi utilizat ca sistem de stocare și de cache de către Rspamd, pentru a-l instala doar rula:
Instalați Neconsolidat
Unbound este o rezolvare DNS de validare, recursivă și caching DNS foarte sigură.
Scopul principal al instalării acestui serviciu este reducerea numărului de solicitări DNS externe. Acest pas este opțional și poate fi omis.
sudo apt update
sudo apt install unbound
Setările implicite Neconsolidate ar trebui să fie suficiente pentru majoritatea serverelor.
Pentru a seta nelegat ca rezoluție DNS principală a serverului, executați următoarele comenzi:
sudo echo "nameserver 127.0.0.1" >> /etc/resolvconf/resolv.conf.d/head
sudo resolvconf -u
Dacă nu utilizați
resolvconf
atunci trebuie să editați fișierul
/etc/resolv.conf
manual.
Instalați Rspamd
Vom instala cea mai recentă versiune stabilă a Rspamd din depozitul său oficial.
Începeți să instalați pachetele necesare:
sudo apt install software-properties-common lsb-release
sudo apt install lsb-release wget
Adăugați cheia GPG a depozitului la cheia de surse apt, folosind următoarea comandă wget:
wget -O- https://rspamd.com/apt-stable/gpg.key | sudo apt-key add -
Activați depozitul Rspamd rulând:
echo "deb http://rspamd.com/apt-stable/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/rspamd.list
Odată ce depozitul este activat, actualizați indexul pachetului și instalați Rspamd folosind următoarele comenzi:
sudo apt update
sudo apt install rspamd
Configurați Rspamd
În loc să modificăm fișierele de configurare stoc, vom crea noi fișiere în directorul
/etc/rspamd/local.d/local.d/
care va suprascrie setarea implicită.
În mod implicit,
normal worker
al Rspamd, muncitorul care scanează mesajele de e-mail ascultă toate interfețele din portul 11333. Creați următorul fișier pentru a configura lucrătorul normal Rspamd pentru a asculta doar interfața localhost:
bind_socket = "127.0.0.1:11333";
proxy worker
ascultă portul 11332 și acceptă protocolul milter. Pentru ca Postfix să comunice cu Rspamd, trebuie să activăm modul de milter:
bind_socket = "127.0.0.1:11332"; milter = yes; timeout = 120s; upstream "local" { default = yes; self_scan = yes; }
În continuare, trebuie să stabilim o parolă pentru serverul de lucru al
controller worker
care oferă acces la interfața web Rspamd. Pentru a genera o parolă criptată rulați:
rspamadm pw --encrypt -p P4ssvv0rD
Produsul ar trebui să arate așa:
$2$khz7u8nxgggsfay3qta7ousbnmi1skew$zdat4nsm7nd3ctmiigx9kjyo837hcjodn1bob5jaxt7xpkieoctb
Nu uitați să schimbați parola (
P4ssvv0rD
) la ceva mai sigur.
Copiați parola din terminalul dvs. și lipiți-o în fișierul de configurare:
/etc/rspamd/local.d/worker-controller.inc
password = "$2$khz7u8nxgggsfay3qta7ousbnmi1skew$zdat4nsm7nd3ctmiigx9kjyo837hcjodn1bob5jaxt7xpkieoctb";
Mai târziu vom configura Nginx ca un proxy invers pentru serverul web al lucrătorului controlorului, astfel încât să putem accesa interfața web Rspamd.
Setați Redis ca un backend pentru statisticile Rspamd adăugând următoarele linii în fișierul
classifier-bayes.conf
:
servers = "127.0.0.1"; backend = "redis";
Deschideți fișierul
milter_headers.conf
și setați anteturile milterului:
use =;
Puteți găsi mai multe informații despre anteturile milterului aici.
În cele din urmă, reporniți serviciul Rspamd pentru ca modificările să intre în vigoare:
Configurați Nginx
În prima parte a acestei serii, am creat un bloc server Nginx pentru instanța PostfixAdmin.
Deschideți fișierul de configurare Nginx și adăugați următoarea directivă de locație, cea evidențiată cu galben:
/etc/nginx/sites-enabled/mail.linuxize.com.conf
… location /rspamd { proxy_pass http://127.0.0.1:11334/; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }…
Reîncărcați serviciul Nginx pentru ca modificările să aibă efect:
sudo systemctl reload nginx
Îndreptați-vă către
https://mail.linuxize.com/rspamd/
, introduceți parola pe care ați generat-o anterior folosind comanda
rspamadm pw
și vi se va prezenta cu interfața web Rspamd.
Configurați Postfix
Trebuie să configurăm Postfix pentru a folosi soluția Rspamd.
Rulați următoarea comandă pentru a actualiza fișierul principal de configurare Postfix:
sudo postconf -e "milter_protocol = 6"
sudo postconf -e "milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}"
sudo postconf -e "milter_default_action = accept"
sudo postconf -e "smtpd_milters = inet:127.0.0.1:11332"
sudo postconf -e "non_smtpd_milters = inet:127.0.0.1:11332"
Reporniți serviciul Postfix pentru ca modificările să aibă efect:
sudo systemctl restart postfix
Configurați Dovecot
Am instalat și configurat deja Dovecot în a doua parte a acestei serii și acum vom instala modulul de filtrare a
sieve
și vom integra Dovecot cu Rspamd.
Începeți să instalați modulul de filtrare Dovecot:
sudo apt install dovecot-sieve dovecot-managesieved
După instalarea pachetelor, deschideți următoarele fișiere și editați liniile evidențiate cu galben.
/etc/dovecot/conf.d/20-lmtp.conf
… protocol lmtp { postmaster_address = [email protected] mail_plugins = $mail_plugins sieve }…
/etc/dovecot/conf.d/20-imap.conf
… protocol imap {… mail_plugins = $mail_plugins imap_quota imap_sieve… }…
/etc/dovecot/conf.d/20-managesieve.conf
… service managesieve-login { inet_listener sieve { port = 4190 }… }… service managesieve { process_limit = 1024 }…
/etc/dovecot/conf.d/90-sieve.conf
plugin {… # sieve = file:~/sieve;active=~/.dovecot.sieve sieve_plugins = sieve_imapsieve sieve_extprograms sieve_before = /var/mail/vmail/sieve/global/spam-global.sieve sieve = file:/var/mail/vmail/sieve/%d/%n/scripts;active=/var/mail/vmail/sieve/%d/%n/active-script.sieve imapsieve_mailbox1_name = Spam imapsieve_mailbox1_causes = COPY imapsieve_mailbox1_before = file:/var/mail/vmail/sieve/global/report-spam.sieve imapsieve_mailbox2_name = * imapsieve_mailbox2_from = Spam imapsieve_mailbox2_causes = COPY imapsieve_mailbox2_before = file:/var/mail/vmail/sieve/global/report-ham.sieve sieve_pipe_bin_dir = /usr/bin sieve_global_extensions = +vnd.dovecot.pipe…. }
Salvați și închideți fișierele.
Creați un director pentru scripturile de sită:
mkdir -p /var/mail/vmail/sieve/global
Creați un filtru de sită globală pentru a muta e-mailurile marcate ca spam în directorul
Spam
:
require; if anyof(header:contains "YES", header:contains "Yes", header:contains "*** SPAM ***") { fileinto:create "Spam"; stop; }
Următoarele două scripturi de setare vor fi declanșate de fiecare dată când mutați un e-mail în sau din directorul
Spam
:
require; pipe:copy "rspamc";
/var/mail/vmail/sieve/global/report-ham.sieve
require; pipe:copy "rspamc";
Reporniți serviciul Dovecot pentru ca modificările să aibă efect:
sudo systemctl restart dovecot
Compilați scripturi de setare și setați permisiunile corecte:
sievec /var/mail/vmail/sieve/global/spam-global.sieve
sievec /var/mail/vmail/sieve/global/report-spam.sieve
sievec /var/mail/vmail/sieve/global/report-ham.sieve
sudo chown -R vmail: /var/mail/vmail/sieve/
Creați tastele DKIM
MailKeys Identified Mail (DKIM) este o metodă de autentificare prin e-mail care adaugă o semnătură criptografică la anteturile mesajelor de ieșire. Acesta permite destinatarului să verifice dacă un e-mail care pretinde că provine dintr-un domeniu specific a fost într-adevăr autorizat de proprietarul domeniului respectiv. Scopul principal este acela de a preveni mesajele de e-mail falsificate.
Putem avea diferite chei DKIM pentru toate domeniile noastre și chiar mai multe chei pentru un singur domeniu, dar pentru simplitatea acestui articol vom folosi o singură cheie DKIM care poate fi folosită ulterior pentru toate domeniile noi.
Creați un nou director care să stocheze cheia DKIM și să genereze un nou pachet de chei DKIM folosind utilitarul
rspamadm
:
sudo mkdir /var/lib/rspamd/dkim/
rspamadm dkim_keygen -b 2048 -s mail -k /var/lib/rspamd/dkim/mail.key | sudo tee -a /var/lib/rspamd/dkim/mail.pub
rspamadm dkim_keygen -b 2048 -s mail -k /var/lib/rspamd/dkim/mail.key | sudo tee -a /var/lib/rspamd/dkim/mail.pub
În exemplul de mai sus folosim
mail
ca selector DKIM.
Acum ar trebui să aveți două fișiere noi în directorul
/var/lib/rspamd/dkim/
, care este fișierul nostru cu cheie privată și
mail.pub
un fișier care conține cheia publică DKIM. Vom actualiza înregistrările zonei DNS ulterior.
Setați proprietatea și permisiunile corecte:
sudo chown -R _rspamd: /var/lib/rspamd/dkim
sudo chmod 440 /var/lib/rspamd/dkim/*
Acum trebuie să spunem Rspamd unde să căutăm cheia DKIM, numele selectorului și ultima linie vor permite semnarea DKIM pentru adresele expeditorului alias. Pentru aceasta, creați un nou fișier cu următorul conținut:
/etc/rspamd/local.d/dkim_signing.conf
selector = "mail"; path = "/var/lib/rspamd/dkim/$selector.key"; allow_username_mismatch = true;
Rspamd acceptă, de asemenea, semnarea pentru semnături ARC (Authenticated Received Chain). Puteți găsi mai multe informații despre specificația ARC aici.
Rspamd utilizează modulul DKIM pentru tratarea semnăturilor ARC, astfel încât să putem copia pur și simplu configurația anterioară:
sudo cp /etc/rspamd/local.d/dkim_signing.conf /etc/rspamd/local.d/arc.conf
Reporniți serviciul Rspamd pentru ca modificările să aibă efect:
Setări DNS
Am creat deja o pereche de chei DKIM și acum trebuie să ne actualizăm zona DNS. Cheia publică DKIM este stocată în fișierul
mail.pub
. Conținutul fișierului ar trebui să arate astfel:
cat /var/lib/rspamd/dkim/mail.pub
mail._domainkey IN TXT ("v=DKIM1; k=rsa; " "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqdBRCqYzshc4LmmkxUkCH/rcIpSe/QdNIVmBrgqZmZ5zzWQi7ShdFOH7V32/VM1VRk2pkjDV7tmfbwslsymsfxgGhVHbU0R3803uRfxAiT2mYu1hCc9351YpZF4WnrdoA3BT5juS3YUo5LsDxvZCxISnep8VqVSAZOmt8wFsZKBXiIjWuoI6XnWrzsAfoaeGaVuUZBmi4ZTg0O4yl" "nVlIz11McdZTRe1FlONOzO7ZkQFb7O6ogFepWLsM9tYJ38TFPteqyO3XBjxHzp1AT0UvsPcauDoeHUXgqbxU7udG1t05f6ab5h/Kih+jisgHHF4ZFK3qRtawhWlA9DtS35DlwIDAQAB");
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqdBRCqYzshc4LmmkxUkCH/rcIpSe/QdNIVmBrgqZmZ5zzWQi7ShdFOH7V32/VM1VRk2pkjDV7tmfbwslsymsfxgGhVHbU0R3803uRfxAiT2mYu1hCc9351YpZF4WnrdoA3BT5juS3YUo5LsDxvZCxISnep8VqVSAZOmt8wFsZKBXiIjWuoI6XnWrzsAfoaeGaVuUZBmi4ZTg0O4ylnVlIz11McdZTRe1FlONOzO7ZkQFb7O6ogFepWLsM9tYJ38TFPteqyO3XBjxHzp1AT0UvsPcauDoeHUXgqbxU7udG1t05f6ab5h/Kih+jisgHHF4ZFK3qRtawhWlA9DtS35DlwIDAQAB
De asemenea, vom crea o autentificare de mesaje bazată pe domeniu (
DMARC
), care este concepută pentru a spune serverului de primire dacă acceptă sau nu un e-mail de la un anumit expeditor. Practic, vă va proteja domeniul împotriva spargerii directe a domeniului și vă va îmbunătăți reputația domeniului.
vom implementa următoarea politică DMARC:
_dmarc IN TXT "v=DMARC1; p=none; adkim=r; aspf=r;"
Să descompunem înregistrarea DMARC de mai sus:
-
v=DMARC1- Acesta este identificatorul DMARCp=none- Acest lucru îi spune receptorului ce să facă cu mesajele care nu reușesc DMARC. În cazul nostru nu este setat pe nimic, ceea ce înseamnă că nu luăm nicio măsură dacă un mesaj eșuează DMARC. Puteți utiliza, de asemenea, „respinge” sauquarantineadkim=rșiaspf=r-DKIMși aliniereSPF,rpentru Relaxed șispentru Strict, în cazul nostru utilizăm Relaxed Alignment atât pentru DKIM cât și pentru SPF.
La fel ca înainte, dacă executați propriul server Bind DNS, trebuie doar să copiați și să lipiți înregistrarea în fișierul dvs. de zonă de domeniu, iar dacă utilizați un alt furnizor DNS, trebuie să creați o înregistrare TXT cu
_dmarc
ca nume și
v=DMARC1; p=none; adkim=r; aspf=r;
v=DMARC1; p=none; adkim=r; aspf=r;
ca valoare / conținut.
Poate dura un timp până la propagarea modificărilor DNS. Puteți verifica dacă înregistrările s-au propagat folosind comanda dig:
dig mail._domainkey.linuxize.com TXT +short
"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqdBRCqYzshc4LmmkxUkCH/rcIpSe/QdNIVmBrgqZmZ5zzWQi7ShdFOH7V32/VM1VRk2pkjDV7tmfbwslsymsfxgGhVHbU0R3803uRfxAiT2mYu1hCc9351YpZF4WnrdoA3BT5juS3YUo5LsDxvZCxISnep8VqVSAZOmt8wFsZKBXiIjWuoI6XnWrzsAfoaeGa" "VuUZBmi4ZTg0O4ylnVlIz11McdZTRe1FlONOzO7ZkQFb7O6ogFdepWLsM9tYJ38TFPteqyO3XBjxHzp1AT0UvsPcauDoeHUXgqbxU7udG1t05f6ab5h/Kih+jisgHHF4ZFK3qRtawhWlA9DtS35DlwIDAQAB"
dig _dmarc.linuxize.com TXT +short
"v=DMARC1; p=none; adkim=r; aspf=r;"
Puteți, de asemenea, să inspectați politica DMARC actuală a domeniului dvs. sau să vă creați propria politică DMARC aici.
Concluzie
Asta e pentru această parte a tutorialului. În următoarea parte a acestei serii, vom continua cu instalarea și configurarea RoundCube.
server de poștă postfix dovecot dns rspamdAceastă postare este o parte din Configurarea și configurarea unei serii de server de e-mail.
Alte postări din această serie:
• Configurați un server de poștă cu PostfixAdmin • Instalați și configurați Postfix și Dovecot • Instalați și integrați Rspamd • Instalați și configurați Webmailul RoundcubeCum să eliminați sau să integrați Microsoft Bookings cu Facebook Page
Aflați cum să eliminați sau să conectați pagina Microsoft Bookings și Facebook. Microsoft Bookings este o aplicație care permite clienților să programeze întâlniri
Cum să integrați bara de instrumente Windows Live Web în site-ul dvs.
Acum câteva luni, echipa Windows Live a lansat o serie de noi adăugări interesante. Windows Live Web Toolkit. Una dintre acestea a fost Bara de instrumente Windows Live Web
NirLauncher: Integrați SysInternal Suite cu utilitare NirSoft
NirLauncher este un pachet de peste 100 utilitare gratuite portabile pentru Windows, pentru site-ul Web NirSoft în ultimii ani







