утиліта ClamAV
До складу антивіруса входить кілька утиліт, включаючи гнучкий і масштабований багато-демон, сканер командного рядка і просунутий інструмент для автоматичних оновлень баз даних. Для встановлення та оновлення утиліт антивіруса розробники рекомендують використовувати репозитарії пакетів. В Debian / Ubuntu для пошуку потрібних програм використовуємо команду:
$ Sudo apt-cache search clamav
І ставимо основний набір:
$ Sudo apt-get install clamav
В процесі інсталяції буде створено системний користувач і група clamav. Тепер стало можливим перевіряти файли. ClamAV пропонує кілька варіантів. Найпростіший - використання утиліти clamscan. В архіві антивіруса, в підкаталозі test. є кілька тестових вірусів, за допомогою яких можна перевірити роботу ClamAV. Якщо викликати clamscan без параметрів, буде перевірений поточний каталог. Такий режим дозволяє оцінити роботу утиліти з різними типами файлів, щоб визначитися з її можливостями на початковому етапі. Потім краще додати параметр -i для виведення тільки заражених файлів:
/home/zbober/virus/KIT.EXE: Kit.1 FOUND
/home/zbober/virus/J!CT-C.COM: CaptainTrips FOUND
Known viruses: 295018
Engine version: 0.92.1
Scanned directories: 1
Scanned files: 3732
Infected files: 3691
Data scanned: 3.22 MB
Time: 40.905 sec (0 m 40 s)
Для звукового оповіщення про знайдений вірус скористайся опцією --bell.
До речі, ніхто не заважає вступити і так:
$ Cat CK.COM | clamscan -
Перевірити будь-який інший каталог (при наявності прав) можна, просто вказавши шлях до нього в рядку запуску. За замовчуванням підкаталоги не перевіряються, але цього легко добитися за рахунок параметра -r. який дозволить рекурсивний обхід:
Також корисними можуть виявитися опції -exclude = шлях і -include = шлях. Перша дозволяє вказати шаблони файлів, які потрібно виключити з пошуку, а друга, навпаки, тільки ті, які потрібно сканувати при пошуку вірусів.
При роботі утиліта «мовчазна». Це дуже незручно при запуску через cron. Але нічого страшного: опція --log = куди заведе журнал подій.
Якщо ти створив свою антивірусну базу (про це трохи нижче), вказати на неї можна за допомогою --database. Параметрів у clamscan багато; за подробицями звертайся до clamscan (1). Додаючи ключі, можна позначати віруси і блокувати биті виконувані файли (--detect-broken), звичайні (--block-max), зашифровані архіви (--block-encrypted) і багато іншого.
оновлення баз
Для оновлення антивірусних баз розробниками пропонується утиліта freshclam. Вона йде в окремому пакеті clamav-freshclam. але зазвичай вказана в залежностях основних пакетів clamav. Оновлення можна виробляти в двох режимах: інтерактивному, запускаючи її в рядку терміналу, - і як демон.
Утиліта для автоматичного вибору дзеркала використовує базу database.clamav.net. Потім проводиться спроба з'єднатися з першим дзеркалом в списку (в разі невдачі - з наступним). Спочатку необхідно запустити утиліту без параметрів:
Якщо все нормально, в подальшому для запуску freshclam і щоденного оновлення можна використовувати cron:
0 0 0 * * * / usr / local / bin / freshclam --quiet \
Як варіант: запускати її в режимі демона. Для цього лише слід додати параметр '-d':
$ Sudo freshclam -d -c 2 -l /var/log/clam-update.log
$ Sudo /etc/init.d/clamav-freshclam start
При завантаженні freshclam зчитує параметри з файлу /etc/clamav/freshclam.conf. які можна перевизначити в рядку запуску. За кількість оновлень в день відповідає параметр Checks. Наприклад, щоб оновлювати базу кожну годину, пишемо:
Checks 24
моллюскових демон
Щоразу параметри незручно, та й не потрібно. При великих обсягах перевіряються даних розробники пропонують використовувати багато-демон clamd. На відміну від сканера, демон завантажує всі необхідні бази і налаштування один раз при старті, а потім постійно знаходиться в повній бойовій готовності. В Ubuntu він входить в окремий пакет:
$ Sudo apt-get install clamav-daemon
Демон завантажиться і буде очікувати запити. Якщо установка проводилася з сирців, то clamd при першому запуску працювати відмовиться:
ERROR: Please edit the example config file /etc/clamav/clamd.conf
ERROR: Can not parse the config file /etc/clamav/clamd.conf
Аналіз конфіга не завжди дає уявлення про всі настройках. Наприклад, установки за замовчуванням в файлі можуть бути опущені. Щоб дізнатися діючі налаштування, необхідно заюзать утиліту clamconf. При запуску без параметрів вона виведе всі налаштування з файлів clamd.conf. freshclam.conf. в тому числі і установки за замовчуванням (якщо не застосовувати «--non-default»), а також використовувану версію антивірусних баз.
Не завжди установки в clamd.conf оптимальні! Залежно від призначення комп'ютера їх слід переглянути і скоригувати, щоб не дивуватися потім, що зашифровані архіви не виходить завантажити з файлового сервера або отримати поштою. Про всі параметри розповідати не буду, - їх занадто багато, до того ж, призначення частини з них очевидно і так. Зупинюся тільки на найважливіших. Демон може працювати в мережевому або локальному режимі. З метою безпеки для перевірки рекомендується використовувати локальний сокет:
Хоча для деяких програм clamd доведеться підвішувати на мережевий інтерфейс (в даному випадку - інтерфейс зворотнього петлі):
Місцезнаходження антивірусних баз вказується за допомогою DatabaseDirectory:
Щоб підключити clamd до Clamuko (інтерфейс до Dazuko) для on-demand сканування, додаємо наступні рядки:
$ Sudo vim /etc/clamav/clamd.conf
# Вибираємо, в яких випадках перевіряти файл