Установка и настройка антивируса ClamAV

В настоящее время информационная безопасность является одним из основных направлений деятельности любой организации. И не спроста, поскольку угроза нарушения основных критериев защищенности информации (конфиденциальность, целостность, доступность) всегда будет актуальной (закладки, компьютерные вирусы и т.п.). Термин "информационная безопасность" подразумевает реализацию целого комплекса мероприятий, направленных на обеспечение безопасности информации (конфиденциальность, целостность, доступность), в том числе организацию и выполнение мероприятий по технической защите информации. Мероприятия по технической защите информации не могут не включать организацию антивирусной защиты. На рынке антивирусного программного обеспечению существует достаточное количество решений, но сегодня речь пойдет лишь об одном — ClamAV.

ClamAV — открытое программное обеспечение, предназначенное для организации антивирусной защиты на файловых, почтовых и прокси серверах, а также на рабочих станциях. ClamAV включает в себя гибкий и масштабируемый многопоточный демон, различные консольные утилиты, а также средства для автоматического обновления базы вирусных сигнатур. Из основных достоинств продукта стоит выделить следующее:

  • консольный сканер;
  • поддержка всех стандартных форматов почтовых сообщений;
  • поддержка большого количества форматов сжатия;
  • возможность сканирования сжатых упаковщиками (UPX, FSG, Petite и др.) бинарных исполняемых файлов и библиотек;
  • поддержка большого количества популярных текстовых и графических форматов файлов (MS Offfice, PDF и др.).

Итак, пора перейти от теории к делу... Установка и настройка антивируса ClamAV будет производиться на базе операционной системы FreeSBD 9.3. На момент написания статьи, в портах доступна версия ClamAV 0.98.6.

  1. # cd /usr/ports/security/clamav
  2. # 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 у меня выглядит так (Замечу, что если вы собираетесь пользоваться только консольным сканером, то данный конфигурационный файл редактировать не требуется):

  1. ##
  2. ## Конфигурационный файл демона ClamAV
  3. ## Рекомендуется прочитать ман clamd.conf(5) перед редактированием данного файла.
  4. ##
  5.  
  6.  
  7. # Закомментируйте или удалите строку ниже перед запуском демона clamd.
  8. #Example
  9.  
  10. # Раскомментируйте параметр, чтобы включить ведение лог файла.
  11. # Лог файл должен быть доступен для записи пользователю, по которым
  12. # будет запускаться демон clamd. Необходимо указывать полный путь до файла.
  13. # По умолчанию: выключено
  14. LogFile /var/log/clamav/clamd.log
  15.  
  16. # Для защиты от множественного запуска демона clamd, по умолчанию
  17. # на лог файл устанавливается блокировка (если есть необходимость запускать
  18. # несколько демонов clamd, тогда создайте отдельный конфигурационный файл
  19. # для каждого демона и указывайте другое значение в параметре LogFile.
  20. # Также при запуске другого экземпляра демона используйте параметр командной
  21. # строки --config-file для указания соответствующего конфигурационного файла).
  22. # Данный параметр параметр отключает процедуру установки блокировки на лог файл .
  23. # По умолчанию: no
  24. #LogFileUnlock yes
  25.  
  26. # Максимальный размер лог файла. При установке параметра в 0 ограничение будет снято.
  27. # Вы можете указывать единицы измерения, например, 'M' или 'm' для мегабайт
  28. # (1M = 1m = 1048576 байт), 'K' or 'k' для килобайт (1K = 1k = 1024 байт). Для задания параметра
  29. # в байтах просто не указывайте единицы измерения. Если параметр LogFileMaxSize включен,
  30. # тогда ротация логов (параметр LogRotate) всегда будет активна.
  31. # По умолчанию: 1M
  32. LogFileMaxSize 10M
  33.  
  34. # Добавлять информацию о дате и времени в каждое записываемое сообщение в лог файл .
  35. # По умолчанию: no
  36. LogTime yes
  37.  
  38. # Also log clean files. Useful in debugging but drastically increases the
  39. # log size.
  40. # Default: no
  41. #LogClean yes
  42.  
  43. # Писать лог через syslog (может работать совместно с LogFile).
  44. # По умолчанию: no
  45. #LogSyslog yes
  46.  
  47. # Specify the type of syslog messages - please refer to 'man syslog'
  48. # for facility names.
  49. # Default: LOG_LOCAL6
  50. #LogFacility LOG_MAIL
  51.  
  52. # Выводить в лог отладочную информацию.
  53. # По умолчанию: no
  54. #LogVerbose yes
  55.  
  56. # Включить ротацию логов. Всегда включено, когда значение LogFileMaxSize установлено не в 0.
  57. # По умолчанию: no
  58. LogRotate yes
  59.  
  60. # Выводить в лог дополнительную информацию о найденных зараженных фалах
  61. # (имя вируса, размер, хэш сумма и т.п.).
  62. # По умолчанию: no
  63. #ExtendedDetectionInfo yes
  64.  
  65. # Записывать идентификатор процесса (PID) clamd в файл.
  66. # По умолчанию: disabled
  67. PidFile /var/run/clamav/clamd.pid
  68.  
  69. # Путь до директории для хранения временных файлов.
  70. # По умолчанию: зависит от системы (обычно /tmp или /var/tmp).
  71. #TemporaryDirectory /var/tmp
  72.  
  73. # Путь до директории с базой вирусных сигнатур.
  74. # По умолчанию: используется знгачение, указанное при компиляции
  75. DatabaseDirectory /var/db/clamav
  76.  
  77. # Использовать только официальную (от проекта ClamAV) базу вирусных сигнатур.
  78. # По умолчанию: no
  79. OfficialDatabaseOnly yes
  80.  
  81.  
  82. # Демон может взаимодействовать с удаленными и локальными клиентами. 
  83. # По соображениям безопасности, рекомендуется не разрешать подключения с удаленных хостов.
  84.  
  85. # Путь до файла (unix-сокета), через который будет осуществляться взаимодействие с клиентами.
  86. # По умолчанию: выключено
  87. LocalSocket /var/run/clamav/clamd.sock
  88.  
  89. # Группа владелец файла (unix-сокета).
  90. # По умолчанию: выключено (то есть устанавливается группа, под которой работает демон)
  91. #LocalSocketGroup virusgroup
  92.  
  93. # Права доступа к фалу (unix-сокету).
  94. # По умолчанию: выключено (то есть, сокет доступен всем)
  95. #LocalSocketMode 660
  96.  
  97. # Удалять перед запуском оставшийся файл (unix-сокет) после сбоя демона.
  98. # По умолчанию: yes
  99. FixStaleSocket yes
  100.  
  101. # Порт TCP.
  102. # По умолчанию: no
  103. #TCPSocket 3310
  104.  
  105. # IP адрес для TCP соединений.
  106. # По умолчанию демон принимает подключения на всех сетевых адресах компьютера.
  107. # По соображениям безопасности, рекомендуется указывать конкретный IP адрес для приема входящих подключений.
  108. # Параметр может быть зада несколько раз, для указания нескольких IP адресов.
  109. # На данный момент поддержка протокола IPv6 недоступна
  110. # По умолчанию: no
  111. #TCPAddr 127.0.0.1
  112.  
  113. # Максимальный размер очереди подключений.
  114. # По умолчанию: 200
  115. #MaxConnectionQueueLength 30
  116.  
  117. # Демон clamd использует FTP-подобный (FTP-like) протокол для получения данных от клиентов.
  118. # Если вы используете Clamav-milter для балансировки нагрузки между удаленными демонами clamd
  119. # на компьютере, выполняющем функции фаервола, тогда Вам необходимо настройку параметров ниже.
  120.  
  121. # Закрывать подключение, когда размер данных превышает указанный здесь.
  122. # Значение параметро должно совпадать с настройками MTA в части максимального размера вложения.
  123. # Default: 25M
  124. #StreamMaxLength 10M
  125.  
  126. # Диапазон используемых портов.
  127. # Default: 1024
  128. #StreamMinPort 30000
  129. # Default: 2048
  130. #StreamMaxPort 32000
  131.  
  132. # Максимальное количество используемых одновременно потоков.
  133. # Default: 10
  134. #MaxThreads 20
  135.  
  136. # Максимальное время простоя соединения (в секундах).
  137. # Default: 120
  138. #ReadTimeout 300
  139.  
  140. # Параметр определяет время (в секундах), через которое демон clamd закроет подключение,
  141. # в случае если клиент не отправит никаких данных после подключения.
  142. # Default: 5
  143. #CommandReadTimeout 5
  144.  
  145. # Параметр определяет время ожидания (в миллисекундах) в случае полного заполнения буфера отправки.
  146. # Рекомендуется сохранять значение параметра небольших с целью предотвращения подвисания демона.
  147. # Default: 500
  148. #SendBufTimeout 200
  149.  
  150. # Maximum number of queued items (including those being processed by MaxThreads threads)
  151. # It is recommended to have this value at least twice MaxThreads if possible.
  152. # WARNING: you shouldn't increase this too much to avoid running out  of file descriptors,
  153. # the following condition should hold:
  154. # MaxThreads*MaxRecursion + (MaxQueue - MaxThreads) + 6< RLIMIT_NOFILE (usual max is 1024)
  155. #
  156. # Default: 100
  157. #MaxQueue 200
  158.  
  159. # Waiting for a new job will timeout after this time (seconds).
  160. # Default: 30
  161. #IdleTimeout 60
  162.  
  163. # Не сканировать файлы и директории подпадающие под указанное здесь регулярное выражение
  164. # Директива может быть использована несколько раз.
  165. # Default: scan all
  166. #ExcludePath ^/proc/
  167. #ExcludePath ^/sys/
  168.  
  169. # Максимальная глубина сканируемых директорий.
  170. # Default: 15
  171. #MaxDirectoryRecursion 20
  172.  
  173. # Переходить ли по ссылкам (symlinks) на директории?
  174. # Default: no
  175. #FollowDirectorySymlinks yes
  176.  
  177. # Переходить ли по ссылкам (symlinks) на файлы?
  178. # Default: no
  179. #FollowFileSymlinks yes
  180.  
  181. # Сканировать файлы и директории, расположенных на других файловых системах.
  182. # Default: yes
  183. #CrossFilesystems yes
  184.  
  185. # Период проверки внутренней базы данных.
  186. # Default: 600 (10 min)
  187. #SelfCheck 600
  188.  
  189. # выполнять указанную здесь команду при обнаружении инфицированных файлов.
  190. # (Примечание: Вместо обозначения %v будет подставлено имя вируса)
  191. # Default: no
  192. #VirusEvent /usr/local/bin/send_sms 123456789 "VIRUS ALERT: %v"
  193.  
  194. # Запускать демон clamd под определенным пользователем (clamd должен запускать от пользователя root, чтобы опция работала)
  195. # Default: don't drop privileges
  196. User clamav
  197.  
  198. # Запускать демон clamd под определенной группой (clamd должен запускать от пользователя root, чтобы опция работала)
  199. # Default: no
  200. AllowSupplementaryGroups yes
  201.  
  202. # Завершать работу демона clamd, в случае отсутствия свободной памяти в системе.
  203. ExitOnOOM yes
  204.  
  205. # Переходить ли в фоновый режим?
  206. # Default: no
  207. #Foreground yes
  208.  
  209. # Включить вывод отладочных сообщений.
  210. # Default: no
  211. #Debug yes
  212.  
  213. # Не удалять временные файлы (в целях отладки).
  214. # Default: no
  215. #LeaveTemporaryFiles yes
  216.  
  217. # Разрешить использовать команду ALLMATCHSCAN. Если параметр установлен в no, тогда clamd будет отклонять
  218. # любые попытки использовать команду ALLMATCHSCAN.
  219. # Default: yes
  220. #AllowAllMatchScan no
  221.  
  222. # Проводить проверку на предмет "нежелательные приложения" (Detect Possibly Unwanted Applications).
  223. # Default: no
  224. DetectPUA yes
  225.  
  226. # Исключить определенные категории PUA. Данный параметр может быть использован несколько раз.
  227. # Полный список категорий PUA приведен тут  https://github.com/vrtadmin/clamav-faq/blob/master/faq/faq-pua.md 
  228. # Default: Load all categories (if DetectPUA is activated)
  229. #ExcludePUA NetTool
  230. #ExcludePUA PWTool
  231.  
  232. # Включить определенные категории PUA. Данный параметр может быть использован несколько раз.
  233. # Default: Load all categories (if DetectPUA is activated)
  234. #IncludePUA Spy
  235. #IncludePUA Scanner
  236. #IncludePUA RAT
  237.  
  238. # Использовать для некоторых типов файлов (eg. complex malware, exploits in graphic files, and others),
  239. # специальные алгоритмы определения на предмет содержания вредоносного кода с целью обеспечения
  240. # более точных (аккуратных) результатов сканирования.
  241. # Default: yes
  242. AlgorithmicDetection yes
  243.  
  244. # This option causes memory or nested map scans to dump the content to disk.
  245. # If you turn on this option, more data is written to disk and is available
  246. # when the LeaveTemporaryFiles option is enabled.
  247. #ForceToDisk yes
  248.  
  249. # Кэшировать проверенные не зараженные файлы с целью исключения их повторного сканирования.
  250. # ClamAV сохраняет информацию о проверенных не зараженных файлах в MD5 хэше. После нескольких попаданий по
  251. # какой-нибудь записи в кэше, информация о такой записи удаляется из кэша (это если я правильно понял комментарий
  252. # в оригинале). Отключение данной опции может негативно отразиться на производительности при большом объеме
  253. # сканируемых файлов.
  254. # Default: no
  255. #DisableCache yes
  256.  
  257. ##
  258. ## Исполняемые файлы
  259. ##
  260.  
  261. # PE (Portable Executable) - формат исполняемых файлов, ипользуемый на 32-х и 64-х битных
  262. # платформах Windows. Включение данного параметра позволяет ClamAV производить дополнительный
  263. # анализ исполняемых файлов в формате PE, в результате которого антивирус может определить
  264. # дополнительную важную информацию  о файел, например если исполняемый файл запакован с помощью
  265. # упаковщиков (UPX, FSG, и Petite), тогда ClamAV произведет декомпрессию файлу и сканирование
  266. # распакованных данных. Если данный параметр будет отключен, тогда файлы будут сканироваться
  267. # без дополнительного анализа.
  268. # Default: yes
  269. ScanPE yes
  270.  
  271. # Некоторые исполняемые файлы могут содержать подпись (криптографическую). По умолчанию, в
  272. # случае если файл является подозрительным или определен как вирус, антивирус проверяет
  273. # цепочку сертификатов, содержащихся в файле. Если сертификаты из цепочки являются
  274. # действующими (то есть ни один сертификат не является отозванным), тогда файл помечается
  275. # как безопасный. Если файл содержит хотя бы один отозванный сертификат, тогда файл помечается
  276. # как вирус. Если данный параметр включен, тогда ClamAV проверку подписи осуществлять не будет.
  277. # Default: no
  278. DisableCertCheck yes
  279.  
  280. # Executable and Linking Format является стандартным форматом для исполняемых файлов в U*NIX системах.
  281. # Включение данного параметра позволит ClamAV производить дополнительный анализ исполняемых файлов
  282. # в формате ELF. Если данный параметр будет отключен, тогда файлы будут сканироваться
  283. # без дополнительного анализа.
  284. # Default: yes
  285. ScanELF yes
  286.  
  287. # Антивирус может определять исполняемые файлы (PE и ELF) на предмет повреждения их структуры
  288. # (заголовков). Если в процессе сканирования будет обнаружен подобный файл, то тогда он будет помечен,
  289. # как Broken.Executable.
  290. # Default: no
  291. #DetectBrokenExecutables yes
  292.  
  293.  
  294. ##
  295. ## Документы
  296. ##
  297.  
  298. # ClamAV может производить дополнительный анализ OLE2 файлов, таких как документы Microsoft Office
  299. # и файлы  *.msi. Если данный параметр выключен, тогда антивирус будет производить сканирование
  300. # таких файлов без дополнительного анализа.
  301. # Default: yes
  302. ScanOLE2 yes
  303.  
  304. # Помечать OLE2 файлы с VBA макросами и не определенные ClamAV как содержащие вирусные сигнатуры
  305. # "Heuristics.OLE2.ContainsMacros".
  306. # Default: no
  307. #OLE2BlockMacros no
  308.  
  309. # ClamAV может производить дополнительный анализ PDF файлов. Если данный параметр выключен,
  310. # тогда антивирус будет производить сканирование таких файлов без дополнительного анализа.
  311. # Default: yes
  312. ScanPDF yes
  313.  
  314. # ClamAV может производить дополнительный анализ SWF файлов. Если данный параметр выключен,
  315. # тогда антивирус будет производить сканирование таких файлов без дополнительного анализа.
  316. # Default: yes
  317. ScanSWF yes
  318.  
  319.  
  320. ##
  321. ## Файлы почтовых сообщений
  322. ##
  323.  
  324. # Включить функцию сканирования почтовых сообщений. Если вы отключите данную функцию, тогда
  325. # вложения в почтовых сообщениях просканированы не будут.
  326. # Default: yes
  327. ScanMail yes
  328.  
  329. # Scan RFC1341 messages split over many emails.
  330. # You will need to periodically clean up $TemporaryDirectory/clamav-partial directory.
  331. # WARNING: This option may open your system to a DoS attack.
  332. #	   Never use it on loaded servers.
  333. # Default: no
  334. #ScanPartialMessages yes
  335.  
  336. # При включении данного параметра, ClamAV будет производить проверку почтовых сообщений
  337. # на предмет содержания фишинговых ссылок.
  338. # Default: yes
  339. PhishingSignatures yes
  340.  
  341. # Использовать эвристический анализ при поиске фишинговых ссылок в почтовых сообщениях.
  342. # Default: yes
  343. PhishingScanURLs yes
  344.  
  345. # Always block SSL mismatches in URLs, even if the URL isn't in the database.
  346. # This can lead to false positives.
  347. # Default: no
  348. PhishingAlwaysBlockSSLMismatch no
  349.  
  350. # Always block cloaked URLs, even if URL isn't in database.
  351. # This can lead to false positives.
  352. # Default: no
  353. #PhishingAlwaysBlockCloak no
  354.  
  355. # Detect partition intersections in raw disk images using heuristics.
  356. # Default: no
  357. #PartitionIntersection no
  358.  
  359. # Allow heuristic match to take precedence.
  360. # When enabled, if a heuristic scan (such as phishingScan) detects
  361. # a possible virus/phish it will stop scan immediately. Recommended, saves CPU
  362. # scan-time.
  363. # When disabled, virus/phish detected by heuristic scans will be reported only at
  364. # the end of a scan. If an archive contains both a heuristically detected
  365. # virus/phish, and a real malware, the real malware will be reported
  366. #
  367. # Keep this disabled if you intend to handle "*.Heuristics.*" viruses 
  368. # differently from "real" malware.
  369. # If a non-heuristically-detected virus (signature-based) is found first, 
  370. # the scan is interrupted immediately, regardless of this config option.
  371. #
  372. # Default: no
  373. HeuristicScanPrecedence yes
  374.  
  375.  
  376. ##
  377. ## Предотвращение утечки данных (DLP)
  378. ##
  379.  
  380. # Включить модуль DLP
  381. # Default: No
  382. StructuredDataDetection no
  383.  
  384. # Блокировать передачу объектов, содержащих большее, чем указано здесь номеров кредитных карт.
  385. # Default: 3
  386. #StructuredMinCreditCardCount 5
  387.  
  388. # Блокировать передачу объектов, содержащих большее, чем указано здесь номеров социального страхования (SSNS).
  389. # Default: 3
  390. #StructuredMinSSNCount 5
  391.  
  392. # With this option enabled the DLP module will search for valid
  393. # SSNs formatted as xxx-yy-zzzz
  394. # Default: yes
  395. #StructuredSSNFormatNormal yes
  396.  
  397. # With this option enabled the DLP module will search for valid
  398. # SSNs formatted as xxxyyzzzz
  399. # Default: no
  400. #StructuredSSNFormatStripped yes
  401.  
  402.  
  403. ##
  404. ## HTML
  405. ##
  406.  
  407. # ClamAV может производить дополнительный анализ HTML файлов, которые содержат код
  408. # MS Script Encoder. Если данный параметр выключен, тогда антивирус будет производить
  409. # сканирование таких файлов без дополнительного анализа.
  410. # Default: yes
  411. ScanHTML yes
  412.  
  413.  
  414. ##
  415. ## Файловые архивы
  416. ##
  417.  
  418. # ClamAV может производить сканирование файловых архивов. Если данный параметр выключен,
  419. # тогда антивирус не будет производить распаковку архивов и дальнейшее сканирование
  420. # распакованных файлов. 
  421. # Default: yes
  422. ScanArchive yes
  423.  
  424. # Помечать закодированные архивы как вирусы (Encrypted.Zip, Encrypted.RAR).
  425. # Default: no
  426. ArchiveBlockEncrypted no
  427.  
  428.  
  429. ##
  430. ## Ограничения
  431. ##
  432.  
  433. # Опции, представленные ниже, помогут Вам защитить систему от атак типа "Отказ в обслуживании"
  434. # (например, отправляя на сканирования слишком большие файловые архивы).
  435.  
  436. # В данном параметре задается максимальный размер проверяемого файла, а для архивов максимальный
  437. # совокупный объем проверяемой информации. В случае задания параметра в 0 данный лимит будет снят.
  438. # Default: 100M
  439. MaxScanSize 150M
  440.  
  441. # Files larger than this limit won't be scanned. Affects the input file itself
  442. # as well as files contained inside it (when the input file is an archive, a
  443. # document or some other kind of container).
  444. # Value of 0 disables the limit.
  445. # Note: disabling this limit or setting it too high may result in severe damage
  446. # to the system.
  447. # Default: 25M
  448. MaxFileSize 30M
  449.  
  450. # Nested archives are scanned recursively, e.g. if a Zip archive contains a RAR
  451. # file, all files within it will also be scanned. This options specifies how
  452. # deeply the process should be continued.
  453. # Note: setting this limit too high may result in severe damage to the system.
  454. # Default: 16
  455. MaxRecursion 20
  456.  
  457. # Максимальное количество проверяемых файлов в архиве, документе или в любом другом
  458. # контейнере. В случае задания параметра в 0 данный лимит будет снят.
  459. # Default: 10000
  460. #MaxFiles 15000
  461.  
  462. # Maximum size of a file to check for embedded PE. Files larger than this value
  463. # will skip the additional analysis step.
  464. # Note: disabling this limit or setting it too high may result in severe damage
  465. # to the system.
  466. # Default: 10M
  467. #MaxEmbeddedPE 10M
  468.  
  469. # Maximum size of a HTML file to normalize. HTML files larger than this value
  470. # will not be normalized or scanned.
  471. # Note: disabling this limit or setting it too high may result in severe damage
  472. # to the system.
  473. # Default: 10M
  474. #MaxHTMLNormalize 10M
  475.  
  476. # Maximum size of a normalized HTML file to scan. HTML files larger than this
  477. # value after normalization will not be scanned.
  478. # Note: disabling this limit or setting it too high may result in severe damage
  479. # to the system.
  480. # Default: 2M
  481. #MaxHTMLNoTags 2M
  482.  
  483. # Maximum size of a script file to normalize. Script content larger than this
  484. # value will not be normalized or scanned.
  485. # Note: disabling this limit or setting it too high may result in severe damage
  486. # to the system.
  487. # Default: 5M
  488. #MaxScriptNormalize 5M
  489.  
  490. # Maximum size of a ZIP file to reanalyze type recognition. ZIP files larger
  491. # than this value will skip the step to potentially reanalyze as PE.
  492. # Note: disabling this limit or setting it too high may result in severe damage
  493. # to the system.
  494. # Default: 1M
  495. #MaxZipTypeRcg 1M
  496.  
  497. # Максимальное количество сканируемых логических разделов, которые могут содержаться
  498. # в образе жесткого диска (raw disk image).
  499. # Default: 50
  500. #MaxPartitions 128
  501.  
  502. # Максимальное количество сканируемых иконок, которые могут содержаться в PE файле.
  503. # Default: 100
  504. #MaxIconsPE 200
  505.  
  506. ##
  507. ## Сканирование в момент доступа
  508. ##
  509.  
  510. # Включить сканирование в момент доступа. На текущий момент данная функция работает через fanotify.
  511. # Clamuko/Dazuko более не поддерживается.
  512. # Default: no
  513. #ScanOnAccess yes
  514.  
  515. # Не сканировать файлы, которые имеют больший, чем указано здесь размер.
  516. # Установка параметра 0 снимит ограничение.
  517. # Default: 5M
  518. #OnAccessMaxFileSize 10M
  519.  
  520. # Директории, в которых будет осуществляться сканирование в момент доступа.
  521. # Параметр может быть указан несколько раз.
  522. # Default: disabled
  523. #OnAccessIncludePath /home
  524. #OnAccessIncludePath /students
  525.  
  526. # Не производить сканирование в момент доступа в указанных здесь директориях.
  527. # Поддиректории также будут исключаться.
  528. # Default: disabled
  529. #OnAccessExcludePath /home/bofh
  530.  
  531. # With this option you can whitelist specific UIDs. Processes with these UIDs
  532. # will be able to access all files.
  533. # This option can be used multiple times (one per line).
  534. # Default: disabled
  535. #OnAccessExcludeUID 0
  536.  
  537.  
  538. ##
  539. ## Bytecode
  540. ##
  541.  
  542. # Разрешить ClamAV принимать оперативные изменения (дополнительные методы обнаружения вирусов и улучшения).
  543. # Рекомендуется оставлять данный параметр включенным с целью улучшения определения новых угроз.
  544. # Default: yes
  545. Bytecode yes
  546.  
  547. # Уровень безопасности пи работе с bytecode.
  548. # Возможные значения:
  549. #       None - no security at all, meant for debugging. DO NOT USE THIS ON PRODUCTION SYSTEMS
  550. #         This value is only available if clamav was built with --enable-debug!
  551. #       TrustSigned - trust bytecode loaded from signed .c[lv]d files,
  552. #                insert runtime safety checks for bytecode loaded from other sources
  553. #       Paranoid - don't trust any bytecode, insert runtime checks for all
  554. # Рекомендуется: TrustSigned, because bytecode in .cvd files already has these checks
  555. # Учтите, что по умолчанию разрешается загружать только подписанный bytecode. На текущий момент
  556. # не подписанный bytecode возможно загрузить только при использовании ключа --enable-debug.
  557. #
  558. # Default: TrustSigned
  559. BytecodeSecurity TrustSigned
  560.  
  561. # Set bytecode timeout in miliseconds.
  562. # 
  563. # Default: 5000
  564. # BytecodeTimeout 1000
  565.  
  566. ##
  567. ## Сбор и отправка статистических данных
  568. ##
  569.  
  570. # Включить отправку статистики.
  571. # Default: no
  572. StatsEnabled no
  573.  
  574. # Отключить передачу информации о PE заголовках исполняемых файлов, определенных как вирус.
  575. # Default: no
  576. #StatsPEDisabled yes
  577.  
  578. # HostID in the form of an UUID to use when submitting statistical information.
  579. # Default: auto
  580. #StatsHostID auto
  581.  
  582. # Время ожидания ответа от сервера статистики.
  583. # Default: 10
  584. #StatsTimeout 10

Конфигурационный файл freshclam.conf у меня выглядит так:
  1. ##
  2. ## Конфигурационный файл демона freshclam
  3. ## Рекомендуется прочитать ман freshclam.conf(5) перед редактированием данного файла.
  4. ##
  5.  
  6.  
  7. # Закомментируйте или удалите строку ниже перед запуском демона freshclam.
  8. #Example
  9.  
  10. # Путь до директории с базой данных вирусных сигнатур.
  11. # ВНИМАНИЕ: значение должно совпадать с значением, указанным в clamd.conf!
  12. # Default: hardcoded (depends on installation options)
  13. DatabaseDirectory /var/db/clamav
  14.  
  15. # Раскомментируйте параметр, чтобы включить ведение лог файла.
  16. # Лог файл должен быть доступен для записи пользователю, по которым
  17. # будет запускаться демон clamd. Необходимо указывать полный путь до файла.
  18. # Default: disabled
  19. UpdateLogFile /var/log/clamav/freshclam.log
  20.  
  21. # Максимальный размер лог файла. При установке параметра в 0 ограничение будет снято.
  22. # Вы можете указывать единицы измерения, например, 'M' или 'm' для мегабайт
  23. # (1M = 1m = 1048576 байт), 'K' or 'k' для килобайт (1K = 1k = 1024 байт). Для задания параметра
  24. # в байтах просто не указывайте единицы измерения. Если параметр LogFileMaxSize включен,
  25. # тогда ротация логов (параметр LogRotate) всегда будет активна.
  26. # Default: 1M
  27. LogFileMaxSize 5M
  28.  
  29. # Добавлять информацию о дате и времени в каждое записываемое сообщение в лог файл.
  30. # Default: no
  31. LogTime yes
  32.  
  33. # Выводить в лог отладочную информацию.
  34. # Default: no
  35. #LogVerbose yes
  36.  
  37. # Писать лог через syslog (может работать совместно с LogFile).
  38. # Default: no
  39. #LogSyslog yes
  40.  
  41. # Specify the type of syslog messages - please refer to 'man syslog'
  42. # for facility names.
  43. # Default: LOG_LOCAL6
  44. #LogFacility LOG_MAIL
  45.  
  46. # Включить ротацию логов. Всегда включено, когда значение LogFileMaxSize установлено не в 0.
  47. # Default: no
  48. LogRotate yes
  49.  
  50. # Записывать идентификатор процесса (PID) freshclam в файл.
  51. # Default: disabled
  52. PidFile /var/run/clamav/freshclam.pid
  53.  
  54. # Запускать демон freshclam под определенным пользователем (freshclam должен запускать от пользователя root, чтобы опция работала).
  55. # Default: clamav (may depend on installation options)
  56. DatabaseOwner clamav
  57.  
  58. # Запускать демон freshclam под определенной группой (freshclam должен запускать от пользователя root, чтобы опция работала).
  59. # Default: no
  60. AllowSupplementaryGroups yes
  61.  
  62. # Использовать DNS для проверки выхода новых обновлений базы данных вирусных сигнатур (для этого freshclam использует TXT записи).
  63. # С помощью данного параметра вы можете задать свой домен.
  64. # WARNING: Do not touch it unless you're configuring freshclam to use your own database verification domain.
  65. # Default: current.cvd.clamav.net
  66. DNSDatabaseInfo current.cvd.clamav.net
  67.  
  68. # Здесь вы можете задать сервер, с которого будет осуществляться загрузка обновлений,
  69. # где XY двухбуквенное обозначение страны (см. http://www.iana.org/cctld/cctld-whois.htm).
  70. # Также вы можете использовать db.XY.ipv6.clamav.net для подключений по протоколу IPv6.
  71. DatabaseMirror db.ru.clamav.net
  72.  
  73. # database.clamav.net is a round-robin record which points to our most reliable mirrors.
  74. # Используется в случае, если сервер db.XY.clamav.net не доступен.
  75. # Не трогайте данный параметр, если вы до конца не понимаете, для чего он нужен.
  76. DatabaseMirror database.clamav.net
  77.  
  78. # Количество попыток доступа к зеркалу, перед переходом к следующему зеркалу (round-robin).
  79. # Default: 3 (per mirror)
  80. MaxAttempts 5
  81.  
  82. # With this option you can control scripted updates. It's highly recommended
  83. # to keep it enabled.
  84. # Default: yes
  85. #ScriptedUpdates yes
  86.  
  87. # По умолчанию freshclam сохраняет локальные базы данных вирусных сигнатур (.cld)
  88. # в исходном виде с целью быстрой работы с ними. Вы можете указать демону freshclam,
  89. # чтобы он сжимал их с целью экономии места на диске. Изменение встпуит в силу при
  90. # следующем обновлении баз данных.
  91. # Default: no
  92. CompressLocalDatabase no
  93.  
  94. # With this option you can provide custom sources (http:// or file://) for
  95. # database files. This option can be used multiple times.
  96. # Default: no custom URLs
  97. #DatabaseCustomURL http://myserver.com/mysigs.ndb
  98. #DatabaseCustomURL file:///mnt/nfs/local.hdb
  99.  
  100. # This option allows you to easily point freshclam to private mirrors.
  101. # If PrivateMirror is set, freshclam does not attempt to use DNS
  102. # to determine whether its databases are out-of-date, instead it will
  103. # use the If-Modified-Since request or directly check the headers of the
  104. # remote database files. For each database, freshclam first attempts
  105. # to download the CLD file. If that fails, it tries to download the
  106. # CVD file. This option overrides DatabaseMirror, DNSDatabaseInfo
  107. # and ScriptedUpdates. It can be used multiple times to provide
  108. # fall-back mirrors.
  109. # Default: disabled
  110. #PrivateMirror mirror1.mynetwork.com
  111. #PrivateMirror mirror2.mynetwork.com
  112.  
  113. # Количество проверок обновлений в день.
  114. # Default: 12 (каждые два часа)
  115. #Checks 24
  116.  
  117. # Параметры прокси
  118. # Default: disabled
  119. #HTTPProxyServer myproxy.com
  120. #HTTPProxyPort 1234
  121. #HTTPProxyUsername myusername
  122. #HTTPProxyPassword mypass
  123.  
  124. # Если сервер с freshclam расположен за фаерволом (прокси), который осуществляет фильтрацию
  125. # трафика по заголовкам User-Agent, тогда Вам может понадобиться указать определенное значение,
  126. # подставляемое в заголовок User-Agent.
  127. # Default: clamav/version_number
  128. #HTTPUserAgent SomeUserAgentIdString
  129.  
  130. # Использовать freshclam определенный адрес для исходящих подключений с целью загрузки баз данных.
  131. # Полезно для систем с несколькими сетевыми интерфейсами.
  132. # Default: Use OS'es default outgoing IP address.
  133. #LocalIPAddress aaa.bbb.ccc.ddd
  134.  
  135. # Отправлять команду RELOAD демону clamd после обновления базы данных вирусных сигнатур.
  136. # Default: no
  137. NotifyClamd /usr/local/etc/clamd.conf
  138.  
  139. # Выпонять определенную команду после успешного обновления базы данных.
  140. # Default: disabled
  141. #OnUpdateExecute command
  142.  
  143. # Выпонять определенную команду в случае сбоя обновления базы данных.
  144. # Default: disabled
  145. #OnErrorExecute command
  146.  
  147. # Выполнять определенную команду когда freshclam обнаруживает, что БД устарела.
  148. # (Примечание: сокращение %v будет заменено на версию новой БД)
  149. # Default: disabled
  150. #OnOutdatedExecute command
  151.  
  152. # Переходить ли в фоновый режим?
  153. # Default: no
  154. #Foreground yes
  155.  
  156. # Включить вывод отладочных сообщений.
  157. # Default: no
  158. #Debug yes
  159.  
  160. # Лимит на время подключения к серверу с БД.
  161. # Default: 30
  162. #ConnectTimeout 60
  163.  
  164. # Лимит на время получения данных от сервера с БД.
  165. # Default: 30
  166. #ReceiveTimeout 60
  167.  
  168. # Проверять на корректность загруженную базу данных перед заменой старых файлов.
  169. # Увеличивается потребление памяти (только в момент проверки БД).
  170. # Default: yes
  171. TestDatabases yes
  172.  
  173. # When enabled freshclam will submit statistics to the ClamAV Project about
  174. # the latest virus detections in your environment. The ClamAV maintainers
  175. # will then use this data to determine what types of malware are the most
  176. # detected in the field and in what geographic area they are.
  177. # Freshclam will connect to clamd in order to get recent statistics.
  178. # Default: no
  179. #SubmitDetectionStats /path/to/clamd.conf
  180.  
  181. # Country of origin of malware/detection statistics (for statistical
  182. # purposes only). The statistics collector at ClamAV.net will look up
  183. # your IP address to determine the geographical origin of the malware
  184. # reported by your installation. If this installation is mainly used to
  185. # scan data which comes from a different location, please enable this
  186. # option and enter a two-letter code (see http://www.iana.org/domains/root/db/)
  187. # of the country of origin.
  188. # Default: disabled
  189. #DetectionStatsCountry country-code
  190.  
  191. # This option enables support for our "Personal Statistics" service. 
  192. # When this option is enabled, the information on malware detected by
  193. # your clamd installation is made available to you through our website.
  194. # To get your HostID, log on http://www.stats.clamav.net and add a new
  195. # host to your host list. Once you have the HostID, uncomment this option
  196. # and paste the HostID here. As soon as your freshclam starts submitting
  197. # information to our stats collecting service, you will be able to view
  198. # the statistics of this clamd installation by logging into
  199. # http://www.stats.clamav.net with the same credentials you used to
  200. # generate the HostID. For more information refer to:
  201. # http://www.clamav.net/documentation.html#cctts 
  202. # This feature requires SubmitDetectionStats to be enabled.
  203. # Default: disabled
  204. #DetectionStatsHostID unique-id
  205.  
  206. # This option enables support for Google Safe Browsing. When activated for
  207. # the first time, freshclam will download a new database file (safebrowsing.cvd)
  208. # which will be automatically loaded by clamd and clamscan during the next
  209. # reload, provided that the heuristic phishing detection is turned on. This
  210. # database includes information about websites that may be phishing sites or
  211. # possible sources of malware. When using this option, it's mandatory to run
  212. # freshclam at least every 30 minutes.
  213. # Freshclam uses the ClamAV's mirror infrastructure to distribute the
  214. # database and its updates but all the contents are provided under Google's
  215. # terms of use. See http://www.google.com/transparencyreport/safebrowsing
  216. # and http://www.clamav.net/documentation.html#safebrowsing 
  217. # for more information.
  218. # Default: disabled
  219. #SafeBrowsing yes
  220.  
  221. # Загружать файл bytecode.cvd, который содержит оперативные изменения, а именно
  222. # дополнительные методы обнаружения вирусов и улучшения для антивируса ClamAV.
  223. # Default: enabled
  224. Bytecode yes
  225.  
  226. # Download an additional 3rd party signature database distributed through
  227. # the ClamAV mirrors. 
  228. # This option can be used multiple times.
  229. #ExtraDatabase dbname1
  230. #ExtraDatabase dbname2

После завершения редактирования конфигурационных файлов антивируса, следует добавить демоны в автозагрузку и попробовать запустить.
  1. # echo 'clamav_clamd_enable="YES"' >> /etc/rc.conf
  2. # echo 'clamav_freshclam_enable="YES"' >> /etc/rc.conf
  3. # service clamav-freshclam start
  4. # service clamav-clamd start

Проверить, запустились ли демоны можно комадой ps, например так:
  1. # ps -ax -U clamav
  2. PID TT  STAT    TIME COMMAND
  3. 872 ??  Is   0:38,20 /usr/local/sbin/clamd
  4. 875 ??  Is   0:23,93 /usr/local/bin/freshclam --daemon -p /var/run/clamav/freshclam.pid

Если вы видите что-то подобное, тогда установку и настройку ClamAV можно считать законченной. В случае отсутствия запущенного процесса clamd и (или) freshclam смотрите лог файлы. Отмечу, что антивирус хорошо интегрируется с почтовыми серверами, а для использования ClamAV на файловых или хостинг серверах приходится немного поработать программистом и писать свои скрипты, которые автоматизируют процесс сканирования хранящихся на сервере файлов.

Добавить комментарий

Filtered text

CAPTCHA
Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
Fill in the blank.