Sådan bruges Sagator, et Antivirus/Antispam Gateway, til at beskytte din mailserver


Vi læser om virusinfektioner (nye kommer ud hele tiden) og påvirkes på en eller anden måde af spam-mail på daglig basis. Mens der er masser af gratis og kommercielle løsninger (tilgængelige som klientapplikationer) til begge gener, skal systemadministratorer have en strategi til at håndtere disse trusler i god tid, inden de når ud til brugernes postkasser.

En af sådanne strategier er som at oprette en antivirus/antispam-gateway. Du kan tænke på dette værktøj som et mellemlag (eller filter) mellem omverdenen og dit indvendige netværk for så vidt angår e-mail-indhold.

Derudover, hvis du tænker på det, er det meget nemmere at installere og vedligeholde et enkelt stykke software i en enkelt maskine (mailserveren) end det er at gøre det samme på flere maskiner hver for sig.

I denne artikel introducerer vi dig til Sagator, en antivirus/anti-spam gateway til Linux-mailservere skrevet i Python. Sagator leverer blandt andet databaselogning, brugsstatistikker og daglige rapporter til brugerne. Når det er sagt, lad os komme i gang.

Installation af Sagator og Postfix Mail Server

For at installere Sagator i CentOS/RHEL 7 skal du downloade og installere følgende RPM-pakker. Den seneste betaudgivelse (7) inkluderer support og rettelser til systemd - det er derfor, vi foretrækker at installere den ved hjælp af denne metode i stedet for at downloade pakken fra arkiverne.

# rpm -Uvh https://www.salstar.sk/pub/sagator/epel/testing/7/i386/sagator-core-1.3.2-0.beta7.el7.noarch.rpm
# rpm -Uvh https://www.salstar.sk/pub/sagator/epel/testing/7/i386/sagator-1.3.2-0.beta7.el7.noarch.rpm

Hvis du udfører denne installation på en ny server, skal du være opmærksom på, at flere andre pakker skal installeres som afhængigheder, blandt hvilke vi kan nævne ClamAV og SpamAssassin.

Derudover vil du muligvis også installere Rrdtool, et værktøj til at oprette og vise dag/uge/måned/år-grafik af det samlede antal/rene/virus/spam-antal e-mails.

Denne grafik vil være tilgængelig i/var/www/html/sagator, når tjenesten og dens afhængigheder er fuldt funktionelle.

# yum install epel-release
# yum install postfix spamassassin clamav clamav-scanner clamav-scanner-systemd clamav-data clamav-update rrdtool

Dette er ikke en overraskelse, da vi har brug for en mailserver, og antivirus/antispam-software Sagator kan tilslutte sig. Derudover kan det være nødvendigt at vi installerer mailx-pakken, der giver MUA-funktionaliteter (Mail User Agent, også kendt som Email Agent).

I Debian og Ubuntu skal du installere Sagator fra en forudkompileret .deb -pakke, som du kan downloade herfra og installere som følger:

# wget https://www.salstar.sk/pub/sagator/debian/pool/jessie/testing/sagator-base_1.3.2-0.beta7_all.deb 
# wget https://www.salstar.sk/pub/sagator/debian/pool/jessie/testing/sagator_1.3.2-0.beta7_all.deb 
# dpkg -i sagator-base_1.3.2-0.beta7_all.deb
# dpkg -i sagator_1.3.2-0.beta7_all.deb 
# wget https://www.salstar.sk/pub/sagator/ubuntu/pool/trusty/testing/sagator-base_1.3.2-0.beta7_all.deb 
# wget https://www.salstar.sk/pub/sagator/ubuntu/pool/trusty/testing/sagator_1.3.2-0.beta7_all.deb 
# sudo dpkg -i sagator-base_1.3.2-0.beta7_all.deb
# sudo dpkg -i sagator_1.3.2-0.beta7_all.deb

Som det var tilfældet med CentOS, skal du installere og konfigurere mailserver-, SpamAssassin- og ClamAV-pakkerne:

# aptitude install postfix spamassassin clamav clamav-daemon -y

Glem ikke at bruge sudo i Ubuntu.

Dernæst, uanset distributionen, skal du opdatere virusdefinitionen, før du starter ClamAV. Inden du gør det, skal du redigere /etc/clamd.d/scan.conf og /etc/freshclam.conf og slette følgende linje:

Example

I /etc/clamd.d/scan.conf skal du også sørge for, at følgende linje ikke er kommenteret:

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

Endelig gør

# freshclam

Og start/aktiver ClamAV, SpamAssassin og Sagator:

# systemctl start [email 
# systemctl start spamassassin
# systemctl start sagator
# systemctl enable [email 
# systemctl enable spamassassin
# systemctl enable sagator

Det kan være en god idé at kontrollere Sagator-logfilen for at sikre, at tjenesten startede korrekt:

# systemctl status -l sagator

eller for flere detaljer,

# tail -f /var/spool/vscan/var/log/sagator/sagator.log

Ovenstående kommandoer er illustreret i følgende billede:

Konfiguration af Sagator i Linux

Hovedkonfigurationsfilen findes på /etc/sagator.conf. Lad os se på det minimumssæt af direktiver, vi skal sætte for at Sagator skal fungere ordentligt:

Trin 1 - Vi bruger Sagator inde i en chroot, så sørg for, at følgende linje ikke er kommenteret:

CHROOT = '/var/spool/vscan'

Trin 2 - Sørg for, at LOGFILE-direktivet matcher følgende værdi:

LOGFILE = CHROOT + '/var/log/sagator/sagator.log'

Trin 3 - Vælg et antivirusprogram, der skal integreres i Sagator. For at gøre det skal du sørge for at linjerne fremhævet i billedet nedenfor ikke er kommenterede:

Mens du frit kan vælge mellem en lang række antivirusløsninger, giver ClamAV højere ydelse og stabilitet. Selvom vi bruger ClamAV i denne vejledning, skal du huske at konfigurationsfilen indeholder instruktionerne til at tilslutte Sagator til andre antivirus/antispam-løsninger.

Når du er færdig, skal du løbe

# sagator --test

For at kontrollere konfigurationsfilen. Intet output er en god ting! Ellers skal du løse de fejl, der findes, inden du fortsætter.

Integrering af Sagator med Postfix

For at integrere Sagator med Postfix skal du sørge for, at følgende linjer er til stede i /etc/postfix/main.cf og /etc/postfix/master.cf:

mynetworks = 127.0.0.0/8
content_filter = smtp:[127.0.0.1]:27
#smtp inet n - n -- smtpd
127.0.0.1:26 inet n - n - 30 smtpd
-o content_filter=
-o myhostname=localhost
-o local_recipient_maps=  -o relay_recipient_maps=
-o mynetworks=127.0.0.0/8  -o mynetworks_style=host
-o smtpd_restriction_classes=  -o smtpd_client_restrictions=
-o smtpd_helo_restrictions=  -o smtpd_sender_restrictions=
-o smtpd_data_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_use_tls=no

Genstart derefter postfix, og sørg for, at den er aktiveret til at starte automatisk ved opstart:

# systemctl restart postfix
# systemctl enable postfix

Vi kan nu gå videre med testningen.

Test af Sagator

For at teste Sagator skal du sende en e-mail fra brugerrod til bruger gacanepa med følgende brødtekst. Dette er intet mere og intet mindre end standard GTUBE (generisk test for uopfordret bulk-e-mail) leveret af SpamAssassin, som vist på billedet nedenfor:

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

Lad os nu se, hvad der sker, når en virus sendes som en vedhæftet fil. I det følgende eksempel bruger vi EICAR-testen (se denne Wikipedia-post for flere detaljer):

# wget http://www.eicar.org/download/eicar.com
# mail -a eicar.com gacanepa

Tjek derefter loggen:

# tail -f /var/spool/vscan/var/log/sagator/sagator.log

Afviste e-mails leveres derefter tilbage til afsenderen med den tilsvarende meddelelse:

Hvad er så godt ved dette? Som du kan se, kommer spam og vira faktisk aldrig til destinationsmailserveren og brugernes postkasser, men de slettes eller afvises på gatewayniveau.

Som vi nævnte før, er graferne tilgængelige på http://sagator :

Resumé

I denne artikel har vi forklaret, hvordan du installerer og konfigurerer Sagator, en antivirus/antispam-gateway, der integreres problemfrit med og beskytter din mailserver.

For mere information og yderligere funktionalitet (der er meget mere til denne utrolige software, end vi i tilstrækkelig grad kan dække i en enkelt artikel!), Kan du henvise til projektets hjemmeside på http://www.salstar.sk/sagator.

Som altid, tøv ikke med at sende os en linje ved hjælp af kommentarformularen nedenfor, hvis du har spørgsmål eller kommentarer.

Speciel tak til Jan ONDREJ (SAL), udvikleren af Sagator, for hans fremragende støtte, mens jeg skrev denne artikel.