Skip to content

Network File System Security Overview: Securing SMB3

Steven French

Blue TeamThe Linux Foundation41 minAdvancedOpen on YouTube ↗

Provides network File System Security Overview: Securing SMB3 and evaluates key implications for security practitioners.

Summary

### Overview Steve French, author and maintainer of the Linux CIFS client, Samba team member, and principal software engineer in Azure Storage at Microsoft, presents an overview of network file system security focusing on SMB3 (specifically SMB 3.1.1). French highlights why network file systems remain essential: they represent a functional superset of block and object storage, providing richer metadata, owner identification, access patterns, and simplified administration for quotas, compression, encryption, and backup. While historically hindered by performance bottlenecks, modern network file systems with RDMA and fast hardware encryption can reach 80–90% of block storage performance. The talk explores key security pillars—authentication, identity mapping, encryption, access control, and transport evolution—with particular attention to Linux kernel challenges.

### Key Topics - **Evolution and Architecture:** Surviving 36 years alongside NFS since 1984, SMB 3.1.1 offers massive protocol scope, comprehensive documentation, and direct transport mapping over TCP, RDMA, or QUIC without relying on SunRPC layers. - **Authentication and Session Security:** SMB3 encapsulates Kerberos inside SPNEGO tokens, protecting negotiation and session setup against man-in-the-middle tampering via pre-authentication integrity checks before initiating encrypted transport. - **Identity Mapping Challenges:** Posix Linux systems depend on 32-bit local UIDs, while SMB uses globally unique SIDs. Bridging this gap relies primarily on RFC 2307 (LDAP), winbind, or SSSD, but Linux lacks a standardized PAM/NSS API to seamlessly map across UIDs, names, SIDs, and OIDs. - **Access Control & Semantic Mismatches:** Linux relies on primitive mode bits (12 flags) and basic POSIX ACLs lacking deny ACEs. SMB3 supports rich ACLs and claims-based DACLs (allowing boolean conditions based on device status or location). Translating these semantics causes friction, notably around deletion rights (Linux parent directory checks vs. SMB object-level delete permissions). - **Encryption & RDMA:** Hardware-accelerated AES-128-GCM provides roughly a 5x processing speedup for large client I/O over AES-CCM, with AES-256-GCM and AES-GMAC signing emerging. RDMA encryption and signing further enhance throughput. - **Overcoming ISP Port 445 Blocking via QUIC:** Many ISPs and networks block TCP port 445. SMB over QUIC addresses this by leveraging UDP, zero-head-of-line blocking, and fast TLS 1.3 handshakes. However, Linux currently lacks an in-kernel QUIC driver, as existing implementations (like msquic) reside in user space.

### Technical Details - **Integrity & Pre-Auth:** smb311 enforces mandatory negotiate contexts to protect the handshake. Integrity verification guarantees neither negotiate protocol nor session setup packets were modified. - **Security Labels & SELinux:** While NFS 4.2 supports client-enforced labeled NFS (RFC 7504), SMB3 can leverage extended attributes (xattrs) and alternate data streams, but formal protocol-level support for SELinux `sec_label` semantics remains an open goal. - **Data Integrity:** Ext4 uses fs-verity; SMB similarly provides `FILE_ATTRIBUTE_INTEGRITY_STREAM` and `FILE_ATTRIBUTE_NO_SCRUB_DATA`, which could be exposed via Linux extended stat (`statx`).

### Takeaways To keep network file systems safe, performant, and practical across clouds and hostile networks, Linux and security developers must collaborate on standardized cross-identity APIs (mapping names, UIDs, SIDs, and OIDs), evaluate alternatives to Kerberos (such as OAuth via SPNEGO), standardize rich ACL interfaces, and drive an in-kernel QUIC transport driver into Linux.

Related talks