Dela via


Kryptering under överföring för NFS Azure-filresurser

Den här artikeln beskriver hur du kan kryptera data under överföring för NFS Azure-filresurser. Azure Files NFS v4.1-volymer förbättrar nätverkssäkerheten genom att aktivera säkra TLS-anslutningar, skydda data under överföring från avlyssning, inklusive MITM-attacker.

Overview

Med Stunnel, en TLS-omslutning med öppen källkod, krypterar Azure Files TCP-strömmen mellan NFS-klienten och Azure Files med stark kryptering med hjälp av AES-GCM, utan att behöva Kerberos. Detta säkerställer datasekretess och eliminerar behovet av komplexa installationer eller externa autentiseringssystem som Active Directory.

AZNFS-verktygspaketet förenklar krypterade monteringar genom att installera och konfigurera Stunnel på klienten. AZNFS är tillgängligt på packages.microsoft.com och skapar en lokal säker slutpunkt som transparent vidarebefordrar NFS-klientbegäranden via en krypterad anslutning. De viktigaste arkitekturkomponenterna är:

  • AZNFS Mount Helper: Ett klientverktygspaket som sammanfattar komplexiteten med att upprätta säkra tunnlar för NFSv4.1-trafik.

  • Stunnelprocess: Klientprocess per lagringskonto som lyssnar efter NFS-klienttrafik på en lokal port och vidarebefordrar den säkert över TLS till Azure Files NFS-servern.

  • AZNFS-vakthund: AZNFS-paketet kör ett bakgrundsjobb som säkerställer att stunnelprocesser körs, automatiskt startar om avslutade tunnlar och rensar oanvända processer när alla associerade NFS-monteringar har demonterats.

Important

Linux-distributioner som stöds av AZNFS är:

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

Regioner som stöds

EiT för NFS är nu allmänt tillgängligt (GA) i alla regioner som stöder SSD Azure-filresurser.

Framtvinga kryptering under överföring

Genom att aktivera inställningen Säker överföring som krävs för lagringskontot kan du se till att alla monteringar till NFS-volymerna i lagringskontot är krypterade. EiT kan aktiveras på både nya och befintliga lagringskonton och NFS Azure-filresurser. Det finns ingen extra kostnad för att aktivera EiT.

Skärmbild som visar hur du aktiverar säker överföring på ett lagringskonto.

Men för användare som föredrar att behålla flexibiliteten mellan TLS- och icke-TLS-anslutningar på samma lagringskonto måste inställningen Säker överföring förbli AV.

Kryptera data under överföring för NFS-resurser

Du kan kryptera data under överföring för NFS Azure-filresurser med hjälp av Azure-portalen eller Azure CLI.

Kryptera data vid överföring för NFS-aktier med hjälp av Azure-portalen

Azure-portalen erbjuder ett steg-för-steg-installationsskript som är anpassat till din valda Linux-distribution för att installera AZNFS-monteringshjälppaketet. När du har installerat det angivna AZNFS-monteringsskriptet kan du montera NFS-resursen på ett säkert sätt och upprätta en krypterad överföringskanal mellan klienten och servern.

Skärmbild som visar anvisningarna för AZNFS-montering i Azure-portalen.

Användare som föredrar att behålla flexibiliteten i att ha TLS- och icke-TLS-anslutningar på samma lagringskonto bör se till att inställningen Säker överföring krävs förblir inaktiverad.

Kryptera data vid överföring för NFS-aktier med hjälp av Azure CLI

Följ dessa steg för att kryptera data under överföring:

  1. Kontrollera att det nödvändiga AZNFS-monteringshjälppaketet är installerat på klienten.
  2. Montera NFS-filresursen med TLS-kryptering.
  3. Kontrollera att krypteringen av data lyckades.

Steg 1: Kontrollera installationen av AZNFS-monteringshjälppaket

Kontrollera om AZNFS-monteringshjälppaketet är installerat på klienten genom att köra följande kommando:

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

Om paketet är installerat visas meddelandet AZNFS mounthelper is installed!. Om den inte är installerad måste du använda rätt kommando för att installera AZNFS-monteringshjälppaketet på klienten.

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

Steg 2: Montera NFS-filresursen

Montera NFS-fildelningen med TLS-kryptering:

  1. Skapa en katalog på klienten.
sudo mkdir -p /mount/<storage-account-name>/<share-name>
  1. Montera NFS-resursen med hjälp av följande cmdlet. Ersätt <storage-account-name> med namnet på ditt lagringskonto och ersätt <share-name> med namnet på filresursen.
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

Montera NFS-resursen utan TLS-kryptering:

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

Om du vill att resursen ska monteras automatiskt vid omstart skapar du en post i /etc/fstab filen genom att lägga till följande rad:

<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 

Note

Kontrollera att miljövariabeln AZURE_ENDPOINT_OVERRIDE har angetts innan du kör monteringskommandot. Detta krävs när du monterar filresurser i icke-offentliga Azure-molnregioner eller när du använder anpassade DNS-konfigurationer. Till exempel för Azure China Cloud: export AZURE_ENDPOINT_OVERRIDE="chinacloudapi.cn"

Steg 3: Kontrollera att datakryptering under överföring lyckades

Kör kommandot df -Th.

Diagram som visar PowerShell-skärmen för att testa om EiT används.

Det anger att klienten är ansluten via den lokala porten 127.0.0.1, inte ett externt nätverk. Stunnelprocessen lyssnar på 127.0.0.1 (localhost) för inkommande NFS-trafik från NFS-klienten. Stunnel fångar sedan upp den här trafiken och vidarebefordrar den säkert via TLS till Azure Files NFS-servern i Azure.

Om du vill kontrollera om trafiken till NFS-servern är krypterad använder du tcpdump kommandot för att samla in paket på port 2049.

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

När du öppnar avbildningen i Wireshark visas nyttolasten som "Programdata" i stället för läsbar text.

Diagram som visar Wireshark-skärmen för att testa om EiT används.

Note

All trafik från en virtuell dator till samma serverslutpunkt använder en enda anslutning. AZNFS-monteringshjälpen ser till att du inte kan blanda TLS- och icke-TLS-konfigurationer när du monterar resurser på servern. Den här regeln gäller för resurser från samma lagringskonto och olika lagringskonton som matchar samma IP-adress.

Troubleshooting

En icke-TLS-monteringsåtgärd (notls) kan misslyckas om en tidigare TLS-krypterad montering till samma server avslutades innan den slutfördes. Även om aznfswatchdog-tjänsten automatiskt rensar inaktuella poster efter en timeout, kan försök med en ny icke-TLS-montering innan rensningen är klar misslyckas.

Lös problemet genom att återmontera delningen med hjälp av rensa-alternativet, vilket omedelbart rensar inaktuella poster.

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

Om en virtuell dator är anpassad domänansluten använder du anpassad DNS FQDN eller korta namn för fildelning i /etc/fstab så som definierats i DNS. För att verifiera värdnamnslösningen, kontrollera med hjälp av nslookup <hostname> och getent host <hostname> kommandon. Kontrollera att miljövariabeln är inställd innan du kör monteringskommandot AZURE_ENDPOINT_OVERRIDE .

Om monteringsproblemen fortsätter kontrollerar du loggfilerna för mer felsökningsinformation:

  • Monteringshjälp och övervakningsloggar: /opt/microsoft/aznfs/data/aznfs.log
  • Stunnelloggar: /etc/stunnel/microsoft/aznfs/nfsv4_fileShare/logs

Se även