Jak korzystać z ecryptfs z katalogiem innym niż domowy

14

Chciałbym użyć ecryptfs do zaszyfrowania losowego katalogu (tj. Nie mojego katalogu domowego lub jego podkatalogu, głównie z powodu ograniczeń miejsca na dysku na mojej partycji domowej) i zamontowania tego katalogu po zalogowaniu się na swoje konto. Nie widzę, jak to zrobić, ani nawet jeśli jest to naprawdę możliwe w przypadku istniejącego oprogramowania. Widziałem posty, które zawierają niejasne sugestie (np. Do użycia mount.ecryptfs_privatez opcją ALIAS), ale wciąż muszę znaleźć proste instrukcje krok po kroku, jak to zrobić. Czy ktoś byłby w stanie przekazać te instrukcje lub skierować mnie do miejsca, w którym je znajdę?

użytkownik3004015
źródło
2
Jest to najprostsza metoda, którą znajdziesz: wiki.archlinux.org/index.php/…
Rinzwind
1
Mój problem z tym rozwiązaniem polega na tym, że mam już zaszyfrowany katalog domowy. Patrząc na kod ecryptsfs-setup-private, nie jestem pewien, co się stanie, jeśli masz już zaszyfrowany dom i naprawdę nie chcesz się obawiać, że zrobi to źle.
user3004015 15.01.2015
1
Czy rozumiesz, dlaczego podwójne wydaje się tak trudne? Wydaje mi się, że logiczną rzeczą byłoby zbudowanie ogólnego systemu do tworzenia zaszyfrowanej pamięci i folderów oraz automatycznego ich montowania, a następnie zbudowanie na nim systemu do wykonania katalogu domowego, ale wydaje się, że to oprogramowanie zostało napisane z dużą ilością rzeczy przewodowych. Pamięć musi być .Prywatna, katalog musi być prywatny itp.
15.01.2015
2
Używanie pliku zip chronionego hasłem nie jest bezpieczne kryptograficznie. Podobne podejście należy zastosować gpg. Powiedz, że chcesz bezpiecznie przechowywać folder, mydataa następnie możesz użyć go tar -c mydata | gpg --symmetric > mydata.tar.gpg && rm -rf mydatado przechowywania danych i gpg --decrypt mydata.tar.gpg | tar -xprzywracania danych. Możesz łatwo użyć klucza prywatnego / publicznego do ochrony swoich danych, co wydaje się wskazane. Metodą tą należy przechowywać tylko niewielkie ilości danych. @Rinzwind
Arne L.
1
Rodzaj pokonuje cel szyfrowania danych, jeśli Ty rm -fR mydata. Dane te można odzyskać z dysku długo po jego „usunięciu”. Nie jestem pewien, jak bezpieczne to jest, ale ja skłaniają się ku A „rekurencyjny” shred zamiast: find mydata -type f -exec shred -uz -- {} \;. Uwaga: niszczenie jest skuteczne tylko w nieskatalogowanych systemach plików i niektórych typach urządzeń. Tam, gdzie ma to znaczenie, należy zbadać najlepszy sposób. Nie sądzę, że jest to bezpieczna praktyka: szyfrowanie i deszyfrowanie takiego archiwum. Szanse są nieskuteczne.
bambams

Odpowiedzi:

8

Patrzysz tylko na super łatwe skrypty, takie jak ecryptsfs-setup-privatei ecryptsfs-mount-private, używają one bardziej „ogólnych” narzędzi, których wydajesz się szukać: mount.ecryptfsi ecryptfs-add-passphrase. Zobacz ich manstrony, aby uzyskać więcej informacji.

Link opublikowany przez Rinzwind zawiera wszystkie potrzebne informacje, w dalszej części strony w obszarze Konfiguracja ręczna . Są dość długie, ale bardzo krótka wersja to:


Sposób „konfiguracji ręcznej” (archlinux wiki)

Najpierw wybierz ALIAS, jak chcesz. W tej sekcji ALIAS będzie tajny. Utwórz wymagane katalogi / pliki:

$ mkdir ~/.secret ~/secret ~/.ecryptfs
$ touch ~/.ecryptfs/secret.conf ~/.ecryptfs/secret.sig

~/.secretKatalogu odbędzie zaszyfrowanych danych. ~/secretKatalog jest punktem montowania gdzie ~/.secretzostanie zamontowany jako ecryptfs plików.

[Teraz utwórz rzeczywiste hasło montowania (łatwe skrypty wybiorą pseudolosowe 32 znaki /dev/urandom), uczyń je dobrym]

$ echo "$HOME/.secret $HOME/secret ecryptfs" > ~/.ecryptfs/secret.conf
$ ecryptfs-add-passphrase
Passphrase: 
Inserted auth tok with sig [78c6f0645fe62da0] into the user session keyring

Zapisz sygnaturę wyjściową (ecryptfs_sig) z poprzedniego polecenia do ~ / .ecryptfs / secret.sig:

$ echo 78c6f0645fe62da0 > ~/.ecryptfs/secret.sig
  • Można użyć drugiego hasła do szyfrowania plików. Jeśli tak, dodaj go do breloka:

    $ ecryptfs-add-passphrase
    Passphrase: 
    Inserted auth tok with sig [326a6d3e2a5d444a] into the user session keyring
    

    Jeśli uruchomisz powyższe polecenie, dołącz jego sygnaturę wyjściową (ecryptfs_fnek_sig) do ~ / .ecryptfs / secret.sig:

    $ echo 326a6d3e2a5d444a >> ~/.ecryptfs/secret.sig
    

Na koniec, aby zamontować ~ / .secret na ~ / secret:

$ mount.ecryptfs_private secret

Aby odmontować ~ / .secret:

$ umount.ecryptfs_private secret

  • Albo możesz naprawdę ubrudzić sobie ręce i postępować zgodnie ze wskazówkami Bez ecryptfs-utils .

  • Lub jeśli już spojrzałeś na proste skrypty ecryptsfs-setup-privatei ecryptsfs-mount-privatemożesz je skopiować i edytować, aby wskazać preferowane katalogi, z odrobiną umiejętności i cierpliwości.

  • Lub po prostu zapisz hasło (a) w jakikolwiek sposób (najlepiej bezpiecznie) i postępuj jak man ecryptfsw przypadku przykładu strony (musisz przeczytać strony podręcznika):

    The following command will layover mount eCryptfs on /secret with a passphrase
    contained in a file stored on secure media mounted at /mnt/usb/.
    
    mount  -t  ecryptfs -o key=passphrase:passphrase_passwd_file=/mnt/usb/file.txt /secret /secret
    
    Where file.txt contains the contents "passphrase_passwd=[passphrase]".
    

Poza zaszyfrowanymi folderami domowymi i zaszyfrowanym folderem wewnątrz domu - zagnieżdżone foldery eCryptfs

I zaszyfrowany folder domowy zwykle przechowuje pliki /home/.ecryptfs/user/, podczas gdy zaszyfrowany folder prywatny zawiera pliki w twoim własnym folderze domowym. Można nie używać obu jednocześnie, ecryptfs nie zrobi zagnieżdżone zaszyfrowanych folderów. Ale posiadanie zaszyfrowanego domu i zaszyfrowanych folderów poza domem jest w porządku.

  • Właśnie próbowałem utworzyć nowego użytkownika z zaszyfrowanym domem sudo adduser --encrypt-home jack

    Utworzył /home/.ecryptfs/folder z:

    • /home/.ecryptfs/jack/.ecryptfs/ - owinięte hasła i pliki konfiguracyjne do automatycznego podłączenia domu Jacka podczas logowania
    • /home/.ecryptfs/jack/.Private/- rzeczywiste zaszyfrowane pliki domowe, zamontowane /home/jack/po zalogowaniu.

      A także /home/jack/folder, ale zawierał on łącze, które pozostaje tam bez względu na to, czy jesteś zalogowany, czy nie:

      /home/jack/.ecryptfs/ -> /home/.ecryptfs/jack/.ecryptfs

    • Następnie zalogowałem się jako jack, ale łącze nadal tam było, więc próba uruchomienia ecryptfs-setup-privatespowodowała, że ​​to zajrzał, /home/jack/.ecryptfs/ale naprawdę zobaczył istniejące pliki, /home/.ecryptfs/jack/.ecryptfswięc nie udało się utworzyć kolejnego pliku hasła i nie powiodło sięERROR: wrapped-passphrase file already exists, use --force to overwrite.

      Próba wykonania powyższych kroków „ALIAS” przy użyciu folderu .secret w zaszyfrowanym domu nie powiodła się z następującymi błędami:
      Mount on filesystem of type eCryptfs explicitly disallowed due to known incompatibilities
      Reading sb failed; rc = [-22]

      „Zagnieżdżanie zaszyfrowanych katalogów wewnątrz zaszyfrowanych katalogów nie jest obsługiwane przez eCryptfs. Przepraszamy.”- autor i opiekun eCryptfs

    • Zmienianie folderu ALIAS poza domem Jacka, próbowanie /tmp/.secret/i /tmp/secret/ działa . ALE jeśli Jack wyloguje się, nowy zaszyfrowany folder pozostanie podłączony , więc musisz go odmontować ( umount.ecryptfs_private secret).

Xen2050
źródło
1
Dzięki za uproszczoną odpowiedź. Jedno pytanie: czy to rozwiązuje problem automatycznego montowania? Przepraszam, że jestem za grubiański, ale wskazana strona internetowa i strony podręcznika naprawdę nie są szczególnie łatwe do zrozumienia w przypadku konfigurowania automatycznego montowania w niestandardowych sytuacjach. Ponieważ mam już zaszyfrowany katalog domowy, mam już $ HOME / .ecryptfs / auto-mount i wrapped-passphrase, ale pierwszy jest pusty, a drugi już coś w nim jest. Nie jest dla mnie całkowicie jasne, jak dodać nowe hasło i poinstruować go, aby automatycznie zamontował katalog.
user3004015 16.01.15
Zaktualizowano z drobnymi testami, a ten facet ragingpenguin.com/2012/12/... najwyraźniej miał trochę szczęścia, śledząc arch arch Wiki na temat automatycznego montowania za pomocą PAM, ale jest dość
szczery
Dziękuję za Twój wysiłek. Nie jestem zainteresowany zagnieżdżaniem katalogów ecryptfs, ale automatycznym montowaniem drugiego katalogu w drugim miejscu. Spróbuję go uruchomić, gdy będę miał trochę czasu, ale zdecydowanie nie jest to bardzo jasne ...
user3004015
Możesz przyciąć go do jednej mountlinii, nie potrzebujesz .confpliku ani dodawać kluczy, po prostu przeczytaj man ecryptfsstrony z dostępnymi opcjami. Następnie wrzuć plik „uruchom przy logowaniu” /home/user/.config/autostart/. Ale bezpieczeństwo hasła może być zagrożone, jeśli jest przechowywane nieprawidłowo
Xen2050,
Chodzi o to, że ecryptfs ma ładny system owijania haseł szyfrowania wewnątrz opakowania, które jest otwierane za pomocą hasła logowania. Zapewnia to dodatkową ochronę hasła ecryptfs, co byłoby przyjemne. Nie sądzę, że wprowadzenie czegoś w .config / autostart pozwoli na to, chyba że nie rozumiem, co powinienem umieścić w skrypcie.
user3004015
0

Jeśli chcesz go używać jak encfs, możesz to zrobić za pomocą następującego wpisu w /etc/fstab

/tmp/.geheim /tmp/geheim ecryptfs rw,no_sig_cache,ecryptfs_fnek_sig=1f7aefb9e239099f,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filename_crypto=y,ecryptfs_passthrough=n,passphrase_passwd=geheimpw,user,noauto 0 0

geheim to niemieckie słowo określające tajemnicę, ale zapewnia, że ​​nie jest to słowo kluczowe. Najpierw musisz utworzyć katalogi. Za pierwszym razem powinieneś odejść ecryptfs_fnek_sig=1f7aefb9e239099f. Następnie mount /tmp/geheimpokaże prawidłową wartość.

Możesz przechowywać hasło w innym miejscu i ustawić bardziej wyrafinowane opcje. Wszystkie opcje znajdziesz w man ecryptfs.

niels
źródło
-1
ecryptfs /destination/to/encrypted/storage /destination/to/seeing/unencrypted/data

na przykład:

ecryptfs /home/$USER/EFILES /home/$USER/Downloads/RANDOMDIRECTORY

użyj powyższego polecenia, aby utworzyć i zamontować zaszyfrowany system, w którym pliki zapisane w RANDOMDIRECTORY są szyfrowane i zapisywane w EFILES.

dodatkowe uwagi. upewnij się, że RANDOMDIRECTORY jest pusty na początku. Po uruchomieniu powyższej komendy, gdy system zostanie podłączony i będzie gotowy do pracy, wszystkie pliki zapisane w RANDOMDIRECTORY zostaną zaszyfrowane w systemie EFILES, jeśli system zostanie zamontowany. Aby szybko zamontować / odmontować, możesz albo utworzyć skrypt bash i uruchomić go za pomocą skrótu do aplikacji lub utworzyć polecenie aliasu do szybkiego montażu.

Używam tego od ponad roku.

EDYCJA: poszedł do domu, aby potwierdzić, twoje polecenie nie jest ecryptfs. jego enfs tj

encfs /destination/encrypted /destination/unencrypted

przepraszam za to. Dzięki temu będziesz musiał zainstalować nowy program, który (prawdopodobnie)

dr1094
źródło
1
Wpisałem polecenie ecryptfsi odpowiada ono na polecenie nie znalezione. man ecryptfswyświetla stronę podręcznika mount -t ecryptfs, ale tak naprawdę nie wyjaśnia, jak stworzyć taki zaszyfrowany system plików.
user3004015 15.01.2015
Zauważ, że używam Ubuntu 14.04 LTS, więc moja instalacja jest stosunkowo niedawna. Czy ecryptfspolecenie jest ostatnim dodatkiem?
user3004015 15.01.2015
encfs to nie to samo co ecryptfs. To są dwa różne.
Diagon