Başsız bir uzak linux sunucusunu güvenle silin


18

Uzun yıllardır barındırma sağlayıcımla ilişkimi sona erdirmek üzereyim, ancak kutuyu yapmadan önce güvenli bir şekilde silmek istiyorum. Bu, Debian'ı tek bir EXT3 sürücüsünde çalıştıran özel bir sunucudur ve kök erişimim olmasına rağmen, bir yerde bir rafta başsız olduğu için alternatif medyayı önyükleyemiyorum.

Birden fazla geçişe ihtiyacım yok, ancak mümkünse boş alanı silmek istiyorum. Temelde uzaklaşmak ve kişisel verilerimi geride bırakmadığımdan emin olmak istiyorum. Kutuyu sadece çalıştırırsam dosya sistemini silmeyi / senkronize etmeyi bitirmeden çökebileceğinden endişeleniyorumsrm -R -s /


imho, dd kullanın (altta)
Bazı Linux Nerd

Yanıtlar:


4

rm -rf --no-preserve-root /Sistem çökmeden ve sürücüde hiçbir şey kalmadan başarılı bir şekilde başardım .


Veri dizinlerimde srm çalıştırdım, daha sonra rm -rf --no-preserve-root /geri kalanını temizlemek için SSH ile çalıştım . / Dev ves'de birkaç hata attı ve sonra tamamlandı; Bash isteminde ne yapacağımı pek bilmiyordum. / Bin / ls veya / sbin / shutdown olmadan başarıyı doğrulayamadım. Twas antiklimaktik; Zombi çekirdeği ve sshd oturumu değil, zihinsel olarak çökmesine hazırdım.
notpeter

7
Bu güvenli değil. Veriler silinmez ve silme işlemi yine de mümkündür. ddBunun yerine diskin üstesinden gelmek daha iyidir.
qris

10

PXE görüntüleri ile birlikte gelen CentOS yükleyicisi (anaconda) bir VNC sunucusu içerir, böylece grub yapılandırmasını CentOS yükleyicisini önyüklemek için değiştirebilir, cevapları grub satırındaki önyükleme öncesi 2 yükleyici sorularına aktarabilir, yeniden başlatabilir ve daha sonra VNC yapabilirsiniz yükleyiciye.

Şimdi, hafızam bana doğru bir şekilde hizmet ediyorsa, bu yükleyiciden diske erişebileceğiniz ve diski yok edebileceğiniz bir kabuğa düşebilmeniz gerekir.

Vmlinuz ve initrd dosyalarını CentOS dağıtımındaki ( http://mirror.centos.org/centos/5/os/i386/images/pxeboot/ ) PXE dizininden kopyalayın ve grub yapılandırmanızı değiştirin:

varsayılan 0
zaman aşımı 5
başlık CentOS
kök (hd0,0)
kernel /boot/vmlinuz.cent.pxe vnc vncpassword = ŞİFRE başsız ip = IP ağ maskesi = 255.255.255.0 ağ geçidi = GATEWAYIP dns = 8.8.8.8 ksdevice = eth0 yöntemi = http: //mirror.centos.org/centos/5/os / i386 / lang = tr_TR tuş haritası = bize
initrd /boot/initrd.img.cent.pxe

Bu arada, herhangi bir iyi hosting şirketi disklerinizi sizin için yok etmeye hazır olmalıdır.


3
Onlar 'terbiyeli bir hosting şirketi' değildir, bu yüzden benim diskleri terk etmek ve silmek ihtiyacım var.
notpeter

Bu yöntemi kullanmadım, ancak vnc'yi (hatta yalnızca SSH'yi) etkinleştirmek için önceden yapılandırılmış minimal bir kurtarma görüntüsünü başlatmak için GRUB kullanmak tamamen yapılabilir. Eğer karışıklık, potansiyel olarak tekrar düzgün önyükleme için manuel müdahale gerektiren bir sistem ile kalır, bu yüzden muhtemelen önce bir VM test etmeye değer.
notpeter

1
İşlerin silinme sırasına ilişkin bir kelime yararlı olabilir. Öncelikle içerenler dışındaki tüm bölümleri silerek /boot, işlemin ortasında makinenin yeniden başlatılması durumunda yeniden başlayabilirsiniz. Bölümde /bootolursa, tüm /bölümü silmeden önce tüm dosyaları /bootsilebilir ve boş alanı silebilirsiniz. Bu, çok fazla sildikten sonra yeniden başlatılması durumunda diskte kalan veri miktarını en aza indirir, böylece artık önyükleme yapamazsınız.
kasperd

7

İşletim sistemini yok etmeden önce hassas ve sıfır dolguyu kaldırabilirsiniz (dd if = / dev / zero = justabigfile kullanarak).

Ve çoğu sistemin tüm diskin üzerine yazacak kadar uzun bir süredir çalışan bir sistemde hayatta kalacağına inanıyorum. Tabii ki yapmazsa geri dönüş yolu yoktur.


4
Bunu yapmadan önce endişe duyduğunuz tüm dosyaları silerseniz, takas bölümünüzü değiştirin, takas bölümünü silin (silme veya dd kullanarak), o zaman yukarıdakiler oldukça güvenli olmalıdır. Kök için ayrılmış% 5'i aşmak için bunu kök olarak yapmanız gerekir ve tüm dosya adlarını silmeyebilirsiniz, ancak veriler gitmiş olmalıdır.
Slartibartfast

6

Benim çözümüm, yukarıdakilerden bazılarını yapan çok aşamalı bir yaklaşımı içerir, ancak aynı zamanda koç içinde dd'nin diski tamamen temizlemesini tamamlaması gereken bir kroot içerir.

Öncelikle işletim sisteminizi çalıştırmak için gerekli dosyaları bırakarak tüm hassas verilerinizi silin. Sonra bunu yapın (bir komut dosyasında değil, her seferinde bir komut yapın):

mkdir /root/tmpfs/
mount -t tmpfs tmpfs /root/tmpfs/
debootstrap --variant=buildd --arch amd64 precise /root/tmpfs/
mkdir /root/tmpfs/mainroot
mount --bind / /root/tmpfs/mainroot
mount --bind /dev /root/tmpfs/dev
chroot /root/tmpfs/

# fill mainroot partition to wipe previously deleted data files
dd if=/dev/zero of=/mainroot/root/bigfile; rm /mainroot/root/bigfile
# now clobber the entire partition, probably won't be able to stay connected to ssh after starting this
# obviously change '/dev/md1' to the device that needs cleared
nohup dd if=/dev/zero of=/dev/md1 >/dev/null 2>&1

Bu ilgilenmeli!


1

ddHerhangi bir endişe olmadan çalışan bir sunucudaki tüm bölümün / diskin üzerine yazmak için kullanabilirsiniz . İş yerinde çok kullanıyoruz (müşteri güvenli fiziksel disk imhası için ödeme yapmak istemediğinde).

Veriyi bağlı dosya sistemi olmadan bilerek silinirsiniz, böylece dosya sistemi meta verileri kaybolurken çıldırmaya başlar, sonra işletim sisteminin kendisi "çökmeye" başlar. Ancak zaten önbellekte olanlar hala çalışıyor. Böylece ilerlemeyi uzak konsol veya KVM (ssh üzerinden denemedim) üzerinden izleyebilirsiniz. Sistem ddbittikten sonra bile çalışmaya devam eder , ancak hiçbir komut çalışmaz ve tüm cinler muhtemelen zaten ölmüştür.

Bu komutları kullanıyorum: dd if=/dev/zero of=/dev/sda bs=1M & ve sonra kill -HUP %1ilerlemeyi izlemek için (dd geçerli hızı ve yazılan veri miktarını yazdıracaktır). Blok boyutunun ( bs) ayarlanması , HDD seq yazma hızına ulaşmak için çok önemlidir dd.

Her seferinde dddiski sonuna killkadar silebildim ve sonuna kadar komutu (kabuk yerleşik) verebildim . Yazılım baskınınız varsa, mdcihazın kendisini veya her bileşen aygıtını ayrı ayrı silebilirsiniz .


İş arkadaşım bunu yaptı ve xwindows çökmedi, tam olarak istekte bulunanın ihtiyacı olmalıdır.
Bazı Linux Nerd

1

ATA protokolü, adından da anlaşılacağı gibi, tüm HDD'yi güvenli bir şekilde silmesi gereken bir "güvenli silme" komutuna sahiptir.

Ayrıntılar için Kernel wiki makalesine bakın, ancak üstteki uyarılara dikkat edin:

https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase


2018 güncellemesi: Silinen dosya sisteminden çıksalar bile, sunucuları uzaktan silmek için bunu birkaç kez başarıyla kullandım. Program sadece bir ATA komutu verdiğinden ve bir yanıt beklediğinden, silme işlemi sırasında CPU üzerinde kod çalıştırılmasına gerek yoktur.
Vladimir Panteleev

0

Diskinize şu şekilde rastgele veriler yazmaya çalışabilirsiniz:

dd if=/dev/urandom of=/dev/sda

/ Dev / zero kullanmaktan daha güvenlidir çünkü rastgele veri yazmaktadır, ancak aynı zamanda çok daha yavaştır.


Daha iyi bilmeyen biri olarak neden insanlar buna oy veriyor? Bu iyi bir uygulama değil mi?
Kanada Luke REINSTATE MONICA

@CanadianLuke Soru zaten çalışan bir sunucuyu güvenli bir şekilde silmekle ilgilidir. Bu şekilde monte edilmiş bir sürücüye yazamazsınız, bu yüzden çalışmaz.
longneck

@ longneck Teşekkürler. Nedense, root'un bunu yapabileceğini düşündüm ... Daha önce denememiş olmama rağmen, sözünü alacağım Yine de açıkladığınız için teşekkürler
Kanadalı Luke

@ longneck ya sen, yukarıdaki yorumu ekledi ama bunu yapmak gerçekten paranoyak bir iş arkadaşı vardı. Aslında sabit sürücünüzü tamamen çıkartabilirsiniz ve linux hala bir sürü uygulama hata mesajından başka bir şey olmadan bellekteki her şeyi çalıştırmaya devam edecektir.
Bazı Linux Nerd

0

Ne yaparsanız yapın, başka bir sağlayıcıya geçin ve test edin.

AWS'ye (veya gcloud veya ...) benzer bir örnek alın ve diski saklayıp başka bir örneğe ek depolama alanı olarak ekleyerek taratın. gg if = sdb | hd

Hassas malzemelerinizin neredeyse tamamı

/home
/opt
/var
/etc
/usr

Çoğu insanı rahatsız eden gömülü şifreleri olan yapılandırma dosyalarıdır. Ne olduklarını biliyorsanız, onları kökünden temizlemek için tüm dosya sisteminde arama yapın.

rm dosyaları siler, ancak onaltılık bir düzenleyici diski yine de okuyacaktır. Sonra sıfır. Bir parçalara bak. Yapılandırma dosyalarınızı ve DR amaçları için nerede olduklarını gösteren bir günlüğünüz olmalıdır, değil mi? Bunlarda şifreleriniz varsa crontab dosyalarını unutmayın, diyelim.

CentOS kurulumu veya herhangi bir ramdisk çözümü sağlam. Çekirdek bellekte olacak, dd ve bazı bin içeriğine ihtiyacınız var. Ancak kurtarma modunda yeniden başlatırsanız, ağ veya SSH'niz olmayabilir ve kendinizi kesebilirsiniz.

NB Kedare iyi bir fikre sahiptir ve bir sonraki yeniden başlatmanızda (ramdisk) koçtan koşuyorsanız, bu mümkündür, başlamak için / dev / zero yazmaları kurtarmak çok zordur, bu yüzden hayatınız sürece gerçekten değer katmaz buna bağlı mı?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.