Android

I-install at isama ang rspamd

Rspamd integration into FreeBSD.org mail infrastructure

Rspamd integration into FreeBSD.org mail infrastructure

Talaan ng mga Nilalaman:

Anonim

Ito ang pangatlong bahagi ng aming Pag-set up at pag-configure ng isang mail server. Sa tutorial na ito ay pupunta kami sa pag-install at pagsasaayos ng Rspamd spam filtering system at ang pagsasama nito sa aming mail server, na lumilikha ng mga rekord ng DKIM at DMARC DNS.

Maaari mong itanong kung bakit pipiliin naming sumama sa Rspamd at hindi kasama ang Spamassassin. Ang Rspamd ay mas aktibong pinananatili at nakasulat sa C at mas mabilis ito kaysa sa Spamassassin na nakasulat sa Perl. Ang isa pang kadahilanan ay ang Rspamd ay may isang module ng pag-sign DKIM kaya hindi namin kailangang gumamit ng isa pang software upang mag-sign sa aming mga papalabas na email.

Mga kinakailangan

Bago magpatuloy sa tutorial na ito, siguraduhing naka-log in ka bilang isang gumagamit na may mga pribilehiyo ng sudo.

I-install ang Redis

Ang Redis ay gagamitin bilang isang sistema ng imbakan at caching ni Rspamd, upang mai-install lamang ito:

sudo apt install redis-server

I-install ang Unbound

Ang unbound ay isang ligtas na pagpapatunay, recursive, at caching DNS resolver.

Ang pangunahing layunin ng pag-install ng serbisyong ito ay upang mabawasan ang bilang ng mga panlabas na kahilingan ng DNS. Ang hakbang na ito ay opsyonal at maaaring laktawan.

sudo apt update sudo apt install unbound

Ang default na mga setting ng Unbound ay dapat sapat para sa karamihan ng mga server.

Upang itakda ang walang sukdulang bilang pangunahing tagapagtala ng DNS ng iyong server na nagpatakbo ng mga sumusunod na utos:

sudo echo "nameserver 127.0.0.1" >> /etc/resolvconf/resolv.conf.d/head sudo resolvconf -u Kung hindi ka gumagamit ng resolvconf kailangan mong manu-manong i-edit ang /etc/resolv.conf file nang manu-mano.

I-install ang Rspamd

I-install namin ang pinakabagong matatag na bersyon ng Rspamd mula sa opisyal na imbakan nito.

Magsimula sa pamamagitan ng pag-install ng mga kinakailangang pakete:

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

Idagdag ang reporter GPG key sa iyong apt na pinagkukunan ng susi gamit ang sumusunod na wget na utos:

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

Paganahin ang reporter ng Rspamd sa pamamagitan ng pagpapatakbo:

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

Kapag ang pag-iimbak ay pinagana ang pag-update ng index ng package at i-install ang Rspamd gamit ang mga sumusunod na utos:

sudo apt update sudo apt install rspamd

I-configure ang Rspamd

Sa halip na baguhin ang mga file ng stock config ay gagawa kami ng mga bagong file sa /etc/rspamd/local.d/local.d/ direktoryo ng default na setting.

Sa pamamagitan ng default na normal worker ng Rspamd ang manggagawa na nag-scan ng mga mensahe sa email ay nakikinig sa lahat ng mga interface sa port 11333. Lumikha ng sumusunod na file upang i-configure ang normal na manggagawa ng Rspamd upang makinig lamang sa localhost interface:

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

bind_socket = "127.0.0.1:11333";

Ang proxy worker nakikinig sa port 11332 at sumusuporta sa milter protocol. Upang makipag-ugnay sa Postfix sa Rspamd kailangan namin upang paganahin ang milter mode:

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

Susunod na kailangan naming mag-set up ng isang password para sa server ng controller worker na nagbibigay ng pag-access sa interface ng web ng Rspamd. Upang makabuo ng isang naka-encrypt na tumakbo sa password:

rspamadm pw --encrypt -p P4ssvv0rD

Ang output ay dapat magmukhang ganito:

$2$khz7u8nxgggsfay3qta7ousbnmi1skew$zdat4nsm7nd3ctmiigx9kjyo837hcjodn1bob5jaxt7xpkieoctb Huwag kalimutan na baguhin ang password ( P4ssvv0rD ) sa isang mas ligtas.

Kopyahin ang password mula sa iyong terminal at i-paste ito sa file ng pagsasaayos:

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

password = "$2$khz7u8nxgggsfay3qta7ousbnmi1skew$zdat4nsm7nd3ctmiigx9kjyo837hcjodn1bob5jaxt7xpkieoctb";

Kalaunan ay i-configure namin ang Nginx bilang isang reverse proxy sa Controller ng web server ng manggagawa upang ma-access namin ang interface ng web ng Rspamd.

Itakda ang Redis bilang isang backend para sa mga istatistika ng Rspamd sa pamamagitan ng pagdaragdag ng mga sumusunod na linya sa classifier-bayes.conf :

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

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

Buksan ang file ng milter_headers.conf at itakda ang mga header ng milter_headers.conf :

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

use =;

Maaari kang makahanap ng karagdagang impormasyon tungkol sa mga milter header dito.

Sa wakas i-restart ang serbisyo ng Rspamd para sa mga pagbabago na magkakabisa:

sudo systemctl restart rspamd

I-configure ang Nginx

Sa unang bahagi ng seryeng ito, nilikha namin ang isang block ng server ng Nginx para sa halimbawa ng PostfixAdmin.

Buksan ang file ng pagsasaayos ng Nginx at idagdag ang sumusunod na direktiba ng lokasyon, ang naka-highlight sa dilaw:

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

Reload ang serbisyo ng Nginx para sa mga pagbabago na magkakabisa:

sudo systemctl reload nginx

Tumungo sa https://mail.linuxize.com/rspamd/ , ipasok ang password na dati kang nabuo gamit ang utos ng rspamadm pw at bibigyan ka ng Rspamd web interface.

I-configure ang Postfix

Kailangan nating i-configure ang Postfix upang magamit ang Rspamd milter.

Patakbuhin ang sumusunod na utos upang i-update ang Postfix pangunahing pagsasaayos ng file:

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"

I-restart ang serbisyo ng Postfix para sa mga pagbabago na magkakabisa:

sudo systemctl restart postfix

I-configure ang Dovecot

Naka-install na at na-configure na namin ang Dovecot sa pangalawang bahagi ng seryeng ito at ngayon ay mai-install namin ang module ng pagsala ng sieve at isama ang Dovecot sa Rspamd.

Magsimula sa pamamagitan ng pag-install ng module ng pag-filter ng Dovecot:

sudo apt install dovecot-sieve dovecot-managesieved

Kapag na-install ang mga pakete buksan ang mga sumusunod na file at i-edit ang mga linya na naka-highlight sa dilaw.

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

I-save at isara ang mga file.

Lumikha ng isang direktoryo para sa mga script ng salaan:

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

Lumikha ng isang global filter ng sala upang ilipat ang mga email na minarkahan bilang spam sa direktoryo ng 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; }

Ang sumusunod na dalawang script ng sieve ay ma-trigger kapag inililipat mo ang isang email o o labas ng direktoryo ng 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";

I-restart ang serbisyo ng Dovecot para sa mga pagbabago na magkakabisa:

sudo systemctl restart dovecot

Itala ang mga script ng salaan at itakda ang tamang mga pahintulot:

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/

Lumikha ng mga susi ng DKIM

Ang DomainKeys Identified Mail (DKIM) ay isang paraan ng pagpapatunay ng email na nagdaragdag ng isang pirma ng kriptograpiko sa mga paparating na header ng mensahe. Pinapayagan nito ang tatanggap na i-verify na ang isang email na nag-aangkin na nagmula sa isang tiyak na domain ay talagang pinahintulutan ng may-ari ng domain na iyon. Ang pangunahing layunin nito ay upang maiwasan ang huwad na mga mensahe sa email.

Maaari kaming magkaroon ng iba't ibang mga susi ng DKIM para sa lahat ng aming mga domain at kahit isang maramihang mga susi para sa isang solong domain ngunit para sa pagiging simple ng artikulong ito ay gagamitin namin ang isang solong DKIM na kung saan mamaya ay maaaring magamit para sa lahat ng mga bagong domain.

Lumikha ng isang bagong direktoryo upang maiimbak ang DKIM key at makabuo ng isang bagong keypair ng DKIM gamit ang rspamadm utility:

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

Sa halimbawa sa itaas ginagamit namin ang mail bilang isang selektor ng DKIM.

Dapat mayroon ka na ngayong dalawang bagong mga file sa /var/lib/rspamd/dkim/ direktoryo, mail.key kung saan ay ang aming pribadong key file at mail.pub isang file na naglalaman ng DKIM pampublikong susi. I-update namin ang aming mga tala sa zone ng DNS.

Itakda ang tamang pagmamay-ari at pahintulot:

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

Ngayon kailangan nating sabihin sa Rspamd kung saan hahanapin ang susi ng DKIM, ang pangalan ng tagapili at ang huling linya ay magpapahintulot sa pag-sign ng DKIM para sa mga address ng nagpadala. Upang gawin iyon lumikha ng isang bagong file na may mga sumusunod na nilalaman:

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

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

Sinusuportahan din ni Rspamd ang pag-sign para sa mga pirma sa Authenticated Natanggap na Chain (ARC). Makakahanap ka ng mas maraming impormasyon tungkol sa detalye ng ARC dito.

Ang Rspamd ay gumagamit ng DKIM module para sa pakikitungo sa mga lagda ng ARC upang maaari nating kopyahin ang nakaraang pagsasaayos:

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

I-restart ang serbisyo ng Rspamd para sa mga pagbabago na magkakabisa:

sudo systemctl restart rspamd

Mga setting ng DNS

Nilikha na namin ang isang pares ng DKIM key at ngayon kailangan nating i-update ang aming DNS zone. Ang pampublikong susi ng DKIM ay naka-imbak sa mail.pub file. Ang nilalaman ng file ay dapat magmukhang ganito:

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

Gagawa rin tayo ng isang Authentication ng Mensahe na nakabatay sa Domain ( DMARC ) na idinisenyo upang sabihin sa tumatanggap ng server kung tatanggap man o hindi ang isang email mula sa isang partikular na nagpadala. Karaniwang maprotektahan nito ang iyong domain laban sa direktang pag-aayos ng domain at pagbutihin ang reputasyon ng iyong domain.

ipatutupad namin ang sumusunod na patakaran ng DMARC:

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

Ihiwalay natin ang nasa itaas na rekord ng DMARC:

  • v=DMARC1 - Ito ang DMARC identifier p=none - Sinasabi nito sa tatanggap kung ano ang gagawin sa mga mensahe na nabigo sa DMARC. Sa aming kaso ito ay nakatakda sa wala na nangangahulugan na huwag gumawa ng aksyon kung nabigo ang isang mensahe sa DMARC. Maaari mo ring gamitin ang 'tanggihan' o quarantine adkim=r at aspf=r - DKIM at alignment ng SPF , r para sa Nakakarelaks at s para sa Strict, sa aming kaso ay gumagamit kami ng Relaxed Alignment para sa parehong DKIM at SPF.

_dmarc tulad ng _dmarc kung nagpapatakbo ka ng iyong sariling Bind DNS server kailangan mo lamang kopyahin at i-paste ang record sa iyong domain zone file, at kung gumagamit ka ng isa pang DNS provider kailangan mong lumikha ng talaan ng TXT na may _dmarc bilang isang pangalan at v=DMARC1; p=none; adkim=r; aspf=r; v=DMARC1; p=none; adkim=r; aspf=r; bilang isang halaga / nilalaman.

Maaaring tumagal ng ilang sandali para sa mga pagbabago ng DNS na lumaganap. Maaari mong suriin kung ang mga rekord ay lumaganap gamit ang utos ng paghukay:

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

Maaari mo ring suriin ang iyong kasalukuyang kasalukuyang patakaran ng DMARC o lumikha ng iyong sariling patakaran ng DMARC dito.

Konklusyon

Ito ay para sa bahaging ito ng tutorial. Sa susunod na bahagi ng seryeng ito, magpapatuloy kami sa pag-install at pagsasaayos ng RoundCube.

mail server postfix dovecot dns rspamd

Ang post na ito ay isang bahagi ng Pag-set up at pag-configure ng serye ng server ng mail.

Iba pang mga post sa seryeng ito:

• Mag-set up ng isang mail server na may PostfixAdmin • I-install at i-configure ang Postfix at Dovecot • I-install at Isama ang Rspamd • I-install at I-configure ang Roundcube Webmail