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.

  1. Nastavite poštni strežnik Postfix in Dovecot z MariaDB - 1. del
  2. Kako konfigurirati Postfix in Dovecot z uporabniki navidezne domene - 2. del
  3. Namestite in konfigurirajte odjemalca za spletno pošto RoundCube z navideznimi uporabniki v Postfixu - 4. del
  4. 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]

  1. 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.
  2. Č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!