Próbuję wymyślić sposób zabezpieczenia serwerów Linux, które są narażone na fizyczny dostęp. Moją specyficzną platformą są małe serwery Linux na płycie głównej alix2d13 marki PC Engines . Mały rozmiar stanowi dodatkowe ryzyko usunięcia z lokalu przez atakującego.
Zakładając, że istnieje fizyczny dostęp do serwera:
1) HASŁO ROOT: Podłączysz kabel konsoli do serwera i pojawi się monit o hasło. Jeśli nie znasz hasła, możesz ponownie uruchomić urządzenie w trybie pojedynczego użytkownika i zresetować hasło. Voilà, masz dostęp do roota.
Aby zabezpieczyć powyższe, wstawisz hasło do menu GRUB, więc kiedy serwer zostanie zrestartowany w celu przejścia do trybu pojedynczego użytkownika, musisz podać hasło GRUB.
2) GRUB_PASSWORD. Jeśli zamkniesz maszynę, wyjmij dysk twardy i zamontuj go na innej stacji roboczej, będziesz mógł przeglądać /boot
katalog zawierający plik grub.cfg, w którym możesz znaleźć hasło GRUB. Możesz zmienić hasło GRUBA lub je usunąć.
Oczywiście, gdy mówimy o dużych maszynach produkcyjnych, najprawdopodobniej nie będzie żadnego fizycznego dostępu, a poza tym, nawet jeśli ktoś uzyska fizyczny dostęp do serwera, nie zamknie go.
Jakie są możliwe rozwiązania, aby zapobiec kradzieży danych na serwerach, które fizycznie łatwo ukraść?
Tak, jak to widzę, można uzyskać taki lub inny sposób dostępu do zawartych danych.
Odpowiedzi:
Zasada, z której zawsze pracowałem, jest taka, że gdy atakujący ma fizyczny dostęp do twojego hosta, może w końcu się włamać - chyba że, jak mówi kasperd, używasz silnego szyfrowania całego dysku z hasłem rozruchowym i jesteś skłonny być tam, aby wprowadzić go za każdym razem, gdy host się uruchamia.
źródło
Znane mi rozwiązanie to szyfrowanie dysku i użycie modułu TPM: Trusted Platform Module
W ten sposób można teraz odszyfrować dysk twardy, ponieważ:
Oczywiście mogę się mylić i moduł TPM można łatwo złamać lub nie znam innych rozwiązań.
źródło
Pełne szyfrowanie dysku to dobry pomysł na laptopy i małe domowe serwery.
Pełne szyfrowanie dysku nie wymaga modułu TPM. I nawet TPM nie jest w stanie ochronić cię przed wyrafinowanym atakiem złej pokojówki . Aby więc naprawdę chronić swój mały domowy serwer Linux (lub centrum danych), potrzebujesz odpowiednich innych fizycznych środków zaradczych.
W przypadku domowego zastosowania może wystarczyć instalacja kreatywnego sprzętu do majsterkowania, który:
Dla dziennikarzy i demaskatorów, którzy stawiają czoła niektórym wielkim firmom lub potężnym agencjom rządowym jako ich wrogom, prawdopodobnie nie jest to wystarczająco bezpieczne. Te trzyliterowe agencje mogą mieć sprzęt kryminalistyczny potrzebny do odzyskania czystego tekstu z pamięci RAM nawet kilka minut po wyłączeniu zasilania .
źródło
Oto proste rozwiązanie: odbuduj jądro bez trybu pojedynczego użytkownika!
Bardziej trafnie, edytuj jądro Linuksa, którego używasz, aby tryb S został odwzorowany na dowolny domyślny tryb (3,4,5). W ten sposób każda próba uruchomienia w trybie pojedynczego użytkownika uruchamia system normalnie. Prawdopodobnie możesz zrobić to samo w skryptach inicjujących. W ten sposób nie byłoby specjalnych sposobów na wejście do systemu bez znajomości hasła.
źródło
init=/bin/bash
. Spowoduje to uruchomienie komputera do powłoki root bash, gdzie można następnie zamontować/
.Przejdź i zapytaj na stronie elektroniki. Jestem prawie pewien, że istnieją wbudowane projekty SOC, które szyfrują wszystko, a kiedy je połączysz, niemożliwe jest odtworzenie kodu źródłowego.
To powiedziawszy, byłem na prezentacji DefCon, gdzie zespół pokazał dokładnie, jak to rozebrali. W wielu przypadkach układy scalone nie zostały połączone lub konstrukcja głupka zawierała niepołączony port debugowania. Na innych chemicznie usunęli warstwy chipów i odczytali chip skanem mikroskopu elektronowego. Nigdy nie będziesz bezpieczny od naprawdę oddanych hakerów.
źródło
Chciałbym zaproponować inne podejście, jeśli chcesz rozważyć destrukcyjne środki zapobiegawcze. Rozważ przylutowanie kondensatora o dużej pojemności do dysku twardego i pamięci RAM, który po wykryciu sabotażu (decydujesz metodę / czujniki) rozładowuje niszczące dane.
To „uniemożliwia” dostęp w takim sensie, że nikt nie może później uzyskać dostępu do systemu. Odpowiada więc na pytanie dosłownie, a być może całkowicie nie spełnia twoich intencji.
Kondensator to tylko przykład. Istnieją inne możliwości. Problem polega na tym, że niszczenie urządzenia przez pogodę (lub przynajmniej dane w nim zawarte) jest dopuszczalne.
Możliwe są również rozwiązania oparte na zegarze - chyba że urządzenie może pingować do domu co kilka minut / godzin / ... samozniszczenie. Wiele różnych możliwości w tym temacie.
źródło
Potencjalnym rozwiązaniem byłoby zastosowanie pełnego szyfrowania dysku, włożenie klucza na pamięć USB / kartę pamięci i włożenie komputera do metalowej skrzynki z jednymi drzwiami, która ma przełącznik otwierania, wraz z niektórymi czujnikami otoczenia.
Aby uruchomić urządzenie po włożeniu dysku USB do portu (na zewnątrz „przechowalni”) i odczytaniu stamtąd klucza FDE i uruchomieniu systemu. Jeśli „skarbiec” zostanie kiedykolwiek otwarty, przełącznik otwierania zresetuje system, usuwając klucz z pamięci.
Jeśli pozwala na to środowisko, możesz dodać więcej czujników, takich jak temperatura, przyspieszenie, wilgotność itp. Jeśli w zgłoszonych wartościach zostanie wykryta nagła zmiana, system resetuje się, więc jeśli złodziej próbuje po prostu wziąć system i go umieścić w kieszeni zostanie zresetowany, zanim jeszcze odłączy go od wszystkich kabli.
źródło