有没有办法保护自己免受Mercurial身份盗窃?

时间:2010-11-23 10:11:50

标签: security mercurial

有没有办法保护自己免受Mercurial身份盗窃?

案例是如果有人故意使用其他开发人员的名称将错误提交到代码中,目的是让该人被解雇或记入错误信用。

有没有办法阻止这种情况发生,还是没有问题?

3 个答案:

答案 0 :(得分:7)

我不知道实际限制提交的方法不是包含“被盗”身份,但如果您有一个集中存储库,您应该能够安全地审核谁将哪些更改推送到服务器,从而跟踪身份盗贼。


修改:似乎支持使用两个扩展程序签署提交,CommitsigsExtension以及GpgExtension实施的看似不太安全的方法。

有效地签署变更集可防止身份被盗,因为小偷没有他想窃取的身份的私钥,因此他无法签署提交。

答案 1 :(得分:2)

Mozilla项目以pushlog的形式执行此操作。他们对Web模板进行了一些微不足道的更改,以显示pushlog的输出,这可以使用changeset挂钩在推送时轻松创建。这是他们的日志的样子:

http://hg.mozilla.org/mozilla-central/pushloghtml

创建此类日志的钩子可以像以下一样简单:

[hooks]
changeset = echo $REMOTE_USER pushed HG_NODE >> /path/to/my/pushlog

在实践中,当他们第一次听到“用户”字段完全可以证伪时,一切都认为会出现问题,但在实践中实际上从来就不是问题。

答案 2 :(得分:0)

对“主”仓库和日志请求使用访问控制。如果您记录经过身份验证的人以推送每个提交,您可以告诉谁真正推送了特定提交,无论存储库中的信息是什么。