我需要使用开源软件对 docker 容器内的文件实施防病毒访问扫描解决方案。Clamav On-Access工作正常,但有一些要求和限制:
- 需要 CAP_SYS_ADMIN 能力才能在容器内工作
- 需要按容器运行,而不是按主机运行
- 每个正在运行的容器中的签名需要 850Mb 常驻内存,即使是很小的容器
这个限制 - “从主机观看时,fanotify 不适用于容器事件”,真的存在还是我只是错误配置了 ClamAV?我对 fanotify 如何与命名空间一起工作没有深入的了解,但对我来说它看起来像是内核限制。
更新:此限制是否有任何解决方法?添加/var/lib/docker/overlay2/container_id/merged
是一种选择,因为动态容器性质clamd.conf
需要在每个容器事件上更新。但即使添加了路径,ClamAV 也不会检测到容器中的恶意文件。
每个容器运行 ClamAV 会产生巨大的内存开销,尤其是对于小型容器。
链接集合: