Open-source и свой сервер 4 мин чтения

ClamAV: проверка файлов с сайта и почты и чего он не заменит

ClamAV это антивирусный движок с открытым кодом, который проверяет загрузки с сайта и вложения почты на вашем сервере. Разбираю схему с карантином, лимиты, обновление баз, уязвимости 2026 года и пилот с файлом EICAR. Отдельно о том, чего ClamAV не заменит.

ClamAVантивирусбезопасность загрузокopen source
Коротко. ClamAV это антивирусный движок с открытым кодом (репозиторий Cisco-Talos/clamav, лицензия GPL-2.0). Он работает на вашем сервере демоном clamd, и сайт или почта отправляют ему файл до того, как его увидит сотрудник. Стабильная версия 1.5.4 вышла 7 августа 2026, долгая поддержка у ветки 1.4 (последняя 1.4.6). Движок ищет по сигнатурам, поэтому зашифрованный архив и свежую заразу он может пропустить, а сам разбирает чужие файлы, и в нём регулярно закрывают уязвимости. Доступность баз сигнатур из России уточняйте.
Хотите внедрить это у себя?

Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.

Подключить проверку файлов к сайту и почте

Резюме с формы «прикрепите файл»

На сайте есть форма с полем «прикрепите файл». Кандидаты шлют резюме, клиенты договоры и сканы, и всё падает в почту менеджеру или в папку на диске. Файл открывает тот, кто первым увидел уведомление, и защита зависит от антивируса на этом компьютере. Дешевле проверить файл на сервере, до того как он дошёл до людей. Платформу, где такая проверка встроена, я разбирал в статье про ClovaLink. Здесь речь о самом движке.

Что это за проект и что я проверил

Проверял 24.10.2026 по репозиторию и документации, сам ClamAV не запускал. Репозиторий Cisco-Talos/clamav: около 7,4 тысячи звёзд, не архивирован, последние слияния в main датированы 22 октября 2026. Лицензия GPL-2.0, текст в файле COPYING.txt. В README оговорено, что библиотека UnRAR лежит под собственной лицензией, несовместимой с GPLv2, поэтому она подгружается отдельно при запуске. Без неё ClamAV работает, но RAR не читает.

На странице загрузок стабильной значится 1.5.4, LTS это 1.4.6, файлы датированы 7 августа 2026. По политике поддержки ветка 1.4 получает критические исправления до 15 августа 2027, а базы сигнатур для неё отдаются до 15 августа 2028. Ветка 1.0 закрыта 28 ноября 2025, базы для неё отдаются до 28 ноября 2026. Версиям 0.105 и старше обновления блокируют. Пакет из дистрибутива может отставать от этих версий.

Режимы, память и обновление баз

clamscan загружает базу при каждом запуске, для потока загрузок это медленно. Демон clamd держит базу в памяти и слушает сокет, clamdscan это клиент к нему. Сайт и почта работают с демоном: команда INSTREAM передаёт файл по сокету кусками, путь на диске не нужен. TCP-трафик к clamd по документации не аутентифицируется, порт 3310 наружу не открывают, лучше unix-сокет. Проверка на лету (clamonacc, fanotify) есть только на Linux.

Память. Документация Docker-образа называет минимум 3 ГБ и рекомендует 4: загрузка баз занимает больше 1,2 ГБ, а перезагрузка может дойти до 2,4 ГБ. Образ clamav/clamav, базу кладут на том в /var/lib/clamav, тег берут версионный, например 1.4.

Базы скачивает freshclam с database.clamav.net, по образцу конфига 12 раз в сутки. По FAQ, ответ 429 означает лимит, и общие хостинги вроде AWS, Google Cloud, Oracle и Azure попадают под него чаще. Ответы 403 и 503 означают блокировку или устаревшую версию. Поддерживаются только freshclam и cvdupdate, curl и wget отклоняют. Если серверов несколько, поднимают свой зеркальный сервер на cvdupdate (Apache 2.0) и указывают его в PrivateMirror. Как база открывается из России, не проверял, уточняйте. Свои сигнатуры пишут в файлах .hdb (по хешу), .ndb и .ldb.

Схема для формы, почты и Nextcloud

Для сайта схема такая. Файл приходит в карантинную папку вне веб-корня под случайным именем. clamd отвечает OK или FOUND. Чистый файл переезжает в рабочее хранилище, зараженный остаётся в карантине, в журнал пишутся время, имя, размер, ответ и адрес отправителя, менеджеру уходит оповещение. Пока ответа нет, сотруднику файл не отдают. Из PHP или Node это сокет и протокол INSTREAM. Плагины для WordPress и обёртки для S3 я не проверял.

Почта. В Rspamd модуль antivirus с type clamav и servers на 127.0.0.1:3310 или сокет, вложения проверяются по частям (scan_mime_parts), метки CLAM_VIRUS, CLAM_VIRUS_ENCRYPTED и CLAM_VIRUS_MACRO. В Postfix ставят clamav-milter: OnInfected по умолчанию Quarantine (письмо уходит на hold), можно Reject, а его MaxFileSize не должен превышать StreamMaxLength. В Exim это av_scanner с clamd и условие malware в acl_smtp_data. У Nextcloud есть приложение Antivirus for files с режимом демона, лимит потока там по умолчанию 25 МиБ.

Что важно учесть

Лимиты. В образце clamd.conf: StreamMaxLength и MaxFileSize по 100 МБ, MaxScanSize 400 МБ, MaxScanTime 120 секунд, вложенность 17. Файл сверх лимита по умолчанию пропускается, поэтому включите AlertExceedsMax и решите, отклонять такое или отправлять на ручную проверку. Лимиты до гигабайта не поднимайте: уязвимость CVE-2025-20260 (разбор PDF, возможно выполнение кода, исправлена в 1.4.3 и 1.0.9) требовала лимитов от 1024 и 1025 МБ.

Зашифрованные архивы и макросы. AlertEncrypted и AlertOLE2Macros выключены по умолчанию. Архив с паролем движок не откроет, внутри он ничего не увидит. Для формы: просить прислать без пароля или проверять такие файлы вручную. Ложные срабатывания бывают, поэтому документация не советует автоудаление, держите карантин.

Сам сканер тоже мишень. В июле 2026 релизы 1.5.3 и 1.4.5 закрыли по семь CVE в разборе файлов, среди них CVE-2026-20213 (порча памяти в PE). В августе 1.5.4 закрыл ещё восемь (1.4.6 шесть), например CVE-2026-20337 в ZIP: отказ в обслуживании на версиях 1.5.0 до 1.5.3. Запускайте clamd отдельным пользователем, лучше в контейнере, и обновляйтесь сразу.

ClamAV сверяет файлы с сигнатурами и эвристиками, поведение программ на компьютерах он не отслеживает. Поэтому EDR (я писал про это в разборе вредоноса с нейросетями), обновления систем, права доступа и проверенные бэкапы остаются отдельными задачами. С паролями начинайте раньше, как в статье про менеджер паролей, а за журналами сервера следит Wazuh.

Что можно сделать уже сейчас

Чек-лист из семи пунктов:

  1. Версия не ниже 1.5.4 или 1.4.6.
  2. Сервер от 4 ГБ памяти, clamd под отдельным пользователем, сокет не наружу.
  3. freshclam работает, дату баз проверяйте командой VERSION у clamd.
  4. Карантинная папка вне веб-корня, случайные имена файлов.
  5. Лимиты размера, AlertExceedsMax, AlertEncrypted и правило для архивов с паролем.
  6. Журнал проверок и оповещение менеджеру.
  7. Раз в квартал тест EICAR и обновление версии.

Пилот на форме. EICAR придуман для проверки антивирусов: 68 байт, вирусного кода нет, скачивается с eicar.org. Прикрепите его к форме и убедитесь, что файл не дошёл до сотрудника, запись появилась в журнале и пришло оповещение. Повторите с версией внутри zip. Антивирус на вашем компьютере может удалить файл при скачивании, это нормально. Развернуть проверку под ваш сайт и почту могу в рамках услуги по кибербезопасности.

Частые вопросы

Нужен ли ClamAV, если у сотрудников стоят антивирусы?

Они закрывают разные места. Антивирус на компьютере видит файл у сотрудника, ClamAV проверяет его на входе.

Работает ли ClamAV на Windows?

В репозитории есть MSI и portable ZIP для Windows. Проверка на лету в документации описана только для Linux.

Хватит ли сервера на 2 ГБ памяти?

Документация образа называет минимум 3 ГБ. На 2 ГБ не проверял.

Коротко о главном

ClamAV под GPL-2.0 даёт малому бизнесу проверку загрузок и почты на своём сервере. Схема простая: карантин, clamd, перенос или отказ, журнал и оповещение. Ему нужны память, свежие базы и обновления версий.

Если хотите, чтобы я подключил проверку к форме на сайте и к почте и провёл пилот с EICAR, напишите мне в Telegram кодовое слово «СИГНАТУРЫ».

Ещё open-source для бизнеса

Эта статья — часть каталога бесплатных решений, которые я разворачиваю на вашем сервере под ключ: CRM, аналитика, документы, почта, безопасность, магазины, AI.

Обсудим вашу задачу

Что я делаю для бизнеса

Напишите одной фразой, что нужно. Отвечу, что подойдёт, сколько займёт и сколько стоит. Сообщение уже подготовлено.

  • Боты в Telegram, MAX, VK
  • Автоматизация процессов и CRM
  • Аналитика и дашборды
  • Сайты и лендинги под ключ
Пишу о разработке, ИИ и законах для бизнеса

Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.

Готовые решения под ключTurnkey solutionsSoluciones llave en mano交钥匙解决方案Түлхүүр гардуулах шийдэл 451 готовых IT-решений для бизнеса451 ready-made IT solutions for business451 soluciones IT listas para empresas451 个面向企业的现成 IT 解决方案Бизнест зориулсан 451 бэлэн IT шийдэл Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультацияAutomation, bots, AI, data privacy and platforms · free consultationAutomatización, bots, IA, privacidad de datos y plataformas · consulta gratis自动化、机器人、AI、数据合规与平台 · 免费咨询Автоматжуулалт, бот, AI, өгөгдлийн хамгаалалт ба платформ · үнэгүй зөвлөгөө Смотреть каталогView catalogVer catálogo查看目录Каталог үзэх