Rspamd integration into FreeBSD.org mail infrastructure
Talaan ng mga Nilalaman:
- Mga kinakailangan
- I-install ang Redis
- I-install ang Unbound
- I-install ang Rspamd
- I-configure ang Rspamd
- I-configure ang Nginx
- I-configure ang Postfix
- I-configure ang Dovecot
- Lumikha ng mga susi ng DKIM
- Mga setting ng DNS
- Konklusyon
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:
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:
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:
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
:
servers = "127.0.0.1"; backend = "redis";
Buksan ang file ng
milter_headers.conf
at itakda ang mga header ng
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:
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
:
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
:
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:
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 identifierp=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' oquarantineadkim=rataspf=r-DKIMat alignment ngSPF,rpara sa Nakakarelaks atspara 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 rspamdAng 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"Ang bawat tao'y nagsasalita tungkol sa kung paano mga consumer hindi alam kung ano ang nangyayari, at kung alam nila kung ano ang nangyayari, sila ay magiging horrified, "sabi ni Rubin. "Ang dahilan kung bakit hindi nila alam ang tungkol dito ay hindi sila nag-aalinlangan upang malaman ang tungkol dito, at ang dahilan kung bakit hindi sila nag-aalinlangan upang malaman ang tungkol dito ay dahil wala nang masama ang nangyari."
[Karagdagang pagbabasa: Ang pinakamahusay TV streaming services]
Isama ang Online Upang I-save ang Mga Bayad sa Legal
Ang MyCorporation ay bumubuo sa legal na pundasyon para sa iyong negosyo para sa mas kaunting pera kaysa sa isang lokal na abogado. isang negosyo, nagbabayad ng isang lokal na abogado kung ano ang aking naisip ay isang makatwirang rate upang magbigay ng tulong. Ngunit ang mga nakakahimok na serbisyo sa web ay maaaring magsagawa ng parehong proseso, at minus ang halaga ng isang personal na contact. Magkano ang isang lokal na abogado na nagkakahalaga sa iyo? Sa aking kaso, ang pagkakaiba ay tungko
Ang Verizon ay gumawa ng ilang mga menor de edad na mga pagsasaayos sa pinakabagong serye ng mga 3G coverage ng mga ad, ngunit ang AT & T ay hindi impressed. Pinalawak ng AT & T ang paunang reklamo at kahilingan para sa injunction na isama ang mga bagong ad, at nagbigay ng pahayag upang 'itakda ang tuwid na tala' tungkol sa mga claim sa Verizon. Talaga bang nararapat ang mga ad na ito ng pansin?
Una sa lahat, ano ang inaasahan ng AT & T na magawa? Kung ang layunin ay upang maiwasan ang mga customer at prospective na mga customer mula sa pag-aaral tungkol sa kanyang kalat 3G coverage, ang pag-file ng isang kaso at pagguhit ng pansin ng media ay hindi isang mahusay na diskarte. Ang netong resulta ay isang bungkos ng libreng advertising para sa Verizon.







