В настоящее время информационная безопасность является одним из основных направлений деятельности любой организации. И не спроста, поскольку угроза нарушения основных критериев защищенности информации (конфиденциальность, целостность, доступность) всегда будет актуальной (закладки, компьютерные вирусы и т.п.). Термин "информационная безопасность" подразумевает реализацию целого комплекса мероприятий, направленных на обеспечение безопасности информации (конфиденциальность, целостность, доступность), в том числе организацию и выполнение мероприятий по технической защите информации. Мероприятия по технической защите информации не могут не включать организацию антивирусной защиты. На рынке антивирусного программного обеспечению существует достаточное количество решений, но сегодня речь пойдет лишь об одном — ClamAV.
ClamAV — открытое программное обеспечение, предназначенное для организации антивирусной защиты на файловых, почтовых и прокси серверах, а также на рабочих станциях. ClamAV включает в себя гибкий и масштабируемый многопоточный демон, различные консольные утилиты, а также средства для автоматического обновления базы вирусных сигнатур. Из основных достоинств продукта стоит выделить следующее:
- консольный сканер;
- поддержка всех стандартных форматов почтовых сообщений;
- поддержка большого количества форматов сжатия;
- возможность сканирования сжатых упаковщиками (UPX, FSG, Petite и др.) бинарных исполняемых файлов и библиотек;
- поддержка большого количества популярных текстовых и графических форматов файлов (MS Offfice, PDF и др.).
Итак, пора перейти от теории к делу... Установка и настройка антивируса ClamAV будет производиться на базе операционной системы FreeSBD 9.3. На момент написания статьи, в портах доступна версия ClamAV 0.98.6.
cd /usr/ports/security/clamav
make install clean
Из предложенных опций компиляции, я выбрал следующие:
- ARC — поддержка файловых архивов формата arch.
- ARJ — поддержка файловых архивов формата arj.
- DMG_XAR — поддержка файловых архивов формата DMG и XAR.
- DOCS — установить с портом документацию к антивирусу.
- ICONV — поддержка различных кодировок файлов через iconv.
- LHA — поддержка файловых архивов формата lha.
- LLVM — включить компилятор байткода JIT.
- UNRAR — поддержка файловых архивов формата rar.
- UNZOO — поддержка файловых архивов формата zoo.
ClamAV возможно использовать как в режиме отдельного демона, к которому посредством сетевых сокетов подключаются различные приложения (например: exim, clamdscan и т.д.), так и в режиме консольного сканера, который запускается по мере необходимости. Режим работы антивируса следует выбирать исходя из потребностей. В консольном режиме, все конфигурационные параметры передаются антивирусу через интерфейс командной строки (смотрите ман по утилите clamscan), а в режиме демона — через конфигурационный файл. Далее я рассмотрю процесс конфигурирования ClamAV в режиме демона.
Конфигурационные файлы располагаются по этим путям — /usr/local/etc/clamd.conf и /usr/local/etc/freshclam.conf. В первом конфигурационном файле задаются параметры для демона clamd, а во втором для демона freshclam, который отвечает за автоматическое обновление базы вирусных сигнатур. Конфигурационный файл clamd.conf у меня выглядит так (Замечу, что если вы собираетесь пользоваться только консольным сканером, то данный конфигурационный файл редактировать не требуется):
##
## Конфигурационный файл демона ClamAV
## Рекомендуется прочитать ман clamd.conf(5) перед редактированием данного файла.
##
# Закомментируйте или удалите строку ниже перед запуском демона clamd.
#Example
# Раскомментируйте параметр, чтобы включить ведение лог файла.
# Лог файл должен быть доступен для записи пользователю, по которым
# будет запускаться демон clamd. Необходимо указывать полный путь до файла.
# По умолчанию: выключено
LogFile /var/log/clamav/clamd.log
# Для защиты от множественного запуска демона clamd, по умолчанию
# на лог файл устанавливается блокировка (если есть необходимость запускать
# несколько демонов clamd, тогда создайте отдельный конфигурационный файл
# для каждого демона и указывайте другое значение в параметре LogFile.
# Также при запуске другого экземпляра демона используйте параметр командной
# строки --config-file для указания соответствующего конфигурационного файла).
# Данный параметр параметр отключает процедуру установки блокировки на лог файл .
# По умолчанию: no
#LogFileUnlock yes
# Максимальный размер лог файла. При установке параметра в 0 ограничение будет снято.
# Вы можете указывать единицы измерения, например, 'M' или 'm' для мегабайт
# (1M = 1m = 1048576 байт), 'K' or 'k' для килобайт (1K = 1k = 1024 байт). Для задания параметра
# в байтах просто не указывайте единицы измерения. Если параметр LogFileMaxSize включен,
# тогда ротация логов (параметр LogRotate) всегда будет активна.
# По умолчанию: 1M
LogFileMaxSize 10M
# Добавлять информацию о дате и времени в каждое записываемое сообщение в лог файл .
# По умолчанию: no
LogTime yes
# Also log clean files. Useful in debugging but drastically increases the
# log size.
# Default: no
#LogClean yes
# Писать лог через syslog (может работать совместно с LogFile).
# По умолчанию: no
#LogSyslog yes
# Specify the type of syslog messages - please refer to 'man syslog'
# for facility names.
# Default: LOG_LOCAL6
#LogFacility LOG_MAIL
# Выводить в лог отладочную информацию.
# По умолчанию: no
#LogVerbose yes
# Включить ротацию логов. Всегда включено, когда значение LogFileMaxSize установлено не в 0.
# По умолчанию: no
LogRotate yes
# Выводить в лог дополнительную информацию о найденных зараженных фалах
# (имя вируса, размер, хэш сумма и т.п.).
# По умолчанию: no
#ExtendedDetectionInfo yes
# Записывать идентификатор процесса (PID) clamd в файл.
# По умолчанию: disabled
PidFile /var/run/clamav/clamd.pid
# Путь до директории для хранения временных файлов.
# По умолчанию: зависит от системы (обычно /tmp или /var/tmp).
#TemporaryDirectory /var/tmp
# Путь до директории с базой вирусных сигнатур.
# По умолчанию: используется знгачение, указанное при компиляции
DatabaseDirectory /var/db/clamav
# Использовать только официальную (от проекта ClamAV) базу вирусных сигнатур.
# По умолчанию: no
OfficialDatabaseOnly yes
# Демон может взаимодействовать с удаленными и локальными клиентами.
# По соображениям безопасности, рекомендуется не разрешать подключения с удаленных хостов.
# Путь до файла (unix-сокета), через который будет осуществляться взаимодействие с клиентами.
# По умолчанию: выключено
LocalSocket /var/run/clamav/clamd.sock
# Группа владелец файла (unix-сокета).
# По умолчанию: выключено (то есть устанавливается группа, под которой работает демон)
#LocalSocketGroup virusgroup
# Права доступа к фалу (unix-сокету).
# По умолчанию: выключено (то есть, сокет доступен всем)
#LocalSocketMode 660
# Удалять перед запуском оставшийся файл (unix-сокет) после сбоя демона.
# По умолчанию: yes
FixStaleSocket yes
# Порт TCP.
# По умолчанию: no
#TCPSocket 3310
# IP адрес для TCP соединений.
# По умолчанию демон принимает подключения на всех сетевых адресах компьютера.
# По соображениям безопасности, рекомендуется указывать конкретный IP адрес для приема входящих подключений.
# Параметр может быть зада несколько раз, для указания нескольких IP адресов.
# На данный момент поддержка протокола IPv6 недоступна
# По умолчанию: no
#TCPAddr 127.0.0.1
# Максимальный размер очереди подключений.
# По умолчанию: 200
#MaxConnectionQueueLength 30
# Демон clamd использует FTP-подобный (FTP-like) протокол для получения данных от клиентов.
# Если вы используете Clamav-milter для балансировки нагрузки между удаленными демонами clamd
# на компьютере, выполняющем функции фаервола, тогда Вам необходимо настройку параметров ниже.
# Закрывать подключение, когда размер данных превышает указанный здесь.
# Значение параметро должно совпадать с настройками MTA в части максимального размера вложения.
# Default: 25M
#StreamMaxLength 10M
# Диапазон используемых портов.
# Default: 1024
#StreamMinPort 30000
# Default: 2048
#StreamMaxPort 32000
# Максимальное количество используемых одновременно потоков.
# Default: 10
#MaxThreads 20
# Максимальное время простоя соединения (в секундах).
# Default: 120
#ReadTimeout 300
# Параметр определяет время (в секундах), через которое демон clamd закроет подключение,
# в случае если клиент не отправит никаких данных после подключения.
# Default: 5
#CommandReadTimeout 5
# Параметр определяет время ожидания (в миллисекундах) в случае полного заполнения буфера отправки.
# Рекомендуется сохранять значение параметра небольших с целью предотвращения подвисания демона.
# Default: 500
#SendBufTimeout 200
# Maximum number of queued items (including those being processed by MaxThreads threads)
# It is recommended to have this value at least twice MaxThreads if possible.
# WARNING: you shouldn't increase this too much to avoid running out of file descriptors,
# the following condition should hold:
# MaxThreads*MaxRecursion + (MaxQueue - MaxThreads) + 6< RLIMIT_NOFILE (usual max is 1024)
#
# Default: 100
#MaxQueue 200
# Waiting for a new job will timeout after this time (seconds).
# Default: 30
#IdleTimeout 60
# Не сканировать файлы и директории подпадающие под указанное здесь регулярное выражение
# Директива может быть использована несколько раз.
# Default: scan all
#ExcludePath ^/proc/
#ExcludePath ^/sys/
# Максимальная глубина сканируемых директорий.
# Default: 15
#MaxDirectoryRecursion 20
# Переходить ли по ссылкам (symlinks) на директории?
# Default: no
#FollowDirectorySymlinks yes
# Переходить ли по ссылкам (symlinks) на файлы?
# Default: no
#FollowFileSymlinks yes
# Сканировать файлы и директории, расположенных на других файловых системах.
# Default: yes
#CrossFilesystems yes
# Период проверки внутренней базы данных.
# Default: 600 (10 min)
#SelfCheck 600
# выполнять указанную здесь команду при обнаружении инфицированных файлов.
# (Примечание: Вместо обозначения %v будет подставлено имя вируса)
# Default: no
#VirusEvent /usr/local/bin/send_sms 123456789 "VIRUS ALERT: %v"
# Запускать демон clamd под определенным пользователем (clamd должен запускать от пользователя root, чтобы опция работала)
# Default: don't drop privileges
User clamav
# Запускать демон clamd под определенной группой (clamd должен запускать от пользователя root, чтобы опция работала)
# Default: no
AllowSupplementaryGroups yes
# Завершать работу демона clamd, в случае отсутствия свободной памяти в системе.
ExitOnOOM yes
# Переходить ли в фоновый режим?
# Default: no
#Foreground yes
# Включить вывод отладочных сообщений.
# Default: no
#Debug yes
# Не удалять временные файлы (в целях отладки).
# Default: no
#LeaveTemporaryFiles yes
# Разрешить использовать команду ALLMATCHSCAN. Если параметр установлен в no, тогда clamd будет отклонять
# любые попытки использовать команду ALLMATCHSCAN.
# Default: yes
#AllowAllMatchScan no
# Проводить проверку на предмет "нежелательные приложения" (Detect Possibly Unwanted Applications).
# Default: no
DetectPUA yes
# Исключить определенные категории PUA. Данный параметр может быть использован несколько раз.
# Полный список категорий PUA приведен тут https://github.com/vrtadmin/clamav-faq/blob/master/faq/faq-pua.md
# Default: Load all categories (if DetectPUA is activated)
#ExcludePUA NetTool
#ExcludePUA PWTool
# Включить определенные категории PUA. Данный параметр может быть использован несколько раз.
# Default: Load all categories (if DetectPUA is activated)
#IncludePUA Spy
#IncludePUA Scanner
#IncludePUA RAT
# Использовать для некоторых типов файлов (eg. complex malware, exploits in graphic files, and others),
# специальные алгоритмы определения на предмет содержания вредоносного кода с целью обеспечения
# более точных (аккуратных) результатов сканирования.
# Default: yes
AlgorithmicDetection yes
# This option causes memory or nested map scans to dump the content to disk.
# If you turn on this option, more data is written to disk and is available
# when the LeaveTemporaryFiles option is enabled.
#ForceToDisk yes
# Кэшировать проверенные не зараженные файлы с целью исключения их повторного сканирования.
# ClamAV сохраняет информацию о проверенных не зараженных файлах в MD5 хэше. После нескольких попаданий по
# какой-нибудь записи в кэше, информация о такой записи удаляется из кэша (это если я правильно понял комментарий
# в оригинале). Отключение данной опции может негативно отразиться на производительности при большом объеме
# сканируемых файлов.
# Default: no
#DisableCache yes
##
## Исполняемые файлы
##
# PE (Portable Executable) - формат исполняемых файлов, ипользуемый на 32-х и 64-х битных
# платформах Windows. Включение данного параметра позволяет ClamAV производить дополнительный
# анализ исполняемых файлов в формате PE, в результате которого антивирус может определить
# дополнительную важную информацию о файел, например если исполняемый файл запакован с помощью
# упаковщиков (UPX, FSG, и Petite), тогда ClamAV произведет декомпрессию файлу и сканирование
# распакованных данных. Если данный параметр будет отключен, тогда файлы будут сканироваться
# без дополнительного анализа.
# Default: yes
ScanPE yes
# Некоторые исполняемые файлы могут содержать подпись (криптографическую). По умолчанию, в
# случае если файл является подозрительным или определен как вирус, антивирус проверяет
# цепочку сертификатов, содержащихся в файле. Если сертификаты из цепочки являются
# действующими (то есть ни один сертификат не является отозванным), тогда файл помечается
# как безопасный. Если файл содержит хотя бы один отозванный сертификат, тогда файл помечается
# как вирус. Если данный параметр включен, тогда ClamAV проверку подписи осуществлять не будет.
# Default: no
DisableCertCheck yes
# Executable and Linking Format является стандартным форматом для исполняемых файлов в U*NIX системах.
# Включение данного параметра позволит ClamAV производить дополнительный анализ исполняемых файлов
# в формате ELF. Если данный параметр будет отключен, тогда файлы будут сканироваться
# без дополнительного анализа.
# Default: yes
ScanELF yes
# Антивирус может определять исполняемые файлы (PE и ELF) на предмет повреждения их структуры
# (заголовков). Если в процессе сканирования будет обнаружен подобный файл, то тогда он будет помечен,
# как Broken.Executable.
# Default: no
#DetectBrokenExecutables yes
##
## Документы
##
# ClamAV может производить дополнительный анализ OLE2 файлов, таких как документы Microsoft Office
# и файлы *.msi. Если данный параметр выключен, тогда антивирус будет производить сканирование
# таких файлов без дополнительного анализа.
# Default: yes
ScanOLE2 yes
# Помечать OLE2 файлы с VBA макросами и не определенные ClamAV как содержащие вирусные сигнатуры
# "Heuristics.OLE2.ContainsMacros".
# Default: no
#OLE2BlockMacros no
# ClamAV может производить дополнительный анализ PDF файлов. Если данный параметр выключен,
# тогда антивирус будет производить сканирование таких файлов без дополнительного анализа.
# Default: yes
ScanPDF yes
# ClamAV может производить дополнительный анализ SWF файлов. Если данный параметр выключен,
# тогда антивирус будет производить сканирование таких файлов без дополнительного анализа.
# Default: yes
ScanSWF yes
##
## Файлы почтовых сообщений
##
# Включить функцию сканирования почтовых сообщений. Если вы отключите данную функцию, тогда
# вложения в почтовых сообщениях просканированы не будут.
# Default: yes
ScanMail yes
# Scan RFC1341 messages split over many emails.
# You will need to periodically clean up $TemporaryDirectory/clamav-partial directory.
# WARNING: This option may open your system to a DoS attack.
# Never use it on loaded servers.
# Default: no
#ScanPartialMessages yes
# При включении данного параметра, ClamAV будет производить проверку почтовых сообщений
# на предмет содержания фишинговых ссылок.
# Default: yes
PhishingSignatures yes
# Использовать эвристический анализ при поиске фишинговых ссылок в почтовых сообщениях.
# Default: yes
PhishingScanURLs yes
# Always block SSL mismatches in URLs, even if the URL isn't in the database.
# This can lead to false positives.
# Default: no
PhishingAlwaysBlockSSLMismatch no
# Always block cloaked URLs, even if URL isn't in database.
# This can lead to false positives.
# Default: no
#PhishingAlwaysBlockCloak no
# Detect partition intersections in raw disk images using heuristics.
# Default: no
#PartitionIntersection no
# Allow heuristic match to take precedence.
# When enabled, if a heuristic scan (such as phishingScan) detects
# a possible virus/phish it will stop scan immediately. Recommended, saves CPU
# scan-time.
# When disabled, virus/phish detected by heuristic scans will be reported only at
# the end of a scan. If an archive contains both a heuristically detected
# virus/phish, and a real malware, the real malware will be reported
#
# Keep this disabled if you intend to handle "*.Heuristics.*" viruses
# differently from "real" malware.
# If a non-heuristically-detected virus (signature-based) is found first,
# the scan is interrupted immediately, regardless of this config option.
#
# Default: no
HeuristicScanPrecedence yes
##
## Предотвращение утечки данных (DLP)
##
# Включить модуль DLP
# Default: No
StructuredDataDetection no
# Блокировать передачу объектов, содержащих большее, чем указано здесь номеров кредитных карт.
# Default: 3
#StructuredMinCreditCardCount 5
# Блокировать передачу объектов, содержащих большее, чем указано здесь номеров социального страхования (SSNS).
# Default: 3
#StructuredMinSSNCount 5
# With this option enabled the DLP module will search for valid
# SSNs formatted as xxx-yy-zzzz
# Default: yes
#StructuredSSNFormatNormal yes
# With this option enabled the DLP module will search for valid
# SSNs formatted as xxxyyzzzz
# Default: no
#StructuredSSNFormatStripped yes
##
## HTML
##
# ClamAV может производить дополнительный анализ HTML файлов, которые содержат код
# MS Script Encoder. Если данный параметр выключен, тогда антивирус будет производить
# сканирование таких файлов без дополнительного анализа.
# Default: yes
ScanHTML yes
##
## Файловые архивы
##
# ClamAV может производить сканирование файловых архивов. Если данный параметр выключен,
# тогда антивирус не будет производить распаковку архивов и дальнейшее сканирование
# распакованных файлов.
# Default: yes
ScanArchive yes
# Помечать закодированные архивы как вирусы (Encrypted.Zip, Encrypted.RAR).
# Default: no
ArchiveBlockEncrypted no
##
## Ограничения
##
# Опции, представленные ниже, помогут Вам защитить систему от атак типа "Отказ в обслуживании"
# (например, отправляя на сканирования слишком большие файловые архивы).
# В данном параметре задается максимальный размер проверяемого файла, а для архивов максимальный
# совокупный объем проверяемой информации. В случае задания параметра в 0 данный лимит будет снят.
# Default: 100M
MaxScanSize 150M
# Files larger than this limit won't be scanned. Affects the input file itself
# as well as files contained inside it (when the input file is an archive, a
# document or some other kind of container).
# Value of 0 disables the limit.
# Note: disabling this limit or setting it too high may result in severe damage
# to the system.
# Default: 25M
MaxFileSize 30M
# Nested archives are scanned recursively, e.g. if a Zip archive contains a RAR
# file, all files within it will also be scanned. This options specifies how
# deeply the process should be continued.
# Note: setting this limit too high may result in severe damage to the system.
# Default: 16
MaxRecursion 20
# Максимальное количество проверяемых файлов в архиве, документе или в любом другом
# контейнере. В случае задания параметра в 0 данный лимит будет снят.
# Default: 10000
#MaxFiles 15000
# Maximum size of a file to check for embedded PE. Files larger than this value
# will skip the additional analysis step.
# Note: disabling this limit or setting it too high may result in severe damage
# to the system.
# Default: 10M
#MaxEmbeddedPE 10M
# Maximum size of a HTML file to normalize. HTML files larger than this value
# will not be normalized or scanned.
# Note: disabling this limit or setting it too high may result in severe damage
# to the system.
# Default: 10M
#MaxHTMLNormalize 10M
# Maximum size of a normalized HTML file to scan. HTML files larger than this
# value after normalization will not be scanned.
# Note: disabling this limit or setting it too high may result in severe damage
# to the system.
# Default: 2M
#MaxHTMLNoTags 2M
# Maximum size of a script file to normalize. Script content larger than this
# value will not be normalized or scanned.
# Note: disabling this limit or setting it too high may result in severe damage
# to the system.
# Default: 5M
#MaxScriptNormalize 5M
# Maximum size of a ZIP file to reanalyze type recognition. ZIP files larger
# than this value will skip the step to potentially reanalyze as PE.
# Note: disabling this limit or setting it too high may result in severe damage
# to the system.
# Default: 1M
#MaxZipTypeRcg 1M
# Максимальное количество сканируемых логических разделов, которые могут содержаться
# в образе жесткого диска (raw disk image).
# Default: 50
#MaxPartitions 128
# Максимальное количество сканируемых иконок, которые могут содержаться в PE файле.
# Default: 100
#MaxIconsPE 200
##
## Сканирование в момент доступа
##
# Включить сканирование в момент доступа. На текущий момент данная функция работает через fanotify.
# Clamuko/Dazuko более не поддерживается.
# Default: no
#ScanOnAccess yes
# Не сканировать файлы, которые имеют больший, чем указано здесь размер.
# Установка параметра 0 снимит ограничение.
# Default: 5M
#OnAccessMaxFileSize 10M
# Директории, в которых будет осуществляться сканирование в момент доступа.
# Параметр может быть указан несколько раз.
# Default: disabled
#OnAccessIncludePath /home
#OnAccessIncludePath /students
# Не производить сканирование в момент доступа в указанных здесь директориях.
# Поддиректории также будут исключаться.
# Default: disabled
#OnAccessExcludePath /home/bofh
# With this option you can whitelist specific UIDs. Processes with these UIDs
# will be able to access all files.
# This option can be used multiple times (one per line).
# Default: disabled
#OnAccessExcludeUID 0
##
## Bytecode
##
# Разрешить ClamAV принимать оперативные изменения (дополнительные методы обнаружения вирусов и улучшения).
# Рекомендуется оставлять данный параметр включенным с целью улучшения определения новых угроз.
# Default: yes
Bytecode yes
# Уровень безопасности пи работе с bytecode.
# Возможные значения:
# None - no security at all, meant for debugging. DO NOT USE THIS ON PRODUCTION SYSTEMS
# This value is only available if clamav was built with --enable-debug!
# TrustSigned - trust bytecode loaded from signed .c[lv]d files,
# insert runtime safety checks for bytecode loaded from other sources
# Paranoid - don't trust any bytecode, insert runtime checks for all
# Рекомендуется: TrustSigned, because bytecode in .cvd files already has these checks
# Учтите, что по умолчанию разрешается загружать только подписанный bytecode. На текущий момент
# не подписанный bytecode возможно загрузить только при использовании ключа --enable-debug.
#
# Default: TrustSigned
BytecodeSecurity TrustSigned
# Set bytecode timeout in miliseconds.
#
# Default: 5000
# BytecodeTimeout 1000
##
## Сбор и отправка статистических данных
##
# Включить отправку статистики.
# Default: no
StatsEnabled no
# Отключить передачу информации о PE заголовках исполняемых файлов, определенных как вирус.
# Default: no
#StatsPEDisabled yes
# HostID in the form of an UUID to use when submitting statistical information.
# Default: auto
#StatsHostID auto
# Время ожидания ответа от сервера статистики.
# Default: 10
#StatsTimeout 10
Конфигурационный файл freshclam.conf у меня выглядит так:
##
## Конфигурационный файл демона freshclam
## Рекомендуется прочитать ман freshclam.conf(5) перед редактированием данного файла.
##
# Закомментируйте или удалите строку ниже перед запуском демона freshclam.
#Example
# Путь до директории с базой данных вирусных сигнатур.
# ВНИМАНИЕ: значение должно совпадать с значением, указанным в clamd.conf!
# Default: hardcoded (depends on installation options)
DatabaseDirectory /var/db/clamav
# Раскомментируйте параметр, чтобы включить ведение лог файла.
# Лог файл должен быть доступен для записи пользователю, по которым
# будет запускаться демон clamd. Необходимо указывать полный путь до файла.
# Default: disabled
UpdateLogFile /var/log/clamav/freshclam.log
# Максимальный размер лог файла. При установке параметра в 0 ограничение будет снято.
# Вы можете указывать единицы измерения, например, 'M' или 'm' для мегабайт
# (1M = 1m = 1048576 байт), 'K' or 'k' для килобайт (1K = 1k = 1024 байт). Для задания параметра
# в байтах просто не указывайте единицы измерения. Если параметр LogFileMaxSize включен,
# тогда ротация логов (параметр LogRotate) всегда будет активна.
# Default: 1M
LogFileMaxSize 5M
# Добавлять информацию о дате и времени в каждое записываемое сообщение в лог файл.
# Default: no
LogTime yes
# Выводить в лог отладочную информацию.
# Default: no
#LogVerbose yes
# Писать лог через syslog (может работать совместно с LogFile).
# Default: no
#LogSyslog yes
# Specify the type of syslog messages - please refer to 'man syslog'
# for facility names.
# Default: LOG_LOCAL6
#LogFacility LOG_MAIL
# Включить ротацию логов. Всегда включено, когда значение LogFileMaxSize установлено не в 0.
# Default: no
LogRotate yes
# Записывать идентификатор процесса (PID) freshclam в файл.
# Default: disabled
PidFile /var/run/clamav/freshclam.pid
# Запускать демон freshclam под определенным пользователем (freshclam должен запускать от пользователя root, чтобы опция работала).
# Default: clamav (may depend on installation options)
DatabaseOwner clamav
# Запускать демон freshclam под определенной группой (freshclam должен запускать от пользователя root, чтобы опция работала).
# Default: no
AllowSupplementaryGroups yes
# Использовать DNS для проверки выхода новых обновлений базы данных вирусных сигнатур (для этого freshclam использует TXT записи).
# С помощью данного параметра вы можете задать свой домен.
# WARNING: Do not touch it unless you're configuring freshclam to use your own database verification domain.
# Default: current.cvd.clamav.net
DNSDatabaseInfo current.cvd.clamav.net
# Здесь вы можете задать сервер, с которого будет осуществляться загрузка обновлений,
# где XY двухбуквенное обозначение страны (см. http://www.iana.org/cctld/cctld-whois.htm).
# Также вы можете использовать db.XY.ipv6.clamav.net для подключений по протоколу IPv6.
DatabaseMirror db.ru.clamav.net
# database.clamav.net is a round-robin record which points to our most reliable mirrors.
# Используется в случае, если сервер db.XY.clamav.net не доступен.
# Не трогайте данный параметр, если вы до конца не понимаете, для чего он нужен.
DatabaseMirror database.clamav.net
# Количество попыток доступа к зеркалу, перед переходом к следующему зеркалу (round-robin).
# Default: 3 (per mirror)
MaxAttempts 5
# With this option you can control scripted updates. It's highly recommended
# to keep it enabled.
# Default: yes
#ScriptedUpdates yes
# По умолчанию freshclam сохраняет локальные базы данных вирусных сигнатур (.cld)
# в исходном виде с целью быстрой работы с ними. Вы можете указать демону freshclam,
# чтобы он сжимал их с целью экономии места на диске. Изменение встпуит в силу при
# следующем обновлении баз данных.
# Default: no
CompressLocalDatabase no
# With this option you can provide custom sources (http:// or file://) for
# database files. This option can be used multiple times.
# Default: no custom URLs
#DatabaseCustomURL http://myserver.com/mysigs.ndb
#DatabaseCustomURL file:///mnt/nfs/local.hdb
# This option allows you to easily point freshclam to private mirrors.
# If PrivateMirror is set, freshclam does not attempt to use DNS
# to determine whether its databases are out-of-date, instead it will
# use the If-Modified-Since request or directly check the headers of the
# remote database files. For each database, freshclam first attempts
# to download the CLD file. If that fails, it tries to download the
# CVD file. This option overrides DatabaseMirror, DNSDatabaseInfo
# and ScriptedUpdates. It can be used multiple times to provide
# fall-back mirrors.
# Default: disabled
#PrivateMirror mirror1.mynetwork.com
#PrivateMirror mirror2.mynetwork.com
# Количество проверок обновлений в день.
# Default: 12 (каждые два часа)
#Checks 24
# Параметры прокси
# Default: disabled
#HTTPProxyServer myproxy.com
#HTTPProxyPort 1234
#HTTPProxyUsername myusername
#HTTPProxyPassword mypass
# Если сервер с freshclam расположен за фаерволом (прокси), который осуществляет фильтрацию
# трафика по заголовкам User-Agent, тогда Вам может понадобиться указать определенное значение,
# подставляемое в заголовок User-Agent.
# Default: clamav/version_number
#HTTPUserAgent SomeUserAgentIdString
# Использовать freshclam определенный адрес для исходящих подключений с целью загрузки баз данных.
# Полезно для систем с несколькими сетевыми интерфейсами.
# Default: Use OS'es default outgoing IP address.
#LocalIPAddress aaa.bbb.ccc.ddd
# Отправлять команду RELOAD демону clamd после обновления базы данных вирусных сигнатур.
# Default: no
NotifyClamd /usr/local/etc/clamd.conf
# Выпонять определенную команду после успешного обновления базы данных.
# Default: disabled
#OnUpdateExecute command
# Выпонять определенную команду в случае сбоя обновления базы данных.
# Default: disabled
#OnErrorExecute command
# Выполнять определенную команду когда freshclam обнаруживает, что БД устарела.
# (Примечание: сокращение %v будет заменено на версию новой БД)
# Default: disabled
#OnOutdatedExecute command
# Переходить ли в фоновый режим?
# Default: no
#Foreground yes
# Включить вывод отладочных сообщений.
# Default: no
#Debug yes
# Лимит на время подключения к серверу с БД.
# Default: 30
#ConnectTimeout 60
# Лимит на время получения данных от сервера с БД.
# Default: 30
#ReceiveTimeout 60
# Проверять на корректность загруженную базу данных перед заменой старых файлов.
# Увеличивается потребление памяти (только в момент проверки БД).
# Default: yes
TestDatabases yes
# When enabled freshclam will submit statistics to the ClamAV Project about
# the latest virus detections in your environment. The ClamAV maintainers
# will then use this data to determine what types of malware are the most
# detected in the field and in what geographic area they are.
# Freshclam will connect to clamd in order to get recent statistics.
# Default: no
#SubmitDetectionStats /path/to/clamd.conf
# Country of origin of malware/detection statistics (for statistical
# purposes only). The statistics collector at ClamAV.net will look up
# your IP address to determine the geographical origin of the malware
# reported by your installation. If this installation is mainly used to
# scan data which comes from a different location, please enable this
# option and enter a two-letter code (see http://www.iana.org/domains/root/db/)
# of the country of origin.
# Default: disabled
#DetectionStatsCountry country-code
# This option enables support for our "Personal Statistics" service.
# When this option is enabled, the information on malware detected by
# your clamd installation is made available to you through our website.
# To get your HostID, log on http://www.stats.clamav.net and add a new
# host to your host list. Once you have the HostID, uncomment this option
# and paste the HostID here. As soon as your freshclam starts submitting
# information to our stats collecting service, you will be able to view
# the statistics of this clamd installation by logging into
# http://www.stats.clamav.net with the same credentials you used to
# generate the HostID. For more information refer to:
# http://www.clamav.net/documentation.html#cctts
# This feature requires SubmitDetectionStats to be enabled.
# Default: disabled
#DetectionStatsHostID unique-id
# This option enables support for Google Safe Browsing. When activated for
# the first time, freshclam will download a new database file (safebrowsing.cvd)
# which will be automatically loaded by clamd and clamscan during the next
# reload, provided that the heuristic phishing detection is turned on. This
# database includes information about websites that may be phishing sites or
# possible sources of malware. When using this option, it's mandatory to run
# freshclam at least every 30 minutes.
# Freshclam uses the ClamAV's mirror infrastructure to distribute the
# database and its updates but all the contents are provided under Google's
# terms of use. See http://www.google.com/transparencyreport/safebrowsing
# and http://www.clamav.net/documentation.html#safebrowsing
# for more information.
# Default: disabled
#SafeBrowsing yes
# Загружать файл bytecode.cvd, который содержит оперативные изменения, а именно
# дополнительные методы обнаружения вирусов и улучшения для антивируса ClamAV.
# Default: enabled
Bytecode yes
# Download an additional 3rd party signature database distributed through
# the ClamAV mirrors.
# This option can be used multiple times.
#ExtraDatabase dbname1
#ExtraDatabase dbname2
После завершения редактирования конфигурационных файлов антивируса, следует добавить демоны в автозагрузку и попробовать запустить.
echo 'clamav_clamd_enable="YES"' >> /etc/rc.conf
echo 'clamav_freshclam_enable="YES"' >> /etc/rc.conf
service clamav-freshclam start
service clamav-clamd start
Проверить, запустились ли демоны можно командой ps, например так:
ps -ax -U clamav
PID TT STAT TIME COMMAND
872 ?? Is 0:38,20 /usr/local/sbin/clamd
875 ?? Is 0:23,93 /usr/local/bin/freshclam --daemon -p /var/run/clamav/freshclam.pid
Если вы видите что-то подобное, тогда установку и настройку ClamAV можно считать законченной. В случае отсутствия запущенного процесса clamd и (или) freshclam смотрите лог файлы. Отмечу, что антивирус хорошо интегрируется с почтовыми серверами, а для использования ClamAV на файловых или хостинг серверах приходится немного поработать программистом и писать свои скрипты, которые автоматизируют процесс сканирования хранящихся на сервере файлов.
Добавить комментарий