我想将病毒扫描合并到Java / Maven / Hudson构建过程中。不幸的是,我在这种构建步骤的专用工具上找不到任何资源。我的构建环境是基于Linux的。
我的问题是: 如何将防病毒扫描整合到基于Maven和Hudson的构建过程中?
最佳做法是什么?
使用哪种防病毒软件超出了此问题的范围。 (例如,我想使用商业供应商支持像ClamAV这样的免费工具)
答案 0 :(得分:1)
病毒来自哪里?
我还没有看到可以修改源代码的病毒,所以源代码可能是安全的(好吧,除非你不能相信你的开发人员)。
因此病毒可以隐藏在其中一个构建工具中并尝试修改JAR。这里的工具是tripwire:它将为所有文件创建校验和,并且构建工具应不更改(除非您安装新版本;然后您必须再次运行tripwire)
如果构建工具是安全的,您只需要一个保护操作系统的AV工具(因此打开和写入文件等功能是安全的)。请使用贵公司的标准AV。
要使整个过程非常紧凑,您可以在构建新版本之前再次构建最后一个版本。旧版本的校验和不应该改变(但要注意文件中的时间戳)。
答案 1 :(得分:1)
最佳做法是在不常被病毒攻击的平台(即操作系统)上运行构建。
最佳做法是在构建平台上的操作系统级别运行防病毒扫描程序。
最佳做法是及时更新操作系统补丁程序,锁定防火墙,不要安装可能已在家庭网络上受感染的USB密钥等。
我从来没有听说过“感染”源代码,.class文件或JAR文件的病毒。我认为它们是可能的,但商业AV产品很可能不会注意到它们,因为它们不常见。当然,AV产品无济于事是该病毒专门针对您/您的公司。
但假设您确实有一个您认为可行的AV产品,您可以在旋转“发布版本”之前进行AV扫描。我不知道有什么插件可以自动完成这项任务,但是让Maven运行“某些批处理文件”并不难发生通过命令行调用病毒检查程序。
答案 2 :(得分:0)
您需要可编写脚本的防病毒程序。
当你拥有它时,应该很容易添加“扫描我刚建立的”步骤。
我相信迈克菲拥有的Linux版本可能就是您所需要的。
答案 3 :(得分:0)
如何将防病毒扫描整合到基于Maven和Hudson的构建过程中?
如果确实这是一个问题,我认为您的安全团队应该强迫您(和maven)通过代理运行某种防病毒软件。这将是正确做事的方式。
但是,在我看来,从存储库中获取恶意代码的可能性接近于零,特别是对于广泛使用的库(有这么多用户,我怀疑在你获得该代码之前没有人会注意到问题)和我打赌被(网络)邮件,USB密钥,下载软件感染的概率要高得多。我知道这不是一个答案,但严重的是,安全政策有时是荒谬的。