
我有許多連接的系統,並且正在考慮設置一個單獨的伺服器來進行增量備份和完整備份。
為了防止在系統受到威脅時丟失所有系統/備份,我正在考慮將其設為一種投遞箱式的事件,在備份推送到的每個系統上安裝一個只寫共用。
我的意圖是,如果發生攻擊,可以透過新建立的唯讀共用將備份暴露給或推送到受影響的系統,然後從那裡恢復 - 但係統本身無法存取。
我們的一位競爭對手最近失去了整個業務,因為甚至他們的備份都是連接的 - 所以他們沒有什麼可恢復的。
我還將在適當的時間間隔下載完整的備份。
請在我的計劃中找出漏洞。
謝謝。
答案1
請在我的計劃中找出漏洞。
當然。僅刪除讀取並不能防止問題發生。任何修改嘗試都需要寫入權限。然後,攻擊者仍然可以將檔案寫入空(他只需要知道檔案在哪裡)。
除了附加新資料之外,為什麼不鎖定該磁碟上有關備份的任何內容?
可能的設定:
/backups/20160911/backup.tar.gz
/backups/20160912/backup.tar.gz
/backups/20160913/backup.tar.gz
建立一個腳本
chattr -R +a /backups/
chattr -R +i /backups/*.tar.gz
+i
意思是「不可變的」;無法對這些文件或目錄執行任何操作。即使 root 也無法更改它(包括刪除、編輯、寫入、新增檔案。任何事情)。即使 root 也需要先刪除此檔案(使用-i
),然後 root 才能對這些檔案執行某些操作。
+a
意思是「追加」;規則與 1 項例外相同-i
。任何人都不允許對文件或目錄進行任何更改除了添加到它。再說一次:即使是 root 也需要-a
在更改檔案或目錄之前刪除它(使用 ),而更改不會向其中添加內容。
(上面可能需要一些調整。1個大備份檔案可能不是最好的方法。帶有子目錄和檔案的東西可能會更好。所以這需要對這兩行進行調整:例如僅在舊目錄上執行此操作並執行備份完成後手動“今天”然後就變成了。
chattr -R +i /backups/{not_today}
chattr -R +a /backups/{today}
讓此腳本每隔一段時間運行一次,這樣,如果任何時候有人更改了其中的某些內容/backups/
,就會重置所有備份的權限。
目錄和檔案可以新增到“今天”,備份完成後您可以手動新增+i。建立一個好的管理員密碼,除了管理員之外沒有人會接觸這些文件。曾經。
順便說一句:也可以考慮線上儲存備份。我們在多個google 實例中都有備份(我們在3 個大陸上有3 個即時系統,它們共享數據,每個系統在另一個大陸上都有一個後備實例,並且每個系統都共享一個備份系統)。
答案2
刪除read
您想要不可讀的檔案或目錄的權限。
權限是:
u - Owner
g - group
o - others
關閉每個人的讀取權限,並為您希望擁有寫入權限的每個人關閉權限。
$ chmod -R ugo-r [path]
目錄 [path] 及其所有檔案和子目錄都將具有此屬性。在這種情況下-r
(無讀取存取權限)。
答案3
沒有什麼比斷開連線的備份更安全了。將備份下載到外部磁碟機上,並將備份複製到外部磁碟機後,將其從網路上拔下。取得多個驅動器並輪換它們。
例如,購買 5 個 1Tb 驅動器(總成本 < 300 美元)。指定其中 3 個作為每日備份;每天連接一個並將備份複製到其上,然後斷開連接。指定一個作為每週備份,一個作為每月備份,然後執行相同的操作。
將某些驅動器放在第二個位置,以防發生火災或盜竊。
這種方法可以保護您免受許多不同的資料遺失威脅。
如果您的系統全部基於伺服器,請使用雲端等效系統。在不同的提供者(亞馬遜、Google、天藍色)上設定一些伺服器。每天連接到另一台伺服器並將您的備份透過 sftp 傳輸到該伺服器上,然後中斷連線。保留多個副本,這樣您就不會備份完好的副本。
但沒有什麼比與任何網路斷開連接並保存在異地位置的實體副本更難破解的了。