Security

第三方開發人員的訪問、權限和安全性

  • January 23, 2015

我們的行銷部門希望開始聘請外部公司來協助開發和維護我們的行銷網站。該網站目前在 FreeBSD(使用 apache)上,但計劃在未來幾個月內將所有內容遷移到 CentOS。現在的設置是我們有一個內部的 Subversion 伺服器來容納所有程式碼,開發人員簽入和簽出程式碼,然後將程式碼推送到外部臨時伺服器以確保一切看起來都很好,然後推送到我們的實時伺服器。

就像我提到的那樣,他們將聘請一家外包公司與他們一起編寫程式碼。我的任務是能夠使用程式碼,但同時讓它們遠離網路。

以下是我的一些想法:

  1. 通過我們的 SonicWall(我們的主網關)為他們提供 VPN 訪問權限,只允許他們在埠 443 上訪問 Subversion 伺服器並阻止其他所有內容(我什至不確定 Sonicwall 是否會這樣做,或者它是否只允許我在子網級別授予訪問權限。)
  2. 在 DMZ 中設置顛覆伺服器,並且只允許來自其公司 IP 地址的入站流量。這將有效地阻止對我們網路的訪問,但仍然允許內部和外部的人訪問顛覆。
  3. 在登台伺服器上給他們一個帳戶,然後讓他們從那里工作(最懶惰,最不喜歡的解決方案……)

選項 2 是我最傾向於的選項。有沒有人對這些解決方案有任何意見,或者有一個完全不同的解決方案可以更好地工作?我們的最終目標是讓他們在不損害我們網路的情況下處理程式碼。

假設遷移到像 Git 這樣的體面的去中心化修訂控制系統不是一種選擇(並且在涉及“外包開發人員”的情況下,我不相信他們不會製造 SVN,更不用說 Git) …

如果 SonicWall 可以做到,在防火牆上打一個洞讓他們在內部訪問 SVN 是一種選擇,但我不喜歡它。雖然 SVN 沒有安全漏洞的光榮歷史,但只需要一個讓您被外包公司(或任何可以訪問外包公司網路的人)的一些不可靠的白痴彈出……“安全性有多好VPN另一端的系統”是一個幾乎沒有人問的問題)。

我會將 SVN 伺服器放在一個相互不受信任的位置,並將其鎖定為一個鼓。我當然不會讓他們訪問 staging,這只是無法維護的噩夢場景(你能夠進行乾淨部署的機會是 epsilon)和潛在的安全問題,這些問題將永遠困擾你的夢想。

引用自:https://serverfault.com/questions/294771