运行 docker 容器的主机的 ClamAV - inotify/fanotify 限制

运行 docker 容器的主机的 ClamAV - inotify/fanotify 限制

我正在实施 Linux 反病毒解决方案,使用按访问模式运行的 ClamAV 守护程序,在主机系统和在主机上运行的 docker 容器中监视创建/打开的文件中是否存在恶意内容。到目前为止,我发现了哪些限制:

  • fanotify 不适用于容器内的文件(设计使然)
  • fanotify 根据挂载点(每个文件系统)工作
  • fanotify 不允许使用OnAccessMountPathClamAV 配置中的指令来实现 OnAccessPrevention
  • inotify 允许实现 OnAccessPrevention
  • inotify 将不允许监视/并且 Clamav 将退出并出现错误:
clamd: ERROR: ScanOnAccess: Not including path '/' while DDD is enabled
clamd: ERROR: ScanOnAccess: Please use the OnAccessMountPath option to watch '/'

要使用 OnAccessPrevention,您需要使用 OnAccessIncludePath (inotify) 而不是 OnAccessMountPath (fanotify)。

  • 完整的签名数据库非常庞大,必须加载到内存中(850Mb)
  • 在 Linux 机器上扫描 Windows 签名没有任何意义(我没有扫描电子邮件)

到目前为止,我已经运行了两个 ClamAV 守护进程在此 SO 答案中描述:一个用于/var/lib/docker模式inotify-OnAccessIncludePath配置中的指令,另一个用于模式 -配置/中的指令fanotifyOnAccessMountPath

我可以只为整个主机运行一个守护进程吗,它将执行扫描并在发现恶意文件时打印通知?

参考:

相关内容