2017-06-25
Amavis - Clamav2004-05-07

Újabban a számítógépes vírusok elsöprő többsége elektronikus levelezés útján terjed. Ha valamilyen mail-szervert üzemeltetsz, akkor úgy szólván kötelező a leveleket még kézbesítés előtt szűrni. Nekem ezt a következő módon sikerült megoldanom.

Adott egy Debian 3.0 "Woody" szerver, amire biztonsági megfontolásokból csak a "security update" frissítéseket szoktam telepíteni, de nem áll szándékomban a még csak tesztelés alatt álló Sid-re, illetve Sarge-ra cserélni. A Mail Transfer Agent exim 3.35. A levelek szűrésére az amavis-t szokták javasolni, valamilyen vírus-adatbázissal. Ez utóbbira vannak "fizetős" megoldások, de nyugodtan választhatod az ingyenes clamav-ot is. A gond csak az, hogy ezek nincsenek benne a stable Debian repository-ban. Persze ettől még lefordíthatjuk őket forrásból, de létezik hozzá "backport" is.

A /etc/apt/sources.list fájlt átmenetileg egészítsd ki az alábbi sorokkal:

deb http://www.backports.org/debian stable amavisd-new
deb http://people.debian.org/~sgran/debian woody main
deb-src http://people.debian.org/~sgran/debian woody main

Ezek után az amavisd-new, valamint a clamav csomag a szokásos apt-get install paranccsal az Internetről telepíthető.

Ezután létre kell jönnie egy amavis, és egy clamav nevű felhasználónak, valamint csoportnak. Ellenőrizd a /etc/passwd, és az /etc/group fájlokban!

Aztán fogjunk hozzá a /etc/exim/exim.conf fájl szerkesztésének.

1. Az amavisnak a "trusted user"-ek közé kell tartoznia. Ha már van ilyen, egy szoros kettőspont után hozzáírható.

trusted_users = mail:amavis

2. Keresd meg a TRANSPORT CONFIGURATION szekciót, és írd hozzá a következőket:

amavis:
driver = smtp
port = 10024
hosts = 127.0.0.1
allow_localhost

3 .Ezután a DIRECTORS CONFIGURATION szakasz következik, ennek az elejére szúrd be:

amavis_director:
condition = "${if eq {$received_protocol}{scanned-ok} {0}{1}}"
driver = smartuser
transport = amavis
verify = false

Ezeket a README alapján nagyon könnyű volt megcsinálni. Én először ott tévedtem el, hogy ostoba módon csak az "incoming" részt olvastam el alaposabban, hiszen csak az érkező leveleket akartam szűrni. SMTP szervernek a szolgáltató gépét szoktuk megadni, RELAY-re pedig végképp nem vállalkozunk! :-) A levéltovábbításra vonatkozó részt elhanygoltam, aminek természetesen az lett a következménye, hogy a szerver a beérkező leveleket már a felhasználóknak sem továbbította... Szóval inkább folytassuk:

4. ROUTER CONFIGURATION szakasz elejére írandó:

amavis_router:
condition = "${if eq {$received_protocol}{scanned-ok} {0}{1}}"
driver = domainlist
route_list = "*"
transport = amavis
verify = false

Az amavis configurációjában csak két bekezdést kell megváltoztatni. A /etc/amavis/amavisd.conf fájlban található az MTA-ra vonatkozó szakasz: "MTA SETTINGS, UNCOMMENT AS APPROPRIATE". Ez alatt keresd meg a következő sorokat, és az alsó kettő elől töröld ki a #-jelet, ahogy az itt látható.

# EXIM v3 (not recommended with v4 or later, which can use SMTP setup instead) :
$forward_method = 'pipe:flags=q argv=/usr/sbin/exim -oMr scanned-ok -i -f ${sender} -- ${recipient}';
$notify_method = $forward_method;

A 469. sor virus_adminként egy nemlétezö e-mail fiókot ad meg mintának. Ezt írtam át a sajátomra, így a próbálkozásokról is kapok értesítést. Vígyázat, az eredeti config fájlban a példacím idézőjelek között van, de az igazit egyszeres idézőjelek között kell megadni.

Ezután már csak az érintett démonokat kell újraindítani és készen vagyunk!

Gondolom más konfigurációk esetén mindent másként kell beállítani de nekem mindezek után kezdtek megnyugtatóan működni a dolgok. Először is a bejövő levelek fejléceiben megjelent az alábbi sor.

from amavis by myserver.mydomain.hu with scanned-ok (Exim 3.35 #1 (Debian))

A szerver naplófájljaiban is akadnak érdekes sorok. A clamav logjai szerint rendesen működik a szűrés, és értesít a vírus-adatbázis hatóránkénti frissítéséről is (/var/log/clamav/freshclam.log), de a legmegnyugtatóbb az, hogy azok a levelek, melyek idáig akadálytalanul elindultak a titkárnők outlookjában, most a /var/lib/amavis/virusmails könyvtárban parkolnak ártalmatlanul.

status