Kako dodati antivirusnu i spam zaštitu na Postfix mail server sa ClamAV i SpamAssassin - dio 3


U prethodna dva članka ove Postfix serije naučili ste kako postaviti i upravljati bazom podataka servera e-pošte putem phpMyAdmin-a i kako konfigurirati Postfix i Dovecot za rukovanje dolaznom i odlaznom poštom. Osim toga, objasnili smo kako postaviti klijenta e-pošte, kao što je Thunderbird, za virtuelne naloge koje smo prethodno kreirali.

  1. Postavite Postfix Mail Server i Dovecot sa MariaDB – 1. dio
  2. Kako konfigurirati Postfix i Dovecot s korisnicima virtualne domene – 2. dio
  3. Instalirajte i konfigurirajte RoundCube Webmail klijenta s virtualnim korisnicima u Postfixu – 4. dio
  4. Koristite Sagator, antivirusni/antispam gateway da zaštitite svoj mail server – 5. dio

Pošto nijedno podešavanje servera e-pošte ne može biti završeno bez preduzimanja mera predostrožnosti protiv virusa i neželjene pošte, tu temu ćemo pokriti u ovom članku.

Imajte na umu da čak i kada se operativni sistemi *nix-slični obično smatraju bez virusa, velike su šanse da će se klijenti koji koriste druge operativne sisteme također povezati na vaš server e-pošte.

Iz tog razloga, morate im pružiti povjerenje da ste poduzeli potrebne mjere da ih zaštitite u najvećoj mogućoj mjeri 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 serveru. Ako otkrije, u skladu sa svojim pravilima definicije i konfiguracijom, da je dolazna poruka neželjena pošta, ponovo će napisati naslov teme da bi je jasno identifikovao kao takvu. Hajde da vidimo kako.

Glavna konfiguracijska datoteka je /etc/mail/spamassassin/local.cf, i trebali bismo se pobrinuti da su sljedeće opcije dostupne (dodajte ih ako nisu prisutne ili dekomentirajte ako je potrebno):

report_safe 0
required_score 8.0
rewrite_header Subject [SPAM]
  1. Kada je report_safe postavljeno na 0 (preporučena vrijednost), dolazni neželjeni sadržaj se mijenja samo modifikacijom zaglavlja e-pošte prema rewrite_headeru. Ako je postavljeno na 1, poruka će biti izbrisana.
  2. Za postavljanje agresivnosti filtera za neželjenu poštu, required_score mora biti praćen cijelim ili decimalnim brojem. Što je broj manji, filter postaje osjetljiviji. Postavljanje required_score na vrijednost negdje između 8.0 i 10.0 se preporučuje za veliki sistem koji opslužuje mnogo (~100s) email nalozi.

Nakon što sačuvate te promjene, omogućite i pokrenite uslugu filtriranja neželjene pošte, a zatim ažurirajte pravila za neželjenu poštu:

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 komandnoj liniji.

Integracija Postfixa i SpamAssasina

Da bismo efikasno integrisali Postfix i spamassassin, moraćemo da kreiramo namenskog korisnika i grupu za pokretanje demona filtera neželjene pošte:

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

Zatim dodajte sljedeći red 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 naznačite (na vrhu) da će spamassassin služiti kao content_filter:

-o content_filter=spamassassin

Konačno, ponovo pokrenite Postfix da biste primijenili promjene:

systemctl restart postfix

Da biste provjerili da SpamAssassin radi ispravno i otkriva dolaznu neželjenu poštu, obezbjeđen je test poznat kao GTUBE (Generički test za neželjenu masovnu e-poštu).

Da biste izvršili ovaj test, pošaljite e-poštu sa domene van vaše mreže (kao što je Yahoo!, Hotmail ili Gmail) na nalog koji se nalazi na vašem serveru e-pošte. Postavite Subject liniju na šta 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 sa mog Gmail računa daje sljedeći rezultat:

I prikazuje odgovarajuće obavještenje u zapisnicima:

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 direktno iz komandne linije:

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

Gornja naredba će proizvesti zaista opsežan izlaz koji bi trebao uključivati sljedeće:

Ako ovi testovi ne budu uspješni, možda ćete htjeti pogledati vodič za integracije spamassasina.

Pokretanje ClamAV-a i ažuriranje definicija virusa

Za početak, morat ćemo urediti /etc/clamd.d/scan.conf. Dekomentirajte sljedeći red:

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

i komentirajte ili izbrišite red:

Example

Zatim omogućite i pokrenite clamav skener demon:

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 provjeriti status usluge:

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

Najlakši način da ažurirate definicije virusa je kroz cron posao koji se izvršava onoliko često koliko želite (jednom dnevno, na primjer, u 1 ujutro vrijeme servera 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 red 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-porukama

Da potvrdimo da ClamAV radi ispravno, preuzmimo test virus (koji možemo dobiti sa 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 prilog e-pošte:

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

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

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

Sada slobodno postavite ovo skeniranje za pokretanje kroz cronjob. Kreirajte datoteku pod nazivom /etc/cron.daily/dailyclamscan, umetnite sljedeće redove:

#!/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 dajte dozvole za izvršenje:

chmod +x /etc/cron.daily/dailyclamscan

Gornji cronjob će skenirati direktorij mail servera rekurzivno i ostaviti zapisnik njegovog rada u /var/log/clamav/dailyclamscan.log (uvjerite se da je /var/log/clamav direktorij postoji).

Pogledajmo šta se dešava kada pošaljemo datoteku eicar.com sa [email  na [email :

Sažetak

Ako ste slijedili korake navedene u ovom vodiču i u prethodna dva članka ove serije, sada imate radni Postfix server e-pošte sa zaštitom od neželjene pošte i virusa.

ODDRICANJE OD ODGOVORNOSTI: Imajte na umu da je sigurnost servera velika tema i da se ne može adekvatno pokriti u kratkom nizu poput ove.

Iz tog razloga, preporučujem vam da se upoznate sa alatima koji se koriste u ovoj seriji i njihovim man stranicama. Iako sam dao sve od sebe da pokrijem osnovne koncepte povezane s ovom temom, nemojte pretpostavljati da ste nakon prolaska kroz ovu seriju potpuno kvalificirani za postavljanje i održavanje servera e-pošte u proizvodnom okruženju.

Ova serija je zamišljena kao početna tačka, a ne kao iscrpan vodič za administraciju mail servera u Linuxu.

Vjerovatno ćete se sjetiti drugih ideja koje mogu obogatiti ovu seriju. Ako je tako, slobodno nam pošaljite poruku koristeći formular za komentare ispod. Pitanja i drugi prijedlozi su također cijenjeni – radujemo se Vašem odgovoru!