Sdílet prostřednictvím


Šifrování během přenosu pro sdílené složky Azure NFS (verze Preview)

Tento článek vysvětluje, jak můžete šifrovat přenášená data pro sdílené složky Azure NFS.

Důležité

Svazky NFS služby Azure Files verze 4.1 vylepšují zabezpečení sítě tím, že umožňují zabezpečená připojení TLS a chrání přenášená data před odposlechem, včetně útoků typu "MITM".

Pomocí Stunnelu, opensourcového obálky TLS, Služba Azure Files šifruje datový proud TCP mezi klientem NFS a službou Azure Files se silným šifrováním pomocí AES-GCM bez nutnosti protokolu Kerberos. To zajišťuje důvěrnost dat a současně eliminuje potřebu složitých nastavení nebo externích ověřovacích systémů, jako je Active Directory.

Balíček nástroje AZNFS zjednodušuje šifrované připojení instalací a nastavením Stunnelu na klienta. K dispozici na packages.microsoft.com vytvoří AZNFS místní zabezpečený koncový bod, který transparentně předává požadavky klientů NFS přes šifrované připojení. Mezi klíčové komponenty architektury patří:

  • Asistent připojení AZNFS: Balíček klientského nástroje, který abstrahuje složitost vytváření zabezpečených tunelů pro provoz NFSv4.1.

  • Proces Stunnel: Klientský proces pro jednotlivé účty úložiště, který naslouchá provozu klienta NFS na místním portu a bezpečně ho předává přes protokol TLS na server NFS služby Azure Files.

  • AZNFS watchdog: Balíček AZNFS spouští úlohu na pozadí, která zajišťuje, že procesy stunnelu běží, automaticky restartuje ukončené tunely a po odpojení všech přidružených NFS vyčistí nepoužívané procesy.

Podporované oblasti

Všechny oblasti, které podporují Službu Azure Premium Files, teď podporují šifrování během přenosu.

Registrace na ukázku

Pokud chcete povolit šifrování přenášených sdílených složek NFS, musíte si zaregistrovat funkci Preview.

Zaregistrujte se prostřednictvím webu Azure Portal tak, že v části Funkce ve verzi Preview vyhledáte "Šifrování přenášených sdílených složek Azure NFS".

Diagram znázorňující obrazovku webu Azure Portal k otestování použití EiT

Další informace najdete v tématu Nastavení funkcí preview v předplatném Azure.

Vynucení šifrování během přenosu

Povolením požadovaného nastavení zabezpečeného přenosu v účtu úložiště můžete zajistit šifrování všech připojení ke svazkům NFS v účtu úložiště.

Snímek obrazovky znázorňující povolení zabezpečeného přenosu v účtu úložiště

Uživatelé, kteří dávají přednost zachování možnosti použití připojení TLS i ne-TLS ve stejném účtu úložiště, musí ponechat nastavení zabezpečeného přenosu vypnuté.

Jak šifrovat přenášená data pro NFS sdílení (preview)

Pokud chcete šifrovat přenášená data, postupujte takto:

  1. Ujistěte se, že je v klientovi nainstalovaný požadovaný balíček pomocné rutiny pro připojení AZNFS.
  2. Připojte sdílenou složku NFS pomocí šifrování TLS.
  3. Ověřte, že šifrování dat bylo úspěšné.

Krok 1: Kontrola instalace pomocného balíčku připojení AZNFS

Pokud chcete zkontrolovat, jestli je na klientském zařízení nainstalovaný pomocný balíček AZNFS, spusťte následující příkaz:

systemctl is-active --quiet aznfswatchdog && echo -e "\nAZNFS mounthelper is installed! \n"

Pokud je balíček nainstalovaný, zobrazí se zpráva AZNFS mounthelper is installed!. Pokud není nainstalován, budete muset použít příslušný příkaz k instalaci balíčku pomocníka AZNFS na vašem klientovi.

curl -sSL -O https://packages.microsoft.com/config/$(source /etc/os-release && echo "$ID/$VERSION_ID")/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install aznfs

Důležité

Podporované linuxové distribuce AZNFS jsou:

  • Ubuntu (18.04 LTS, 20.04 LTS, 22.04 LTS, 24.04 LTS)
  • Centos7, Centos8
  • RedHat7, RedHat8, RedHat9
  • Rocky8, Rocky9
  • SUSE (SLES 15)
  • Oracle Linux
  • Alma Linux

Krok 2: Připojení sdílené složky NFS

Připojit sdílenou složku NFS pomocí šifrování TLS:

  1. Vytvořte adresář v klientovi.
sudo mkdir -p /mount/<storage-account-name>/<share-name>
  1. Připojte sdílenou složku NFS pomocí následujícího příkazu. Nahraďte <storage-account-name> názvem účtu úložiště a nahraďte <share-name> názvem sdílené složky.
sudo mount -t aznfs <storage-account-name>.file.core.windows.net:/<storage-account-name>/<share-name> /mount/<storage-account-name>/<share-name> -o vers=4,minorversion=1,sec=sys,nconnect=4

Pro připojení sdílené složky NFS bez šifrování TLS:

sudo mount -t aznfs <storage-account-name>.file.core.windows.net:/<storage-account-name>/<share-name> /mount/<storage-account-name>/<share-name> -o vers=4,minorversion=1,sec=sys,nconnect=4,notls

Pokud chcete sdílenou složku automaticky připojit při restartování, vytvořte v /etc/fstab souboru položku přidáním následujícího řádku:

<storage-account-name>.file.core.windows.net:/<storage-account-name>/<container-name> /nfsdata aznfs defaults,sec=sys,vers=4.1,nolock,proto=tcp,nofail,_netdev   0 2 

Poznámka:

Před spuštěním příkazu pro připojení se ujistěte, že je nastavena proměnná prostředí AZURE_ENDPOINT_OVERRIDE. To se vyžaduje při připojování sdílených složek v nepřístupných oblastech cloudu Azure nebo při použití vlastních konfigurací DNS. Například pro Cloud Azure China: export AZURE_ENDPOINT_OVERRIDE="chinacloudapi.cn"

Krok 3: Ověření úspěšného šifrování přenášených dat

Spusťte příkaz df -Th.

Diagram znázorňující obrazovku PowerShellu k otestování, jestli se používá EiT

Označuje, že klient je připojený přes místní port 127.0.0.1, nikoli externí síť. Proces stunnel naslouchá příchozímu provozu NFS z klienta NFS na 127.0.0.1 (localhost). Stunnel pak tento provoz zachytí a bezpečně ho předá přes protokol TLS na server NFS služby Azure Files v Azure.

Pokud chcete zkontrolovat, jestli je provoz na server NFS šifrovaný, použijte tcpdump příkaz k zachycení paketů na portu 2049.

sudo tcpdump -i any port 2049 -w nfs_traffic.pcap

Když otevřete zachytávání v Wiresharku, datová část se místo čitelného textu zobrazí jako Data aplikace.

Diagram znázorňující obrazovku Wireshark k otestování, jestli se používá EiT

Poznámka:

Veškerý provoz z virtuálního počítače do stejného koncového bodu serveru používá jedno připojení. Pomocník pro připojení AZNFS zajišťuje, že při připojování sdílených složek k danému serveru nemůžete kombinovat konfiguraci TLS a konfiguraci bez TLS. Toto pravidlo platí pro sdílené složky ze stejného účtu úložiště a různých účtů úložiště, které se přeloží na stejnou IP adresu.

Řešení problémů

Operace připojení jiného typu než TLS (notls) může selhat, pokud se před dokončením úspěšně ukončil předchozí připojení šifrované protokolem TLS ke stejnému serveru. Přestože služba aznfswatchdog po vypršení časového limitu automaticky vyčistí zastaralé položky, může selhat pokus o nové připojení jiného typu než TLS.

Pokud chcete tento problém vyřešit, znovu připojte sdílenou složku pomocí čisté možnosti, která okamžitě vymaže všechny zastaralé položky:

sudo mount -t aznfs <storage-account-name>.file.core.windows.net:/<storage-account-name>/<share-name> /mount/<storage-account-name>/<share-name> -o vers=4,minorversion=1,sec=sys,nconnect=4,notls,clean

Pokud problémy s připojením budou pokračovat, zkontrolujte další podrobnosti o řešení potíží v souborech protokolu:

  • Připojte protokoly pomocníka a watchdogu: /opt/microsoft/aznfs/data/aznfs.log
  • Záznamy Stunnelu: /etc/stunnel/microsoft/aznfs/nfsv4_fileShare/logs

Viz také