Subversion存储库中的病毒,该怎么办?

时间:2010-05-27 14:33:57

标签: svn antivirus

想象一下以下情况:

  1. 病毒感染文件已提交到Subversion存储库。
  2. 反病毒扫描程序在服务器上运行,并扫描Subversion存储库。
  3. 反病毒扫描程序将删除受影响的修订版或将其移至隔离区。结果是存储库损坏。

    如果修订文件是可恢复的(来自隔离区),如何解决这个问题?
    我有一些目标要实现:

    1. 不允许从目录中禁用或排除AV。
    2. 病毒感染文件不得存储在存储库中
    3. 存储库必须是可用的。
    4. 这个小问题的最佳解决方案是什么?

4 个答案:

答案 0 :(得分:16)

来自FAQ

  

您有特殊情况   可能想破坏所有的证据   文件或提交。 (也许有人   不小心承诺保密   文件。)这不是那么容易,因为   颠覆是故意设计的   从不丢失信息。修改是   不可改变的树,建立在一个   另一个。从中删除修订   历史将导致多米诺骨牌效应,   在随后的所有时间里制造混乱   修改和可能无效   所有工作副本。

     然而,该项目有计划   有一天实现一个svnadmin   擦除命令哪个会   完成永久的任务   删除信息。 (见issue 516。)

     

与此同时,你唯一的办法就是   然后到svnadmin转储你的存储库   管道转储文件   svndumpfilter(不包括坏路径)   进入svnadmin加载命令。看到   译文的chapter 5   有关这方面的详细信息。

答案 1 :(得分:3)

最简单的?从提交病毒之前的备份恢复...

答案 2 :(得分:0)

如果您以文件模式创建存储库(每个源文件有一个repo文件),那么您可以修复/编辑/替换受感染的文件。
如果你在DB模式下创建它然后更难 - 你可以svndump然后svncreate一个新的repo,但是从病毒扫描中排除SVN存储库可能更容易

答案 3 :(得分:0)

"不允许从目录中禁用或排除AV。"

与您的IT部门联系,在排除项中添加您的回购。最好,如果AV支持"仅提供信息模式",使其在仅提供信息的模式下与您的回购一起使用。大多数情况下,这种旧病毒只是误报。添加预先挂断以对病毒进行扫描,扫描任何文件,如果被病毒标记,则拒绝提交。

如果AV报告旧文件被感染,请检查是否为误报。如果不是,并且文件真的是旧病毒,只需提交删除并完全忽略它的存在。