Мне нужно внедрить антивирусное решение для сканирования файлов внутри док-контейнеров с помощью программного обеспечения с открытым исходным кодом. Clamav On-Access работает нормально, но имеет некоторые требования и ограничения:
- требуется возможность CAP_SYS_ADMIN для работы внутри контейнера
- нужно запускать для каждого контейнера, а не для каждого хоста
- требуется 850Mb резидентной памяти для подписей в каждом запущенном контейнере, даже маленьком
Действительно ли существует это ограничение — «fanotify не работает для событий контейнера при просмотре с хоста», или я просто неправильно настроил ClamAV? У меня нет глубоких знаний о том, как fanotify работает с пространствами имен, но мне это кажется ограничением ядра.
ОБНОВЛЕНИЕ: Существуют ли обходные пути для этого ограничения? Добавление /var/lib/docker/overlay2/container_id/merged
— это один из вариантов, поскольку динамический характер контейнера clamd.conf
необходимо обновлять при каждом событии контейнера. Но даже с добавленным путем ClamAV не обнаруживает вредоносные файлы в контейнерах.
Запуск ClamAV для каждого контейнера создает огромные накладные расходы памяти, особенно для небольших контейнеров.
Коллекция ссылок: