Rspamd — высокопроизводительная система фильтрации спама / Всеволод Стахов (University of Cambridge)
İçindekiler:
- Ön şartlar
- Redis'i Yükle
- Bağlanmamış Yükleme
- Rspamd yükleyin
- Rspamd'yi yapılandırma
- Nginx'i Yapılandır
- Postfix'i Yapılandır
- Dovecot'u Yapılandır
- DKIM anahtarları oluşturma
- DNS ayarları
- Sonuç
Bu, posta sunucusu kurma ve yapılandırma işlemimizin üçüncü bölümüdür. Bu derste Rspamd spam filtreleme sisteminin kurulumu ve yapılandırması ve posta sunucumuza entegrasyonu ile DKIM ve DMARC DNS kayıtları oluşturulacaktır.
Spamassassin ile değil, neden Rspamd ile gitmeyi seçtiğimizi sorabilirsiniz. Rspamd C'de daha aktif bir şekilde korunur ve yazılır ve Perl'de yazılmış Spamassassin'den çok daha hızlıdır. Başka bir neden Rspamd bir DKIM imzalama modülü ile geliyor, bu yüzden giden e-postalarımızı imzalamak için başka bir yazılım kullanmamız gerekmeyecek.
Ön şartlar
Bu eğiticiye devam etmeden önce sudo ayrıcalıklarına sahip bir kullanıcı olarak oturum açtığınızdan emin olun.
Redis'i Yükle
Redis, Rspamd tarafından bir depolama ve önbellek sistemi olarak kullanılacak, sadece çalıştırmak için:
Bağlanmamış Yükleme
Unbound, çok güvenli bir doğrulama, özyinelemeli ve önbelleğe alma DNS çözümleyicisidir.
Bu hizmeti kurmanın temel amacı, harici DNS isteklerinin sayısını azaltmaktır. Bu adım isteğe bağlıdır ve atlanabilir.
sudo apt update
sudo apt install unbound
Varsayılan Bağlanmamış ayarları çoğu sunucu için yeterli olmalıdır.
Bağlı olmayan sunucunuzu birincil DNS çözümleyicisi olarak ayarlamak için aşağıdaki komutları çalıştırın:
sudo echo "nameserver 127.0.0.1" >> /etc/resolvconf/resolv.conf.d/head
sudo resolvconf -u
resolvconf
kullanmıyorsanız,
/etc/resolv.conf
dosyasını manuel olarak düzenlemeniz gerekir.
Rspamd yükleyin
Rspamd'ın en son kararlı sürümünü resmi deposundan kuracağız.
Gerekli paketleri kurarak başlayın:
sudo apt install software-properties-common lsb-release
sudo apt install lsb-release wget
Aşağıdaki wget komutunu kullanarak depo GPG anahtarını apt sources anahtarlığınıza ekleyin:
wget -O- https://rspamd.com/apt-stable/gpg.key | sudo apt-key add -
Rspamd deposunu çalıştırarak etkinleştirin:
echo "deb http://rspamd.com/apt-stable/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/rspamd.list
Depo etkinleştirildikten sonra paket dizinini güncelleyin ve aşağıdaki komutları kullanarak Rspamd'yi yükleyin:
sudo apt update
sudo apt install rspamd
Rspamd'yi yapılandırma
Stok yapılandırma dosyalarını değiştirmek yerine,
/etc/rspamd/local.d/local.d/
dizininde varsayılan ayarın üzerine
/etc/rspamd/local.d/local.d/
yeni dosyalar oluşturacağız.
Varsayılan olarak Rspamd'nin
normal worker
, e-posta iletilerini tarayan çalışan 11333 numaralı bağlantı noktasındaki tüm arabirimleri dinler. Rspamd normal çalışanını yalnızca localhost arabirimini dinleyecek şekilde yapılandırmak için aşağıdaki dosyayı oluşturun:
bind_socket = "127.0.0.1:11333";
proxy worker
, 11332 numaralı bağlantı noktasını dinler ve milter protokolünü destekler. Postfix'in Rspamd ile iletişim kurabilmesi için milter modunu etkinleştirmemiz gerekir:
bind_socket = "127.0.0.1:11332"; milter = yes; timeout = 120s; upstream "local" { default = yes; self_scan = yes; }
Ardından, Rspamd web arayüzüne erişim sağlayan
controller worker
sunucusu için bir şifre ayarlamamız gerekiyor. Şifrelenmiş bir şifre oluşturmak için:
rspamadm pw --encrypt -p P4ssvv0rD
Çıktı şöyle görünmelidir:
$2$khz7u8nxgggsfay3qta7ousbnmi1skew$zdat4nsm7nd3ctmiigx9kjyo837hcjodn1bob5jaxt7xpkieoctb
Şifreyi (
P4ssvv0rD
) daha güvenli bir
P4ssvv0rD
değiştirmeyi unutmayın.
Şifreyi terminalinizden kopyalayın ve yapılandırma dosyasına yapıştırın:
/etc/rspamd/local.d/worker-controller.inc
password = "$2$khz7u8nxgggsfay3qta7ousbnmi1skew$zdat4nsm7nd3ctmiigx9kjyo837hcjodn1bob5jaxt7xpkieoctb";
Daha sonra Nginx'i denetleyici çalışan web sunucusuna ters proxy olarak yapılandıracağız, böylece Rspamd web arayüzüne erişebilelim.
Classifier
classifier-bayes.conf
dosyasına aşağıdaki satırları ekleyerek Redis'i Rspamd istatistikleri için arka uç olarak ayarlayın:
servers = "127.0.0.1"; backend = "redis";
milter_headers.conf
dosyasını açın ve milter başlıklarını ayarlayın:
use =;
Milter başlıkları hakkında daha fazla bilgiyi burada bulabilirsiniz.
Son olarak değişikliklerin geçerli olması için Rspamd hizmetini yeniden başlatın:
Nginx'i Yapılandır
Bu serinin ilk bölümünde PostfixAdmin örneği için bir Nginx sunucu bloğu oluşturduk.
Nginx yapılandırma dosyasını açın ve sarı renkle vurgulanan aşağıdaki konum yönergesini ekleyin:
/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; }…
Değişikliklerin etkili olması için Nginx hizmetini yeniden yükleyin:
sudo systemctl reload nginx
https://mail.linuxize.com/rspamd/
,
rspamadm pw
komutunu kullanarak daha önce oluşturduğunuz şifreyi girin ve Rspamd web arayüzü ile karşılaşacaksınız.
Postfix'i Yapılandır
Postfix'i Rspamd milter'ı kullanacak şekilde yapılandırmamız gerekiyor.
Postfix ana yapılandırma dosyasını güncellemek için aşağıdaki komutu çalıştırın:
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"
sudo postconf -e "smtpd_milters = inet:127.0.0.1:11332"
sudo postconf -e "non_smtpd_milters = inet:127.0.0.1:11332"
Değişikliklerin etkili olması için Postfix hizmetini yeniden başlatın:
sudo systemctl restart postfix
Dovecot'u Yapılandır
Dovecot'u bu serinin ikinci bölümüne zaten kurduk ve yapılandırdık ve şimdi
sieve
filtreleme modülünü kuracağız ve Dovecot'u Rspamd ile entegre edeceğiz.
Dovecot filtreleme modülünü kurarak başlayın:
sudo apt install dovecot-sieve dovecot-managesieved
Paketler yüklendikten sonra aşağıdaki dosyaları açın ve sarı ile vurgulanan satırları düzenleyin.
/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…. }
Dosyaları kaydedin ve kapatın.
Elek komut dosyaları için bir dizin oluşturun:
mkdir -p /var/mail/vmail/sieve/global
Spam
olarak işaretlenmiş e-postaları
Spam
dizinine taşımak için genel bir elek filtresi oluşturun:
require; if anyof(header:contains "YES", header:contains "Yes", header:contains "*** SPAM ***") { fileinto:create "Spam"; stop; }
Bir e-postayı
Spam
dizinine
Spam
veya dışına aktardığınızda aşağıdaki iki elek komut dosyası tetiklenir:
require; pipe:copy "rspamc";
/var/mail/vmail/sieve/global/report-ham.sieve
require; pipe:copy "rspamc";
Değişikliklerin etkili olması için Dovecot hizmetini yeniden başlatın:
sudo systemctl restart dovecot
Elek komut dosyalarını derleyin ve doğru izinleri ayarlayın:
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/
DKIM anahtarları oluşturma
DomainKeys Identified Mail (DKIM), giden ileti başlıklarına şifreleme imzası ekleyen bir e-posta kimlik doğrulama yöntemidir. Alıcının, belirli bir alan adından kaynaklandığını iddia eden bir e-postanın gerçekten de bu alan adının sahibi tarafından yetkilendirildiğini doğrulamasına izin verir. Bunun temel amacı sahte e-posta mesajlarını önlemektir.
Tüm alanlarımız için farklı DKIM anahtarlarımız ve hatta tek bir alan adı için birden fazla anahtarımız olabilir, ancak bu makalenin basitliği için daha sonra tüm yeni alan adları için kullanılabilecek tek bir DKIM anahtarı kullanacağız.
DKIM anahtarını saklamak için yeni bir dizin oluşturun ve
rspamadm
yardımcı programını kullanarak yeni bir DKIM anahtar çifti oluşturun:
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
Yukarıdaki örnekte
mail
DKIM seçici olarak kullanıyoruz.
Artık
/var/lib/rspamd/dkim/
dizininde iki özel dosyanız olmalıdır, özel anahtar dosyamız olan
mail.pub
ve DKIM ortak anahtarını içeren bir
mail.pub
dosyası. DNS bölge kayıtlarımızı daha sonra güncelleyeceğiz.
Doğru sahipliği ve izinleri ayarlayın:
sudo chown -R _rspamd: /var/lib/rspamd/dkim
sudo chmod 440 /var/lib/rspamd/dkim/*
Şimdi Rspamd'e DKIM anahtarını nerede arayacağımızı söylemeliyiz, seçicinin adı ve son satır diğer ad gönderen adresleri için DKIM imzalamayı etkinleştirecek. Bunu yapmak için aşağıdaki içeriklerle yeni bir dosya oluşturun:
/etc/rspamd/local.d/dkim_signing.conf
selector = "mail"; path = "/var/lib/rspamd/dkim/$selector.key"; allow_username_mismatch = true;
Rspamd, Kimliği Doğrulanmış Alınan Zincir (ARC) imzalarının imzalanmasını da destekler. ARC spesifikasyonu hakkında daha fazla bilgiyi burada bulabilirsiniz.
Rspamd, önceki yapılandırmayı kopyalayabilmemiz için ARC imzalarıyla uğraşmak için DKIM modülünü kullanıyor:
sudo cp /etc/rspamd/local.d/dkim_signing.conf /etc/rspamd/local.d/arc.conf
Değişikliklerin etkili olması için Rspamd hizmetini yeniden başlatın:
DNS ayarları
Zaten bir DKIM anahtar çifti oluşturduk ve şimdi DNS bölgemizi güncellememiz gerekiyor. DKIM ortak anahtarı
mail.pub
dosyasında saklanır. Dosyanın içeriği şöyle görünmelidir:
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
Ayrıca alıcı sunucuya belirli bir gönderenden gelen bir e-postayı kabul edip etmeyeceğini bildirmek için tasarlanmış bir Etki Alanı Tabanlı İleti Kimlik Doğrulaması (
DMARC
) oluşturacağız. Temel olarak, alanınızı doğrudan alan adı sahteciliğine karşı koruyacak ve alan adınızın itibarını artıracaktır.
aşağıdaki DMARC politikasını uygulayacağız:
_dmarc IN TXT "v=DMARC1; p=none; adkim=r; aspf=r;"
Yukarıdaki DMARC kaydını parçalayalım:
-
v=DMARC1- Bu, DMARC tanımlayıcısıdırp=none- Bu, alıcıyav=DMARC1başarısız olan mesajlarla ne yapacağını söyler. Bizim durumumuzda hiçbiri olarak ayarlanmıştır, bu da bir mesajın DMARC'de başarısız olması durumunda herhangi bir işlem yapmamak anlamına gelir. Ayrıca 'reddet' veyaquarantineadkim=rveaspf=r-DKIMveSPFhizalaması,rRahat vesiçin Katı, bizim durumumuzda hem DKIM hem de SPF için Rahat Hizalama kullanıyoruz.
Daha önce olduğu gibi, kendi Bağlama DNS sunucunuzu çalıştırıyorsanız, kaydı kopyalayıp etki alanı bölge dosyanıza yapıştırmanız gerekir ve başka bir DNS sağlayıcısı kullanıyorsanız,
_dmarc
olarak
_dmarc
ile bir TXT kaydı oluşturmanız gerekir ve
v=DMARC1; p=none; adkim=r; aspf=r;
v=DMARC1; p=none; adkim=r; aspf=r;
değer / içerik olarak.
DNS değişikliklerinin yayılması biraz zaman alabilir. Dig komutunu kullanarak kayıtların yayılıp yayılmadığını kontrol edebilirsiniz:
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;"
Ayrıca, geçerli alan DMARC politikanızı inceleyebilir veya kendi DMARC politikanızı burada oluşturabilirsiniz.
Sonuç
Öğreticinin bu kısmı bu kadar. Bu serinin bir sonraki bölümünde, RoundCube kurulum ve yapılandırmasına devam edeceğiz.
posta sunucusu postfix dovecot dns rspamdBu yayın, bir posta sunucusu serisinin kurulması ve yapılandırılmasının bir parçasıdır.
Bu serideki diğer gönderiler:
• PostfixAdmin ile posta sunucusu kurma • Postfix ve Dovecot'u yükleme ve yapılandırma • Rspamd Yükleme ve Entegre Etme • Roundcube Webmail'i Yükleme ve YapılandırmaWindows 7 / Vista / Xp`yi yükleyin, yeniden yükleyin, yükseltin, kaldırın, onarın
Microsoft yeni Sadece Windows 7, Windows Vista ve Windows Xp`nin nasıl kurulacağı, yeniden yükleneceği, yükseltileceği veya kaldırılacağı üzerine odaklanan bir web sitesi.
Project Astoria ile yükleyin: Android uygulamalarını Windows 10 Mobile`a yükleyin
Android uygulamalarını bir araç kullanarak Windows 10 Mobile Lumia telefonunuza yükleyebilirsiniz. Proje Astoria denir. Bu telefonun tuğla olabileceğinden emin olun.
Kullanarak yükleyin Mac OS X`te Windows OS`yi VMware Fusion kullanarak yükleyin
VMWare`i kullanarak bir Sanal Makinede Windows 10 / 8`in nasıl yükleneceğini ve çalıştırılacağını öğrenin Mac OS X kolayca. Ancak bazı önkoşullar var.







