2010-08-16 81 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提供了自動掃描器和一套工具,可讓您手動查找安全漏洞。