V dnešním článku se podíváme na nedávno oficiálně uvolněný antivirový program určený především na servery.
23.7.2004 08:00 | Ondřej Čečák | read 7793×
DISCUSSION
Česká společnost ALWIL Software
vydala 15. července nový produkt
avast! for Linux.
Antivirový program avast! není na českém ani na zahraničním trhu žádnou novinkou a už několik
let sbírá různá kladná hodnocení. Samotná linuxová verze se dala vyzkoušet,
už když byl ještě program v beta verzi.
Linuxová verze antiviru je primárně určena na server, ale případně se dá
použít na ochranu desktopu. Jako jeden z mála programů nabízí scanování
"on-access" tedy rovnou při práci se soubory.
Antivirový engine
Na antivirových programech je nejdůležitější to, co tepe uvnitř – vlastní
antivirové jádro avastu je shodné s verzí pro OS Windows, takže má i stejné
udávané vlastnosti – třeba trvalou schopnost 100% detekce virů
"in the wild" (tj. těmi, které se aktuálně šíří) a dobrý výkon.
Instalace
Pojďme se ale podívat na samotnou instalaci. Nejprve je nutné
stáhnout
archiv s programem (testoval jsem verzi 1.0.6). Po zkopírování souborů
(= nainstalování; program je closed source) avast shared library je možné
nainstalovat i vlastní program. Instalace je vyřešená skriptem v shellu,
který jednoduše nabízí adresáře, kam se jednotlivé soubory kopírují.
Samozřejmostí jsou i skripty pro odinstalování programu.
ALWIL software nabízí u avast! for linux (stejně jako u jiných produktů) měsíční
zkušební lhůtu, ve které si můžete program plnohodnotně vyzkoušet. Jediné co
musíte udělat, je
požádat o licenční soubor,
který následně zkopírujete do adresáře s nainstalovaným programem.
Dazuko
Pro umožnění on-access scanování je nutné stáhnout a nainstalovat open source
modul do kernelu – Dazuko.
Kompilace na jádře 2.6.7 (pozor, je nutné mít zapnutou volbu CONFIG_SECURITY)
se mi ale bohužel nezdařila, zkusil jsem tedy jádro řady 2.4.x; na trošku starší
2.4.20 se modul úspěšně zkompiloval, ovšem jeho zavedení nebylo možné kvůli unresolved
symbols (konkrétně _mmx_memcpy). Je pravda, že 2.4.20 už není úplně ideální,
tak jsem cvičně zkusil také verzi 2.4.26 a hle, modul dazuko 2.0.2 se
úspěšně zkompiloval i zavedl (debian stable "Woody"). Nutné je ještě vytvořit
v adresáři /dev položku dazuko, to ale funguje podle manuálu a bez problémů.
Update virové databáze
U antivirových programů je opravdu důležité, aby měli aktuální databázi.
Aktualizace databáze je u programu avast! řešena perlovým skriptem
avastvpsupdate.pl
, který stahuje veškeré updaty inkrementálně (tzn. že se
stahují opravdu pouze nové věci). Při instalaci by se měl skript zkopírovat
do odpovídajících adresářů cronu tak, aby se automaticky spouštěl.
Program (zatím?) neumožňuje přímý upgrade – v případě nutnosti
je potřeba novou verzi ručně stáhnout a nainstalovat.
Co nám avast! nabízí
Program se skládá ze čtyř komponent:
- on-demand scanner (avast)
- on-access scanner (avastguard)
- mail scanner (avastrelay)
- daemon (avastd)
Avast – on-demand scanner
Označení on-demand scanner znamená normální scanování podle vašich požadavků.
Vlastní test provádí binárka avast
, která dokáže testovat libovolný připojený
disk, lokální či vzdálený. Pro jeho spuštění stačí zadat příkaz
avast
a cestu, která se má scanovat. Jednotlivé soubory, které se
testují jsou vypisovány spolu s jejich stavem (OK, infikován virem apod.).
Program samozřejmě umí nahlížet do nezašifrovaných archivů a zkoumat jejich
obsah.
Po dokončení testování
(defaultně se testují jenom programy s "nebezpečnými" příponami, testovat lze
ovšem po zadání patřičného parametru vše) vypíše program statistiku o
scanování. Např.:
#
# Statistics:
#
# scanned files: 20918
# scanned directories: 467
# infected files: 0
# total file size: 1.6 GB
# virus database: 0430-0 19.07.2004
# test elapsed: 12m:3s 614ms
#
Tato statistika spolu s hlavičkou a průběhem může být ukládána do souboru.
Chyby může program logovat přímo přes syslog.
Implicitně soubory program pouze testuje, pokud najde virus, pokračuje
v testech dále a je pouze na vás, co s tím uděláte. Můžete si ovšem nastavit,
aby se v případě nalezení viru zastavil a nabídl možnosti, popř. aby se soubor
pokusil "vyléčit" nebo aby ho rovnou smazal.
Velmi zajímavý je parametr --console
, který umožňuje spuštění
v režimu, kdy se program chová jako filtr – na standardní vstup mu pošlete
data k otestování a pokud v nich nejsou zjištěny viry, data budou odeslána na
standardní výstup. V případě, že je virus nalezen, se na standardní výstup
neodešle nic a na chybový výstup jsou vypsány patřičné informace. Výhodné užití
by mohlo být ve všelijakých skriptech atp.
Typické použití by mohlo vypadat třeba takto:
oc@hippo:/tmp# avast -p 4 haluz
File '/tmp/haluz/eicar.com' is infected by 'EICAR Test-NOT virus!!'
(D/d)delete, (R/r)repair, (C/c)continue: c
/tmp/haluz/eicar.com [infected by: EICAR Test-NOT virus!!]
/tmp/haluz/onehalf.zip [OK]
File '/tmp/haluz/onehalf.zip/ONEHALF.!XE' is infected by 'One half-3544/3577'
(D/d)delete, (R/r)repair, (C/c)continue: d
Archived /tmp/haluz/onehalf.zip/ONEHALF.!XE
[infected by: One half-3544/3577] deleted
File '/tmp/haluz/onehalf.zip/ONEHALF.DCD' is infected by 'One half-3544/3577'
(D/d)delete, (R/r)repair, (C/c)continue: d
Archived /tmp/haluz/onehalf.zip/ONEHALF.DCD
[infected by: One half-3544/3577] deleted
Archived /tmp/haluz/onehalf.zip/ONEHALF.TXT [OK]
File '/tmp/haluz/redx.com' is infected by 'Ambulance-795'
(D/d)delete, (R/r)repair, (C/c)continue: d
/tmp/haluz/redx.com [infected by: Ambulance-795] deleted
File '/tmp/haluz/ONEHALF.DCD' is infected by 'One half-3544/3577'
(D/d)delete, (R/r)repair, (C/c)continue: r
/tmp/haluz/ONEHALF.DCD [infected by: One half-3544/3577]
repair error: File can't be repaired
File '/tmp/haluz/ONEHALF.EXE' is infected by 'One half-3544/3577'
(D/d)delete, (R/r)repair, (C/c)continue: d
/tmp/haluz/ONEHALF.EXE [infected by: One half-3544/3577] deleted
#
# Statistics:
#
# scanned files: 8
# scanned directories: 1
# infected files: 6
# total file size: 41.5 kB
# virus database: 0430-0 19.07.2004
# test elapsed: 51s 113ms
#
Avastguard – on-access scanner
Avast nabízí také rezidentní ochranu. Jednotlivé soubory ze zvoleného adresáře
(adresářů) mohou být testovány na přítomnost virů při otevření, modifikaci,
uložení nebo spuštění a v případě nalezení možné hrozby této činnosti zabránit,
což je výhodné např. pokud je váš linuxový stroj souborovým serverem pro
klienty na OS Windows.
Pro vlastní spuštění komponenty avastguard
je nutné nejprve
spustit démona avastd
, který zprostředkovává vlastní testování na
výskyt virů. Jak bylo řečeno výše, pro přístup ke kontrole souborů se používá
modul dazuko.
Program jde poměrně dobře konfigurovat; standardně je přístup k
potencionálně nebezpečnému souboru odepřen, ale soubor může být také např.
smazán nebo přesunut jinam.
Opět si můžeme uvést typický příklad:
oc@hippo:/tmp$ cp eicar.com /home/oc/
cp: cannot create regular file `/home/oc/eicar.com': Operace není povolena
oc@hippo:/tmp$ cd
oc@hippo:~$ less eicar.com2
eicar.com2: Operace není povolena
oc@hippo:~$ chmod 755 eicar.com2
oc@hippo:~$ ./eicar.com2
./eicar.com2: ./eicar.com2: Operace není povolena
Vše je samozřejmě patřičně logované standardně přes syslog, např. výše zmíněná
činnost se projeví při defaultní úrovní logování následovně:
avastguard[618]: info: Starting avast! guard
avastguard[618]: info: connected to avast! '/var/run/avast4filescanner.sock'
avastguard[618]: warning: /home/oc/eicar.com infected by EICAR Test-NOT virus!!
avastguard[618]: warning: /home/oc/eicar.com2 infected by EICAR Test-NOT virus!!
avastguard[618]: warning: /home/oc/eicar.com2 infected by EICAR Test-NOT virus!!
Avastrelay – mail scanner
Program také dokáže scanovat poštu, dokumentace popisuje použití s poštovními
servery sendmail, postfix a qmail. Možnosti konfigurace jsou opět bohaté – nastavit si můžete
např. oznamování v případě detekce viru.
Avastd – daemon
Démon avastd
umožňuje scanování dalším aplikacím, kromě standardních
avastguard
a avastrelay
to mohou být i aplikace třetích
stran, protože jeho API je zdokumentované a umožňuje násobné spouštění.
Cena
Schránky |
1 rok |
2 roky |
3 roky |
10 - 19 |
429 Kč |
628 Kč |
807 Kč |
20 - 49 |
279 Kč |
406 Kč |
520 Kč |
50 - 99 |
179 Kč |
261 Kč |
335 Kč |
100 - 199 |
119 Kč |
173 Kč |
222 Kč |
Cena programu se určuje podle počtu emailových schránek; minimum je 10
mailboxů a toto minimum se použije také v případě, že o scanování emailů
nemáte zájem. Jak už bylo řečeno výše, využít můžete měsíční bezplatné
zkušební lhůty pro plnohodnotné testování programu.
Pro OS Windows existuje speciální home verze, která je pro nekomerční použití
zdarma. Vzhledem k tomu, že avast! for linux je program především na servery,
jeho nekomerční použití zdarma se neplánuje. V budoucnu bude možná vytvořena
speciální verze pro linuxové desktopy, zatím je vše ale pouze ve fázi plánů.
Závěr
Program avast! 4 pro linux se mi docela líbil, skvělé uplatnění může mít např.
při on-access scanování adresářů vysdílených přes sambu pro Windows nebo při
kontrole elektronické pošty. Zajímavý je i speciální mod on-demand scaneru pro
použití ve skriptech.