सुरक्षित रूप से एक हेडलेस रिमोट लिनक्स सर्वर मिटा दें


18

मैं कई वर्षों के अपने होस्टिंग प्रदाता के साथ अपने संबंध को समाप्त करने वाला हूं, लेकिन इससे पहले कि मैं सुरक्षित रूप से बॉक्स को मिटा दूं। यह एक समर्पित सर्वर है जो एक EXT3 ड्राइव पर डेबियन चल रहा है और हालांकि मेरे पास रूट एक्सेस है, मैं वैकल्पिक मीडिया को बूट नहीं कर सकता क्योंकि यह एक रैक में हेडलेस है।

मुझे कई पास की आवश्यकता नहीं है, लेकिन यदि संभव हो तो मैं मुफ्त स्थान मिटा देना चाहता हूं। मूल रूप से मैं दूर चलना चाहता हूं और यह सुनिश्चित करना चाहता हूं कि मैं अपने किसी भी व्यक्तिगत डेटा को पीछे न छोड़ूं। मुझे चिंता है कि अगर मैं बस चलाऊंगा तो फाइल सिस्टम को पोंछने / सिंक करने से पहले बॉक्स क्रैश हो सकता हैsrm -R -s /


imho, dd का उपयोग करें (सबसे नीचे)
कुछ लिनक्स नर्ड

जवाबों:


4

मैंने rm -rf --no-preserve-root /सिस्टम को पहले क्रैश किए बिना, और ड्राइव पर कुछ भी छोड़ दिए बिना सफलतापूर्वक सभी तरह से प्राप्त किया है ।


मैं अपने डेटा निर्देशिकाओं पर srm भागा, फिर rm -rf --no-preserve-root /SSH के माध्यम से बाकी को साफ करने के लिए। इसने / देवों में कुछ त्रुटियों को पूरा किया और फिर पूरा किया; मुझे पता नहीं था कि बैश प्रॉम्प्ट पर क्या करना है। बिना / बिन / एलएस या / sbin / शटडाउन के बिना, मैं सफलता की पुष्टि नहीं कर सकता। ट्वस एंटीकायलैक्टिक; मैं मानसिक रूप से इसके लिए दुर्घटनाग्रस्त हो गया था, एक ज़ोंबी कर्नेल और sshd सत्र नहीं।
नोटरी जूल

7
यह सुरक्षित नहीं है। डेटा मिटाया नहीं गया है और एकरूपता अभी भी संभव है। ddइसके बजाय डिस्क पर बेहतर है ।
13

10

सैंकोज़ इंस्टॉलर (एनाकोंडा) जिसमें पीएक्सई छवियों वाले जहाजों में एक वीएनसी सर्वर शामिल होता है, इसलिए आप सेंटोस इंस्टॉलर को बूट करने के लिए अपने ग्रब कॉन्फिगर को बदल सकते हैं, ग्रब लाइन, रिबूट और फिर वीएनसी पर प्री-स्टेज 2 इंस्टॉलर प्रश्नों के उत्तर पारित कर सकते हैं। संस्थापक को।

अब, यदि मेरी मेमोरी मुझे सही ढंग से कार्य करती है, तो उस इंस्टॉलर के भीतर से आप एक शेल को छोड़ सकते हैं, जिसमें से आप डिस्क को एक्सेस और नष्ट कर सकते हैं।

सीबीएसओएस डिस्ट्रो में PXE dir से vmlinuz और initrd फाइल कॉपी करें ( http://mirror.centos.org/centos/5/os/i386/images/pxeboot/ ) / बूट करने के लिए और अपने ग्रब कॉन्फिगर को संशोधित करने के लिए:

डिफ़ॉल्ट 0
टाइमआउट ५
शीर्षक CentOS
रूट (hd0,0)
kernel /boot/vmlinuz.cent.pxe vnc vncpassword = PASSWORD हेडलेस IP = IP netmask = 255.255.255.0 गेटवे = GATEWAYIP dns = 8.8.8.8 ssdevice = eth0 विधि = http: //mirror.centos.org/centos/5/os / i386 / lang = en_US कीमैप = हमें
initrd /boot/initrd.img.cent.pxe

संयोग से, किसी भी सभ्य होस्टिंग कंपनी को आपके लिए आपके डिस्क को नष्ट करने के लिए तैयार रहना चाहिए।


3
वे एक 'सभ्य होस्टिंग कंपनी' नहीं हैं, इसलिए मुझे अपनी डिस्क को छोड़ने और पोंछने की ज़रूरत है।
नोटरी जूल 12'10

मैंने इस पद्धति का उपयोग नहीं किया है, लेकिन vnc (या यहां तक ​​कि सिर्फ SSH) को सक्षम करने के लिए पूर्वनिर्मित की गई एक न्यूनतम बचाव छवि को बूट करने के लिए GRUB का उपयोग करना पूरी तरह से संभव है। यदि आप गड़बड़ करते हैं, तो आप संभावित रूप से एक ऐसी प्रणाली के साथ रह जाते हैं, जिसे फिर से ठीक से बूट करने के लिए मैन्युअल हस्तक्षेप की आवश्यकता होती है, इसलिए संभवतः पहले वीएम में परीक्षण के लायक है।
प्रातः

1
जिस क्रम में चीजें मिटा दी जाती हैं उस पर एक शब्द उपयोगी हो सकता है। पहले विभाजन को छोड़कर, जिसमें कोई भी हो /boot, आप मशीन को इस प्रक्रिया के बीच में रिबूट होने की स्थिति में शुरू कर पाएंगे। यदि विभाजन /bootपर होना होता है /, तो कोई भी बाहर की सभी फ़ाइलों को हटा सकता है /bootऔर पूरे विभाजन को समाप्त करने से पहले मुक्त स्थान को मिटा सकता है। यह डिस्क पर छोड़े गए डेटा की मात्रा को कम कर देगा, क्योंकि इसे एक बार रिबूट होने के बाद आप इतना मिटा देंगे, कि आप इसे बूट नहीं कर पाएंगे।
कैस्परर्ड

7

इससे पहले कि आप ओएस को नष्ट करें आप कुछ भी संवेदनशील और ज़ेरोफिल (डीडी का उपयोग कर सकते हैं अगर = / देव / शून्य = जस्टैबिगॉफ़) का उपयोग कर सकते हैं।

और मेरा मानना ​​है कि अधिकांश प्रणालियाँ पूरी डिस्क को अधिलेखित करने के लिए एक dd को लंबे समय तक चलने वाली प्रणाली से बचेगी। कोई रास्ता नहीं है अगर यह निश्चित रूप से नहीं करता है।


4
यदि आप ऐसा करने से पहले आपके बारे में चिंतित सभी फ़ाइलों को हटाते हैं, तो अपने स्वैप विभाजन को स्वैप करें, स्वैप विभाजन को मिटा दें (पोंछ या dd का उपयोग करके), फिर ऊपर बहुत सुरक्षित होना चाहिए। आपको रूट को 5% पिछले रूट के लिए आरक्षित करने के लिए रूट के रूप में करने की आवश्यकता होगी, और आप सभी फ़ाइलनामों को मिटा नहीं सकते हैं, लेकिन डेटा चला जाना चाहिए।
Slartibartfast

6

मेरे समाधान में उपरोक्त में से कुछ करने के लिए एक बहु कदम दृष्टिकोण शामिल है, लेकिन यह भी शामिल है RAM में RAM कि डिस्क को पूरी तरह से साफ़ करने के लिए dd को समाप्त करने की अनुमति देनी चाहिए।

पहले अपने सभी संवेदनशील डेटा को हटा दें, ऑपरेटिंग सिस्टम को चलाने के लिए आवश्यक फाइलें छोड़ दें। फिर ऐसा करें (स्क्रिप्ट में नहीं, इसे एक बार में एक कमांड करें):

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

उसका ध्यान रखा जाना चाहिए!


1

आप बस ddबिना किसी चिंता के चल रहे सर्वर पर पूरे विभाजन / डिस्क को अधिलेखित करने के लिए उपयोग कर सकते हैं। हम इसका उपयोग बहुत काम करते हैं (जब ग्राहक सुरक्षित भौतिक डिस्क को नष्ट करने के लिए भुगतान नहीं करना चाहता है)।

आप वास्तव में माउंट किए गए फाइल सिस्टम के बिना डेटा को मिटा देते हैं, इसलिए फाइलसिस्टम को मिटाना शुरू हो जाएगा क्योंकि इसके मेटाडेटा को खो दिया जा रहा है, फिर ओएस खुद "पतन" करना शुरू कर देगा। हालाँकि जो पहले से कैश में है वह अभी भी काम करता है। इसलिए आप रिमोट कंसोल या KVM के माध्यम से प्रगति की निगरानी कर सकते हैं (इसे ssh के माध्यम से आज़माएं नहीं)। सिस्टम को ddसमाप्त होने के बाद भी चालू रखा जाता है, हालांकि कोई भी कमांड काम नहीं करेगा और सभी डेमॉन संभवतः पहले ही मर चुके हैं।

मैं इन आदेशों का उपयोग करता हूं: dd if=/dev/zero of=/dev/sda bs=1M & और फिर kill -HUP %1प्रगति की निगरानी करने के लिए (dd वर्तमान गति और लिखित डेटा की मात्रा का प्रिंट आउट लेगा)। bsHDD seq लिखने की गति को प्राप्त करने के लिए ब्लॉक-आकार ( ) सेट करना बहुत महत्वपूर्ण है dd

हर बार ddडिस्क को उसके अंत तक पोंछने में सक्षम था और मैं अंत तक killकमांड (शेल निर्मित) जारी करने में सक्षम था । यदि आपके पास सॉफ़्टवेयर छापे हैं, तो आप या तो mdडिवाइस को स्वयं या प्रत्येक घटक डिवाइस को व्यक्तिगत रूप से मिटा सकते हैं ।


मेरे सहकर्मी ने ऐसा किया और xwindows क्रैश करने में विफल रहा, ठीक वैसा ही होना चाहिए जैसा कि आवश्यक हो।
कुछ लिनक्स नर्ड

1

एटीए प्रोटोकॉल में एक "सुरक्षित मिटा" कमांड है, जो, जैसा कि इसके नाम से संकेत मिलता है, को सुरक्षित रूप से पूरे एचडीडी को मिटा देना चाहिए।

विवरण के लिए कर्नेल विकी लेख देखें, लेकिन शीर्ष पर चेतावनी को ध्यान में रखें:

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


2018 अपडेट: मैंने इसे कई मौकों पर सफलतापूर्वक दूर से सर्वर को पोंछने के लिए इस्तेमाल किया है, यहां तक ​​कि वे फाइल सिस्टम को मिटा दिए जाने के बाद भी चल रहे हैं। चूंकि प्रोग्राम सिर्फ एक एटीए कमांड जारी करता है और प्रतिक्रिया की प्रतीक्षा करता है, इसलिए वाइप प्रक्रिया के दौरान सीपीयू पर किसी कोड को निष्पादित करने की आवश्यकता नहीं है।
व्लादिमीर पेंटेलेव

0

आप इस तरह अपनी डिस्क पर यादृच्छिक डेटा लिखने की कोशिश कर सकते हैं:

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

उपयोग करने से अधिक सुरक्षित है / dev / शून्य क्योंकि यह यादृच्छिक डेटा लिखता है, लेकिन यह भी बहुत धीमा है।


किसी ऐसे व्यक्ति के रूप में जो बेहतर नहीं जानता है, लोग इसे क्यों वोट कर रहे हैं? क्या यह अच्छा अभ्यास नहीं है?
कनाडाई ल्यूक

@CanadianLuke प्रश्न पहले से चल रहे सर्वर को सुरक्षित रूप से मिटाने के बारे में है। आप इस तरह एक मुहिम शुरू करने के लिए नहीं लिख सकते हैं, इसलिए यह काम नहीं करेगा।
लॉन्गनेक

@ लॉन्गनेक धन्यवाद। किसी कारण से, मुझे लगा कि रूट ऐसा कर सकता है ... हालांकि मैंने कभी कोशिश नहीं की है, इसलिए मैं इसके लिए आपका शब्द ले लूंगा। हालांकि समझाने के लिए धन्यवाद
कनाडाई ल्यूक

@longneck फिर आप ऊपर टिप्पणी कर सकते हैं, लेकिन मैं वास्तव में पागल सहकर्मी था। वास्तव में आप अपनी हार्ड ड्राइव को पूरी तरह से अनप्लग कर सकते हैं और लाइनक्स अभी भी मेमोरी में सब कुछ चालू रखेगा बिना एप्लिकेशन एरर मैसेज के एक गुच्छा से अधिक।
कुछ लिनक्स नर्ड

0

आप जो भी करने का विकल्प चुनते हैं, वह किसी अन्य प्रदाता पर मिलता है और उसका परीक्षण करते हैं।

AWS (या gcloud या ...) पर एक समान उदाहरण प्राप्त करें और डिस्क को बनाए रखते हुए और फिर इसे किसी अन्य उदाहरण से अतिरिक्त संग्रहण के रूप में संलग्न करते हुए और इसे स्कैन करते हुए, वहां इसे आज़माएं। dd if = sdb | hd

बस आपके सभी संवेदनशील सामग्री में होना चाहिए

/home
/opt
/var
/etc
/usr

यह एम्बेडेड पासवर्ड वाली कॉन्फिग फाइल है जो ज्यादातर लोगों को परेशान करती है। यदि आप जानते हैं कि वे क्या हैं, तो उन्हें रूट करने के लिए पूरे फाइलसिस्टम को खोजें।

rm फ़ाइलों को हटा देगा, लेकिन एक हेक्स संपादक अभी भी डिस्क को पढ़ेगा। इतना शून्य बाद में। एक नज़र श्रेय पर। आपके पास अपनी कॉन्फिग फाइलों का एक लॉग होना चाहिए और वे डीआर प्रयोजनों के लिए कहां सही हैं? अगर आपके पास पासवर्ड हैं, तो कॉन्टैब फ़ाइलों को न भूलें।

CentOS स्थापित है, या किसी भी रैमडिस्क समाधान ध्वनि है। कर्नेल स्मृति में होगा, आपको dd और कुछ बिन सामग्री चाहिए। लेकिन अगर आप रिकवरी मोड में रिबूट करते हैं, तो आपके पास नेटवर्किंग या एसएसएच नहीं हो सकता है और अपने आप को काट सकता है।

NB Kedare का एक अच्छा विचार है, और यदि आप अपने अगले रिबूट (ramdisk) पर ram से भाग रहे हैं, तो यह संभव है, इससे पुनर्प्राप्त करना बहुत कठिन है / dev / zero से शुरू करने के लिए लिखते हैं, इसलिए यह वास्तव में तब तक मूल्य नहीं जोड़ता है जब तक आपका जीवन नहीं इस पर निर्भर करता है?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.