Kako dodati antivirusnu zaštitu i zaštitu od spama na Postfix Mail Server s ClamAV i SpamAssassin - 3. dio


U prethodna dva članka ove serije Postfix naučili ste kako postaviti i upravljati bazom podataka poslužitelja e-pošte putem phpMyAdmina te kako konfigurirati Postfix i Dovecot za obradu dolazne i odlazne pošte. Osim toga, objasnili smo kako postaviti klijent e-pošte, kao što je Thunderbird, za virtualne račune koje smo prethodno stvorili.

  1. Postavljanje Postfix poslužitelja pošte i Dovecota s MariaDB – 1. dio
  2. Kako konfigurirati Postfix i Dovecot s korisnicima virtualne domene – 2. dio
  3. Instalirajte i konfigurirajte RoundCube Webmail Client s virtualnim korisnicima u Postfixu – 4. dio
  4. Koristite Sagator, antivirusni/antispam pristupnik za zaštitu vašeg poslužitelja e-pošte – dio 5

Budući da nijedno postavljanje poslužitelja e-pošte ne može biti potpuno bez poduzimanja mjera protiv virusa i neželjene pošte, pokrit ćemo tu temu u ovom članku.

Imajte na umu da čak i kada se operativni sustavi *nix-ovi obično smatraju slobodnima od virusa, velika je vjerojatnost da će se klijenti koji koriste druge operativne sustave također povezati s vašim poslužiteljem e-pošte.

Iz tog razloga morate im pružiti povjerenje da ste poduzeli potrebne mjere kako biste ih u najvećoj mogućoj mjeri zaštitili od takvih prijetnji.

Konfiguriranje SpamAssassin za Postfix

U procesu primanja e-pošte, spamassassin će stajati između vanjskog svijeta i usluga e-pošte koje rade na samom vašem poslužitelju. Ako utvrdi, u skladu sa svojim definicijskim pravilima i konfiguracijom, da je dolazna poruka spam, prepisat će predmet kako bi je jasno identificirao kao takvu. Pogledajmo kako.

Glavna konfiguracijska datoteka je /etc/mail/spamassassin/local.cf i trebali bismo provjeriti jesu li sljedeće opcije dostupne (dodajte ih ako nisu prisutne ili uklonite komentar ako je potrebno):

report_safe 0
required_score 8.0
rewrite_header Subject [SPAM]
  1. Kada je report_safe postavljen na 0 (preporučena vrijednost), dolazna neželjena pošta modificira se samo modificiranjem zaglavlja e-pošte prema rewrite_header. Ako je postavljeno na 1, poruka će biti izbrisana.
  2. Da biste postavili agresivnost filtra neželjene pošte, nakon required_score mora slijediti cijeli ili decimalni broj. Što je broj manji, filtar postaje osjetljiviji. Postavljanje required_score na vrijednost negdje između 8,0 i 10,0 preporučuje se za veliki sustav koji opslužuje mnogo (~100s) računi e-pošte.

Nakon što spremite te promjene, omogućite i pokrenite uslugu filtriranja neželjene pošte, a zatim ažurirajte pravila neželjene pošte:

systemctl enable spamassassin
systemctl start spamassassin
sa-update

Za više opcija konfiguracije, možda ćete htjeti pogledati dokumentaciju pokretanjem perldoc Mail::SpamAssassin::Conf u naredbenom retku.

Integracija Postfixa i SpamAssassina

Kako bismo učinkovito integrirali Postfix i spamassassin, morat ćemo stvoriti namjenskog korisnika i grupu za pokretanje demona filtera neželjene pošte:

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

Zatim dodajte sljedeći redak na dno /etc/postfix/master.cf:

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

I označite (na vrhu) da će spamassassin služiti kao content_filter:

-o content_filter=spamassassin

Na kraju ponovno pokrenite Postfix za primjenu promjena:

systemctl restart postfix

Da biste provjerili radi li SpamAssassin ispravno i otkriva li dolaznu neželjenu poštu, postoji test poznat kao GTUBE (Generic Test for Unsolicited Bulk Email).

Da biste izvršili ovaj test, pošaljite e-poštu s domene izvan vaše mreže (kao što je Yahoo!, Hotmail ili Gmail) na račun koji se nalazi na vašem poslužitelju e-pošte. Postavite predmet na što god želite i uključite sljedeći tekst u tijelo poruke:

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

Na primjer, slanje gornjeg teksta u tijelu poruke s mog Gmail računa daje sljedeći rezultat:

I prikazuje odgovarajuću obavijest u zapisima:

journalctl | grep spam

Kao što možete vidjeti na gornjoj slici, ova poruka e-pošte dobila je ocjenu neželjene pošte 1002,3. Dodatno, možete testirati spamassassin izravno iz naredbenog retka:

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

Gornja naredba proizvest će stvarno detaljan izlaz koji bi trebao uključivati sljedeće:

Ako ovi testovi ne budu uspješni, možete pogledati vodič za integraciju spamassassin.

Pokretanje ClamAV-a i ažuriranje definicija virusa

Za početak ćemo morati urediti /etc/clamd.d/scan.conf. Odkomentirajte sljedeći redak:

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

i komentirajte ili izbrišite redak:

Example

Zatim omogućite i pokrenite demon skenera clamav:

systemctl enable [email 
systemctl start [email 

i ne zaboravite postaviti antivirus_can_scan_system SELinux boolean na 1:

setsebool -P antivirus_can_scan_system 1

U ovom trenutku vrijedi i dobro je provjeriti status usluge:

Kao što možete vidjeti na gornjoj slici, naši virusni potpisi stariji su od 7 dana. Za njihovo ažuriranje koristit ćemo alat pod nazivom freshclam koji je instaliran kao dio paketa clamav-update.

Najlakši način za ažuriranje definicija virusa je kroz cron posao koji se izvršava onoliko često koliko želite (jednom dnevno, na primjer, u 1 ujutro vrijeme poslužitelja kao što je navedeno u sljedećem primjeru smatra se dovoljnim):

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

Definicije virusa možete ažurirati i ručno, ali prije toga ćete također morati ukloniti ili komentirati sljedeći redak u /etc/freshclam.conf.

Example

Sada biste trebali moći pokrenuti:

freshclam

koji će ažurirati definicije virusa po želji:

Testiranje ClamAV-a na viruse u e-pošti

Da provjerimo da ClamAV radi ispravno, preuzmimo testni virus (koji možemo nabaviti s http://www.eicar.org/download/eicar.com) u Maildir od [email  ( koji se nalazi u /home/vmail/linuxnewz.com/tecmint/Maildir) za simulaciju zaražene datoteke primljene kao privitak pošte:

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

Zatim skenirajte direktorij /home/vmail/linuxnewz.com rekurzivno:

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

Sada slobodno postavite ovo skeniranje da radi kroz cronjob. Napravite datoteku pod nazivom /etc/cron.daily/dailyclamscan, umetnite sljedeće retke:

#!/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

i dati dopuštenja za izvršenje:

chmod +x /etc/cron.daily/dailyclamscan

Gornji cronjob će skenirati direktorij poslužitelja e-pošte rekurzivno i ostaviti zapisnik svog rada u /var/log/clamav/dailyclamscan.log (provjerite je li /var/log/clamav imenik postoji).

Pogledajmo što se događa kada pošaljemo datoteku eicar.com s [email  na [email :

Sažetak

Ako ste slijedili korake navedene u ovom vodiču iu prethodna dva članka ove serije, sada imate Postfix poslužitelj e-pošte koji radi sa spam i antivirusnom zaštitom.

ODRICANJE ODGOVORNOSTI: Imajte na umu da je sigurnost poslužitelja opsežna tema i da se ne može adekvatno obraditi u kratkoj seriji poput ove.

Iz tog razloga, snažno vas potičem da se upoznate s alatima koji se koriste u ovoj seriji i njihovim man stranicama. Iako sam dao sve od sebe da pokrijem bitne koncepte povezane s ovom temom, nemojte pretpostavljati da ste nakon prolaska kroz ovu seriju potpuno kvalificirani za postavljanje i održavanje poslužitelja e-pošte u proizvodnom okruženju.

Ova serija je zamišljena kao početna točka, a ne kao iscrpan vodič za administraciju poslužitelja pošte u Linuxu.

Vjerojatno ćete pomisliti na druge ideje koje mogu obogatiti ovu seriju. Ako je tako, slobodno nam pošaljite poruku koristeći obrazac za komentare u nastavku. Pitanja i drugi prijedlozi su također cijenjeni – veselimo se vašem odgovoru!