Android

Installer og integrer rspamd

BitNotice #108 - Rspamd: Server-SPAM-Filter mit Postfix

BitNotice #108 - Rspamd: Server-SPAM-Filter mit Postfix

Innholdsfortegnelse:

Anonim

Dette er den tredje delen av vår Konfigurering og konfigurering av en postserver. I denne opplæringen vil vi gå gjennom installasjonen og konfigurasjonen av Rspamd spamfiltreringssystem og dets integrering i vår postserver, og lage DKIM og DMARC DNS-poster.

Du kan spørre hvorfor velger vi å gå med Rspamd og ikke med Spamassassin. Rspamd er mer aktivt vedlikeholdt og skrevet i C, og det er mye raskere enn Spamassassin som er skrevet i Perl. En annen grunn er at Rspamd kommer med en DKIM-signeringsmodul, slik at vi ikke trenger å bruke en annen programvare for å signere utgående e-postmeldinger.

Forutsetninger

Før du fortsetter med denne opplæringen, må du sørge for at du er logget inn som en bruker med sudo-rettigheter.

Installer Redis

Redis vil bli brukt som et lagrings- og cache-system av Rspamd, for å installere det bare å kjøre:

sudo apt install redis-server

Installer ubundet

Unbound er en veldig sikker validering, rekursiv og hurtigbufrende DNS-resolver.

Hovedhensikten med å installere denne tjenesten er å redusere antall eksterne DNS-forespørsler. Dette trinnet er valgfritt og kan hoppes over.

sudo apt update sudo apt install unbound

Standard Ubundne innstillinger skal være tilstrekkelig for de fleste servere.

Kjør følgende kommandoer for å stille ubundet som din primære DNS-resolver.

sudo echo "nameserver 127.0.0.1" >> /etc/resolvconf/resolv.conf.d/head sudo resolvconf -u Hvis du ikke bruker resolvconf må du redigere filen /etc/resolv.conf manuelt.

Installer Rspamd

Vi vil installere den siste stabile versjonen av Rspamd fra det offisielle depotet.

Start med å installere nødvendige pakker:

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

Legg repository GPG-nøkkel til nøkkelring av apt kilder ved hjelp av følgende wget-kommando:

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

Aktiver Rspamd-depotet ved å kjøre:

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

Når depotet er aktivert, må du oppdatere pakkeindeksen og installere Rspamd ved hjelp av følgende kommandoer:

sudo apt update sudo apt install rspamd

Konfigurer Rspamd

I stedet for å endre /etc/rspamd/local.d/local.d/ vil vi opprette nye filer i katalogen /etc/rspamd/local.d/local.d/ som vil overskrive standardinnstillingen.

Som standard Rspamds normal worker arbeideren som skanner e-postmeldinger lytter på alle grensesnitt på port 11333. Lag følgende fil for å konfigurere Rspamd normalarbeider til å kun lytte til localhost-grensesnitt:

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

bind_socket = "127.0.0.1:11333";

proxy worker lytter på port 11332 og støtter milter-protokoll. For at Postfix skal kommunisere med Rspamd, må vi aktivere vekslingsmodus:

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

Deretter må vi sette opp et passord for controller worker server som gir tilgang til Rspamd-webgrensesnittet. Slik genererer du et kryptert passordkjøring:

rspamadm pw --encrypt -p P4ssvv0rD

Utgangen skal se slik ut:

$2$khz7u8nxgggsfay3qta7ousbnmi1skew$zdat4nsm7nd3ctmiigx9kjyo837hcjodn1bob5jaxt7xpkieoctb Ikke glem å endre passordet ( P4ssvv0rD ) til noe sikrere.

Kopier passordet fra terminalen din og lim det inn i konfigurasjonsfilen:

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

password = "$2$khz7u8nxgggsfay3qta7ousbnmi1skew$zdat4nsm7nd3ctmiigx9kjyo837hcjodn1bob5jaxt7xpkieoctb";

Senere konfigurerer vi Nginx som en omvendt proxy til kontrollerarbeiderens webserver slik at vi får tilgang til Rspamd webgrensesnitt.

Angi Redis som en backend for Rspamd-statistikk ved å legge til følgende linjer i filen classifier-bayes.conf :

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

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

Åpne filen milter_headers.conf , og angi milter_headers.conf :

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

use =;

Du kan finne mer informasjon om milteroverskriftene her.

Endelig start Rspamd-tjenesten på nytt for at endringene skal tre i kraft:

sudo systemctl restart rspamd

Konfigurer Nginx

I den første delen av denne serien opprettet vi en Nginx-serverblokk for PostfixAdmin-forekomsten.

Åpne Nginx-konfigurasjonsfilen og legg til følgende stedsdirektiv, den som er uthevet i 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; }…

Last inn Nginx-tjenesten på nytt for at endringer skal tre i kraft:

sudo systemctl reload nginx

Gå over til https://mail.linuxize.com/rspamd/ , skriv inn passordet du tidligere genererte ved å bruke rspamadm pw kommandoen, og du vil bli presentert for Rspamd-webgrensesnittet.

Konfigurer Postfix

Vi må konfigurere Postfix for å bruke Rspamd milter.

Kjør følgende kommando for å oppdatere Postfix hovedkonfigurasjonsfil:

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"

Start Postfix-tjenesten på nytt for at endringene skal tre i kraft:

sudo systemctl restart postfix

Konfigurer Dovecot

Vi har allerede installert og konfigurert Dovecot i den andre delen av denne serien, og nå vil vi installere silfiltreringsmodulen og integrere Dovecot med Rspamd.

Begynn med å installere Dovecot-filtreringsmodulen:

sudo apt install dovecot-sieve dovecot-managesieved

Når pakkene er installert, åpner du følgende filer og redigerer linjene som er uthevet i 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…. }

Lagre og lukk filene.

Lag en katalog for silskriptene:

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

Lag et globalt siktfilter for å flytte e-postmeldinger som er merket som søppelpost, til Spam katalogen:

/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ølgende to silskripter vil bli utløst når du flytter en e-post inn eller ut av Spam katalogen:

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

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

require; pipe:copy "rspamc";

Start Dovecot-tjenesten på nytt for at endringene skal tre i kraft:

sudo systemctl restart dovecot

Sett sammen silskript og angi riktige tillatelser:

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/

Lag DKIM-nøkler

DomainKeys Identified Mail (DKIM) er en e-postgodkjenningsmetode som legger til en kryptografisk signatur til utgående meldingsoverskrifter. Den lar mottakeren bekrefte at en e-postmelding som hevder at stammer fra et spesifikt domene, faktisk ble autorisert av eieren av det domenet. Hovedhensikten med dette er å forhindre forfalskede e-postmeldinger.

Vi kan ha forskjellige DKIM-nøkler for alle domenene våre og til og med flere nøkler for et enkelt domene, men for enkelhetens skyld vil vi bruke en enkelt DKIM-nøkkel som senere kan brukes for alle nye domener.

Opprett en ny katalog for å lagre DKIM-nøkkelen og generer en ny DKIM-tastatur med rspamadm verktøyet:

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 eksemplet over bruker vi mail som DKIM-velger.

Du skal nå ha to nye filer i /var/lib/rspamd/dkim/ katalogen, mail.key som er vår private nøkkelfil og mail.pub en fil som inneholder DKIM offentlig nøkkel. Vi vil oppdatere våre DNS-sone-poster senere.

Angi riktig eierforhold og tillatelser:

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

Nå må vi fortelle Rspamd hvor vi skal lete etter DKIM-tasten, velgerens navn og den siste linjen vil aktivere DKIM-signering for alias avsenderadresser. Slik lager du en ny fil med følgende innhold:

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

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

Rspamd støtter også signering av signaturer på Authenticated Receiver Chain (ARC). Du finner mer informasjon om ARC-spesifikasjonen her.

Rspamd bruker DKIM-modulen for å håndtere ARC-signaturer, slik at vi bare kan kopiere den forrige konfigurasjonen:

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

Start Rspamd-tjenesten på nytt for at endringene skal tre i kraft:

sudo systemctl restart rspamd

DNS-innstillinger

Vi har allerede opprettet et DKIM-nøkkelpar, og nå må vi oppdatere DNS-sonen vår. DKIM offentlig nøkkel er lagret i mail.pub filen. Innholdet i filen skal se slik ut:

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 vil også opprette en DMARC meldingsautentisering ( DMARC ) som er designet for å fortelle den mottakende serveren om ikke å godta en e-post fra en bestemt avsender. I utgangspunktet vil det beskytte domenet ditt mot direkte spoofing av domener og forbedre ditt omdømme for domenet.

vi vil implementere følgende DMARC-policy:

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

La oss bryte ned ovennevnte DMARC-post:

  • v=DMARC1 - Dette er DMARC-identifikatoren p=none - Dette forteller mottakeren hva han skal gjøre med meldinger som mislykkes i DMARC. I vårt tilfelle er den satt til ingen, noe som betyr ikke gjøre noen tiltak hvis en melding mislykkes DMARC. Du kan også bruke 'avvis' eller quarantine adkim=r og aspf=r - DKIM og SPF justering, r for Relaxed og s for Strict, i vårt tilfelle bruker vi Relaxed Alignment for både DKIM og SPF.

Samme som før hvis du kjører din egen Bind DNS-server, trenger du bare å kopiere og lime inn posten i _dmarc , og hvis du bruker en annen DNS-leverandør, må du opprette en TXT-post med _dmarc som navn og v=DMARC1; p=none; adkim=r; aspf=r; v=DMARC1; p=none; adkim=r; aspf=r; som en verdi / innhold.

Det kan ta litt tid før DNS-endringene forplanter seg. Du kan sjekke om postene har forplantet seg ved hjelp av dig-kommandoen:

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 også inspisere domenets gjeldende DMARC-policy eller lage din egen DMARC-policy her.

Konklusjon

Det er det for denne delen av opplæringen. I neste del av denne serien fortsetter vi med RoundCube installasjon og konfigurasjon.

postserver postfix dovecot dns rspamd

Dette innlegget er en del av Konfigurering og konfigurering av en postserver-serie.

Andre innlegg i denne serien:

• Konfigurer en postserver med PostfixAdmin • Installer og konfigurer Postfix og Dovecot • Installer og integrer Rspamd • Installer og konfigurer Roundcube Webmail