ClamAV
Clam AntiVirus — це антивірусний набір програм для UNIX розроблюваний під ліцензією GPL, його основним призначенням є сканування електронної пошти на шлюзах. Він складається з деякого числа утеліт включаючи гнучкий і маштабований багатопоточний сервіс, сканер командного рядка - і засіб автоматичного поновлення антивірусних баз. Ядро пакета є антивірусним мехнізмом створеним за технологією розділених бібліотек.
Ось спиcок основних можливостей :
- сканер командного рядка
- швидкий багатопоточний сервіс із підтримкою сканування через milter-інтерфейс для програми sendmail
- передовий засіб поновлення бази із підтримкою скрипт-поновлення та цифрових підписів
- бібліотека вирус-сканера для мови С
- база вірусів оновлюється кілька разів на день (дивіться загальну кількість записів на домашній сторінці)
- вбудована підтримка різних форматів архівів, включаючи Zip, RAR, Tar, Gzip, Bzip2, OLE2, Cabinet, CHM, BinHex, SIS та інші
- вбудована підтримка майже всіх форматів поштових файлів
- вбудована підтримка файлів що запускаються ELF і PE запакованих UPX, FSG, Petite, NsPack, wwpack32, MEW, Upack і опрацьованих SUE, Y0da Cryptor та інші
- вбудована підтримка популярних форматів документів включаючи MS Office і MacOffice, HTML, RTF і PDF
- графічна оболонка під KDE - klamav
Прилаштування антивіруса Clam AntiVirus до sendmail.
Вступ
В цій статті я наведу приклад встановлення антивіруса Clam AntiVirus та його налаштування для перевірки пошти, яку обробляє sendmail.
Де працює?
Clam AntiVirus може працювати під наступними ОС:
- GNU/Linux - all versions and platforms
- Solaris - all versions and platforms
- FreeBSD - all versions and platforms
- OpenBSD 3.0/1/2 (Intel/SPARC)
- AIX 4.1/4.2/4.3/5.1 (RISC 6000)
- HPUX 11.0
- SCO UNIX
- IRIX 6.5.20f
- Mac OS X
- BeOS
- Cobalt MIPS boxes (RAQ1, RAQ2, QUBE2)
- Windows/Cygwin
Що потрібно для роботи?
Для повноцінної роботи пакету потрібні наступні пакети:
- пакети zlib і zlib-devel
- компілятор gcc (підтримуються як 2.9x, так і 3.x)
Також дуже рекомендується мати:
- бібліотеки bzip2 і bzip2-devel
- GNU MP 3
Наявність пакету GMP є дуже важлива тому, що дає можливість перевіряти цифрові підписи вірусних баз. Ви моете завантажити GNU MP з http://www.swox.com/gmp
А також бібліотека libmilter, яка мусить бути включена під час компіляції sendmail (подивіться чи є /usr/lib/libmilter.a).
Інсталяція
Персвідчившись у наявності всього необхідного, приступаємо до інсталяції.
Створюємо для ClamAV користувача і групу:
# groupadd clamav
# useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav
Далі компілюємо і інсталюємо наступним чином:
$ ./configure --enable-milter
$ make
$ su -c "make install"
Опція --enable-milter
потрібна для підключення ClamAV до sendmail'а.
Також можна додати до configure опцію --sysconfdir=/etc
, якщо хочете щоб всі
конфіги були в одному місці.
Поставилось? По-ідеї, ніяких проблем не мало виникнути. Беремося до конфігурації,
бо з налаштуваннями "по замовчуванню" clamd не запуститься. Якщо ви при
./configure
не вказували ніяких опцій то конфігураційний файл буде
/usr/local/etc/clamav.conf
, якщо ж ви використовували опції --prefix
або
--sysconfdir
то самі мали б знати куди його запхнули :)
Детально описувати опції конфіга не буду, оскільки вони чудово прокоментовані в ньому самому. Хіба наведу приклад свого конфіга (тут).
Оскільки ClamAV використовує для взаємодії сокети, треба створити місце де він їх триматиме:
# mkdir /var/run/clamav
# chgrp clamav /var/run/clamav
# chown clamav /var/run/clamav
Також треба переконатися в наявності в clamav.conf таких опцій:
LocalSocket /var/run/clamav/clamd.sock
ScanMail
StreamSaveToDisk
Додаємо в конфігурацію sendmail'a (config.mc) такі рядки:
INPUT_MAIL_FILTER(`clmilter',`S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m')dnl
define(`confINPUT_MAIL_FILTERS', `clmilter')
Після чого його перекомпільовуємо:
# m4 ../m4/cf.m4 config.mc > /etc/mail/sendmail.cf
Або додаємо до sendmail.cf, такі рядки:
O InputMailFilters=clamav
Xclamav, S=local:/var/run/clmilter.sock, F=T, T=S:4m;R:4m
От тепер все готово до запуску :)
# clamd &
# /usr/local/sbin/clamav-milter —lo /var/run/clamav/clmilter.sock
[ перезапускаємо sendmail ]
За умови що ви все зробили правильно, ваша пошта має перевірятися на наявність вірусів. Якщо це дійсно так, рекомендуємо занести блок команд, який запускає ClamAV, в стартовий скрипт sendmail'а.
Варто також потурбуватися про автоматичне оновлення вірусних баз. Додамо у crontab такий запис:
47 5 * * * /usr/local/bin/freshclam --quiet
Вірусні бази будуть оновлюватись кожний день в 05:47, якщо замінити "5" на "*", то оновлення відбуватиметься кожної години.
А якщо в /etc/clamav/freshclam.conf Встановити дзеркалом
DatabaseMirror db.UA.clamav.net
То оновлення буде відбуватись в межах UA-IX (Андрій Головинський tikus at ukrpost.net).
От і вся процедура інсталяції та настойки ClamAV для роботи з sendmail. Якщо маєте якісь питання чи зауваження, пишіть на gav[at]lca.lviv.ua .
Посилання
- Прилаштування антивіруса Clam AntiVirus до sendmail
- Прилаштування антивіруса Clam AntiVirus до postfix
- clamav.net.ua
Copyright
© Artem Hodlevskyy aka errno - gav[at]lca.lviv.ua
LCA