Skip to content

Commit ef355b3

Browse files
authored
Merge pull request #301935 from khdownie/kendownie062625
EiT for NFS GA
2 parents 1ca1387 + 3af644a commit ef355b3

File tree

2 files changed

+40
-31
lines changed

2 files changed

+40
-31
lines changed

articles/storage/files/encryption-in-transit-for-nfs-shares.md

Lines changed: 40 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
2-
title: How to Encrypt Data in Transit for NFS shares (preview)
2+
title: How to Encrypt Data in Transit for NFS shares
33
description: This article explains how you can encrypt data in transit (EiT) for NFS Azure file shares by using a TLS channel.
44
author: guptasonia
55
ms.service: azure-file-storage
66
ms.topic: how-to
7-
ms.date: 06/11/2025
7+
ms.date: 06/27/2025
88
ms.author: kendownie
99
ms.custom:
1010
- devx-track-azurepowershell
@@ -13,15 +13,11 @@ ms.custom:
1313
# Customer intent: As a network administrator, I want to securely encrypt data in transit for NFS Azure file shares using TLS, so that I can protect sensitive information from interception and ensure data confidentiality without complex network security or authentication setups.
1414
---
1515

16-
# Encryption in transit for NFS Azure file shares (preview)
16+
# Encryption in transit for NFS Azure file shares
1717

18-
This article explains how you can encrypt data in transit for NFS Azure file shares.
18+
This article explains how you can encrypt data in transit for NFS Azure file shares. Azure Files NFS v4.1 volumes enhance network security by enabling secure TLS connections, protecting data in transit from interception, including MITM attacks.
1919

20-
> [!IMPORTANT]
21-
> - Encryption in transit for Azure file shares NFS v4.1 is currently in **preview**.
22-
> - See the [Preview Terms Of Use | Microsoft Azure](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
23-
24-
Azure Files NFS v4.1 volumes enhance network security by enabling secure TLS connections, protecting data in transit from interception, including MITM attacks.
20+
## Overview
2521

2622
Using [Stunnel](https://www.stunnel.org/), an open-source TLS wrapper, Azure Files encrypts the TCP stream between the NFS client and Azure Files with strong encryption using AES-GCM, without needing Kerberos. This ensures data confidentiality while eliminating the need for complex setups or external authentication systems like Active Directory.
2723

@@ -33,15 +29,25 @@ The [AZNFS](https://github.com/Azure/AZNFS-mount) utility package simplifies enc
3329

3430
- **AZNFS watchdog**: The AZNFS package runs a background job that ensures stunnel processes are running, automatically restarts terminated tunnels, and cleans up unused processes after all associated NFS mounts are unmounted.
3531

36-
## Supported regions
32+
> [!IMPORTANT]
33+
>
34+
> AZNFS supported Linux distributions are:
35+
>
36+
> - Ubuntu (18.04 LTS, 20.04 LTS, 22.04 LTS, 24.04 LTS)
37+
> - Centos7, Centos8
38+
> - RedHat7, RedHat8, RedHat9
39+
> - Rocky8, Rocky9
40+
> - SUSE (SLES 15)
41+
> - Oracle Linux
42+
> - Alma Linux
3743
38-
All regions that support Azure Premium Files now support encryption in transit.
44+
## Supported regions
3945

46+
EiT is now Generally Available (GA) in all regions that support Azure Premium Files except China North3, New Zealand North, West Europe, US East2, US Central, US South and Korea Central. These remaining regions are currently running preview. You must register your subscription per the instructions below to use EiT in the preview regions.
4047

41-
## Register for preview
48+
### Register for preview (not needed for GA regions)
4249

43-
To enable encryption in transit for your NFS shares, you must register for the preview feature.
44-
50+
To enable encryption in transit for your storage accounts and NFS shares in the preview regions (China North3, New Zealand North, West Europe, US East2, US Central, US South, and Korea Central), you must register for the preview. **No registration is needed in the GA regions.**
4551

4652
### [Portal](#tab/azure-portal)
4753

@@ -72,16 +78,28 @@ az feature register --name AllowEncryptionInTransitNFS4 --namespace Microsoft.St
7278

7379
## Enforce encryption in transit
7480

75-
By enabling the **Secure transfer required** setting on the storage account, you can ensure that all the mounts to the NFS volumes in the storage account are encrypted.
81+
By enabling the **Secure transfer required** setting on the storage account, you can ensure that all the mounts to the NFS volumes in the storage account are encrypted. EiT can be enabled on both new and existing storage accounts and NFS Azure file shares. There is no additional cost for enabling EiT.
7682

7783
:::image type="content" source="./media/encryption-in-transit-nfs-shares/storage-account-settings.png" alt-text="Screenshot showing how to enable Secure transfer on a storage account." lightbox="./media/encryption-in-transit-nfs-shares/storage-account-settings.png":::
7884

7985
However, for users who prefer to maintain flexibility between TLS and non-TLS connections on the same storage account, the **Secure transfer** setting must remain OFF.
80-
81-
## How to encrypt data in transit for NFS shares (preview)
82-
86+
87+
## Encrypt data in transit for NFS shares
88+
89+
You can encrypt data in transit for NFS Azure file shares by using the Azure portal or Azure CLI.
90+
91+
### Encrypt data in transit for NFS shares using the Azure portal
92+
93+
Azure portal offers a step-by-step, ready-to-use installation script tailored to your selected Linux distribution for installing the AZNFS mount helper package. Once installed, you can use the provided AZNFS mount script to securely mount the NFS share, establishing an encrypted transmission channel between the client and the server.
94+
95+
:::image type="content" source="./media/encryption-in-transit-nfs-shares/mount-using-encryption-in-transit.png" alt-text="Screenshot showing AZNFS mount instructions in the Azure portal." lightbox="./media/encryption-in-transit-nfs-shares/mount-using-encryption-in-transit.png":::
96+
97+
Users who prefer to maintain flexibility in having TLS and non-TLS connections on the same storage account should ensure that the *Secure transfer required* setting remains disabled.
98+
99+
### Encrypt data in transit for NFS shares using Azure CLI
100+
83101
Follow these steps to encrypt data in transit:
84-
102+
85103
1. Ensure the required AZNFS mount helper package is installed on the client.
86104
1. Mount the NFS file share with TLS encryption.
87105
1. Verify that the encryption of data succeeded.
@@ -142,17 +160,6 @@ sudo yum install -y aznfs
142160
```
143161
---
144162

145-
> [!IMPORTANT]
146-
>
147-
> AZNFS supported Linux distributions are:
148-
>
149-
> - Ubuntu (18.04 LTS, 20.04 LTS, 22.04 LTS, 24.04 LTS)
150-
> - Centos7, Centos8
151-
> - RedHat7, RedHat8, RedHat9
152-
> - Rocky8, Rocky9
153-
> - SUSE (SLES 15)
154-
> - Oracle Linux
155-
> - Alma Linux
156163

157164
### Step 2: Mount the NFS file share
158165

@@ -190,7 +197,7 @@ To have the share **mounted automatically on reboot**, create an entry in the `/
190197

191198
Run the command `df -Th`.
192199

193-
:::image type="content" source="./media/encryption-in-transit-nfs-shares/powershell-capture.png" alt-text="Diagram showing the Powershell screen to test if EiT is applied." lightbox="./media/encryption-in-transit-nfs-shares/powershell-capture.png":::
200+
:::image type="content" source="./media/encryption-in-transit-nfs-shares/powershell-capture.png" alt-text="Diagram showing the PowerShell screen to test if EiT is applied." lightbox="./media/encryption-in-transit-nfs-shares/powershell-capture.png":::
194201

195202
It indicates that the client is connected through the local port 127.0.0.1, not an external network. The **stunnel** process listens on 127.0.0.1 (localhost) for incoming NFS traffic from the NFS client. Stunnel then **intercepts** this traffic and securely forwards it over **TLS** to the Azure Files NFS server on Azure.
196203

@@ -217,6 +224,8 @@ To resolve this issue, remount the share using the clean option, which immediate
217224
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
218225
```
219226

227+
If a VM is **custom domain joined**, use custom DNS FQDN or short names for file share in `/etc/fstab` as defined in the DNS. To verify the hostname resolution, check using `nslookup <hostname>` and `getent host <hostname>` commands. Before running the mount command, ensure that the environment variable `AZURE_ENDPOINT_OVERRIDE` is set.
228+
220229
If mounting issues continue, check the log files for more troubleshooting details:
221230

222231
- **Mount Helper and Watchdog Logs**: `/opt/microsoft/aznfs/data/aznfs.log`
75.4 KB
Loading

0 commit comments

Comments
 (0)