Title: Подключение дополнительных антивирусных баз к ClamAV Content: Антивирусный пакет ClamAV фактически стал стандартом антивирусной защиты для всех, как десктопных, так и серверных open-sourсе систем Также на базе технологий ClamAV существует и развивается несколько пакетов для защиты персональных компьютеров на базе операционных систем семейства Windows, среди которых я бы отдельно выделил Immunet, который единственный из всех существующих на рынке антивирусных мониторов был эффективен против эпидемии WannaCry на начальном этапе её распространения.
Долгая история развития ClamAV и активная работа сообщества специалистов в области антивирусной защиты позволили существенно расширить набор используемых приёмов и баз цифровых отпечатков, применяемых для обнаружения угроз. При этом официально поддерживаемые разработчиками базы самого ClamAV базы формируются с прицелом именно на распространение различного рода вирусов. Однако совеременные методы, используемые злоумышленниками, включают не только их, но всевозможные фишинговые, adware, spyware и другие механизмы. Именно этим моментам и уделено внимание в неофициальных базах для ClamAV, которые поддерживаются независимыми структурами.
Рассмотрим на практике процесс подключения неофициальных баз ClamAV.
Традиционно, будем использовать серверную систему на базе FreeBSD последней актуальной версии.
root@beta:~ # uname -v
FreeBSD 11.1-RELEASE-p1 #0: Wed Aug 9 11:55:48 UTC 2017 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC
В системе уже установлен и настроен антивирусный пакет ClamAV. Он используется для сканирования содержимого передаваемой через данный сервер электронной почты.
root@beta:~ # pkg info | grep clamav
clamav-0.99.2_4 Command line virus scanner written entirely in C
Для добавления в процесс сканирования ClamAV набора популярных неофициальных баз в дереве портов FreeBSD имеется поддерживаемый компанией eXtremeSHOK скрипт clamav-unofficial-sigs.
root@beta:~ # pkg search clamav-unofficial-sigs
clamav-unofficial-sigs-5.3.2_1 Update script for third-party ClamAV databases
Ввиду того, что никакой компиляции для его установки не требуется и, следовательно, отсутствуют существенные опции, установим его (и необходимые для работы сопутствующие программы bash и rsync в случае их отсутствия) из пакетов.
root@beta:~ # pkg install clamav-unofficial-sigs
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 4 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
clamav-unofficial-sigs: 5.3.2_1
bash: 4.4.12_2
libexecinfo: 1.1_3
rsync: 3.1.2_7
Number of packages to be installed: 4
The process will require 9 MiB more space.
2 MiB to be downloaded.
Proceed with this action? [y/N]: y
[1/4] Fetching clamav-unofficial-sigs-5.3.2_1.txz: 100% 37 KiB 37.8kB/s 00:01
[2/4] Fetching bash-4.4.12_2.txz: 100% 1 MiB 208.7kB/s 00:07
[3/4] Fetching rsync-3.1.2_7.txz: 100% 298 KiB 152.6kB/s 00:02
Checking integrity... done (0 conflicting)
[1/4] Installing bash-4.4.12_2...
[1/4] Extracting bash-4.4.12_2: 100%
[2/4] Installing rsync-3.1.2_7...
[2/4] Extracting rsync-3.1.2_7: 100%
[3/4] Installing clamav-unofficial-sigs-5.3.2_1...
Extracting clamav-unofficial-sigs-5.3.2_1: 100%
[1/4] Installing libexecinfo-1.1_3...
[1/4] Extracting libexecinfo-1.1_3: 100%
Message from clamav-unofficial-sigs-5.3.2_1:
**********************************************************************
In order to start using clamav-unofficial-sigs, you need to configure
it first. Sample configuration files have been installed to:
/usr/local/etc/clamav-unofficial-sigs
All user configuration changes should go in file "user.conf". Modify
it according to your needs and when you are done set the value of
"user_configuration_complete" parameter to "yes".
NOTE: Starting with version 5.0.0 configuration has been split into
multiple files, which now reside in:
/usr/local/etc/clamav-unofficial-sigs
If you had previous version installed, you can remove the old
obsolete configuration file:
/usr/local/etc/clamav-unofficial-sigs.conf
To run the script periodically by cron, you also need to add it to
your crontab.
**********************************************************************
Message from libexecinfo-1.1_3:
===> NOTICE:
The libexecinfo port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:
https://bugs.freebsd.org/bugzilla
More information about port maintainership is available at:
https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Как видно, конфигурационные файлы, которые необходимы для функционирования скрипта расположены по пути /usr/local/etc/clamav-unofficial-sigs.
root@beta:~ # cd /usr/local/etc/clamav-unofficial-sigs
root@beta:/usr/local/etc/clamav-unofficial-sigs # ll
total 56
-rw-r--r-- 1 root wheel 23159 3 сент. 16:11 master.conf
-rw-r--r-- 1 root wheel 23158 2 сент. 17:41 master.conf.sample
-rw-r--r-- 1 root wheel 1267 2 сент. 17:41 os.conf
-rw-r--r-- 1 root wheel 1267 2 сент. 17:41 os.conf.sample
-rw-r--r-- 1 root wheel 2030 3 сент. 16:12 user.conf
-rw-r--r-- 1 root wheel 1862 2 сент. 17:41 user.conf.sample
Перед первым запуском необходимо отредактировать файл user.conf. Для этого, для начала получим доступ к наборам бесплатных отпечатков от SecuriteInfo и Malwarepatrol. В результате будут получены коды доступа, которые следует ввести в поля соответствующих переменных в вышеупомянутом конфигурационной файле.
root@beta:/usr/local/etc/clamav-unofficial-sigs # cat user.conf
...
malwarepatrol_receipt_code="..."
securiteinfo_authorisation_signature="..."
...
В случае, если вы используете не очень быстрый канал, то также хорошей идеей будет увеличить таймауты для функций синхронизации баз данных, особенно при первом старте, когда будут скачиваться несколько сотен мегабайт данных.
...
rsync_max_time="600"
downloader_max_time="600"
...
Ну и, наконец, в качестве индикатора завершения начального конфигурирования следует выставить специальную переменную user_configuration_complete.
...
user_configuration_complete="yes"
...
С дополнительными опциями для более тонкой настройки можно ознакомиться в файле master.conf.sample.
Теперь можно запустить сам скрипт и произвести начальную настройку хранилища новых данных и механизма их присоединения к официальным базам ClamAV.
root@beta:/usr/local/etc/clamav-unofficial-sigs # clamav-unofficial-sigs.sh
################################################################################
eXtremeSHOK.com ClamAV Unofficial Signature Updater
Version: v5.3.2 (24 May 2016)
Required Configuration Version: v65
Copyright (c) Adrian Jon Kriel :: admin@extremeshok.com
################################################################################
=================================================================
Loading config: /usr/local/etc/clamav-unofficial-sigs/master.conf
=================================================================
=============================================================
Loading config: /usr/local/etc/clamav-unofficial-sigs/os.conf
=============================================================
===============================================================
Loading config: /usr/local/etc/clamav-unofficial-sigs/user.conf
===============================================================
===================
Preparing Databases
===================
...
=================================
Setting permissions and ownership
=================================
==============================================
Update(s) detected, reloading ClamAV databases
==============================================
=========================
ClamAV databases Reloaded
=========================
----------------------------------------------------------------------------
Issue tracker : https://github.com/extremeshok/clamav-unofficial-sigs/issues
----------------------------------------------------------------------------
----------------------------------------------------------------------------
New version : v5.6.2 @ https://github.com/extremeshok/clamav-unofficial-sigs
----------------------------------------------------------------------------
##############################################
Powered By https://eXtremeSHOK.com
##############################################
В результате процесса будет перезапущен демон ClamAV для работы с уже новыми расширенными данными.
root@beta:/usr/local/etc/clamav-unofficial-sigs # grep loaded /var/log/clamav/clamd.log | tail -n2
Sun Sep 3 16:55:48 2017 -> Database correctly reloaded (6835028 signatures)
Sun Sep 3 17:00:27 2017 -> Database correctly reloaded (10257614 signatures)
Как видно, количество используемых сигнатур увеличилось примерно наполовину.
Проконтролировать в деталях включение новых баз в набор сканирования можно через расширенную диагностику.
root@beta:/usr/local/etc/clamav-unofficial-sigs # clamscan --debug 2>&1 /dev/null | grep "loaded"
Теперь осталось добавить скирпт в CRON для регулярного обновления баз данных.
root@beta:~ # grep clamav-unofficial-sigs /etc/crontab
*/3 * * * * root /usr/local/bin/clamav-unofficial-sigs.sh >/dev/null 2>&1
Безопасной работы!