Virus- ja roskapostisuojauksen lisääminen Postfix-postipalvelimeen ClamAV:n ja SpamAssassinin avulla - Osa 3


Tämän Postfix-sarjan kahdessa edellisessä artikkelissa opit määrittämään ja hallitsemaan sähköpostipalvelintietokantaa phpMyAdminin kautta ja kuinka Postfix ja Dovecot määritetään käsittelemään saapuvaa ja lähtevää postia. Lisäksi selitimme, kuinka määritetään sähköpostiohjelma, kuten Thunderbird, aiemmin luomillemme virtuaalisille tileille.

  1. Asenna Postfix-postipalvelin ja Dovecot MariaDB:n avulla – Osa 1
  2. Postfixin ja Dovecotin määrittäminen virtuaalisen verkkotunnuksen käyttäjillä – Osa 2
  3. Asenna ja määritä RoundCube Webmail Client virtuaalikäyttäjillä Postfixissa – Osa 4
  4. Käytä Sagatoria, virustorjunta-/roskapostiyhdyskäytävää sähköpostipalvelimesi suojaamiseen – Osa 5

Koska mikään sähköpostipalvelimen asennus ei voi olla täydellinen ilman varotoimia viruksia ja roskapostia vastaan, käsittelemme tätä aihetta nykyisessä artikkelissa.

Muista, että vaikka *nixin kaltaisten käyttöjärjestelmien katsotaan yleensä olevan viruksettomia, myös muita käyttöjärjestelmiä käyttävät asiakkaat voivat muodostaa yhteyden sähköpostipalvelimeesi.

Tästä syystä sinun on annettava heille luottamus siihen, että olet ryhtynyt tarvittaviin toimenpiteisiin suojellaksesi heitä mahdollisuuksien mukaan tällaisilta uhilta.

SpamAssassinin määrittäminen Postfixille

Sähköpostin vastaanottamisen aikana spamassassin seisoo ulkomaailman ja itse palvelimellasi olevien sähköpostipalvelujen välissä. Jos se havaitsee määrittelysääntöjensä ja asetustensa mukaisesti, että saapuva viesti on roskapostia, se kirjoittaa uudelleen aiherivin tunnistaakseen sen selvästi sellaiseksi. Katsotaanpa miten.

Pääasetustiedosto on /etc/mail/spamassassin/local.cf, ja meidän tulee varmistaa, että seuraavat vaihtoehdot ovat käytettävissä (lisää ne, jos niitä ei ole, tai poista kommentit tarvittaessa):

report_safe 0
required_score 8.0
rewrite_header Subject [SPAM]
  1. Kun report_safe-asetuksena on 0 (suositeltu arvo), saapuvaa roskapostia muokataan vain muokkaamalla sähköpostin otsikoita rewrite_header-kohdan mukaisesti. Jos sen arvo on 1, viesti poistetaan.
  2. Roskapostisuodattimen aggressiivisuuden määrittämiseksi required_score-arvon perässä on oltava kokonaisluku tai desimaaliluku. Mitä pienempi luku, sitä herkemmäksi suodatin tulee. Required_score-arvon asettaminen jonnekin välillä 8.0 ja 10.0 on suositeltavaa suurelle järjestelmälle, joka palvelee monia (n. 100 s) sähköpostitilit.

Kun olet tallentanut muutokset, ota käyttöön ja käynnistä roskapostisuodatinpalvelu ja päivitä sitten roskapostisäännöt:

systemctl enable spamassassin
systemctl start spamassassin
sa-update

Lisää konfigurointivaihtoehtoja löytyy dokumentaatiosta suorittamalla komentorivillä perldoc Mail::SpamAssassin::Conf.

Postfixin ja SpamAssassinin integrointi

Postfixin ja spamassassinin integroimiseksi tehokkaasti meidän on luotava erillinen käyttäjä ja ryhmä roskapostisuodattimen demonin suorittamista varten:

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

Lisää seuraavaksi seuraava rivi tiedoston /etc/postfix/master.cf alaosaan:

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

Ja ilmoita (yläosassa), että spamassassin toimii content_filter:

-o content_filter=spamassassin

Lopuksi käynnistä Postfix uudelleen ottaaksesi muutokset käyttöön:

systemctl restart postfix

Varmistaaksesi, että SpamAssassin toimii oikein ja havaitsee saapuvan roskapostin, tarjotaan testi, joka tunnetaan nimellä GTUBE (Generic Test for Unsolicited Bulk Email).

Suorita tämä testi lähettämällä sähköposti verkkotunnuksen ulkopuolelta (kuten Yahoo!, Hotmail tai Gmail) sähköpostipalvelimessasi olevaan tiliin. Aseta Aihe-riville haluamasi ja sisällytä viestin runkoon seuraava teksti:

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

Esimerkiksi yllä olevan tekstin lähettäminen viestin tekstiosassa Gmail-tilistäni tuottaa seuraavan tuloksen:

Ja näyttää vastaavan ilmoituksen lokeissa:

journalctl | grep spam

Kuten yllä olevasta kuvasta näet, tämän sähköpostiviestin roskapostipistemääräksi tuli 1002,3. Lisäksi voit testata spamassassina suoraan komentoriviltä:

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

Yllä oleva komento tuottaa todella monisanaisen tulosteen, jonka pitäisi sisältää seuraavat:

Jos nämä testit eivät onnistu, voit katsoa spamassassin-integraatiooppaan.

ClamAV:n käynnistäminen ja virusmäärittelyjen päivitys

Aluksi meidän on muokattava /etc/clamd.d/scan.conf. Poista seuraavan rivin kommentti:

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

ja kommentoi tai poista rivi:

Example

Ota sitten käyttöön ja käynnistä clamav-skannerin daemon:

systemctl enable [email 
systemctl start [email 

äläkä unohda asettaa antivirus_can_scan_system SELinuxin loogista arvoa 1:

setsebool -P antivirus_can_scan_system 1

Tässä vaiheessa kannattaa ja kannattaa tarkistaa palvelun tila:

Kuten yllä olevasta kuvasta näet, virustunnisteemme ovat vanhempia kuin 7 päivää. Niiden päivittämiseen käytämme freshclam-nimistä työkalua, joka asennettiin osana clamav-update-pakettia.

Helpoin tapa päivittää virustunnisteet on cron-työ, joka suoritetaan niin usein kuin halutaan (kerran päivässä esimerkiksi yhdeltä yöllä seuraavan esimerkin palvelinaikaa pidetään riittävänä):

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

Voit myös päivittää virustunnisteet manuaalisesti, mutta ennen kuin sinun on myös poistettava tai kommentoitava seuraava rivi tiedostosta /etc/freshclam.conf.

Example

Nyt sinun pitäisi pystyä juoksemaan:

freshclam

joka päivittää virusmääritykset halutulla tavalla:

ClamAV-viruksen testaus sähköpostissa

Varmistaaksemme, että ClamAV toimii oikein, ladataan testivirus (jonka saamme osoitteesta http://www.eicar.org/download/eicar.com) osoitteen [email  Maildiriin ( joka sijaitsee osoitteessa /home/vmail/linuxnewz.com/tecmint/Maildir) simuloidaksesi tartunnan saaneen tiedoston, joka on vastaanotettu sähköpostin liitetiedostona:

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

Skannaa sitten /home/vmail/linuxnewz.com-hakemisto rekursiivisesti:

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

Voit nyt määrittää tämän skannauksen suorittamaan cronjobin. Luo tiedosto nimeltä /etc/cron.daily/dailyclamscan, lisää seuraavat rivit:

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

ja myönnä suoritusoikeudet:

chmod +x /etc/cron.daily/dailyclamscan

Yllä oleva cronjob skannaa sähköpostipalvelimen hakemiston rekursiivisesti ja jättää sen toiminnasta lokin tiedostoon /var/log/clamav/dailyclamscan.log (varmista, että /var/log/clamav ) hakemisto on olemassa).

Katsotaan, mitä tapahtuu, kun lähetämme eicar.com-tiedoston osoitteesta [sähköpostisuojattu] osoitteeseen [sähköpostisuojattu]:

Yhteenveto

Jos noudatit tässä opetusohjelmassa ja tämän sarjan kahdessa edellisessä artikkelissa kuvattuja vaiheita, sinulla on nyt toimiva Postfix-sähköpostipalvelin, jossa on roskaposti- ja virustorjunta.

VASTUUVAPAUSLAUSEKE: Huomaa, että palvelinturvallisuus on laaja aihe, eikä sitä voida käsitellä riittävästi tällaisessa lyhyessä sarjassa.

Tästä syystä kehotan sinua tutustumaan tässä sarjassa käytettyihin työkaluihin ja niiden man-sivuihin. Vaikka olen tehnyt parhaani kattaakseni tähän aiheeseen liittyvät keskeiset käsitteet, älä oleta, että tämän sarjan läpikäymisen jälkeen olet täysin pätevä asentamaan ja ylläpitämään sähköpostipalvelinta tuotantoympäristössä.

Tämä sarja on tarkoitettu lähtökohtana eikä tyhjentäväksi oppaaksi postipalvelimen hallintaan Linuxissa.

Tulet todennäköisesti ajattelemaan muita ideoita, jotka voivat rikastuttaa tätä sarjaa. Jos näin on, jätä meille viesti alla olevalla kommenttilomakkeella. Myös kysymykset ja muut ehdotukset ovat tervetulleita – odotamme kuulevamme!