本文講述Linux環境下,如何使用備份的腳本和命令以及商業化的軟件來合理高效地保護磁盤數據安全。
備份與恢復系統承擔著事前備份與事後恢復的職能。在當前高速發展的網絡環境下,任何一個網絡上的信息 系統都不可能保證絕對的安全。只要有網絡存在,就會有來自網絡的形形色色的威脅。為了抵御網絡的攻擊和入侵,雖然我們引入了日趨成熟的入侵檢測系統、防火牆系統等,黑客們的入侵手段也日益高明,他們總能找到這些系統的安全漏洞及不足進行入侵,因而網絡入侵所引起的安全事件呈逐年增加之勢。
在這種情況下,我們難以保證網絡中關鍵系統的絕對安全,因而就需要采用備份及恢復技術。備份及恢復技術就是使用存儲介質和一定的策略,定期將系統業務數據備份下來,以保證數據意外丟失時能盡快恢復,將用戶的損失降到最低點。它是信息安全學科中一種非常重要的核心技術。
Linux下的備份技術
對於備份和恢復來說,Linux提供了諸如tar、cpio、 dump等工具來實現。這樣,用戶無需花錢購買,便可根據系統的實際情況,結合使用相應的備份恢復工具實現備份與恢復的基本功能。
tar工具介紹
tar是一個已移植到 Linux 中的經典 Unix 命令。 tar 是 tape archive(磁帶歸檔)的縮寫,最初設計用於將文件打包到磁帶上,現在我們大都使用它來實現備份某個分區或者某些重要的文件目錄。我們使用 tar 可以打包整個目錄樹,這使得它特別適合用於備份。歸檔文件可以全部還原,或從中展開單獨的文件和目錄。備份可以保存到基於文件的設備或磁帶設備上。文件可以在還原時重定向,以便將它們重新放到一個與最初保存它們的目錄(或系統)不同的目錄(或系統)。tar是與文件系統無關的,因而它的適用范圍很廣,它可以使用在ext2、ext3、jfs、Reiser和其他文件系統上。
使用tar非常類似於使用諸如Windows環境下的Winzip、WinRAR這樣的文件實用工具。只需將它指向一個目的(可以是文件或設備),然後指定想要打包的文件,就可以通過標准的壓縮類型來動態壓縮歸檔文件,或指定一個自己選擇的外部壓縮程序。要通過bzip2壓縮或解壓縮文件,可使用tar -z命令。
下面是一個簡單的使用該工具進行數據備份的例子:
tar czvf - /root/code > /tmp/code_bak.tgz (將/root/code目錄下的所有程序文件打包備份到/tmp/code_bak.tgz)
tar xzvf /tmp/code_bak.tgz /root/code (將備份的目錄文件恢復到指定目錄)
cpio工具介紹
cpio命令可以從tar或者cpio檔案文件中拷入或者拷出文件。cpio命令和tar命令兼容,但是這個命令具備一些tar命令沒有的功能,如下所示:
● 支持cpio和tar兩種檔案文件格式;
● 支持許多老式磁帶數據格式;
● 能夠通過一個管道(pipe-line)讀取文件的文件名。
目前看來,只有很少的Linux軟件包是以cpio格式發行的。用戶如果對cpio命令的詳細情況感興趣,可以通過“man cpio ”命令閱讀它的使用手冊。
dump 和 restore介紹
dump可以執行類似tar的功能。然而,dump傾向於考慮文件系統而不是個別的文件。dump檢查ext2文件系統上的文件,並確定哪些文件需要備份。這些文件將出於安全保護而被復制到給定的磁盤、磁帶或其他存儲媒體上。在大多數媒體上,容量是通過一直寫入直至返回一個end-of-media標記來確定的。
配合dump的程序是restore,它用於從轉儲映像還原文件。restore命令執行轉儲的逆向功能。可以首先還原文件系統的完全備份,而後續的增量備份可以在已還原的完全備份之上覆蓋。可以從完全或部分備份中還原單獨的文件或者目錄樹。
dump和restore都能在網絡上運行,因此用戶可以通過遠程設備進行備份或還原。dump和restore使用磁帶驅動器和提供廣泛選項的文件設備。然而,兩者都僅限用於ext2和ext3文件系統。如果使用的是JFS、Reiser或者其他文件系統,將需要其他的實用工具,比如 tar。 舉個例子:
dump 0f /dev/nst0 /(將ext2文件系統備份到第一個SCSI設備)
restore -xf /dev/nst0 /home/code(將備份的SCSI設備中的/home/code目錄下的所有數據還原到磁盤)
另外,現在市場上還存在著諸如Tivoli Storage Manager之類的商業化存儲備份工具,這些都是可視化的工具,用戶可以方便地通過用戶界面來實現備份與恢復。值得注意的是,這是一款商業軟件,因而並不是免費的,對於很多用戶來說,它所提供的功能與我們上述的Linux自帶的備份與恢復工具比較相似,只是更加人性化和友好,使用戶從枯燥的命令行方式下擺脫出來,從而方便用戶使用。
備份需要花費一定量的物力和財力,如何在備份所取得的收益與備份消耗的資源上做一個權衡是網絡安全工作者需要考慮的一個大問題,因為支出大於產出也就意味著低效甚至失敗。所以在Linux環境中進行數據備份,需要根據實際情況進行區分對待,以取得比較好的效果。特別是,需要對一些關鍵的目錄進行區分,從而做到有針對性的備份,減少不必要的浪費。
一般情況下,以下所列目錄是需要備份的,它們在系統中具有舉足輕重的地位:/etc包含所有核心配置文件,這其中包括密碼文件、網絡配置文件、系統名稱、防火牆規則、NFS文件系統配置文件以及其他全局系統項;/var包含系統守護進程(服務)所使用的信息,包括 DNS 配置、DHCP 租期、郵件緩沖文件、HTTP 服務器文件等;/home包含所有用戶的默認用戶主目錄,這包括他們的個人設置、已下載的文件和用戶存放在系統中的重要的信息;/root是根(root)用戶的主目錄;/bin是存放許多系統中常用的諸如ls、ps等命令的重要場所,這些命令在磁盤上均有影響,極容易遭受黑客的破壞。
相反地,在Linux系統中,如下目錄是不應該備份的:/proc永遠不需要備份,它不是一個真實的文件系統,而是運行內核和環境的虛擬化視圖,它包括諸如 /proc/cpuinfo、/proc/meminfo 這樣的文件,這個文件是整個運行內存的虛擬視圖,一旦系統關機或者重新啟動,該目錄下的信息便不復存在;/dev包含硬件設備的文件表示,如果計劃還原到一個空白的系統,那就可以備份 /dev,如果計劃還原到一個已安裝的Linux系統,那麼備份/dev 是沒有必要的;另外,一些軟鏈接(也就是指向另外一些磁盤文件的文件)是不需要備份的,因為這些文件當中存儲的只是被指向文件的地址,這些軟鏈接文件,用戶可以通過使用“ls -l”命令來判定,如下所示,其中linux-2.4即為一個軟鏈接文件,它指向的是linux-2.4.7-10這個目錄。
上一頁
12 下一頁 閱讀全文