Disabling SMB1 by default

Tom Talpey ttalpey at microsoft.com
Tue Jun 20 15:49:02 UTC 2017

> -----Original Message-----
> From: samba-technical [mailto:samba-technical-bounces at lists.samba.org] On
> Behalf Of David Mulder via samba-technical
> Sent: Tuesday, June 20, 2017 5:18 AM
> To: Andreas Hasenack <andreas at canonical.com>
> Cc: Stefan Metzmacher <metze at samba.org>; samba-
> technical at lists.samba.org; Jeremy Allison <jra at samba.org>; Andrew Bartlett
> <abartlet at samba.org>
> Subject: Re: Disabling SMB1 by default
> The negotiate always begins with an SMB1 negotiate, and indicates
> whether SMB2+ is supported (this is called a multi-protocol negotiate).
> So, it doesn't work that way. If you disable SMB1, then it starts with
> SMB2+ negotiate. It doesn't 'fallback' to previous versions, it starts

Incorrect, there are two flavors of negotiate, the downward-compatible SMB1-style,
and the SMB2-only style. The style is chosen by the client, and typically if SMB1 is
not supported there, the SMB2-only style will be sent.

The server then selects the highest mutually-supported dialect, and responds. If
the selected dialect is SMB1, the SMB1 negotiate response is sent. If SMB2, the
SMB2 negotiate response is sent.

The risk of supporting SMB1 in the client is that a MTIM can simply downgrade
the connection to the vulnerable SMB1 flavors, even when the connection would
support a higher version. So, completely disabling the SMB1 support in the client
is strongly recommended.

> at the lowest supported and moves up. That's how the protocol is defined.

Again, not exactly. Servers simply select the highest mutually supported dialect.
There is no "move up" or "move down", SMB2_NEGOTIATE is a single exchange.

The protocol specification is here:


> So, enabling SMB3 by default will allow clients to negotiate up to SMB3
> if supported, but will also continue to support older versions.
> On 06/20/2017 06:01 AM, Andreas Hasenack via samba-technical wrote:
> > On Mon, Jun 19, 2017 at 8:14 PM, Jeremy Allison <jra at samba.org> wrote:
> >
> >> On Tue, Jun 20, 2017 at 10:20:07AM +1200, Andrew Bartlett via
> >> samba-technical wrote:
> >>> On Mon, 2017-06-19 at 15:39 +0200, Stefan Metzmacher via samba-
> >>> technical wrote:
> >>>> Hi Andreas,
> >>>>
> >>>>> we recently had a bug filed against Ubuntu [1] requesting that we
> >> disable
> >>>>> the SMB1 protocol by default. That is part of a larger campaign [2]
> >> to get
> >>>>> rid of SMB1 entirely.
> >>>>>
> >>>>> Has there been any discussion among Samba developers to change the
> >> default
> >>>>> client and server min protocol level to SMB2? Would you consider
> >> making
> >>>>> such a change?
> >>>> We're recently discussed changing 'client max protocol = SMB3' so
> >>>> that smbclient and other utilities work against servers
> >>>> with disabled SMB1 by default.
> >>>>
> >>>> We hope to get this into 4.7, but there's only about 3 weeks
> >>>> left to make this change (until 4.7.0rc1 is branched from master),
> >>>> so it's not sure if such a change will make it into 4.7.0 (released
> >>>> in September).
> >>> I had the dates as giving us 2 weeks.  Yes, there isn't much time.
> >> Yeah, that's too short a time to do anything really. IMHO we
> >> just need to help people on the list to turn what they can
> >> off themselves for now, and work on how to do the migration
> >> properly over the next year or so.
> >>
> >
> > What is the big issue with allowing the client to try SMB3 first? Won't it
> > fallback to SMB2, then NT1, and so on?
> >
> > Won't many server admins have disabled SMB1 in their windows servers after
> > the wannacry attack?
> >
> --
> David Mulder
> SUSE Labs Software Engineer - Samba
> dmulder at suse.com
> SUSE Linux GmbH, GF: Felix Imend├Ârffer, Jane Smithard, Graham Norton, HRB
> 21284 (AG N├╝rnberg)

More information about the samba-technical mailing list