Security Trac上的源代码安全性

Security Trac上的源代码安全性,security,svn,apache,trac,Security,Svn,Apache,Trac,我已经和subversion一起设置了trac。我希望允许一些人能够添加票据,但我不希望他们访问存储库。其他用户将能够通过trac访问回购协议。目前我正在使用Apache2进行身份验证 trac有多安全?对于访问受限的人来说,通过trac访问源代码有多困难 我不是问如何禁止通过trac访问源代码。我知道怎么做 问题是:没有访问源代码的人入侵并获取源代码有多难?你可以为每个Trac用户提供。例如,您的用户帐户只能访问票证系统,而不能访问源浏览器、时间线或wiki 特别是,您不希望授予以下权限: B

我已经和subversion一起设置了trac。我希望允许一些人能够添加票据,但我不希望他们访问存储库。其他用户将能够通过trac访问回购协议。目前我正在使用Apache2进行身份验证

trac有多安全?对于访问受限的人来说,通过trac访问源代码有多困难

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

问题是:没有访问源代码的人入侵并获取源代码有多难?

你可以为每个Trac用户提供。例如,您的用户帐户只能访问票证系统,而不能访问源浏览器、时间线或wiki

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

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

这是可能的

 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 admin/path/to/project权限删除浏览器\u视图
trac admin/path/to/project权限删除日志\u视图
trac admin/path/to/project权限删除文件\u视图
trac管理员/路径/收件人/项目权限删除更改\u视图

这将删除所有与存储库相关的权限。我们使用trac,运行良好,到目前为止还没有任何安全问题。

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


受损的系统仍然拥有其在受损之前拥有的所有访问权限,无论是谁受损,都可以使用其访问权限让它做任何他们想做的事情。

你的问题本质上很难回答。如果你想知道已知的安全漏洞,你应该检查他们自己或你的发行版的bug追踪器,例如所以就我所知,破解trac本身并获得未经授权的访问是不可能的


当然,这并不意味着没有安全漏洞。这只意味着他们没有被好人发现(他们会举报)。但是在安全方面,这是你能得到的最好的,除了做(或雇佣人做)一个完整的源代码审计。

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

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

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

  • 将您的Trac置于Apache之后(您已经这样做了)
  • 用于确保“用户”无法访问[您的URL]/浏览器
  • 还要配置Trac权限
  • [偏执狂模式],更改默认URL以消除猜测
基本上,我们的想法是尽早过滤用户,以避免依赖Trac的内部安全

您也可以自己使用来测试Trac:

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

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


我想你错过了我的问题。这不是如何禁止源代码访问。它是:即使您不允许该用户访问源代码,访问它到底有多困难?除非Trac中存在严重的安全缺陷,“Trac将强制执行您设置的权限”。因此,无法通过Trac访问源。然后,它归结为访问存储库的替代方法(svn,黑客攻击服务器本身)和黑客攻击Trac用户帐户(猜测密码,社交工程)。这不是我,但可能是因为这是一个关于服务器配置而不是编程的问题。除了离题之外,这个问题也很难回答。你基本上是在问Trac有多安全。唯一知道的方法是查看是否存在一些与开放安全性相关的问题,或者进行代码审查(这是开源的)。没有人能够保证Trac没有bug。