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.
- Postavite Postfix Mail Server i Dovecot sa MariaDB – 1. dio
- Kako konfigurirati Postfix i Dovecot s korisnicima virtualne domene – 2. dio
- Instalirajte i konfigurirajte RoundCube Webmail klijenta s virtualnim korisnicima u Postfixu – 4. dio
- 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]
- 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.
- 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!