GNU/Linux >> Znalost Linux >  >> Ubuntu

Mohu pomocí služby VPS zabránit tomu, aby data byla zpřístupněna hostitelem VPS?

Pokud používám poskytovatele, jako je Digital Ocean, pokud ukládám soukromé/citlivé informace na VPS, existuje způsob, jak tyto informace chránit (zabránit hostiteli VPS získat přístup) a zároveň zachovat přístup SFTP a SSH?

Přijatá odpověď:

Bohužel to vůbec nejde. Zde je několik krátkých vysvětlení:

  • I se šifrováním mohl poskytovatel pořídit snímek aktuálního stavu paměti a disku a naklonovat novou instanci, abyste získali tolik přístupu, jako jste měli vy. (zdroj)

  • I když provozujete VPS se zašifrovanými systémy souborů, všechna data v paměti RAM budou nezašifrovaná, k čemuž by měli přístup správci hostitelského systému VPS, včetně dešifrovací přístupové fráze. Pokud skutečně máte tak přísné požadavky na zabezpečení, zní to, jako byste museli provozovat své vlastní fyzicky zabezpečené systémy nebo najít specializovanou serverovou hostingovou společnost, která se na tento druh věcí specializuje. (zdroj)

  • …mějte na paměti, že kdokoli s přístupem k obrazu VPS může potenciálně přidat chybu vašeho kódu, aby zjistil heslo, které používáte. (zdroj)

  • [Šifrování] dává určitý smysl, pokud máte kontrolu nad hardwarem; když hardware ovládá někdo jiný, nemá to smysl, pokud nevěříte, že hostitel se na to opravdu nechce dívat... (zdroj)

  • Fyzický přístup je přístup root, takže pokud má někdo fyzický přístup k serveru, bez ohledu na to, zda se jedná o virtuální počítač nebo holý kov, má přístup root. V případě KVM má k hostovi přístup vlastník holého kovového hostitele. Data můžete vždy zašifrovat, ale to může mít omezenou výhodu, protože data budou dešifrována, když k nim přistoupíte.

    To samé se sítí. Vlastník virtuálního počítače může vidět váš síťový provoz. Opět můžete zašifrovat část provozu (https, ssh atd.). (zdroj)

Zde je konkrétní řešení pro případ, že chcete na svém VPS pouze uložit nějaká citlivá data:

Jak vytvořit a používat šifrovaný adresář prostřednictvím eCryptfs a připojit jej na dálku

Předběžné požadavky

Nainstalujte balíčky ecryptfs-utils a sshfs a restartujte systém:

sudo apt update && sudo apt -y install ecryptfs-utils sshfs
sudo apt update && sudo systemctl reboot

Standardní nastavení a použití

Otevřete okno terminálu a spusťte tento příkaz:

ecryptfs-setup-private

Poté budete požádáni, abyste:

  • Enter your login passphrase [<user>]: tato přístupová fráze se musí shodovat s heslem aktuálního uživatele a bude použita k odemknutí (dešifrování) vašich zašifrovaných informací.

  • Enter your mount passphrase [leave blank ...]: toto přístupové heslo bude použito automaticky, když se vaše zašifrovaná data připojují, ale potřebujete ho pro případ, že dojde k nouzové situaci a budete muset obnovit svá data, takže si je zapište na bezpečné místo.

Výše uvedený příkaz vytvoří dva adresáře:

  • ~/.Private kde budou uložena vaše zašifrovaná data.
  • ~/Private kde je adresář ~/.Private bude připojen jako dešifrovaný.

Zatímco ~/.Private není připojen v adresáři ~/Private má dva soubory s pokyny.

Když se přihlásíte do systému pomocí uživatelského hesla (login passphrase ) adresář ~/.Private bude automaticky připojen k ~/Private a budete tam moci pracovat. Když se logout nebo exit , adresář ~/.Private bude odmontován. Chcete-li toho dosáhnout ručně, můžete použít příkazy:ecryptfs-mount-private a ecryptfs-umount-private . Více o těchto možnostech lze nalézt v článku eCryptfs z ArchLinux Wiki. Viz také:jak používat ecryptfs s náhodným adresářem.

Související:Rozdělit data z 1 sloupce do více sloupců?

Pokud ověříte své připojení SSH/SFTP pomocí hesla, výše uvedené bude fungovat. Pokud se však ověřujete pomocí páru klíčů SSH, musíte použít ecryptfs-mount-private pro připojení ~/.Private . V tomto případě musíte nejprve SSH do systému a spustit ecryptfs-mount-private pak budete moci použít SFTP do adresáře ~/Private . Můžete přidat příkaz ecryptfs-mount-private na konec ~/.bashrc pro automatizaci tohoto procesu:

echo -e "\n# Mount my Private directory\necryptfs-mount-private\n" | tee -a ~/.bashrc

Připojte vzdálený zašifrovaný adresář a odemkněte (dešifrujte) jej lokálně

Na vzdáleném počítači (VPS) a na místním počítači proveďte následující příkaz a zadejte stejná data pro login passphrase a pro mount passphrase na obou strojích:

ecryptfs-setup-private --nopwcheck --noautomount

Na vzdáleném počítači:

  • Spusťte příkaz:

    ecryptfs-mount-private
    

    Poznámka: Zatímco jsem testoval tento přístup, musel jsem výše uvedený příkaz provést dvakrát!

  • Vytvořte jednoduchý obsah:

    echo "Hello Word!" > ~/Private/hello.txt
    
  • Odpojit ~/.Private :

    ecryptfs-umount-private
    
  • Dále můžete odstranit adresář ~/.ecryptfs (z VPS), kde jsou uložena vaše dešifrovací data.

Na místním počítači:

  • Připojte vzdálenou šifrovanou složku ~/.Private do místní složky ~/.Private přes sshfs a zamaskujte vlastnictví souborů (nahraďte <user>@<host_name_or_ip> ):

    sshfs -o idmap=user,uid=$(id -u),gid=$(id -g) <user>@<host_name_or_ip>:.Private ~/.Private
    

    Pro odpojení použijte příkaz:fusermount -u ~/.Private nebo sudo umount -l ~/.Private .

  • Poté připojte (a dešifrujte) místní adresář ~/.Private na ~/Private

    ecryptfs-mount-private
    
  • Zkontrolujte, zda soubor hello.txt je tam:

    $ cat ~/Private/hello.txt
    Hello Word!
    
  • Pokud narazíte na problém s příkazem ecryptfs-umount-private (umount.ecryptfs_private ) můžete odpojit místní ~/Private adresáře příkazem sudo umount -l ~/Private .

  • eCryptfs má chyby a někdy ecryptfs-mount-private a ecryptfs-umount-private nefungují správně.

  • Podle výše uvedeného můžete vytvořit dvě funkce v rámci ~/.bashrc který zautomatizuje celý proces (připojení/odpojení) (nahraďte <user>@<host_name_or_ip> ):

    function ecryptfs-remote-mount {
            sshfs -o idmap=user,uid=$(id -u),gid=$(id -g) <user>@<host_name_or_ip>:.Private ~/.Private > /dev/null 2>&1
            sudo keyctl clear @u
            sudo ecryptfs-insert-wrapped-passphrase-into-keyring $HOME/.ecryptfs/wrapped-passphrase
            # Attempt to mount, and loop the function unless it is true - due to  CLI usage bug
            ecryptfs-mount-private && echo "Done!" || ecryptfs-remote-mount            
    }
    
    function ecryptfs-remote-umount {
            ecryptfs-umount-private > /dev/null 2>&1 || sudo umount -l $HOME/Private
            fusermount -u $HOME/.Private > /dev/null 2>&1 || sudo umount -l $HOME/.Private
            echo "Done!"
    }
    
    export -f ecryptfs-remote-mount ecryptfs-remote-umount
    

    Poté source ~/.bashrc a budete moci použít ecryptfs-remote-mount a ecryptfs-remote-umount jako příkazy.

Odkazy a další čtení

  • Vytvořte zašifrovaný archivní soubor (tar), kde se skrývají vaše citlivá data:

    • Zašifrujte soubor tar.gz při vytváření
    • Jak vytvořit šifrovaný (chráněný heslem) archiv Tar nebo Zip v systému Linux
    • Jak chránit heslem soubory gzip na příkazovém řádku?
    • Jak mohu chránit heslem soubor .tgz pomocí tar v Unixu?.
  • Vytvořte šifrovaný adresář:

    • Šifrované zálohování na server SFTP (WebSpace) pomocí ecryptfs
    • Návod na bezpečný šifrovaný vzdálený svazek
    • Jak šifrovat jednotlivé složky?
    • Jak šifrovat adresáře pomocí eCryptfs na Ubuntu 16.04
    • YouTube:Jak šifrovat složku v Ubuntu
  • Použít šifrování domovského adresáře uživatele:

    • Šifrovaná domovská složka
    • Jak na to zašifrovaný domovský adresář
    • JAK zašifrovat svůj domovský adresář
    • Přístup k zašifrovanému domovskému adresáři v Ubuntu
    • Migrace do zašifrovaného domovského adresáře
    • Zpráva SSH po přihlášení a poté omezení uživatele v používání účtu
Související:Chybí indikátor správce sítě?
Ubuntu
  1. Potřebujete zabránit instalaci balíčku?

  2. Jak získat přístup k internetu z virtuálního počítače v Gnome Boxech?

  3. Jak zabránit uživatelům v přístupu ke kořenovému adresáři?

  1. CentOS / RHE 7:Jak zabránit uživatelům v používání posledních 10 hesel

  2. CentOS / RHEL :Jak zabránit stahování zakázaných repozitářů do mezipaměti yum

  3. Jak mohu zabránit uživateli v kopírování souborů na jiný pevný disk?

  1. Povolení přístupu k virtuálnímu hostiteli Apache pouze z místní sítě

  2. Jak mohu úplně smazat obsah mého starého VPS?

  3. SSH:V privátní síti, jak přistupovat ke vzdálenému počítači ze zdrojového počítače bez použití veřejného klíče ssh