Vyhledávání na webu

Jak přidat antivirovou ochranu a ochranu proti spamu na poštovní server Postfix pomocí ClamAV a SpamAssassin - část 3


V předchozích dvou článcích této série Postfix jste se naučili, jak nastavit a spravovat databázi e-mailového serveru pomocí phpMyAdmin a jak nakonfigurovat Postfix a Dovecot pro zpracování příchozí a odchozí pošty. Kromě toho jsme vysvětlili, jak nastavit poštovního klienta, jako je Thunderbird, pro virtuální účty, které jsme vytvořili dříve.

  1. Nastavení poštovního serveru Postfix a Dovecot pomocí MariaDB – část 1
  2. Jak nakonfigurovat Postfix a Dovecot s uživateli virtuální domény – část 2
  3. Instalace a konfigurace webového klienta RoundCube s virtuálními uživateli v Postfixu – část 4
  4. Použijte Sagator, antivirovou/antispamovou bránu k ochraně vašeho poštovního serveru – část 5

Protože žádné nastavení e-mailového serveru nelze dokončit bez přijetí opatření proti virům a spamu, budeme se tímto tématem zabývat v aktuálním článku.

Mějte prosím na paměti, že i když jsou operační systémy *nix-like obvykle považovány za nevirové, je pravděpodobné, že se k vašemu e-mailovému serveru připojí i klienti používající jiné operační systémy.

Z toho důvodu jim musíte dát jistotu, že jste přijali nezbytná opatření k jejich maximální možné ochraně před takovými hrozbami.

Konfigurace SpamAssassin pro Postfix

V procesu přijímání e-mailů se spamassassin postaví mezi vnější svět a e-mailové služby běžící na vašem serveru samotném. Pokud podle svých definičních pravidel a konfigurace zjistí, že příchozí zpráva je spam, přepíše předmět, aby ji jako takovou jasně identifikoval. Podívejme se jak.

Hlavní konfigurační soubor je /etc/mail/spamassassin/local.cf a měli bychom se ujistit, že jsou k dispozici následující možnosti (přidejte je, pokud nejsou k dispozici, nebo v případě potřeby odkomentujte):

report_safe 0
required_score 8.0
rewrite_header Subject [SPAM]
  1. Když je report_safe nastaveno na 0 (doporučená hodnota), příchozí spam se upraví pouze úpravou hlaviček e-mailů podle rewrite_header. Pokud je nastavena na 1, zpráva bude smazána.
  2. Chcete-li nastavit agresivitu spamového filtru, musí za required_score následovat celé číslo nebo desetinné číslo. Čím nižší číslo, tím citlivější je filtr. Nastavení required_score na hodnotu někde mezi 8,0 a 10,0 se doporučuje pro velký systém obsluhující mnoho (~100 s) e-mailové účty.

Jakmile tyto změny uložíte, povolte a spusťte službu filtrování spamu a poté aktualizujte pravidla pro spam:

systemctl enable spamassassin
systemctl start spamassassin
sa-update

Další možnosti konfigurace najdete v dokumentaci spuštěním perldoc Mail::SpamAssassin::Conf na příkazovém řádku.

Integrace Postfixu a SpamAssassinu

Abychom mohli efektivně integrovat Postfix a spamassassin, budeme muset vytvořit vyhrazeného uživatele a skupinu pro spuštění démona spamového filtru:

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

Dále přidejte následující řádek na konec /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}

A uveďte (nahoře), že spamassassin bude sloužit jako filtr obsahu:

-o content_filter=spamassassin

Nakonec restartujte Postfix, abyste použili změny:

systemctl restart postfix

K ověření, že SpamAssassin funguje správně a detekuje příchozí spam, je k dispozici test známý jako GTUBE (Obecný test na nevyžádané hromadné e-maily).

Chcete-li provést tento test, odešlete e-mail z domény mimo vaši síť (jako je Yahoo!, Hotmail nebo Gmail) na účet umístěný na vašem e-mailovém serveru. Nastavte řádek Předmět na cokoliv chcete a do těla zprávy vložte následující text:

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

Například odeslání výše uvedeného textu v těle zprávy z mého účtu Gmail vede k následujícímu výsledku:

A zobrazí odpovídající upozornění v protokolech:

journalctl | grep spam

Jak můžete vidět na obrázku výše, tato e-mailová zpráva získala skóre spamu 1002,3. Kromě toho můžete testovat spamassassin přímo z příkazového řádku:

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

Výše uvedený příkaz vytvoří skutečně podrobný výstup, který by měl obsahovat následující:

Pokud tyto testy nejsou úspěšné, můžete se podívat na průvodce integrací spamassassin.

Spuštění ClamAV a aktualizace definic virů

Pro začátek budeme muset upravit /etc/clamd.d/scan.conf. Odkomentujte následující řádek:

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

a okomentujte nebo smažte řádek:

Example

Poté povolte a spusťte démona skeneru clamav:

systemctl enable [email 
systemctl start [email 

a nezapomeňte nastavit antivirus_can_scan_system SELinux boolean na 1:

setsebool -P antivirus_can_scan_system 1

V tomto okamžiku se vyplatí a je dobré zkontrolovat stav služby:

Jak můžete vidět na obrázku výše, naše virové signatury jsou starší než 7 dní. K jejich aktualizaci použijeme nástroj zvaný freshclam, který byl nainstalován jako součást balíčku clamav-update.

Nejjednodušší způsob aktualizace definic virů je prostřednictvím úlohy cron, která se spouští tak často, jak je potřeba (jednou denně, například v 1:00 serverového času, jak je uvedeno v následujícím příkladu, je považováno za dostatečné):

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

Definice virů můžete aktualizovat také ručně, ale předtím také budete muset odstranit nebo zakomentovat následující řádek v /etc/freshclam.conf.

Example

Nyní byste měli být schopni spustit:

freshclam

který podle potřeby aktualizuje definice virů:

Testování ClamAV na přítomnost virů v e-mailech

Abychom ověřili, že ClamAV funguje správně, stáhněte si testovací virus (který můžeme získat z http://www.eicar.org/download/eicar.com) do Maildir [email  ( který se nachází na /home/vmail/linuxnewz.com/tecmint/Maildir) pro simulaci infikovaného souboru přijatého jako příloha pošty:

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

A poté rekurzivně prohledejte adresář /home/vmail/linuxnewz.com:

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

Nyní můžete toto skenování nastavit tak, aby procházelo cronjobem. Vytvořte soubor s názvem /etc/cron.daily/dailyclamscan, vložte následující řádky:

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

a udělte oprávnění ke spuštění:

chmod +x /etc/cron.daily/dailyclamscan

Výše uvedený cronjob prohledá adresář poštovního serveru rekurzivně a zanechá protokol o své činnosti v /var/log/clamav/dailyclamscan.log (ujistěte se, že /var/log/clamav adresář existuje).

Podívejme se, co se stane, když odešleme soubor eicar.com z [email  do [eicar :

souhrn

Pokud jste postupovali podle kroků uvedených v tomto kurzu a v předchozích dvou článcích této série, máte nyní funkční poštovní server Postfix se spamovou a antivirovou ochranou.

ODPOVĚDNOST: Vezměte prosím na vědomí, že zabezpečení serveru je rozsáhlé téma a nemůže být dostatečně pokryto v krátké sérii, jako je tato.

Z toho důvodu vám velmi doporučuji, abyste se seznámili s nástroji používanými v této sérii a jejich manuálovými stránkami. I když jsem udělal vše, co bylo v mých silách, abych pokryl základní pojmy spojené s tímto tématem, nepředpokládejte, že po prostudování této série jste plně kvalifikovaní k nastavení a údržbě e-mailového serveru v produkčním prostředí.

Tato řada je zamýšlena jako výchozí bod a nikoli jako vyčerpávající průvodce správou poštovního serveru v Linuxu.

Pravděpodobně vás napadnou další nápady, které mohou tuto sérii obohatit. Pokud ano, neváhejte nám napsat poznámku pomocí formuláře níže. Oceňujeme také dotazy a další návrhy – těšíme se na vaši odpověď!