ClamAV ve SpamAssassin ile Postfix Posta Sunucusuna Antivirüs ve Spam Koruması Nasıl Eklenir - Bölüm 3


Bu Postfix serisinin önceki iki makalesinde, phpMyAdmin aracılığıyla e-posta sunucusu veritabanını nasıl kurup yöneteceğinizi ve Postfix ve Dovecot'u gelen ve giden postaları yönetecek şekilde nasıl yapılandıracağınızı öğrendiniz. Ayrıca daha önce oluşturduğumuz sanal hesaplar için Thunderbird gibi mail client kurulumunun nasıl yapılacağını anlattık.

  1. MariaDB ile Postfix Posta Sunucusu ve Dovecot Kurulumu – Bölüm 1
  2. Sanal Etki Alanı Kullanıcılarıyla Postfix ve Dovecot Nasıl Yapılandırılır – Bölüm 2
  3. Postfix'te RoundCube Web Posta İstemcisini Sanal Kullanıcılarla Kurma ve Yapılandırma - Bölüm 4
  4. Posta Sunucunuzu Korumak için bir Antivirüs/Antispam Ağ Geçidi olan Sagator'ı kullanın – Bölüm 5

Virüslere ve spamlara karşı önlem alınmadan hiçbir e-posta sunucusu kurulumu tamamlanamayacağı için bu yazımızda bu konuya değineceğiz.

*nix benzeri işletim sistemlerinin genellikle virüssüz olduğu düşünülse bile, diğer işletim sistemlerini kullanan istemcilerin de e-posta sunucunuza bağlanma ihtimalinin yüksek olduğunu lütfen unutmayın.

Bu nedenle onları bu tür tehditlerden mümkün olduğunca korumak için gerekli önlemleri aldığınıza dair onlara güven vermeniz gerekir.

Postfix için SpamAssassin'i Yapılandırma

E-posta alma sürecinde spamassassin, dış dünya ile sunucunuzda çalışan e-posta hizmetleri arasında duracaktır. Tanım kurallarına ve yapılandırmasına göre gelen bir mesajın spam olduğunu tespit ederse, konuyu açıkça tanımlayacak şekilde konu satırını yeniden yazacaktır. Bakalım nasıl olacak?

Ana yapılandırma dosyası /etc/mail/spamassassin/local.cf'dir ve aşağıdaki seçeneklerin mevcut olduğundan emin olmalıyız (mevcut değilse ekleyin veya gerekirse açıklamayı kaldırın):

report_safe 0
required_score 8.0
rewrite_header Subject [SPAM]
  1. report_safe 0 (önerilen değer) olarak ayarlandığında, gelen spam yalnızca e-posta başlıklarının rewrite_header uyarınca değiştirilmesiyle değiştirilir. 1 olarak ayarlanırsa mesaj silinecektir.
  2. Spam filtresinin agresifliğini ayarlamak için required_score'un ardından bir tamsayı veya ondalık sayı gelmelidir. Sayı ne kadar küçük olursa filtre o kadar hassas olur. Çok sayıda (~100s)'ye hizmet veren büyük bir sistem için required_score'un 8,0 ile 10,0 arasında bir değere ayarlanması önerilir. e-posta hesapları.

Bu değişiklikleri kaydettikten sonra spam filtresi hizmetini etkinleştirip başlatın ve ardından spam kurallarını güncelleyin:

systemctl enable spamassassin
systemctl start spamassassin
sa-update

Daha fazla yapılandırma seçeneği için komut satırında perldoc Mail::SpamAssassin::Conf komutunu çalıştırarak belgelere başvurmak isteyebilirsiniz.

Postfix ve SpamAssassin'i entegre etme

Postfix ve spamassassin'i verimli bir şekilde entegre etmek için, spam filtresi arka plan programını çalıştıracak özel bir kullanıcı ve grup oluşturmamız gerekecek:

useradd spamd -s /bin/false -d /var/log/spamassassin

Daha sonra /etc/postfix/master.cf dosyasının altına aşağıdaki satırı ekleyin:

spamassassin unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Ve (en üstte) spamassassin'in content_filter görevi göreceğini belirtin:

-o content_filter=spamassassin

Son olarak değişiklikleri uygulamak için Postfix'i yeniden başlatın:

systemctl restart postfix

SpamAssassin'in düzgün çalıştığını ve gelen spam'leri algıladığını doğrulamak için GTUBE (İstenmeyen Toplu E-posta için Genel Test) olarak bilinen bir test sağlanır.

Bu testi gerçekleştirmek için ağınızın dışındaki bir alan adından (Yahoo!, Hotmail veya Gmail gibi) e-posta sunucunuzda bulunan bir hesaba e-posta gönderin. Konu satırını istediğiniz gibi ayarlayın ve mesaj gövdesine aşağıdaki metni ekleyin:

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

Örneğin, yukarıdaki metni Gmail hesabımdan bir mesaj gövdesinde göndermek aşağıdaki sonucu doğurur:

Ve günlüklerdeki ilgili bildirimi gösterir:

journalctl | grep spam

Yukarıdaki resimde görebileceğiniz gibi, bu e-posta iletisinin spam puanı 1002,3'tür. Ayrıca spamassassin'i doğrudan komut satırından test edebilirsiniz:

spamassassin -D < /usr/share/doc/spamassassin-3.4.0/sample-spam.txt

Yukarıdaki komut, aşağıdakileri içermesi gereken gerçekten ayrıntılı bazı çıktılar üretecektir:

Bu testler başarılı olmazsa spamassassin entegrasyon rehberine başvurmak isteyebilirsiniz.

ClamAV'ı Başlatma ve Virüs Tanımlarını Güncelleme

Başlamak için /etc/clamd.d/scan.conf dosyasını düzenlememiz gerekecek. Aşağıdaki satırın yorumunu kaldırın:

LocalSocket /var/run/clamd.scan/clamd.sock

ve satırı yorumlayın veya silin:

Example

Ardından clamav tarayıcı arka plan programını etkinleştirin ve başlatın:

systemctl enable [email 
systemctl start [email 

ve antivirus_can_scan_system SELinux boole değerini 1 olarak ayarlamayı unutmayın:

setsebool -P antivirus_can_scan_system 1

Bu noktada hizmetin durumunu kontrol etmekte fayda var:

Yukarıdaki resimde görebileceğiniz gibi virüs imzalarımız 7 günden daha eski. Bunları güncellemek için clamav-update paketinin bir parçası olarak yüklenen freshclam adlı bir aracı kullanacağız.

Virüs tanımlarını güncellemenin en kolay yolu, istenildiği sıklıkta yürütülen bir cron işidir (örneğin günde bir kez, aşağıdaki örnekte belirtildiği gibi 01:00 sunucu saatinde yeterli kabul edilir):

00 01 * * * root /usr/share/clamav/freshclam-sleep

Virüs tanımlarını manuel olarak da güncelleyebilirsiniz, ancak öncesinde /etc/freshclam.conf dosyasındaki aşağıdaki satırı da kaldırmanız veya yorumunu kaldırmanız gerekecektir.

Example

Artık koşabilmeniz gerekir:

freshclam

virüs tanımlarını istenildiği gibi güncelleyecektir:

ClamAV'ı E-postalarda Virüs Açısından Test Etme

ClamAV'ın düzgün çalıştığını doğrulamak için, [email  Maildir'ine bir test virüsü (bunu http://www.eicar.org/download/eicar.com adresinden alabiliriz) indirelim ( Posta eki olarak alınan virüslü bir dosyayı simüle etmek için /home/vmail/linuxnewz.com/tecmint/Maildir adresinde bulunur:

cd /home/vmail/linuxnewz.com/tecmint/Maildir
wget http://www.eicar.org/download/eicar.com

Daha sonra /home/vmail/linuxnewz.com dizinini tekrar tekrar tarayın:

clamscan --infected --remove --recursive /home/vmail/linuxnewz.com

Şimdi bu taramayı bir cronjob üzerinden çalışacak şekilde ayarlamaktan çekinmeyin. /etc/cron.daily/dailyclamscan adında bir dosya oluşturun, aşağıdaki satırları ekleyin:

#!/bin/bash
SCAN_DIR="/home/vmail/linuxnewz.com"
LOG_FILE="/var/log/clamav/dailyclamscan.log"
touch $LOG_FILE
/usr/bin/clamscan --infected --remove --recursive $SCAN_DIR >> $LOG_FILE

ve yürütme izinlerini verin:

chmod +x /etc/cron.daily/dailyclamscan

Yukarıdaki cronjob, posta sunucusu dizinini yinelemeli olarak tarayacak ve /var/log/clamav/dailyclamscan.log dosyasında işleminin bir günlüğünü bırakacaktır (/var/log/clamav olduğundan emin olun). Strong> dizini mevcut).

eicar.com dosyasını [e-posta korumalı]'dan [e-posta korumalı]'a gönderdiğimizde ne olacağını görelim:

Özet

Bu eğitimde ve bu serinin önceki iki makalesinde özetlenen adımları izlediyseniz artık spam ve antivirüs korumasına sahip çalışan bir Postfix e-posta sunucunuz var.

YASAL UYARI: Sunucu güvenliğinin çok geniş bir konu olduğunu ve bunun gibi kısa bir seride yeterince ele alınamayacağını lütfen unutmayın.

Bu nedenle, bu seride kullanılan araçlara ve bunların kılavuz sayfalarına aşina olmanızı önemle tavsiye ederim. Bu konuyla ilgili temel kavramları ele almak için elimden gelenin en iyisini yapmış olsam da, bu seriyi tamamladıktan sonra üretim ortamında bir e-posta sunucusu kurma ve bakımını yapma konusunda tam yetkili olduğunuzu varsaymayın.

Bu seri, Linux'ta posta sunucusu yönetimine ilişkin kapsamlı bir kılavuz olmayıp, bir başlangıç noktası olarak tasarlanmıştır.

Muhtemelen bu seriyi zenginleştirebilecek başka fikirler de düşüneceksiniz. Öyleyse, aşağıdaki yorum formunu kullanarak bize bir not bırakmaktan çekinmeyin. Sorular ve diğer öneriler de memnuniyetle karşılanmaktadır; sizden haber almayı sabırsızlıkla bekliyoruz!