Trac上的源代码安全性

时间:2010-08-16 01:18:22

标签: security svn apache trac

我有trac与subversion一起设置。我想允许一些人能够添加票证,但我不希望他们访问存储库。将有其他用户可以通过trac访问repo。目前我正在使用Apache 2进行身份验证。

trac的安全性如何?有限访问权限的人通过trac访问来源有多难?

我不是在询问如何禁止通过trac访问源代码。我知道该怎么做。

问题是:对于没有访问源的人来说,攻击并获取源头有多难?

5 个答案:

答案 0 :(得分:4)

如果Trac本身可以访问您的存储库,会受到攻击,则攻击者可以按照定义访问您的存储库 。为了保护您的存储库免受攻击者接管您的Trac安装,您需要阻止Trac本身访问您的存储库;但是,这也会阻止它向任何人提供对存储库的访问。

受感染的系统仍然拥有它受到破坏之前的所有访问权限,并且任何受到破坏的人都可以通过其访问权限使其做任何他们想做的事情。

答案 1 :(得分:3)

有趣的是,你实际上不能依赖这里提供的任何答案。我想说正确的方法是得出结论Trac不是那么安全(只是一个假设)并试图减少潜在的风险。

我认为您的目标是确保“用户”和“开发人员”可以协作,但用户将无法在任何情况下访问来源(顺便说一句,这非常好)。

网上有很多相关的食谱,但我会提供最简单的食谱:

  • 将你的Trac置于Apache(你已经这样做了)
  • 使用mod-rewrite确保“用户”无法访问[您的网址] /浏览器,...
  • 同时配置Trac权限
  • [偏执模式],更改默认网址以消除猜测

基本上,我们的想法是尽早过滤用户,以免依赖Trac的内部安全。

您也可以使用OWASP Zed Attack Proxy Project自行测试Trac:

enter image description here

  

Zed攻击代理(ZAP)是一种易于使用的集成渗透   用于查找Web应用程序中的漏洞的测试工具。

     

它旨在供具有广泛安全经验的人使用   因此对于新手的开发人员和功能测试人员来说是理想的选择   渗透测试。 ZAP提供自动扫描仪以及   一组允许您手动查找安全漏洞的工具。

答案 2 :(得分:2)

每个Trac用户都可以set permissions。例如,您可以拥有只能访问故障单系统的用户帐户,但不能访问源浏览器,时间轴或维基。

特别是,您不想授予以下权限:

BROWSER_VIEW     # View directory listings in the repository browser
LOG_VIEW    # View revision logs of files and directories in the repository browser
FILE_VIEW   # View files in the repository browser
CHANGESET_VIEW  #View repository check-ins

我不确定“安全”是什么意思。 Trac将强制执行您为其所有Web访问设置的权限。它不会向没有适当权限的人显示源浏览器页面。除此之外,您还必须配置SVN以允许匿名存储库读访问(否则他们可以绕过Trac并直接访问存储库)。

答案 3 :(得分:0)

这是可能的。

 trac-admin /path/to/project permission remove <user> BROWSER_VIEW
 trac-admin /path/to/project permission remove <user> LOG_VIEW
 trac-admin /path/to/project permission remove <user> FILE_VIEW
 trac-admin /path/to/project permission remove <user> CHANGE_VIEW

这将删除所有与存储库相关的权限。我们使用trac,运行良好,至今尚未遇到任何安全问题。

答案 4 :(得分:0)

你的问题很难回答。如果您想了解已知的安全漏洞,您应该检查他们自己或您的发行版的错误跟踪器。例如Debian doesn't report any security related bugs in trac。所以据我所知,不可能破解trac本身并获得无意义的访问权。

当然,这并不意味着没有安全漏洞。这只意味着他们没有被好人发现(他们会报告他们)。但是,在安全性方面,这是最好的,而不是做(或雇用人们做)完整的源审计。