Mam serwer kopii zapasowych, który tworzy xz
skompresowane tar
archiwa drzew katalogów, których kopie zapasowe należy wykonać. Te archiwa tar mogą stać się ogromne (wiele TB), są split
podzielone na kawałki (2,5 TB), a każdy kawałek jest zapisywany na taśmie LTO-6, a taśmy odchodzą poza miejsce.
Teraz chcę dodać szyfrowanie. Mogę zaszyfrować archiwum tar przed podziałem, używając szyfrowania klucza publiczno-prywatnego i jednego lub większej liczby odbiorców (klucze publiczne administratora).
Jednak w przypadku odzyskiwania przynajmniej jeden administrator musi umieścić swój klucz prywatny na serwerze kopii zapasowej, ponieważ pliki są zbyt duże, aby można je było rozpakować w dowolnym innym miejscu.
GPG stosuje hybrydowy schemat szyfrowania pod maską, z symetrycznym szyfrem, takim jak AES z kluczem sesji, i tylko ten klucz sesji jest szyfrowany publiczno-prywatny klucz dla odbiorców.
Czy istnieje sposób, aby administrator udostępnił klucz sesji do odszyfrowania pliku do odzyskania bez umieszczania klucza prywatnego na serwerze kopii zapasowej ?
Mógłbym oczywiście wynaleźć koło:
- utwórz losowy klucz sesji na serwerze kopii zapasowej dla każdego pliku, którego kopię zapasową chcesz utworzyć
- do szyfrowania pliku użyj symetrycznego szyfrowania GPG
- użyj szyfrowania asymetrycznego GPG, aby zaszyfrować klucz sesji dla każdego odbiorcy
Ale czy istnieje „standardowy”, wbudowany lub najlepszy sposób osiągnięcia powyższego?
head
i tak dalej. To podejście rozwiązuje mój pierwotny świąd.Wygląda na to, że odpowiedź na większość pytań została jednak udzielona, ale jeśli Twój zespół administratora obawia się, że klucze prywatne nie znajdą się pod ich kontrolą lokalną, możesz rozważyć
sshfs
zamontowanie zdalnych kopii zapasowych podczas sesji ssh.Zainstaluj za pośrednictwem apt w systemie każdego zdalnego administratora
Zakładając, że konfiguracja ssh administratora wygląda jak poniżej
Wtedy twoi administratorzy mogą użyć czegoś takiego jak poniżej do montażu
Aby odmontować po inspekcji, zdalny administrator może użyć następujących elementów
Słodką rzeczą w korzystaniu z sshfs jest to, że tylko klucze publiczne dla GnuPG i ssh są potrzebne na zdalnym serwerze, powiązane klucze prywatne pozostają w systemach, które są ich właścicielami. Drugą zaletą jest to, że do momentu odczytu lub uzyskania dostępu większość informacji o pliku pozostaje w powiązanym systemie plików.
Jeśli nadal szukasz narzędzi ułatwiających automatyczne szyfrowanie dzienników lub katalogów, możesz sprawdzić narzędzie prof concept, które przerzuciłem na GitHub (konkretnie scenariusz czwarty napisany do
sshsf
użytku), który przy niewielkim dostosowaniu z radością zaszyfruje prawie wszystkie dane za pośrednictwem GnuPG. Ale ostrzegam, że jest eksperymentalny, a niektóre jego funkcje mogą spowodować uszkodzenie danych, jeśli zostaną niewłaściwie wykorzystane. Kod źródłowy ma mniej niż ~ 1600 ~ linii, więc bardzo możliwe jest przeprowadzenie audytu w mniej niż weekend.Dodatkowe bezpieczeństwo można uzyskać, konfigurując konfigurację ssh zdalnego serwera dla użytkowników chroot, aby umożliwić dostęp tylko do zaszyfrowanego katalogu i wyłączyć interaktywną powłokę dla kluczy administratora używanych w ten sposób.
źródło
Jeśli chcesz, aby tajny klucz był przechowywany poza dyskami twardymi, możesz utworzyć ramdysk (pamiętasz te?) I załadować tam tajne klucze z bezpiecznej lokalizacji poza serwerem w razie potrzeby. Użyj go do odszyfrowania, a po zakończeniu zastąp go / dev / random. Sekret musi przejść do pamięci RAM, aby GPG mogła z niego skorzystać, więc dlaczego nie dwa razy?
Jeśli nie możesz pozwolić, aby tajny klucz kiedykolwiek był na serwerze, nawet w pamięci RAM, oznacza to techniczną niemożliwość. GPG musi mieć gdzieś tajny klucz, aby coś odszyfrować.
Informacje o ramdysku: /unix/66329/creating-a-ram-disk-on-linux
źródło