Mam system Debian Linux (amd64) zainstalowany na zaszyfrowanym urządzeniu RAID-1 (LVM na LUKS) i będę miał RAID-6 o> = 4 dyskach, na których umieszczę moje dane (LUKS i być może LVM).
Myślę, że podstawową ideą jest odblokowanie zaszyfrowanej partycji systemowej (podczas rozruchu lokalnego lub przez ssh) i przechowywanie pliku klucza w / etc / crypttab dla zaszyfrowanej partycji RAID-6. Czy to stanowi zagrożenie dla bezpieczeństwa? To znaczy ... jest całkiem bezużyteczne, jeśli ktoś może po prostu wejść do mojego systemu lokalnie / zdalnie i myślę, że na serwerach podatnych na „rootowanie” (np. SSH) działa wiele usług. Czy istnieje alternatywa (oprócz odblokowania partycji przez SSH, co może być problemem, ponieważ np. Operacje tworzenia kopii zapasowej rozpoczynają się jeszcze przed zamontowaniem partycji danych).
Na innej maszynie użyję wielu dysków z LUKS + greyhole (bez RAID-6) do tworzenia kopii zapasowych i będzie to prawdziwy problem z odblokowaniem 10 dysków przez wprowadzenie 10 razy tego samego hasła ...
Odpowiedzi:
Możesz użyć
/lib/cryptsetup/scripts/decrypt_derived
w swoim,crypttab
aby automatycznie użyć klucza z jednego dysku na inny.decrypt_derived
Skrypt jest częścią pakietu cryptsetup Debiana.Mały przykład dodania klucza z sda6crypt do sda5:
Ponieważ obecnie bardzo trudno jest naprawdę usunąć plik, upewnij się, że / path / to / mykeyfile znajduje się na zaszyfrowanym dysku (
sda6crypt
byłoby to w moim przykładzie dobrym rozwiązaniem).Zasadniczo można dodać dodatkową warstwę bezpieczeństwa, używając szyfrowania systemu plików w przestrzeni użytkownika, np
encfs
. Przez .źródło
decrypt_derived
ma tę jedyną zaletę, że nie ma pliku klucza. Jeśli ktoś może uzyskać dostęp do konta root, zazwyczaj i tak się gubi. Czytanie kluczy może być nieco łatwiejsze dla intruza niż uruchamianie skryptu. Aby uzyskać większe bezpieczeństwo, możesz wzmocnić swój system, używając np. TOMOYO Linux, AppAmor, SMACK, SELinux, grsecurity, ... ale to wymaga dodatkowych wysiłków. Ważniejsze jest zatem pytanie, czy warto. Nie zapomnij mieć kopii zapasowej klucza lub oddzielnego klucza na wypadek awarii dysku w miejscu, w którym klucz pochodzi / jest przechowywany.Na podstawie odpowiedzi Jofels, oto ten sam przykład, ale bez konieczności przechowywania klucza w pliku. Klucz jest przekazywany w nazwanym potoku, który nie przechowuje niczego na dysku.
Możesz użyć
/lib/cryptsetup/scripts/decrypt_derived
na swojej crypttab do automatycznego użycia klucza z jednego dysku na inny.decrypt_derived
Skrypt jest częścią pakietu cryptsetup Debiana.Zmodyfikowany przykład dodawania klucza z sda6crypt do sda5:
keyscript
Opcja działa tylko wtedy, gdycrypttab
są przetwarzane przez oryginalnych narzędzi cryptsetup Debiana, tym Systemd reimplementacja obecnie nie obsługuje go. Jeśli twój system używa systemd (czyli większości systemów), potrzebujeszinitramfs
opcji wymuszenia przetwarzania w initrd przez narzędzia cryptsetup, zanim systemd się uruchomi.źródło