Konfiguruję nowe serwery Ubuntu i chciałbym zabezpieczyć dane na nich przed kradzieżą. Modelem zagrożenia są atakujący żądający sprzętu lub raczej naiwni napastnicy żądający danych.
Proszę zwrócić uwagę na tę sekcję.
Model zagrożenia nie obejmuje inteligentnych atakujących pragnących danych; Zakładam, że wykonają jedną lub więcej z następujących czynności:
Połącz zasilacz UPS z kablem zasilającym, aby utrzymać ciągłą pracę urządzenia.
Włóż parę mostków Ethernet między komputerem a punktem końcowym sieci, który będzie mostkować ruch w sieci bezprzewodowej o wystarczającym zasięgu, aby host utrzymał łączność sieciową.
Otwórz pudełko i użyj sondy na szynie pamięci, aby złapać ciekawe rzeczy.
Użyj urządzeń TEMPEST, aby sprawdzić, co robi host.
Użyj środków prawnych (takich jak nakaz sądowy), aby zmusić mnie do ujawnienia danych
Itd itd.
Chcę więc mieć niektóre, a najlepiej wszystkie dane na dysku na zaszyfrowanej partycji, z kluczowym materiałem niezbędnym do uzyskania dostępu na jakimś nośniku zewnętrznym. Dwie metody przechowywania kluczowych materiałów, które mogę wymyślić:
Przechowuj go na zdalnym hoście dostępnym przez sieć i skonfiguruj wystarczającą ilość sieci, aby odzyskać go podczas procesu rozruchu. Pobieranie byłoby dozwolone tylko dla adresu IP przypisanego do bezpiecznego hosta (nie pozwalając w ten sposób na dostęp do zaszyfrowanych danych, gdyby zostały uruchomione przy innym połączeniu sieciowym) i mogłyby zostać wyłączone przez administratorów, gdyby komputer został skradziony.
Przechowuj go na urządzeniu pamięci USB, które jest w jakiś sposób znacznie trudniejsze do kradzieży niż sam host. Lokalizowanie go z dala od hosta, na przykład na końcu pięciometrowego kabla USB prowadzącego do innego rogu pokoju lub nawet innego pokoju, prawdopodobnie znacznie zmniejszy szanse na przejęcie go przez atakujących. Zabezpieczenie go w jakiś sposób, na przykład przez przyklejenie go do czegoś nieruchomego lub nawet umieszczenie w sejfie, działałoby jeszcze lepiej.
Jakie są więc moje opcje konfiguracji? Jak powiedziałem wcześniej, wolałbym mieć wszystko (poza być może małą partycją rozruchową, która nie zawiera / etc) zaszyfrowaną, aby nie musiałem się martwić o to, gdzie umieszczam pliki lub gdzie one „ przypadkowo ląduje.
Używamy Ubuntu 9.04, jeśli to robi jakąkolwiek różnicę.
źródło
Odpowiedzi:
Znam sprytny wariant Opcji 1 o nazwie Mandos.
Wykorzystuje kombinację pary kluczy GPG, Avahi, SSL i IPv6, wszystkie dodane do początkowego dysku RAM, aby bezpiecznie odzyskać hasło klucza partycji głównej. Jeśli serwer Mandos nie jest obecny w sieci LAN, oznacza to, że jest to zaszyfrowana cegła lub serwer Mandos nie widział uderzenia serca z oprogramowania klienckiego Mandos przez określony czas, zignoruje przyszłe żądania tej pary kluczy i serwera to zaszyfrowana cegła przy następnym uruchomieniu.
Strona Mandos
CZYTAJ Mandos
źródło
ip=
imandos=connect
parametrów, zobacz ten mail: mail.fukt.bsnet.se/pipermail/mandos-dev/2009- lutego 2009, ale zauważ, że jest to nieco kruche, ponieważ klienci będą próbowali połączyć się z określonym serwerem tylko raz, w przeciwnym razie nieodwołalnie się nie uda. Zalecana konfiguracja odbywa się za pośrednictwem sieci LAN. Mogę również wspomnieć, że Mandos jest dostępny w Ubuntu od 9.04 (a także w testach Debiana)Jeśli chcesz po prostu chronić się przed nietechnicznymi atakującymi, myślę, że najlepszym rozwiązaniem jest lepsze bezpieczeństwo fizyczne.
Moje myślenie jest zatem następujące:
Jeśli szukasz buta, który nie wymaga interakcji człowieka, aby wprowadzić kluczowy materiał, nie znajdziesz żadnego rozwiązania, które byłoby bezpieczne nawet przed przypadkową kradzieżą przez osobę posiadającą jakiekolwiek umiejętności techniczne (lub, bardziej odpowiednio, zdolność do zapłaty osobie posiadającej umiejętności techniczne).
Umieszczenie klucza w czymś takim jak pamięć USB nie zapewniłoby żadnego prawdziwego bezpieczeństwa. Atakujący może po prostu odczytać klucz z pendrive'a. Pendrive nie może wiedzieć, czy komputer, do którego został podłączony, jest serwerem czy laptopem atakującego. Wszystko, co musi zrobić atakujący, to upewnić się, że albo zabierze wszystko, albo w przypadku klucza USB na końcu 15-metrowego kabla USB extendo utkniętego w sejfie, wystarczy podłączyć kabel Extendo do komputera i przeczytać klucz.
Jeśli zamierzasz przenieść klucz przez sieć, prawdopodobnie „zaszyfrujesz” go. Atakujący musi jedynie podsłuchać proces kluczowania, ukraść serwer, a następnie poddać inżynierii wstecznej wszelkie „szyfrowanie”, które wykonałeś podczas wysyłania klucza przez sieć. Z definicji komputer serwera otrzymujący „zaszyfrowany” klucz z całej sieci musi być w stanie „odszyfrować” ten klucz, aby go użyć. Tak naprawdę nie szyfrujesz klucza - po prostu go kodujesz.
Ostatecznie potrzebujesz (sztucznej?) Inteligencji, aby wprowadzić klucz do serwera. Można powiedzieć: „Wiem, że nie ujawniam klucza nikomu poza komputerem serwera i wiem, że nie został skradziony”. Człowiek może to zrobić. Pamięć USB nie może. Jeśli znajdziesz inną inteligencję, która może to zrobić, to myślę, że będziesz mieć coś zbywalnego. > uśmiech <
Myślę, że najprawdopodobniej zgubisz klucz i zniszczysz swoje dane, nie zyskując żadnego bezpieczeństwa. Zamiast strategii gry szyfrującej uważam, że lepiej jest mieć większe bezpieczeństwo fizyczne.
Edytować:
Myślę, że pracujemy na podstawie różnych definicji terminu „model zagrożenia”.
Jeśli twoim modelem zagrożenia jest kradzież sprzętowa, to proponowane przez ciebie rozwiązanie: szyfrowanie dysku, jak widzę, nie robi nic z przeciwdziałaniem zagrożeniu. Proponowane rozwiązanie wygląda jak środek zaradczy przeciwko kradzieży danych, a nie kradzieży sprzętu.
Jeśli chcesz zapobiec kradzieży sprzętu, musisz go przykręcić, zamknąć, zamknąć w betonie itp.
Powiedziałem już to, co chciałem powiedzieć re: kradzież danych, więc nie będę tego więcej harował, z wyjątkiem powiedzenia: jeśli zamierzasz włożyć klucz do urządzenia fizycznego i nie możesz go chronić komputer serwera przed kradzieżą, nie można również chronić kluczowego urządzenia przed kradzieżą.
Wydaje mi się, że najlepszym „tanim” rozwiązaniem jest wprowadzenie jakiejś sieciowej wymiany kluczy. Umieściłbym w pętli jednego lub więcej ludzi, aby uwierzytelnić „zwolnienie” klucza w przypadku ponownego uruchomienia. Spowodowałoby to przestoje, dopóki człowiek nie „wypuściłby” klucza, ale przynajmniej dałoby ci szansę dowiedzenia się, dlaczego żądano „wydania” klucza i zadecydowania, czy to zrobić.
źródło