2010-08-16 80 views
2

我有trac和subversion一起设置。我想允许一些人能够添加票据,但我不希望他们访问存储库。将有其他用户可以通过trac访问回购站。目前我正在使用Apache 2进行身份验证。Trac上的源代码安全

trac有多安全?有限访问权限的人通过trac访问源程序有多困难?

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

问题再次是:对于无法访问源代码的人来说,攻击和获取源代码有多难?

+0

这不是我,但可能是因为这是关于服务器配置而不是编程的问题。 – mikerobi 2010-08-17 13:35:42

+0

除了脱离主题,这个问题也很难回答。你基本上在问Trac有多安全。要知道的唯一方法是查看是否存在一些与安全相关的开放问题或进行代码审查(它是开源的)。没有人能够保证Trac是无bug的。 – Matteo 2012-11-30 08:12:23

回答

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并直接访问存储库)。

+0

我想你错过了我的问题。这不是如何禁止源代码访问。 即使您已经禁止访问该用户的源代码,无论如何访问它都有多困难? – 2010-08-16 01:50:16

+2

除非Trac中存在严重的安全错误,否则“Trac将强制执行您设置的权限”。所以不可能通过Trac访问源代码。然后归结为替代方式来访问存储库(svn,黑客攻击服务器本身),并黑客Trac用户帐户(猜测密码,社会工程)。 – Thilo 2010-08-16 02:03:14

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,运行良好,迄今还没有任何安全问题。

+0

这不是我问的。 – 2010-08-16 01:50:41

4

如果Trac系统本身可以访问您的存储库,它被攻破,攻击者通过定义访问版本库。为了保护您的存储库免受攻击者接管您的Trac安装,您需要阻止Trac本身访问您的存储库;但是这也会阻止它将访问存储库给任何人。

受损系统仍然拥有它在受到攻击之前所拥有的所有访问权限,并且任何侵害它的人都可以使用其访问权限执行任何操作。

0

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

当然,这并不意味着没有安全漏洞。这只意味着他们还没有被好人发现(谁会报告他们)。但是,当涉及到安全性时,您可以获得最好的结果,而不是做(或雇用人员)完整的源审计。

3

有趣的是,你实际上不能依赖这里提供的任何答案。我会说正确的做法是总结Trac不是安全的(只是一个假设),并试图缓解潜在的风险。

我假设你的目标是确保“用户”和“开发人员”能够协作,但用户在任何情况下都无法访问源代码(顺便说一句,这很好)。

有不少在网上相关的食谱,但我会提供最简单的一个:

  • 把你的Trac背后的Apache(你这样做的话)
  • 使用mod-rewrite,以确保“用户”将不能访问[您的网址] /浏览器,...
  • 配置Trac的权限以及
  • [偏执模式],改变默认的网址,以消除猜测

基本上,这个想法是尽可能早地过滤用户,以免依赖Trac的内部安全。

您还可以使用OWASP Zed Attack Proxy Project自己测试TRAC:

enter image description here

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

它被设计为具有广泛的安全经验的人使用 ,因此非常适合开发人员和功能测试人员谁是新的 渗透测试。 ZAP提供了自动扫描器和一套工具,可让您手动查找安全漏洞。