我们正在实施一个重点关注安全性的企业应用程序,其中包括上传文件。这些文件需要进行病毒扫描,但也需要加密。
当前流程是上传文件,然后通过加密器流式传输到磁盘上的临时存储区域。然后调用病毒扫描程序并在运行时解密文件,通过套接字流式传输到ClamAV - 然后从套接字返回病毒状态。
问题是ClamAV似乎在扫描之前写入磁盘上的临时区域,这意味着文件系统上未加密的,可能敏感的数据。
有谁知道如何解决这个问题?可能只是将ClamAV配置为仅在内存中扫描(我的Google搜索没有产生任何结果),或者可能是其他一些替代建议?
答案 0 :(得分:6)
我假设您正在使用clamd,因为您通过套接字而不是clamscan cli工具与它交谈。
在这种情况下,您可以通过clamd.conf中的TemporaryDirectory指令对其进行配置,以指向使用dm-crypt(https://help.ubuntu.com/community/EncryptedFilesystemHowto)之类的临时存储的加密文件系统 - 我希望这有帮助。
man 5 clamd.conf的参考:
TemporaryDirectory STRING
Optional path to the global temporary directory.
Default: system specific (usually /tmp or /var/tmp).
答案 1 :(得分:4)
有一个很好的例子:
使用ClamAV Antivirus检测病毒的Java API
http://nsinfra.blogspot.ca/2011/06/java-api-to-detect-virus-using-clamav.html
本文介绍了使用java API扫描文件以检测木马,病毒,恶意软件和其他恶意威胁的方法。
以下项目已涵盖: 关于ClamAV杀毒软件 在Linux机器上安装ClamAV防病毒的说明 使用ClamAV Java API扫描文件以检测病毒的方法
答案 2 :(得分:1)
我能想到的最简单的事情是使用ram磁盘。
也许您应该检查ClamAV是否有更复杂的API来执行此类任务。