Bezpiecznie wyczyść cały serwer Linux

22

Mam zdalny dostęp do ssh i root. Nie mam fizycznego dostępu. Nie szukam rozwiązań obejmujących rozruch z niczego, chcę to zrobić na podstawie tego, co jest obecnie uruchomione.

System operacyjny to SL6. Czy istnieje sposób, aby załadować wszystko, co potrzebne, do pamięci RAM i użyć dd lub podobnego, aby bezpiecznie wyczyścić cały dysk? Oczywiście spowoduje to, że na końcu nie będzie funkcjonować, mój zamierzony wynik.

Wydaje się, że to powinno być możliwe.

Dwa kolejne ciekawe dodatki:

  1. Być w stanie ssh in, uruchomić ekran, uruchomić polecenie dd i odłączyć. Zaloguj się tydzień później po zakończeniu. :)

  2. W jakiś sposób masz pasek postępu?

Aktualizacja : Teraz idę z opcją chroot. Obecnie robię:

mkdir /dev/shm/ramdisk/ && cd ramdisk && mkdir bin lib64 && cd /lib64 && cp ld-linux-x86-64.so.2 libc.so.6 libdl.so.2 libpthread.so.0 librt.so.1 libtinfo.so.5 /dev/shm/ramdisk/lib64 && cd /bin && cp bash dd /dev/shm/ramdisk/bin && cd /dev/shm/ramdisk && chroot .

Które działa (!), Ale nadal potrzebuję / dev / zero i / dev / sda. Jakieś pomysły?

Aktualizacja 2012-07-20:

mkdir /dev/shm/ramdisk/ && cd /dev/shm/ramdisk && mkdir bin lib64 && cd /lib64 && cp ld-linux-x86-64.so.2 libc.so.6 libdl.so.2 libpthread.so.0 librt.so.1 libtinfo.so.5 /dev/shm/ramdisk/lib64 && cd /bin && cp bash dd /dev/shm/ramdisk/bin && mkdir /dev/shm/ramdisk/dev && cd /dev/shm/ramdisk/dev && cp -a /dev/zero . && cp -a /dev/sda . && cd .. && chroot . dd if=/dev/zero of=/dev/sda bs=1M

Co wydaje się coś robić, ale chciałbym mieć jakiś wskaźnik postępu, jeśli to możliwe, a także sposób na odłączenie, a następnie nawiązanie nowego połączenia ssh później.

spodnie kota
źródło
3
Spróbuj;) Najpierw najpierw na maszynie wirtualnej.
Frederik Nielsen
2
Kiedy mówisz, że bootowanie nie jest opcją, czy mówisz, że dotykanie konsoli / wkładanie multimediów nie jest opcją lub że w ogóle nie można zrestartować komputera? Ponieważ potencjalnie możesz dodać obraz LiveCd na dysk. Po ponownym uruchomieniu system uruchamia obraz obrazu na żywo, ładuje się do pamięci i uruchamia serwer SSH.
Zoredache,
Rzeczywiście nie mam fizycznego dostępu. W każdym razie jestem świadomy rozwiązania CD na żywo, więc jestem zainteresowany poznaniem innego rozwiązania, w szczególności z warunkami związanymi z tym problemem. Dzięki!!
spodnie kota
Czysta spekulacja: Zastanawiam się, czy chrootwejście w pamięć RAM może w tym pomóc. Druga spekulacja: podziel partycję na część dysku, przepisz grub i zrestartuj.
Hyppy,
Jest tylko jedna bezpieczna opcja, jeśli poufność danych naprawdę stanowi problem: musisz zniszczyć dysk. Normalne opcje to: 1) odgazowywacz, 2) szlifierka tarczowa, 3) młot kulowy. Jeśli możesz zrestartować komputer, istnieje możliwość uruchomienia niektórych narzędzi do czyszczenia dysku na poziomie DoD, ale jako opcję wyeliminowałeś ponowne uruchomienie komputera.
Mike Pennington

Odpowiedzi:

12

Utwórz ramdysk na obrazie zawierającym narzędzia potrzebne do uruchomienia systemu, a następnie pivot_rooturuchom w nim narzędzie i gotowe. Odchylając się od pełnego systemu nie jest trywialne, ale można to zrobić, jeśli wiesz co robisz.

womble
źródło
1
To fajny pomysł. Pojawia się zatem pytanie: jakie jest absolutne minimum, które mogę wrzucić na dysk RAM, aby móc to osiągnąć? Pozwól, że spróbuję to rozgryźć na własną rękę, albo skomentuję tutaj, albo opublikuję nowy wątek, jeśli nie będę w stanie tego zrozumieć. Dzięki!
spodnie kota
9

Zrobiłem to kilka razy wykonując

dd if=/dev/zero of=/dev/sda

bez dodatkowych przygotowań. zadziałało. system działał dobrze przez kilka dni po zakończeniu dd [odpowiadanie na pingi, przekazywanie pakietów].

pQd
źródło
1
Pojedynczy przebieg z / dev / zero nie byłby bardzo bezpieczny, w zależności od tego, jak bezpieczny potrzebuje go OP.
Aaron Copley,
1
Właśnie tego spróbowałem, a rezultatem była panika jądra. Mam jeszcze około dziesięciu maszyn, na których mogę wypróbować tę funkcję. Co mam teraz spróbować?
kocie spodnie
2
Czy masz określone partycje z poufnymi danymi? Możesz najpierw wypiaskować je, zanim zrobisz coś, co może zdjąć pudełko.
cjc
2
Miałem wrażenie, że potrzeba więcej niż jednego przejścia jest powszechnym nieporozumieniem. anti-forensics.com/disk-wiping-one-pass-is-enough Uważam, że istnieje problem z odzyskaniem danych po jednym przejściu za pomocą / dev / zero i jak dotąd nikt nie był w stanie tego zrobić.
spodnie kota
4
@catpants: Zablokuj niezbędne pliki w pamięci za pomocą vmtouch, a następnie uruchom wszystko, czego potrzebujesz.
womble
0

Sugestia: użyj czyszczenia zamiast dd - obsługuje bezpieczne czyszczenie wielu przebiegów.

Kolejna sugestia: zatrzymaj jak najwięcej usług i usuń jak najwięcej pakietów. Usuń wszystkie niepotrzebne dane oraz wszystkie stare pliki dziennika i dane. Wypełnij jak najwięcej wynikowego wolnego miejsca jednym plikiem, a następnie uruchom czyszczenie tego pliku. Nie usuwaj tego pliku. To sprawi, że wyczyścisz większość dysku, zanim system stanie się bezużyteczny.

Pomysł ramdysku chroot byłby wtedy konieczny, aby przejść przez wszystkie dramaty z powrotem do pudełka, ale prawdopodobnie będziesz chciał wyciszyć system tak długo, jak to możliwe, zanim wykonasz końcowe czyszczenie, ponieważ logowanie i inne demony zapisujące się na dysku może oznaczać, że rzeczywiste dane są zapisywane w wolnych blokach danych podczas czyszczenia, zanim struktura systemu plików zostanie całkowicie uszkodzona.

Paul Gear
źródło