自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何將你的Linux服務(wù)器清空?

系統(tǒng) Linux
人們常常在談?wù)撏泄芊?wù)器或云服務(wù)器所帶來的便利,但如果這些設(shè)備已經(jīng)該壽終正寢,大家會(huì)如何處理?當(dāng)然,我們可以聯(lián)系設(shè)備商,讓他們負(fù)責(zé)報(bào)廢工作,但這實(shí)際上很難保證其中的數(shù)據(jù)安全地被加以清除。幸運(yùn)的是,還有另外一些安全清除Linux服務(wù)器內(nèi)容的方法,今天將要和大家分享。

  人們常常在談?wù)撏泄芊?wù)器或云服務(wù)器所帶來的便利,但如果這些設(shè)備已經(jīng)該壽終正寢,大家會(huì)如何處理?當(dāng)然,我們可以聯(lián)系設(shè)備商,讓他們負(fù)責(zé)報(bào)廢工作,但這實(shí)際上很難保證其中的數(shù)據(jù)安全地被加以清除。如果不具備對(duì)設(shè)備的物理訪問能力,他們很難將磁盤取出、覆蓋一切舊有內(nèi)容,并最終用大錘將其砸個(gè)粉碎。因此,當(dāng)我們準(zhǔn)備放棄托管(或云)服務(wù)器時(shí),心中應(yīng)該有所預(yù)期,即該設(shè)備很可能得不到有效的摧毀。

  其實(shí)上述問題是我最近一次在與Matt Prigge的討論中無意間提及的。有一家托管服務(wù)供應(yīng)商的幾臺(tái)Linux服務(wù)器已經(jīng)達(dá)到三年使用上限,因此需要在不具備物理訪問能力的前提下將內(nèi)容徹底清空。在這種情況下也不用考慮重啟設(shè)備,因?yàn)槟銦o法保證它們能夠正常重啟。盡管就這么放著似乎也不會(huì)帶來什么大麻煩,但任何具備解鎖權(quán)限的家伙還是能夠竊取到該系統(tǒng)上的各類數(shù)據(jù)。而且雖然Darik's Boot and Nuke也能很便捷地完成清空工作,但我們?cè)谶@里想聊聊其它方案。

  大家可以在root下運(yùn)行rm -rf / 指令,這可能會(huì)將設(shè)備的內(nèi)容搞得亂七八糟,但仍然無法保證一切信息都被安全刪除。事實(shí)上,我們甚至不能肯定這種方法是否刪除了全部文件,并使它們無法被恢復(fù)——而且一段時(shí)間之后,服務(wù)器開始沒有響應(yīng),進(jìn)入未知狀態(tài),我們也就無法驗(yàn)證信息的清空情況了。

  幸運(yùn)的是,還有另外一些安全清除Linux服務(wù)器內(nèi)容的方法。

  在這個(gè)例子中,我們的目標(biāo)是對(duì)所有本地磁盤執(zhí)行數(shù)次歸零操作,以確保MBR被徹底清空;這對(duì)于保證磁盤中數(shù)據(jù)的完全擦除是比較理想的有效方案。(遺憾的是,這一回振奮人心的大錘沒有發(fā)揮的余地)。另外,我還需要對(duì)磁盤內(nèi)容進(jìn)行確認(rèn)——而且整臺(tái)設(shè)備應(yīng)該在歸零操作完成后自行關(guān)閉。

  如何才能做到這一點(diǎn)呢?事實(shí)上這相當(dāng)簡單。

  第一步首先要?jiǎng)?chuàng)建一個(gè)Ramdisk,并將所有相關(guān)的二進(jìn)制文件及函數(shù)庫復(fù)制進(jìn)去。

  接下來,停用所有可能帶來磁盤寫入動(dòng)作的系統(tǒng)服務(wù),例如系統(tǒng)日志等。

  上述內(nèi)容完成后,查看掛載列表,并留心其中的全部區(qū)塊裝置,然后動(dòng)態(tài)創(chuàng)建一個(gè)腳本,將0(或者其它任何大家喜歡的隨機(jī)內(nèi)容)向這些裝置中至少寫入一次——不過最好是五次或更多。

  除此之外,還要確保我們對(duì)每個(gè)磁盤的第一個(gè)512字節(jié)內(nèi)容寫入0,這樣MBR就能得以完全清除。

  一旦這套腳本創(chuàng)建完成并部署到ramdisk當(dāng)中,關(guān)閉所有調(diào)動(dòng)指令、將根目錄更改為ramdisk,然后由此開始運(yùn)行。

  不要忘了給自己保留一個(gè)能夠訪問的臨時(shí)工作環(huán)境。

  運(yùn)行此腳本的最終結(jié)果是以遠(yuǎn)程方式將系統(tǒng)中的所有活躍分區(qū)都全面而徹底地加以清除,而這一切工作都是通過ssh完成,無需具備控制臺(tái)或是物理訪問能力。如果各位擁有Linux托管服務(wù)器,或者甚至是一些遠(yuǎn)程站點(diǎn)的互聯(lián)網(wǎng)服務(wù)器,那么在需要對(duì)其進(jìn)行善后處理時(shí),這套用于系統(tǒng)清空的腳本將為大家提供很好的幫助作用。事實(shí)上,在我們打算將一臺(tái)處于任何地點(diǎn)的Linux服務(wù)器扔進(jìn)垃圾堆——或者即將著手處理——時(shí),這套腳本都能快速、便捷地為我們完成預(yù)期工作。

  需要強(qiáng)調(diào)的是,這套腳本還有一項(xiàng)任務(wù)沒有完成,即安全刪除任何由托管服務(wù)供應(yīng)商所持有的備份或快照信息。由于這屬于供應(yīng)商自家的特殊規(guī)范,因此大家必須主動(dòng)加以跟進(jìn);而且在云服務(wù)器實(shí)例或者托管虛擬機(jī)領(lǐng)域,我們肯定要考慮到這一點(diǎn)。如果某臺(tái)運(yùn)行中的服務(wù)器具備一大堆快照之類的后備方案,那么對(duì)其進(jìn)行歸零實(shí)際上沒有多大意義。另外,這在準(zhǔn)虛擬化的VPS實(shí)例上也行不通,因?yàn)樗鼈儾辉试S對(duì)低級(jí)磁盤進(jìn)行訪問。

  如果各位有興趣,可以看看下面這個(gè)例子,功能很完整:

  1. #!/bin/bash  
  2.  
  3. #  
  4.  
  5. # This script will absolutely kill a RHEL/CentOS/Fedora server. Use with extreme caution.  
  6.  
  7. # Tested with several CentOS/RHEL versions only. Run as root user.  
  8.  
  9. # 10.20.11 Paul Venezia (pvenezia@pvenezia.com)  
  10.  
  11. #  
  12.  
  13. zeroscript="/var/ramdisk/zeroscript.sh" 
  14.  
  15. echo "*******************************************************************  
  16.  
  17. ** This will permanently kill this Linux system and erase every **  
  18.  
  19. ** local disk and filesystem. In other words, you better be **  
  20.  
  21. ** REALLY REALLY SURE you want to do this on this system. **  
  22.  
  23. *******************************************************************"  
  24.  
  25. echo -n "Are you absolutely sure you want to do this? [yes|no]: "; read yn  
  26.  
  27. if [ -z $yn ] || [ $yn != "yes" ]; then  
  28.  
  29. echo "Aborting"  
  30.  
  31. exit 1  
  32.  
  33. fi  
  34.  
  35. echo -n "How many zeroing passes? "; read zeropass  
  36.  
  37. if [ -z $zeropass ] || [ $zeropass -lt 1 ]; then  
  38.  
  39. echo "Invalid number of passes specified. Aborting."  
  40.  
  41. exit 1  
  42.  
  43. fi  
  44.  
  45. echo -n "Automatically shutdown? [yes|no] "; read asd  
  46.  
  47. echo "Okay, here we go..."  
  48.  
  49. echo "Making and populating ramdisk (512MB)..."  
  50.  
  51. mkdir -p /var/ramdisk  
  52.  
  53. mount -t tmpfs none /var/ramdisk -o size=512m # You may need to adjust this depending on the amount of RAM in the box  
  54.  
  55. mkdir -p /var/ramdisk/var/run  
  56.  
  57. for f in dev bin lib lib64 sbin etc; do  
  58.  
  59. cp -pr /$f /var/ramdisk  
  60.  
  61. done  
  62.  
  63. cp -pr /var/run /var/ramdisk/var  
  64.  
  65. echo "Stopping services, it's probably safe to ignore any errors..."  
  66.  
  67. for s in httpd acpid anacron atd auditd autofs avahi-daemon bluetooth cpuspeed crond cups firstboot gpm haldaemon hidd hplip irqbalance iscsi iscsid kudzu lm_sensors lvm2-monitor mcstrans mdmonitor messagebus microcode_ctl netfs nfslock pcscd portmap rawdevices readahead_early restorecond rpcgssd rpcidmapd sendmail smartd sshd syslog vmware-tools xfs yum-updatesd; do  
  68.  
  69. service $s stop  
  70.  
  71. done  
  72.  
  73. echo "Placing zeroing script..."  
  74.  
  75. echo "#!/bin/bash" > $zeroscript  
  76.  
  77. for i in `fdisk -l | grep Disk | awk '{print$2}' | sed -e s/:// | grep -v /dev/md`; do  
  78.  
  79. DU=$DU" "$i  
  80.  
  81. DSK=`basename $i`  
  82.  
  83. BLKS=$((`grep -w $DSK /proc/partitions | awk '{print$3}'` * 2)) # account for 512/1k blocksizes  
  84.  
  85. BS=512 
  86.  
  87. echo "echo \"Zeroing $i (dd if=/dev/zero of=$i bs=$BS count=$BLKS) ...\"" >> $zeroscript  
  88.  
  89. for (( c=1; c<=$zeropass; c++ )); do  
  90.  
  91. echo "echo \"Pass $c...\"" >> $zeroscript  
  92.  
  93. echo "dd if=/dev/zero of=$i bs=$BS count=$BLKS" >> $zeroscript  
  94.  
  95. done  
  96.  
  97. echo "dd if=/dev/zero of=$i bs=512 count=1>> $zeroscript # Just to make sure  
  98.  
  99. done  
  100.  
  101. echo "echo \"Disk(s)$DU have been zeroed $zeropass times\"" >> $zeroscript  
  102.  
  103. if [ $asd = 'yes' ]; then  
  104.  
  105. echo "echo \"Shutting down...\"" >> $zeroscript  
  106.  
  107. echo "sleep 5 && /sbin/poweroff -n -d -f" >> $zeroscript  
  108.  
  109. fi  
  110.  
  111. chmod +x $zeroscript  
  112.  
  113. echo "Turning off swap..." && swapoff -a  
  114.  
  115. echo "Entering chroot..."  
  116.  
  117. chroot /var/ramdisk /`basename $zeroscript` 

  該腳本中盡管存在著一些過于強(qiáng)橫的霸王內(nèi)容,但卻確實(shí)能幫大家完成任務(wù)。它本身是專門用于RHEL(即紅帽企業(yè)版Linux)及CentOS(即社區(qū)企業(yè)操作系統(tǒng))的,但只需經(jīng)過簡單的調(diào)整即可奏效于任何類Unix操作系統(tǒng)之上。不過請(qǐng)大家小心,這個(gè)腳本存在的目的是追求完全的破壞性。如果破壞不是各位的需求,或者大家不了解自己在做什么,請(qǐng)千萬不要嘗試。

責(zé)任編輯:黃丹 來源: 中國IT實(shí)驗(yàn)室
相關(guān)推薦

2011-10-25 17:16:28

Linux服務(wù)器數(shù)據(jù)刪除

2023-03-12 09:22:58

2020-11-25 10:42:57

Python代碼工具

2017-05-10 16:09:12

MySQL數(shù)據(jù)庫查詢

2022-03-04 18:14:26

CentOSLinux

2014-09-01 09:49:24

github

2022-05-11 17:21:05

Btrfs文件系統(tǒng)Fedora

2021-08-31 08:32:40

開源項(xiàng)目開發(fā)

2018-08-03 08:43:38

2020-07-16 07:00:00

惡意軟件域名惡意網(wǎng)站

2019-06-13 17:15:30

監(jiān)控Linux服務(wù)器

2020-06-07 11:54:34

Linux服務(wù)器命令

2013-12-19 10:37:17

2012-10-29 09:27:16

2015-03-20 13:40:17

2020-05-25 07:00:58

Raspberry PWeb服務(wù)器

2012-11-12 14:22:17

Windows Ser

2012-11-26 09:48:50

Linux服務(wù)器

2024-11-14 23:24:55

Shell腳本系統(tǒng)

2014-09-26 09:23:08

FacebookInstagramAWS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)