如何以编程方式扫描文件

时间:2018-05-30 22:01:57

标签: java security web upload mcafee

注意:在这里被问到,因为我保证安全堆栈将关闭它作为编程问题。

我有一个Web应用程序(在本例中是Tomcat上的Java),我偶尔需要允许用户上传文件。即使我通常拥有值得信赖的用户,但在我的业务中,我们假设任何人,每个人都可能成为内部威胁(或者只是简单的愚蠢)。因此,我希望将上传的文件直接转到“隔离”目录,以编程方式启动扫描,只有扫描成功,才能将其复制到目标文件夹进行处理。

美中不足的唯一问题是:(a)如何按需编程启动扫描(假设我们使用的是McAfee工具套件)和(b)如何在扫描完成。可能吗?如果是这样,有没有人做过,可以给我指点?

1 个答案:

答案 0 :(得分:2)

我们这样做。我们有一个队列系统,因此工作人员可以拾取文件操作并执行它们异步。但一般流程是使用命令扫描文件,并更新数据库以跟踪状态。

  1. 将文件写入目录
  2. 注意位置= x的数据库中的文件信息;扫描=无;
  3. 阅读mcaffee的文档,但应该有办法通过命令行或SDK运行扫描。我可能会通过命令行运行它来扫描文件,并假设该命令将返回一些信息(错误或结果不好时0或!= 0)
  4. 如果文件扫描程序返回非零,则设置scanning = infected;
  5. 如果文件扫描程序返回clean,则设置scanning = clean;
  6. 将处理代码设置为仅处理扫描的文件=清除;

    注意:@ David Conrad找到了运行命令行扫描程序https://kc.mcafee.com/corporate/index?page=content&id=KB75478的说明;支持那个人。