成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何安全清除Linux服務器的內容?

運維 服務器運維
人們常常在談論托管服務器或云服務器所帶來的便利,但如果這些設備已經該壽終正寢,大家會如何處理?當然,我們可以聯系設備商,讓他們負責報廢工作,但這實際上很難保證其中的數據安全地被加以清除。

人們常常在談論托管服務器或云服務器所帶來的便利,但如果這些設備已經該壽終正寢,大家會如何處理?當然,我們可以聯系設備商,讓他們負責報廢工作,但這實際上很難保證其中的數據安全地被加以清除。如果不具備對設備的物理訪問能力,他們很難將磁盤取出、覆蓋一切舊有內容,并最終用大錘將其砸個粉碎。因此,當我們準備放棄托管(或云)服務器時,心中應該有所預期,即該設備很可能得不到有效的摧毀。

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

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

幸運的是,還有另外一些安全清除Linux服務器內容的方法。

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

如何才能做到這一點呢?事實上這相當簡單。

第一步首先要創建一個Ramdisk,并將所有相關的二進制文件及函數庫復制進去。

接下來,停用所有可能帶來磁盤寫入動作的系統服務,例如系統日志等。

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

除此之外,還要確保我們對每個磁盤的第一個512字節內容寫入0,這樣MBR就能得以完全清除。

一旦這套腳本創建完成并部署到ramdisk當中,關閉所有調動指令、將根目錄更改為ramdisk,然后由此開始運行。

不要忘了給自己保留一個能夠訪問的臨時工作環境。

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

需要強調的是,這套腳本還有一項任務沒有完成,即安全刪除任何由托管服務供應商所持有的備份或快照信息。由于這屬于供應商自家的特殊規范,因此大家必須主動加以跟進;而且在云服務器實例或者托管虛擬機領域,我們肯定要考慮到這一點。如果某臺運行中的服務器具備一大堆快照之類的后備方案,那么對其進行歸零實際上沒有多大意義。另外,這在準虛擬化的VPS實例上也行不通,因為它們不允許對低級磁盤進行訪問。

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

#p#   #!/bin/bash

#

# This script will absolutely kill a RHEL/CentOS/Fedora server. Use with extreme caution.

# Tested with several CentOS/RHEL versions only. Run as root user.

# 10.20.11 Paul Venezia (pvenezia@pvenezia.com)

#

zeroscript="/var/ramdisk/zeroscript.sh"

echo "*******************************************************************

** This will permanently kill this Linux system and erase every **

** local disk and filesystem. In other words, you better be **

** REALLY REALLY SURE you want to do this on this system. **

*******************************************************************"

echo -n "Are you absolutely sure you want to do this? [yes|no]: "; read yn

if [ -z $yn ] || [ $yn != "yes" ]; then

echo "Aborting"

exit 1

fi

echo -n "How many zeroing passes? "; read zeropass

if [ -z $zeropass ] || [ $zeropass -lt 1 ]; then

echo "Invalid number of passes specified. Aborting."

exit 1

fi

echo -n "Automatically shutdown? [yes|no] "; read asd

echo "Okay, here we go..."

echo "Making and populating ramdisk (512MB)..."

mkdir -p /var/ramdisk

mount -t tmpfs none /var/ramdisk -o size=512m # You may need to adjust this depending on the amount of RAM in the box

mkdir -p /var/ramdisk/var/run

for f in dev bin lib lib64 sbin etc; do

cp -pr /$f /var/ramdisk

done

cp -pr /var/run /var/ramdisk/var

echo "Stopping services, it's probably safe to ignore any errors..."

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

service $s stop

done

echo "Placing zeroing script..."

echo "#!/bin/bash" > $zeroscript

for i in `fdisk -l | grep Disk | awk '{print$2}' | sed -e s/:// | grep -v /dev/md`; do

DU=$DU" "$i

DSK=`basename $i`

BLKS=$((`grep -w $DSK /proc/partitions | awk '{print$3}'` * 2)) # account for 512/1k blocksizes

BS=512

echo "echo \"Zeroing $i (dd if=/dev/zero of=$i bs=$BS count=$BLKS) ...\"" >> $zeroscript

for (( c=1; c<=$zeropass; c++ )); do

echo "echo \"Pass $c...\"" >> $zeroscript

echo "dd if=/dev/zero of=$i bs=$BS count=$BLKS" >> $zeroscript

done

echo "dd if=/dev/zero of=$i bs=512 count=1" >> $zeroscript # Just to make sure

done

echo "echo \"Disk(s)$DU have been zeroed $zeropass times\"" >> $zeroscript

if [ $asd = 'yes' ]; then

echo "echo \"Shutting down...\"" >> $zeroscript

echo "sleep 5 && /sbin/poweroff -n -d -f" >> $zeroscript

fi

chmod +x $zeroscript

echo "Turning off swap..." && swapoff -a

echo "Entering chroot..."

chroot /var/ramdisk /`basename $zeroscript`

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

責任編輯:張玉 來源: Linux服務器
相關推薦

2018-08-07 14:49:55

2018-01-31 11:20:48

2010-06-02 13:29:55

2022-06-14 23:34:10

Linux安全服務器

2015-08-05 09:35:38

Bastille服務器安全

2009-07-04 14:37:12

2010-07-16 12:10:15

2018-09-06 10:16:39

2009-01-23 21:33:00

2011-03-21 13:10:15

2011-11-21 16:32:19

2023-06-26 14:19:35

2010-08-06 15:44:11

Linux服務器

2011-03-23 15:30:53

2017-01-05 13:41:56

2012-05-08 13:59:23

2017-03-29 15:12:43

2017-12-04 10:03:45

2012-12-18 16:22:36

2011-02-21 10:31:24

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产免费一区二区三区 | 亚洲天堂成人在线视频 | 秋霞性生活| 久久9精品| 国产欧美日韩在线播放 | 麻豆视频国产在线观看 | 日韩成人免费视频 | 亚洲综合视频 | 天天色综 | 成人在线免费看 | 免费一级欧美在线观看视频 | 久久国产精品-久久精品 | 蜜桃毛片 | 亚洲国产精品久久久久婷婷老年 | 天天干天天干 | 91视频在线观看 | 91精品国产综合久久久久久 | 国产亚洲一区二区精品 | 乱一性一乱一交一视频a∨ 色爱av | 久久最新网址 | 中文字幕一区二区三区四区五区 | 特级丰满少妇一级aaaa爱毛片 | 亚洲黄色一级 | 国产在线小视频 | 亚洲欧美中文日韩在线v日本 | 91久久综合亚洲鲁鲁五月天 | 欧美成人久久 | 国产一级淫片免费视频 | 国产真实乱对白精彩久久小说 | 精品国产欧美一区二区三区成人 | 青青久久 | 亚洲成人免费av | 国产情侣在线看 | 91视频在线| 日本在线一二 | 中文字幕日本一区二区 | 久久久久电影 | 日韩中文字幕一区二区三区 | 日本一级淫片免费啪啪3 | 久久久久无码国产精品一区 | 中文字幕亚洲欧美日韩在线不卡 |