Kako dodati protivirusno zaščito in zaščito pred neželeno pošto na poštni strežnik Postfix s programoma ClamAV in SpamAssassin - 3. del
V prejšnjih dveh člankih te serije Postfix ste se naučili, kako nastaviti in upravljati bazo podatkov e-poštnega strežnika prek phpMyAdmin ter kako konfigurirati Postfix in Dovecot za obdelavo dohodne in odhodne pošte. Poleg tega smo razložili, kako nastaviti poštni odjemalec, kot je Thunderbird, za navidezne račune, ki smo jih ustvarili prej.
- Nastavite poštni strežnik Postfix in Dovecot z MariaDB - 1. del
- Kako konfigurirati Postfix in Dovecot z uporabniki navidezne domene - 2. del
- Namestite in konfigurirajte odjemalca za spletno pošto RoundCube z navideznimi uporabniki v Postfixu - 4. del
- Za zaščito vašega poštnega strežnika uporabite Sagator, protivirusni/antispam prehod - 5. del
Ker nobena nastavitev e-poštnega strežnika ne more biti popolna brez previdnostnih ukrepov pred virusi in neželeno pošto, bomo to temo obravnavali v trenutnem članku.
Ne pozabite, da tudi če * nix podobni operacijski sistemi običajno veljajo za brez virusov, se stranke z drugimi operacijskimi sistemi prav tako povežejo z vašim e-poštnim strežnikom.
Zaradi tega jim morate zagotoviti zaupanje, da ste sprejeli potrebne ukrepe, da jih čim bolj zaščitite pred takšnimi grožnjami.
Konfiguriranje SpamAssassin za Postfix
Med prejemanjem e-pošte bo spamassassin stal med zunanjim svetom in e-poštnimi storitvami, ki se izvajajo na vašem strežniku. Če v skladu s svojimi pravili in konfiguracijo ugotovi, da je dohodno sporočilo vsiljena pošta, bo znova napisal zadevo, da jo bo jasno opredelil kot tako. Poglejmo, kako.
Glavna konfiguracijska datoteka je /etc/mail/spamassassin/local.cf
, zato moramo zagotoviti, da so na voljo naslednje možnosti (če jih ni, jih dodajte, če jih ni, ali jih po potrebi razkomentirajte):
report_safe 0 required_score 8.0 rewrite_header Subject [SPAM]
- Ko je report_safe nastavljen na 0 (priporočena vrednost), se dohodna neželena pošta spremeni samo s spreminjanjem e-poštnih glav v skladu z rewrite_header. Če je nastavljeno na 1, bo sporočilo izbrisano.
- Če želite nastaviti agresivnost filtra za neželeno pošto, mora zahtevi_score slediti celo število ali decimalno število. Manjša kot je številka, bolj občutljiv postane filter. Nastavitev required_score na vrednost nekje med 8,0 in 10,0 je priporočljiva za velik sistem, ki služi številnim (~ 100s) e-poštnim računom.
Ko shranite te spremembe, omogočite in zaženite storitev filtriranja neželene pošte in nato posodobite pravila o neželeni pošti:
# systemctl enable spamassassin # systemctl start spamassassin # sa-update
Za več možnosti konfiguracije se boste morda želeli sklicevati na dokumentacijo tako, da v ukazni vrstici zaženete perldoc Mail :: SpamAssassin :: Conf
.
Integriranje Postfix in SpamAssassin
Da bi učinkovito integrirali Postfix in spamassassin, bomo morali ustvariti namenskega uporabnika in skupino za zagon demona filtra neželene pošte:
# useradd spamd -s /bin/false -d /var/log/spamassassin
Nato dodajte naslednjo vrstico na dnu /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}
In navedite (na vrhu), da bo spamassassin služil kot content_filter:
-o content_filter=spamassassin
Na koncu znova zaženite Postfix, da uporabite spremembe:
# systemctl restart postfix
Da bi preverili, ali SpamAssassin deluje pravilno in zazna vhodno neželeno pošto, je na voljo test, znan kot GTUBE (splošni test za nezaželeno množično e-pošto).
Če želite izvesti ta preizkus, pošljite e-poštno sporočilo z domene zunaj vašega omrežja (na primer Yahoo !, Hotmail ali Gmail) na račun, ki je na vašem e-poštnem strežniku. Vrstico Zadeva nastavite na poljubno in vključite naslednje besedilo v telo sporočila:
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
Na primer pošiljanje zgornjega besedila v telesu sporočila iz mojega Gmailovega računa povzroči naslednji rezultat:
In prikazuje ustrezno obvestilo v dnevnikih:
# journalctl | grep spam
Kot lahko vidite na zgornji sliki, je to e-poštno sporočilo doseglo oceno 1002,3. Poleg tega lahko spamassassin preizkusite kar v ukazni vrstici:
# spamassassin -D < /usr/share/doc/spamassassin-3.4.0/sample-spam.txt
Zgornji ukaz bo ustvaril resnično podroben izhod, ki bi moral vključevati naslednje:
Če ti testi niso uspešni, se boste morda želeli obrniti na priročnik za integracijo neželene elektronske pošte.
Zagon ClamAV in posodobitev definicij virusov
Za začetek bomo morali urediti /etc/clamd.d/scan.conf
. Odključite naslednjo vrstico:
LocalSocket /var/run/clamd.scan/clamd.sock
in komentirajte ali izbrišite vrstico:
Example
Nato omogočite in zaženite demon skenerja clamav:
# systemctl enable [email # systemctl start [email
in ne pozabite nastaviti logične vrednosti SELinux antivirus_can_scan_scan na 1:
# setsebool -P antivirus_can_scan_system 1
Na tej točki je vredno in dobro preveriti stanje storitve:
Kot lahko vidite na zgornji sliki, so naši podpisi virusov starejši od 7 dni. Za njihovo posodobitev bomo uporabili orodje freshclam, ki je bilo nameščeno kot del paketa clamav-update.
Definicije virusov je najlažje posodobiti z opravilom cron, ki se izvaja tako pogosto, kot je želeno (dovolj je na primer enkrat na dan ob 1 uri zjutraj, kot je navedeno v naslednjem primeru):
00 01 * * * root /usr/share/clamav/freshclam-sleep
Definicije virusov lahko posodobite tudi ročno, vendar boste morali v vrstici /etc/freshclam.conf
naslednjo vrstico odstraniti ali komentirati.
Example
Zdaj bi lahko zagnali:
# freshclam
ki bo po potrebi posodobil definicije virusov:
Testiranje virusa ClamAV na viruse v e-pošti
Če želite preveriti, ali ClamAV deluje pravilno, prenesite testni virus (ki ga lahko dobite s spletnega mesta http://www.eicar.org/download/eicar.com) na Maildir spletnega mesta [email (ki se nahaja v/home/vmail/linuxnewz.com/tecmint/Maildir) za simulacijo okužene datoteke, prejete kot poštna priloga:
# cd /home/vmail/linuxnewz.com/tecmint/Maildir # wget http://www.eicar.org/download/eicar.com
Nato rekurzivno preglejte imenik /home/vmail/linuxnewz.com:
# clamscan --infected --remove --recursive /home/vmail/linuxnewz.com
Zdaj lahko to skeniranje nastavite tako, da teče skozi cronjob. Ustvarite datoteko z imenom /etc/cron.daily/dailyclamscan
, vstavite naslednje vrstice:
#!/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
in podelite dovoljenja za izvajanje:
# chmod +x /etc/cron.daily/dailyclamscan
Zgornji cronjob bo rekurzivno pregledal imenik poštnega strežnika in pustil dnevnik svojega delovanja v /var/log/clamav/dailyclamscan.log
(prepričajte se, da imenik/var/log/clamav obstaja).
Poglejmo, kaj se zgodi, ko pošljemo datoteko eicar.com iz [email :
Povzetek
Če ste sledili korakom, opisanim v tej vadnici in v prejšnjih dveh člankih te serije, imate zdaj delujoč e-poštni strežnik Postfix z neželeno in protivirusno zaščito.
OPOZORILO: Upoštevajte, da je varnost strežnika velika tema in je v kratki seriji, kot je ta, ni mogoče ustrezno obravnavati.
Iz tega razloga vam toplo priporočam, da se seznanite z orodji, uporabljenimi v tej seriji, in njihovimi navodili. Čeprav sem si po svojih najboljših močeh prizadeval zajeti bistvene koncepte, povezane s to temo, ne domnevajte, da ste po tej seriji popolnoma usposobljeni za nastavitev in vzdrževanje e-poštnega strežnika v produkcijskem okolju.
Ta serija je namenjena izhodišču in ne kot izčrpen vodnik za upravljanje poštnih strežnikov v Linuxu.
Verjetno boste pomislili na druge ideje, ki lahko obogatijo to serijo. Če je tako, nam prosimo, da nam pošljete opombo s pomočjo spodnjega obrazca za komentar. Tudi vprašanja in drugi predlogi so dobrodošli - veselimo se vaših odzivov!