1 | <samba:parameter name="smb encrypt"
|
---|
2 | context="S"
|
---|
3 | type="enum"
|
---|
4 | enumlist="enum_smb_signing_vals"
|
---|
5 | xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
|
---|
6 | <description>
|
---|
7 | <para>
|
---|
8 | This parameter controls whether a remote client is allowed or required
|
---|
9 | to use SMB encryption. It has different effects depending on whether
|
---|
10 | the connection uses SMB1 or SMB2 and newer:
|
---|
11 | </para>
|
---|
12 |
|
---|
13 | <itemizedlist>
|
---|
14 | <listitem>
|
---|
15 | <para>
|
---|
16 | If the connection uses SMB1, then this option controls the use
|
---|
17 | of a Samba-specific extension to the SMB protocol introduced in
|
---|
18 | Samba 3.2 that makes use of the Unix extensions.
|
---|
19 | </para>
|
---|
20 | </listitem>
|
---|
21 |
|
---|
22 | <listitem>
|
---|
23 | <para>
|
---|
24 | If the connection uses SMB2 or newer, then this option controls
|
---|
25 | the use of the SMB-level encryption that is supported in SMB
|
---|
26 | version 3.0 and above and available in Windows 8 and newer.
|
---|
27 | </para>
|
---|
28 | </listitem>
|
---|
29 | </itemizedlist>
|
---|
30 |
|
---|
31 | <para>
|
---|
32 | This parameter can be set globally and on a per-share bases.
|
---|
33 | Possible values are
|
---|
34 | <emphasis>off</emphasis> (or <emphasis>disabled</emphasis>),
|
---|
35 | <emphasis>enabled</emphasis> (or <emphasis>auto</emphasis>, or
|
---|
36 | <emphasis>if_required</emphasis>),
|
---|
37 | <emphasis>desired</emphasis>,
|
---|
38 | and
|
---|
39 | <emphasis>required</emphasis>
|
---|
40 | (or <emphasis>mandatory</emphasis>).
|
---|
41 | A special value is <emphasis>default</emphasis> which is
|
---|
42 | the implicit default setting of <emphasis>enabled</emphasis>.
|
---|
43 | </para>
|
---|
44 |
|
---|
45 | <variablelist>
|
---|
46 | <varlistentry>
|
---|
47 | <term><emphasis>Effects for SMB1</emphasis></term>
|
---|
48 | <listitem>
|
---|
49 | <para>
|
---|
50 | The Samba-specific encryption of SMB1 connections is an
|
---|
51 | extension to the SMB protocol negotiated as part of the UNIX
|
---|
52 | extensions. SMB encryption uses the GSSAPI (SSPI on Windows)
|
---|
53 | ability to encrypt and sign every request/response in a SMB
|
---|
54 | protocol stream. When enabled it provides a secure method of
|
---|
55 | SMB/CIFS communication, similar to an ssh protected session, but
|
---|
56 | using SMB/CIFS authentication to negotiate encryption and
|
---|
57 | signing keys. Currently this is only supported smbclient of by
|
---|
58 | Samba 3.2 and newer, and hopefully soon Linux CIFSFS and MacOS/X
|
---|
59 | clients. Windows clients do not support this feature.
|
---|
60 | </para>
|
---|
61 |
|
---|
62 | <para>This may be set on a per-share
|
---|
63 | basis, but clients may chose to encrypt the entire session, not
|
---|
64 | just traffic to a specific share. If this is set to mandatory
|
---|
65 | then all traffic to a share <emphasis>must</emphasis>
|
---|
66 | be encrypted once the connection has been made to the share.
|
---|
67 | The server would return "access denied" to all non-encrypted
|
---|
68 | requests on such a share. Selecting encrypted traffic reduces
|
---|
69 | throughput as smaller packet sizes must be used (no huge UNIX
|
---|
70 | style read/writes allowed) as well as the overhead of encrypting
|
---|
71 | and signing all the data.
|
---|
72 | </para>
|
---|
73 |
|
---|
74 | <para>
|
---|
75 | If SMB encryption is selected, Windows style SMB signing (see
|
---|
76 | the <smbconfoption name="server signing"/> option) is no longer
|
---|
77 | necessary, as the GSSAPI flags use select both signing and
|
---|
78 | sealing of the data.
|
---|
79 | </para>
|
---|
80 |
|
---|
81 | <para>
|
---|
82 | When set to auto or default, SMB encryption is offered, but not
|
---|
83 | enforced. When set to mandatory, SMB encryption is required and
|
---|
84 | if set to disabled, SMB encryption can not be negotiated.
|
---|
85 | </para>
|
---|
86 | </listitem>
|
---|
87 | </varlistentry>
|
---|
88 |
|
---|
89 | <varlistentry>
|
---|
90 | <term><emphasis>Effects for SMB2</emphasis></term>
|
---|
91 | <listitem>
|
---|
92 | <para>
|
---|
93 | Native SMB transport encryption is available in SMB version 3.0
|
---|
94 | or newer. It is only offered by Samba if
|
---|
95 | <emphasis>server max protocol</emphasis> is set to
|
---|
96 | <emphasis>SMB3</emphasis> or newer.
|
---|
97 | Clients supporting this type of encryption include
|
---|
98 | Windows 8 and newer,
|
---|
99 | Windows server 2012 and newer,
|
---|
100 | and smbclient of Samba 4.1 and newer.
|
---|
101 | </para>
|
---|
102 |
|
---|
103 | <para>
|
---|
104 | The protocol implementation offers various options:
|
---|
105 | </para>
|
---|
106 |
|
---|
107 | <itemizedlist>
|
---|
108 | <listitem>
|
---|
109 | <para>
|
---|
110 | The capability to perform SMB encryption can be
|
---|
111 | negotiated during protocol negotiation.
|
---|
112 | </para>
|
---|
113 | </listitem>
|
---|
114 |
|
---|
115 | <listitem>
|
---|
116 | <para>
|
---|
117 | Data encryption can be enabled globally. In that case,
|
---|
118 | an encryption-capable connection will have all traffic
|
---|
119 | in all its sessions encrypted. In particular all share
|
---|
120 | connections will be encrypted.
|
---|
121 | </para>
|
---|
122 | </listitem>
|
---|
123 |
|
---|
124 | <listitem>
|
---|
125 | <para>
|
---|
126 | Data encryption can also be enabled per share if not
|
---|
127 | enabled globally. For an encryption-capable connection,
|
---|
128 | all connections to an encryption-enabled share will be
|
---|
129 | encrypted.
|
---|
130 | </para>
|
---|
131 | </listitem>
|
---|
132 |
|
---|
133 | <listitem>
|
---|
134 | <para>
|
---|
135 | Encryption can be enforced. This means that session
|
---|
136 | setups will be denied on non-encryption-capable
|
---|
137 | connections if data encryption has been enabled
|
---|
138 | globally. And tree connections will be denied for
|
---|
139 | non-encryption capable connections to shares with data
|
---|
140 | encryption enabled.
|
---|
141 | </para>
|
---|
142 | </listitem>
|
---|
143 | </itemizedlist>
|
---|
144 |
|
---|
145 | <para>
|
---|
146 | These features can be controlled with settings of
|
---|
147 | <emphasis>smb encrypt</emphasis> as follows:
|
---|
148 | </para>
|
---|
149 |
|
---|
150 | <itemizedlist>
|
---|
151 | <listitem>
|
---|
152 | <para>
|
---|
153 | Leaving it as default, explicitly setting
|
---|
154 | <emphasis>default</emphasis>, or setting it to
|
---|
155 | <emphasis>enabled</emphasis> globally will enable
|
---|
156 | negotiation of encryption but will not turn on
|
---|
157 | data encryption globally or per share.
|
---|
158 | </para>
|
---|
159 | </listitem>
|
---|
160 |
|
---|
161 | <listitem>
|
---|
162 | <para>
|
---|
163 | Setting it to <emphasis>desired</emphasis> globally
|
---|
164 | will enable negotiation and will turn on data encryption
|
---|
165 | on sessions and share connections for those clients
|
---|
166 | that support it.
|
---|
167 | </para>
|
---|
168 | </listitem>
|
---|
169 |
|
---|
170 | <listitem>
|
---|
171 | <para>
|
---|
172 | Setting it to <emphasis>required</emphasis> globally
|
---|
173 | will enable negotiation and turn on data encryption
|
---|
174 | on sessions and share connections. Clients that do
|
---|
175 | not support encryption will be denied access to the
|
---|
176 | server.
|
---|
177 | </para>
|
---|
178 | </listitem>
|
---|
179 |
|
---|
180 | <listitem>
|
---|
181 | <para>
|
---|
182 | Setting it to <emphasis>off</emphasis> globally will
|
---|
183 | completely disable the encryption feature.
|
---|
184 | </para>
|
---|
185 | </listitem>
|
---|
186 |
|
---|
187 | <listitem>
|
---|
188 | <para>
|
---|
189 | Setting it to <emphasis>desired</emphasis> on a share
|
---|
190 | will turn on data encryption for this share for clients
|
---|
191 | that support encryption if negotiation has been
|
---|
192 | enabled globally.
|
---|
193 | </para>
|
---|
194 | </listitem>
|
---|
195 |
|
---|
196 | <listitem>
|
---|
197 | <para>
|
---|
198 | Setting it to <emphasis>required</emphasis> on a share
|
---|
199 | will enforce data encryption for this share if
|
---|
200 | negotiation has been enabled globally. I.e. clients that
|
---|
201 | do not support encryption will be denied access to the
|
---|
202 | share.
|
---|
203 | </para>
|
---|
204 | <para>
|
---|
205 | Note that this allows per-share enforcing to be
|
---|
206 | controlled in Samba differently from Windows:
|
---|
207 | In Windows, <emphasis>RejectUnencryptedAccess</emphasis>
|
---|
208 | is a global setting, and if it is set, all shares with
|
---|
209 | data encryption turned on
|
---|
210 | are automatically enforcing encryption. In order to
|
---|
211 | achieve the same effect in Samba, one
|
---|
212 | has to globally set <emphasis>smb encrypt</emphasis> to
|
---|
213 | <emphasis>enabled</emphasis>, and then set all shares
|
---|
214 | that should be encrypted to
|
---|
215 | <emphasis>required</emphasis>.
|
---|
216 | Additionally, it is possible in Samba to have some
|
---|
217 | shares with encryption <emphasis>required</emphasis>
|
---|
218 | and some other shares with encryption only
|
---|
219 | <emphasis>desired</emphasis>, which is not possible in
|
---|
220 | Windows.
|
---|
221 | </para>
|
---|
222 | </listitem>
|
---|
223 |
|
---|
224 | <listitem>
|
---|
225 | <para>
|
---|
226 | Setting it to <emphasis>off</emphasis> or
|
---|
227 | <emphasis>enabled</emphasis> for a share has
|
---|
228 | no effect.
|
---|
229 | </para>
|
---|
230 | </listitem>
|
---|
231 | </itemizedlist>
|
---|
232 | </listitem>
|
---|
233 | </varlistentry>
|
---|
234 | </variablelist>
|
---|
235 | </description>
|
---|
236 |
|
---|
237 | <value type="default">default</value>
|
---|
238 | </samba:parameter>
|
---|