Android

Installera och integrera rspamd

Rspamd integration into FreeBSD.org mail infrastructure

Rspamd integration into FreeBSD.org mail infrastructure

Innehållsförteckning:

Anonim

Detta är den tredje delen av vår inställning och konfigurering av en e-postserver. I den här tutorialen kommer vi att gå igenom installationen och konfigurationen av Rspamd-spamfiltreringssystemet och dess integration i vår postserver och skapa DKIM- och DMARC-DNS-poster.

Du kan fråga varför väljer vi att gå med Rspamd och inte med Spamassassin. Rspamd underhålls och skrivs mer aktivt i C och det är mycket snabbare än Spamassassin som skrivs i Perl. En annan anledning är att Rspamd levereras med en DKIM-signeringsmodul så att vi inte behöver använda någon annan programvara för att signera våra utgående e-postmeddelanden.

förutsättningar

Innan du fortsätter med den här tutorialen, se till att du är inloggad som användare med sudo-privilegier.

Installera Redis

Redis kommer att användas som ett lagrings- och cachesystem av Rspamd för att installera det bara kör:

sudo apt install redis-server

Installera obundet

Obundet är en mycket säker validering, rekursiv och cache-DNS-upplösare.

Huvudsyftet med installationen av denna tjänst är att minska antalet externa DNS-förfrågningar. Detta steg är valfritt och kan hoppas över.

sudo apt update sudo apt install unbound

Standardinställningarna Obundet är bör räcka för de flesta servrar.

Kör följande kommandon för att ställa obundet som din primära DNS-upplösare för din server:

sudo echo "nameserver 127.0.0.1" >> /etc/resolvconf/resolv.conf.d/head sudo resolvconf -u Om du inte använder resolvconf måste du redigera filen /etc/resolv.conf manuellt.

Installera Rspamd

Vi kommer att installera den senaste stabila versionen av Rspamd från dess officiella arkiv.

Börja med att installera nödvändiga paket:

sudo apt install software-properties-common lsb-release sudo apt install lsb-release wget

Lägg till förvaret GPG-nyckeln till nyckelring med apt källor med följande wget-kommando:

wget -O- https://rspamd.com/apt-stable/gpg.key | sudo apt-key add -

Aktivera Rspamd-lagret genom att köra:

echo "deb http://rspamd.com/apt-stable/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/rspamd.list

När förvaret har aktiverats uppdaterar du paketindexet och installerar Rspamd med följande kommandon:

sudo apt update sudo apt install rspamd

Konfigurera Rspamd

Istället för att ändra lagerkonfigurationsfilerna skapar vi nya filer i /etc/rspamd/local.d/local.d/ som kommer att skriva över standardinställningen.

Som standard Rspamds normal worker lyssnar arbetaren som skannar e-postmeddelanden på alla gränssnitt på port 11333. Skapa följande fil för att konfigurera Rspamd normalarbetare att lyssna bara på gränssnittet localhost:

/etc/rspamd/local.d/worker-normal.inc

bind_socket = "127.0.0.1:11333";

proxy worker lyssnar på port 11332 och stöder milterprotokoll. För att Postfix ska kommunicera med Rspamd måste vi aktivera milterläge:

/etc/rspamd/local.d/worker-proxy.inc

bind_socket = "127.0.0.1:11332"; milter = yes; timeout = 120s; upstream "local" { default = yes; self_scan = yes; }

Därefter måste vi konfigurera ett lösenord för controller worker som ger åtkomst till Rspamd-webbgränssnittet. Så här genererar du ett krypterat lösenordskörning:

rspamadm pw --encrypt -p P4ssvv0rD

Utgången ska se ut så här:

$2$khz7u8nxgggsfay3qta7ousbnmi1skew$zdat4nsm7nd3ctmiigx9kjyo837hcjodn1bob5jaxt7xpkieoctb Glöm inte att ändra lösenordet ( P4ssvv0rD ) till något säkrare.

Kopiera lösenordet från din terminal och klistra in det i konfigurationsfilen:

/etc/rspamd/local.d/worker-controller.inc

password = "$2$khz7u8nxgggsfay3qta7ousbnmi1skew$zdat4nsm7nd3ctmiigx9kjyo837hcjodn1bob5jaxt7xpkieoctb";

Senare konfigurerar vi Nginx som en omvänd proxy till controllerarbetarens webbserver så att vi kan komma åt Rspamd webbgränssnitt.

Ställ in Redis som backend för Rspamd-statistik genom att lägga till följande rader i filen classifier-bayes.conf :

/etc/rspamd/local.d/classifier-bayes.conf

servers = "127.0.0.1"; backend = "redis";

Öppna filen milter_headers.conf och ställ in milter-rubrikerna:

/etc/rspamd/local.d/milter_headers.conf

use =;

Du kan hitta mer information om mjältarrubrikerna här.

Starta slutligen Rspamd-tjänsten för att ändringar ska träda i kraft:

sudo systemctl restart rspamd

Konfigurera Nginx

I den första delen av denna serie skapade vi ett Nginx-serverblock för PostfixAdmin-instansen.

Öppna Nginx-konfigurationsfilen och lägg till följande platsdirektiv, den som är markerad med gult:

/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; }…

Ladda om Nginx-tjänsten så att ändringar träder i kraft:

sudo systemctl reload nginx

Gå över till https://mail.linuxize.com/rspamd/ , ange lösenordet du tidigare genererade med rspamadm pw så kommer du att presenteras med Rspamd webbgränssnitt.

Konfigurera postfix

Vi måste konfigurera Postfix för att använda Rspamd milter.

Kör följande kommando för att uppdatera Postfix-huvudkonfigurationsfilen:

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"

Starta om Postfix-tjänsten så att ändringar träder i kraft:

sudo systemctl restart postfix

Konfigurera Dovecot

Vi har redan installerat och konfigurerat Dovecot i den andra delen av denna serie och nu kommer vi att installera sieve och integrera Dovecot med Rspamd.

Börja med att installera Dovecot-filtreringsmodulen:

sudo apt install dovecot-sieve dovecot-managesieved

När paketen har installerats öppnar du följande filer och redigerar raderna markerade med gult.

/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…. }

Spara och stäng filerna.

Skapa en katalog för siktskript:

mkdir -p /var/mail/vmail/sieve/global

Skapa ett globalt siktfilter för att flytta e-postmeddelanden markerade som skräppost till Spam :

/var/mail/vmail/sieve/global/spam-global.sieve

require; if anyof(header:contains "YES", header:contains "Yes", header:contains "*** SPAM ***") { fileinto:create "Spam"; stop; }

Följande två siktskript kommer att triggas när du flyttar ett e-postmeddelande in eller ut från Spam :

/var/mail/vmail/sieve/global/report-spam.sieve

require; pipe:copy "rspamc"; /var/mail/vmail/sieve/global/report-ham.sieve

require; pipe:copy "rspamc";

Starta om Dovecot-tjänsten så att ändringarna träder i kraft:

sudo systemctl restart dovecot

Kompilera siktskript och ställ in rätt behörigheter:

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/

Skapa DKIM-nycklar

DomainKeys Identified Mail (DKIM) är en metod för autentisering av e-post som lägger till en kryptografisk signatur till utgående meddelandesrubriker. Den tillåter mottagaren att verifiera att ett e-postmeddelande som hävdar att kommer från en specifik domän verkligen var godkänt av ägaren till den domänen. Huvudsyftet med detta är att förhindra förfalskade e-postmeddelanden.

Vi kan ha olika DKIM-nycklar för alla våra domäner och till och med flera nycklar för en enda domän, men för att förenkla denna artikel kommer vi att använda en enda DKIM-nyckel som senare kan användas för alla nya domäner.

Skapa en ny katalog för att lagra DKIM-nyckeln och generera en ny DKIM-knappsats med rspamadm verktyget:

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

I exemplet ovan använder vi e- mail som en DKIM-väljare.

Du bör nu ha två nya filer i /var/lib/rspamd/dkim/ katalogen, mail.key som är vår privata nyckelfil och mail.pub en fil som innehåller den offentliga nyckeln för DKIM. Vi kommer att uppdatera våra DNS-zonposter senare.

Ange rätt äganderätt och behörigheter:

sudo chown -R _rspamd: /var/lib/rspamd/dkim sudo chmod 440 /var/lib/rspamd/dkim/*

Nu måste vi berätta för Rspamd var man ska leta efter DKIM-tangenten, väljarens namn och den sista raden kommer att möjliggöra DKIM-signering för alias avsändaradresser. För att göra det skapar du en ny fil med följande innehåll:

/etc/rspamd/local.d/dkim_signing.conf

selector = "mail"; path = "/var/lib/rspamd/dkim/$selector.key"; allow_username_mismatch = true;

Rspamd stöder också att underteckna signaturer för Authenticated Receiver Chain (ARC). Du kan hitta mer information om ARC-specifikationen här.

Rspamd använder DKIM-modulen för att hantera ARC-signaturer så att vi helt enkelt kan kopiera den tidigare konfigurationen:

sudo cp /etc/rspamd/local.d/dkim_signing.conf /etc/rspamd/local.d/arc.conf

Starta om Rspamd-tjänsten så att ändringar träder i kraft:

sudo systemctl restart rspamd

DNS-inställningar

Vi har redan skapat ett DKIM-nyckelpar och nu måste vi uppdatera vår DNS-zon. DKIM offentlig nyckel lagras i mail.pub filen. Filens innehåll ska se ut så här:

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

Vi kommer också att skapa en domänbaserad meddelandeautentisering ( DMARC ) som är utformad för att berätta den mottagande servern huruvida ett e-postmeddelande från en viss avsändare ska accepteras eller inte. I grund och botten kommer det att skydda din domän mot direkt domänförfalskning och förbättra ditt domän rykte.

vi kommer att genomföra följande DMARC-policy:

_dmarc IN TXT "v=DMARC1; p=none; adkim=r; aspf=r;"

Låt oss bryta ned ovanstående DMARC-post:

  • v=DMARC1 - Detta är DMARC-identifieraren p=none - Detta säger mottagaren vad han ska göra med meddelanden som misslyckas med DMARC. I vårt fall är den inställd på ingen, vilket betyder att du inte vidtar några åtgärder om ett meddelande misslyckas med DMARC. Du kan också använda 'avvisa' eller quarantine adkim=r och aspf=r - DKIM och SPF justering, r för Relaxed och s för Strict, i vårt fall använder vi Relaxed Alignment för både DKIM och SPF.

Samma som tidigare om du kör din egen Bind DNS-server behöver du bara kopiera och klistra in posten i din domänzonfil, och om du använder en annan DNS-leverantör måste du skapa en TXT-post med _dmarc som namn och v=DMARC1; p=none; adkim=r; aspf=r; v=DMARC1; p=none; adkim=r; aspf=r; som ett värde / innehåll.

Det kan ta en stund innan DNS-ändringarna sprider sig. Du kan kontrollera om postarna har spridits med dig-kommandot:

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;"

Du kan också inspektera din domän aktuella DMARC-policy eller skapa din egen DMARC-policy här.

Slutsats

Det är det för den här delen av självstudien. I nästa del av denna serie kommer vi att fortsätta med RoundCube installation och konfiguration.

postserver postfix dovecot dns rspamd

Det här inlägget är en del av Konfigurera och konfigurera en postserverserie.

Andra inlägg i denna serie:

• Ställ in en postserver med PostfixAdmin • Installera och konfigurera Postfix och Dovecot • Installera och integrera Rspamd • Installera och konfigurera Roundcube Webmail