Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt uitgelegd hoe u gegevens tijdens overdracht kunt versleutelen voor NFS Azure-bestandsshares. Azure Files NFS v4.1-volumes verbeteren de netwerkbeveiliging door beveiligde TLS-verbindingen in te schakelen, gegevens in transit te beveiligen tegen onderschepping, waaronder MITM-aanvallen.
Overview
Met behulp van Stunnel, een opensource TLS-wrapper, versleutelt Azure Files de TCP-stream tussen de NFS-client en Azure Files met sterke versleuteling met behulp van AES-GCM, zonder Dat Kerberos nodig is. Dit zorgt voor vertrouwelijkheid van gegevens terwijl complexe instellingen of externe verificatiesystemen, zoals Active Directory, niet meer nodig zijn.
Het AZNFS-hulpprogrammapakket vereenvoudigt versleutelde koppelingen door Stunnel op de client te installeren en in te stellen. AzNFS is beschikbaar op packages.microsoft.com en maakt een lokaal beveiligd eindpunt dat NFS-clientaanvragen transparant doorstuurt via een versleutelde verbinding. De belangrijkste architectuuronderdelen zijn:
AZNFS Mount Helper: een clienthulpprogrammapakket dat de complexiteit van het tot stand brengen van beveiligde tunnels voor NFSv4.1-verkeer abstraheert.
Stunnel-proces: clientproces per opslagaccount dat luistert naar NFS-clientverkeer op een lokale poort en het veilig doorstuurt via TLS naar de Azure Files NFS-server.
AZNFS-watchdog: Het AZNFS-pakket voert een achtergrondtaak uit die ervoor zorgt dat stunnel-processen worden uitgevoerd, beëindigde tunnels automatisch opnieuw worden opgestart en ongebruikte processen worden opgeruimd nadat alle bijbehorende NFS-koppels zijn ontkoppeld.
Important
Ondersteunde Linux-distributies van AZNFS zijn:
- 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
- Azure Linux
Ondersteunde regio's
EiT voor NFS is nu algemeen beschikbaar (GA) in alle regio's die ONDERSTEUNING bieden voor SSD Azure-bestandsshares.
Versleuteling in transit afdwingen
Door de instelling Veilige overdracht in te schakelen die vereist is voor het opslagaccount, kunt u ervoor zorgen dat alle koppelingen naar de NFS-volumes in het opslagaccount zijn versleuteld. EiT kan worden ingeschakeld voor zowel nieuwe als bestaande opslagaccounts en NFS Azure-bestandsshares. Er zijn geen extra kosten verbonden aan het inschakelen van EiT.
Voor gebruikers die liever flexibiliteit behouden tussen TLS- en niet-TLS-verbindingen in hetzelfde opslagaccount, moet de instelling voor veilige overdracht echter UITGESCHAKELD blijven.
Versleutel gegevens tijdens verzending voor NFS-shares
U kunt gegevens die onderweg zijn, versleutelen voor NFS Azure-bestandsshares met behulp van Azure Portal of Azure CLI.
Gegevens tijdens de overdracht voor NFS-shares versleutelen via het Azure Portal
Azure Portal biedt een stapsgewijs, kant-en-klaar installatiescript dat is afgestemd op uw geselecteerde Linux-distributie voor het installeren van het AZNFS-koppelingshulppakket. Zodra de installatie is voltooid, kunt u het meegeleverde AZNFS-koppelscript gebruiken om de NFS-share veilig te koppelen, waarbij een versleuteld overdrachtskanaal tussen de client en de server tot stand wordt gebracht.
Gebruikers die liever flexibiliteit behouden bij het gebruik van TLS- en niet-TLS-verbindingen in hetzelfde opslagaccount, moeten ervoor zorgen dat de vereiste instelling voor veilige overdracht uitgeschakeld blijft.
Gegevens tijdens overdracht versleutelen voor NFS-shares met behulp van Azure CLI
Volg deze stappen om gegevens in transit te versleutelen:
- Zorg ervoor dat het vereiste AZNFS-koppelingshulppakket op de client is geïnstalleerd.
- Koppel de NFS-bestandsshare met TLS-versleuteling.
- Controleer of de versleuteling van gegevens is geslaagd.
Stap 1: De installatie van het AZNFS mount-hulppakket controleren
Voer de volgende opdracht uit om te controleren of het AZNFS-koppelingshulppakket is geïnstalleerd op uw client:
systemctl is-active --quiet aznfswatchdog && echo -e "\nAZNFS mounthelper is installed! \n"
Als het pakket is geïnstalleerd, ziet u het bericht AZNFS mounthelper is installed!. Als deze niet is geïnstalleerd, moet u de juiste opdracht gebruiken om het AZNFS-koppelingshulppakket op uw client te installeren.
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
Stap 2: de NFS-bestandsshare koppelen
De NFS-bestandsshare koppelen met TLS-versleuteling:
- Maak een map op uw clientapparaat.
sudo mkdir -p /mount/<storage-account-name>/<share-name>
- Monteer de NFS-share met behulp van de volgende cmdlet. Vervang
<storage-account-name>door de naam van uw opslagaccount en vervang deze door<share-name>de naam van uw bestandsshare.
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
De NFS-share koppelen zonder TLS-versleuteling:
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
Als u de share automatisch wilt laten koppelen bij het opnieuw opstarten, maakt u een vermelding in het /etc/fstab bestand door de volgende regel toe te voegen:
<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
Voordat u de koppelingsopdracht uitvoert, moet u ervoor zorgen dat de omgevingsvariabele AZURE_ENDPOINT_OVERRIDE is ingesteld. Dit is vereist bij het koppelen van bestandsshares in niet-openbare Azure-cloudregio's of bij het gebruik van aangepaste DNS-configuraties.
Bijvoorbeeld voor Azure China Cloud: export AZURE_ENDPOINT_OVERRIDE="chinacloudapi.cn"
Stap 3: Controleren of de in-transitgegevensversleuteling is geslaagd
Voer de opdracht df -Thuit.
Hiermee wordt aangegeven dat de client is verbonden via de lokale poort 127.0.0.1, niet via een extern netwerk. Het stunnelproces luistert op 127.0.0.1 (localhost) voor binnenkomend NFS-verkeer van de NFS-client. Stunnel onderschept dit verkeer en stuurt het veilig door naar de Azure Files NFS-server in Azure.
Als u wilt controleren of verkeer naar de NFS-server is versleuteld, gebruikt u de tcpdump opdracht om pakketten vast te leggen op poort 2049.
sudo tcpdump -i any port 2049 -w nfs_traffic.pcap
Wanneer u de opname opent in Wireshark, wordt de nettolading weergegeven als 'Toepassingsgegevens' in plaats van leesbare tekst.
Note
Al het verkeer van een virtuele machine naar hetzelfde servereindpunt maakt gebruik van één verbinding. De AZNFS-koppelingshulp zorgt ervoor dat u TLS- en niet-TLS-configuraties niet kunt combineren bij het koppelen van shares aan die server. Deze regel is van toepassing op shares van hetzelfde opslagaccount en verschillende opslagaccounts die worden omgezet in hetzelfde IP-adres.
Troubleshooting
Een niet-TLS-koppelingsbewerking (notls) kan mislukken als een eerdere TLS-versleutelde koppeling naar dezelfde server is beëindigd voordat deze is voltooid. Hoewel de aznfswatchdog-service na een time-out verouderde vermeldingen automatisch opschoont, kan een nieuwe niet-TLS-koppeling worden uitgevoerd voordat het opschonen is voltooid.
U kunt dit probleem oplossen door de share opnieuw te mounten met behulp van de clean optie, waarmee alle verouderde entries onmiddellijk worden gewist.
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
Als een virtuele machine verbonden is met een aangepast domein, gebruikt u aangepaste FQDN of korte namen voor bestandsdeling /etc/fstab, zoals gedefinieerd in de DNS. Als u de oplossing van de hostnaam wilt controleren, controleert u door gebruik te maken van nslookup <hostname> en getent host <hostname> opdrachten. Voordat u de koppelingsopdracht uitvoert, moet u ervoor zorgen dat de omgevingsvariabele AZURE_ENDPOINT_OVERRIDE is ingesteld.
Als de koppelingsproblemen doorgaan, controleert u de logboekbestanden voor meer informatie over het oplossen van problemen:
-
Logboeken van Mount Helper en Watchdog:
/opt/microsoft/aznfs/data/aznfs.log -
Stunnel-logboeken:
/etc/stunnel/microsoft/aznfs/nfsv4_fileShare/logs