The Basics of SMB Signing (covering both SMB1 and SMB2) (2024)

SMB Signing Overview

Ref article: https://blogs.technet.microsoft.com/josebda/2010/12/01/the-basics-of-smb-signing-covering-both-smb1-and-smb2/

Server Message Block (SMB) is the file protocol most commonly used by Windows. SMB Signing is a feature through which communications using SMB can be digitally signed at the packet level. Digitally signing the packets enables the recipient of the packets to confirm their point of origination and their authenticity. This security mechanism in the SMB protocol helps avoid issues like tampering of packets and “man in the middle” attacks.

SMB signing is available in all currently supported versions of Windows, but it’s only enabled by default on Domain Controllers. This is recommended for Domain Controllers because SMB is the protocol used by clients to download Group Policy information. SMB signing provides a way to ensure that the client is receiving genuine Group Policy.

SMB signing was introduced in Windows 2000 (at the time it was also ported back to Microsoft Windows NT 4.0 and Microsoft Windows 98). With the introduction of SMB2 in Windows Vista and Windows Server 2008, signing was improved by using a new hashing algorithm (HMAC SHA-256 replaced the old MD5). At that time, the settings were updated to simplify configuration and interoperability (you can find details later in the post). Another important improvement in SMB2 signing is performance. In SMB1, enabling signing significantly decreases performance, especially when going across a WAN. If using SMB2 plus signing with a1GbE network and a modern CPU, there is limited degradation in performance as compared to SMB1. If using a faster network (like10GbE), the performance impact of signing will be greater.

SMB1 Signing Configuration and Defaults

There are two main ways to configure signing for SMB1 clients and SMB1 servers. The easier one is set a Group Policy to configure it. This is, for instance, how domain controllers are configured by default to require signing. The other way to do it is using registry settings. On each side (SMB1 client and SMB1 server), SMB1 Signing can be set to be “Required”, “Enabled” or “Disabled”.

Here’s a summary of the SMB1 Client signing settings:

SettingGroup Policy SettingRegistry Keys
RequiredDigitally sign communications (always) – EnabledRequireSecuritySignature = 1
Enabled*Digitally sign communications (if server agrees) – EnabledEnableSecuritySignature = 1, RequireSecuritySignature = 0
DisabledDigitally sign communications (if server agrees) – DisabledEnableSecuritySignature = 0, RequireSecuritySignature = 0

Here’s a summary of SMB1 Server signing settings:

SettingGroup Policy SettingRegistry Keys
Required***Digitally sign communications (always) – EnabledRequireSecuritySignature = 1
EnabledDigitally sign communications (if client agrees) – EnabledEnableSecuritySignature = 1, RequireSecuritySignature = 0
Disabled **Digitally sign communications (if client agrees) – DisabledEnableSecuritySignature = 0, RequireSecuritySignature = 0

* The default setting for signing on SMB1 Clients is “Enabled”.
** The default setting for signing on SMB1 Servers is “Disabled”.
*** The default setting for signing on Domain Controllers (defined via Group Policy) is “Required”.

The Group Policy settings are found under Computer ConfigurationWindows SettingsSecurity SettingsLocal PoliciesSecurity Options.
Client registry keys are stored under HKEY_LOCAL_MACHINESystemCurrentControlSetServicesLanmanWorkStationParameters.
Server registry keys are stored under HKEY_LOCAL_MACHINESystemCurrentControlSetServicesLanmanServerParameters.
All registry keys are of type DWORD.

SMB2 Signing Configuration and Defaults

SMB2 simplified this configuration by having only one setting: whether signing was required or not. This can be configured via Group Policy or registry setting, on SMB2 clients and SMB2 servers. On each side, signing can be set to be “Required” or “Not Required”.

Here’s a summary of the SMB2 client and SMB2 server signing settings:

SettingGroup Policy SettingRegistry Key
Required *Digitally sign communications (always) – EnabledRequireSecuritySignature = 1
Not Required **Digitally sign communications (always) – DisabledRequireSecuritySignature = 0

* The default setting for signing on a Domain Controller (defined via Group Policy) is “Required”.
** The default setting for signing on SMB2 Servers and SMB Clients is “Not Required”.

The Group Policy setting is found under Computer ConfigurationWindows SettingsSecurity SettingsLocal PoliciesSecurity Options.
Client registry key is stored under HKEY_LOCAL_MACHINESystemCurrentControlSetServicesLanmanWorkStationParameters.
Server registry key is stored under HKEY_LOCAL_MACHINESystemCurrentControlSetServicesLanmanServerParameters.
All registry keys are of type DWORD.

SMB Signing Effective Behavior

There is a negotiation done between the SMB client and the SMB server to decide whether signing will effectively be used.

Here’s a summary of the effective behavior for SMB2:

Server – RequiredServer – Not Required
Client – RequiredSignedSigned
Client – Not RequiredSigned*Not Signed**

Here’s a summary of the effective behavior for SMB1 in current versions of Windows:

Server – RequiredServer – EnabledServer – Disabled
Client – RequiredSignedSignedSigned
Client – EnabledSigned*SignedNot signed**
Client – DisabledSignedNot SignedNot Signed

* Default for Domain Controller SMB traffic.
** Default for all other SMB traffic.

Older SMB1 Signing Behavior

A common source of confusion around SMB1 signing is the fact that older versions of Windows had a different signing behavior. That behavior was changed in 2008 to match the behavior of Windows Server 2008 and Windows Vista as documented at http://support.microsoft.com/kb/950876. Here’s a summary of the effective behavior for early versions of Windows Server 2003 and Windows XP (or older):

Old Server – RequiredOld Server – EnabledOld Server – Disabled
Old Client – RequiredSignedSignedFails to connect
Old Client – EnabledSigned*SignedNot signed**
Old Client – DisabledFails to connectNot SignedNot Signed

* Default for Domain Controller SMB1 traffic.
** Default for all other SMB1 traffic.

If you have an old SMB1 server or old SMB1 client, you should have it patched or updated to remove the possibility of failures to connect in a misconfigured environment.

Changing the SMB signing behavior

In general, it is recommended that you keep the default SMB signing settings. However, customers sometimes want to reconfigure SMB signing in specific situations. For instance, the customer could have the need to:

  • Increase SMB performance in Domain Controllers. It’s true that SMB signing will require additional processing for hash calculation, so you could increase a domain controller SMB performance by disabling the “Required” setting on Domain Controllers. However, we strongly discourage changing the default, since it will also expose your Group Policy to tampering and man-in-the-middle attacks.
  • Allow the use of WAN ‘optimization’ devices to speed up traffic SMB traffic between branch offices and head office by disabling the “Required” setting on Domain Controllers. Again, you’re trading performance for security. Although these devices could be legitimate, they essentially behave as a broker and would be in the position to relay obsolete group policy settings or even tampered ones (if compromised).
  • Increase the security for SMB clients or SMB servers that are not Domain Controllers. By enabling the “Required” setting on SMB clients or SMB server, you could force all SMB traffic to be signed. Signing all SMB traffic is not recommended because it will require additional processing (for hash calculation) and will decrease SMB performance.

If you decide that you must change the SMB signing settings, the recommendation is to use the “Digitally sign communications (always)” Group Policy setting. If you cannot do it via Group Policy, you could use the “RequireSecuritySignature” registry setting.

IMPORTANT: We no longer recommend using “Digitally sign communications (if client agrees)” or “Digitally sign communications (if server agrees)” Group Policy settings. We also no longer recommend using the “EnableSecuritySignature” registry settings. These options, which only affect the SMB1 behavior, can be effectively replaced by the “Digitally sign communications (always)” Group Policy setting or the “RequireSecuritySignature” registry setting.

You can set the SMB signing status via Group Policy; it’s under Computer Configuration, Windows Settings, Security Settings, Local Policies, and Security Option. Look for policies named “Microsoft network client: Digitally sign communications.” Read the voluminous “explain” text for these settings to gain a deeper understanding of each one; check out Jesper Johansson’s interesting article on TechNet titled “How to Shoot Yourself in the Foot with Security;” and if you are going to require SMB signing on your network, plan to do some thorough testing to make sure the change doesn’t create performance or compatibility problems.

References

Here are a few Knowledge Base articles (support) and TechNet articles that provide additional details on SMB signing. Please be careful interpreting these references, since some of them refer to the older SMB1 behavior.

P.S.: A quick note on SMB3

While there are changes in the crypto used in SMB3 for signing (SMB3uses AES-CMAC for signing instead of HMAC SHA-256 in SMB2), the overall SMB2 behavior described in this blog also applies to SMB3.

P.P.S.: A note from Ned Pyle on 05/09/2017

Security is about security – either you want it or you don’t. Performance is irrelevant if security is paramount, and the penalty of app/transport protocols security is performance. Signing has been superseded by encryption in SMB 5 years ago, in case you are not fully up to speed on the options yet. Encryption performance in SMB 3.1.1 (Windows 10, Windows Server 2016) is actually much better than signing performance, and of course is much more secure.

You should review:

The Basics of SMB Signing (covering both SMB1 and SMB2) (2024)
Top Articles
Top Forex Academy: Financial education and FX brokers reviews - TopForex.Trade
Do You Pay Capital Gains Taxes on Property You Inherit?
Sdn Md 2023-2024
San Angelo, Texas: eine Oase für Kunstliebhaber
Play FETCH GAMES for Free!
Part time Jobs in El Paso; Texas that pay $15, $25, $30, $40, $50, $60 an hour online
Owatc Canvas
2022 Apple Trade P36
Irving Hac
Fcs Teamehub
270 West Michigan residents receive expert driver’s license restoration advice at last major Road to Restoration Clinic of the year
What Happened To Father Anthony Mary Ewtn
Devourer Of Gods Resprite
Locate Td Bank Near Me
U.S. Nuclear Weapons Complex: Y-12 and Oak Ridge National Laboratory…
R Tiktoksweets
Yesteryear Autos Slang
What Is Njvpdi
Https //Advanceautoparts.4Myrebate.com
Top tips for getting around Buenos Aires
Jayah And Kimora Phone Number
Curver wasmanden kopen? | Lage prijs
Busted Campbell County
Providence Medical Group-West Hills Primary Care
Baja Boats For Sale On Craigslist
Japanese Mushrooms: 10 Popular Varieties and Simple Recipes - Japan Travel Guide MATCHA
Dewalt vs Milwaukee: Comparing Top Power Tool Brands - EXTOL
Dr. Nicole Arcy Dvm Married To Husband
'Insidious: The Red Door': Release Date, Cast, Trailer, and What to Expect
O'reilly's In Mathis Texas
O'reilly's In Monroe Georgia
Astro Seek Asteroid Chart
Log in or sign up to view
Ff14 Laws Order
Napa Autocare Locator
Shiftwizard Login Johnston
Is Arnold Swansinger Married
Barber Gym Quantico Hours
Kerry Cassidy Portal
What Is Kik and Why Do Teenagers Love It?
Hireright Applicant Center Login
Shane Gillis’s Fall and Rise
Noaa Duluth Mn
Lonely Wife Dating Club בקורות וחוות דעת משתמשים 2021
Lake Kingdom Moon 31
Martha's Vineyard – Travel guide at Wikivoyage
60 Days From May 31
Yale College Confidential 2027
Flappy Bird Cool Math Games
Senior Houses For Sale Near Me
Bedbathandbeyond Flemington Nj
Divisadero Florist
Latest Posts
Article information

Author: Catherine Tremblay

Last Updated:

Views: 6193

Rating: 4.7 / 5 (47 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Catherine Tremblay

Birthday: 1999-09-23

Address: Suite 461 73643 Sherril Loaf, Dickinsonland, AZ 47941-2379

Phone: +2678139151039

Job: International Administration Supervisor

Hobby: Dowsing, Snowboarding, Rowing, Beekeeping, Calligraphy, Shooting, Air sports

Introduction: My name is Catherine Tremblay, I am a precious, perfect, tasty, enthusiastic, inexpensive, vast, kind person who loves writing and wants to share my knowledge and understanding with you.