Svn

尋找應用程序/服務以靜默擷取網站中的文件更改(如 SVN,但自動簽入)以進行審核

  • January 26, 2013

這是我的問題的背景:

許多人為我們的 ASP.NET 網站部署更改……設計師部署 HTML 和 CSS 更改,.NET 開發人員部署 ASPX、DLL 文件,圖形設計師部署圖像等。

從理論上講,所有這些部署都是以一種非常受控的方式完成的——原始碼在 SVN 中維護,部署包的創建和版本控制,部署首先在預生產站點上進行測試,實時部署記錄在案。從理論上講,我們總是知道哪些文件被更改、何時、為什麼以及由誰更改。

但是,有時有人直接在現場進行更改並繞過所有程序。通常這是因為一些緊急情況。有時所做的更改會導致網站出現問題……而且沒有人擁有它!

所以我們正在尋找的是某種無人值守的服務,它可以擷取伺服器上特定文件夾的所有文件更改。它應該在文件更改發生時“簽入”文件更改,即擷取整個文件的新版本,並擷取使用者的 Windows 登錄。換句話說,每個文件都會獲得對其所做更改的歷史記錄,就像 SVN、TFS 等一樣。我們應該能夠在文件歷史記錄中的版本之間進行比較。它擷取的 99% 應該是通過適當的程序進行的更改 - 但它也應該包含 1% 沒有的更改。

需要明確的是 - 我們不是在尋找發送“文件完整性”警報的服務,如 OSSEC。我們只希望擷取每個文件更改,因此如果出現問題,我們可以檢查更改日誌並找出在正常程序之外做了什麼。此外,它顯然應該是完全自動化的——要求使用者遵循額外的程序不是我們在這裡所追求的!

此外,定期進行備份然後查找它們之間的差異不是我們想要的,因為這不會告訴我們是誰進行了更改。

我通過日常工作和幾個客戶處理過類似的問題。

這裡的問題是基本權限和工作職責分離。您需要的程序更改遠遠超過軟體工具。應該只有極少數人能夠將這樣的內容推送到生產中。它因組織而異,但從我在小型企業市場中看到的情況來看,在開發中對網站進行更改的人中,只有不到 15% 的人有權推動生產。這通常包括首席開發人員、首席行銷/形像人員、IS 負責人和(可能)二級受信任的開發人員。

話雖如此,我建議審核 Windows 登錄事件。一旦您縮小了有權訪問的人員的範圍,這就提供了一種簡單的方法來說明在更改時誰在訪問系統。您還可以在託管網站文件的目錄上使用文件系統審核(用於更改)。它不會擷取原始內容,但設置起來相對快速且容易。

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