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ę?


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).


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.


-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)


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.