[Eisfair_dev] [e1] Samba 3.1.1 (Status 'unstable')

Thomas Bork tom at eisfair.org
Fr Mär 31 23:10:25 CEST 2017


Am 30.03.2017 um 11:40 schrieb Marcus Roeckrath:

> Einige Beobachtungen zum Passworthandling, wie ich es beim Wechsel der
> Option von no auf yes und umgekehrt beobachtet habe; Passwortdatei mit
> pdbedit -LW ausgelesen:
>
> Bei gesetzten LM-Passwörtern und SAMBA_COMPAT=no:
>
> user:2001:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:E........
> [UX         ]:LCT-58DCCB60:
>
> Auf SAMBA_COMPAT=yes erscheinen die LM-Passwörter wieder:
>
> user:2001:9....:E...:[UX         ]:LCT-58DCCB60:
>
> Wenn ich aber bei SAMBA_COMPAT=no einmalig als user eine Verbindung aufbaue,
> bleibt auch nach Rückstellen auf SAMBA_COMPAT=yes, dass LM-Passwortfeld
> ausgei-x-t:
>
> user:2001:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:E........
> [UX         ]:LCT-58DCCB60:
>
> Nach Neueingabe des Passworts für den Samba-User im
> eisfair-Samda-User-Menupunkt, erscheint das LM-Passwort wieder:
>
> marcus:2001:9...:E...:[UX         ]:LCT-58DCD1FF:

Ich schrieb in unserer internen ML:

###################################
Wenn SAMBA_COMPAT gesetzt ist, werden folgende Optionen in der smb.conf 
gesetzt:

if [ "$SAMBA_COMPAT" = "yes" ]
then
     # compatibility with older servers
     echo " lanman auth = yes"
     echo " client lanman auth = yes"
     echo " client plaintext auth = yes"
     echo " client ntlmv2 auth = no"
     # 4.3
     echo " require strong key = no"
     # 4.3 compatibility with older clients
     echo " allow nt4 crypto = yes"
     # 4.6
     echo " client ipc signing = auto"
     echo " ntlm auth = yes"
     echo " raw ntlmv2 auth = yes"
     echo " client use spnego = no"
fi

Vorher wurden folgende Optionen immer gesetzt:

# compatibility with older servers
echo " lanman auth = yes"
echo " client lanman auth = yes"
echo " client plaintext auth = yes"
echo " client ntlmv2 auth = no"
# 4.3
echo " require strong key = no"
# 4.3 compatibility with older clients
echo " allow nt4 crypto = yes"

Vor allem 'lanman auth' ist ein kritischer Kandidat. Gibt es in der 
Samba-Passwort-Datenbank ein Lanman-Passwort (LM), ist 'lanman auth = 
no' und wird das Samba-Passwort geändert, so wird das das 
Lanman-Passwort gelöscht und es existiert nur noch ein NTLM-Passwort.

Damit ist dann von einem alten Client keine Anmeldung mehr möglich, wenn 
der nur LM kann, bis wieder 'lanman auth = yes' und das Samba-Passwort 
gesetzt wurde.

Eventuell muss ich SAMBA_COMPAT also wie folgt abändern:

...
# compatibility with older servers
echo " lanman auth = yes"
echo " client lanman auth = yes"
echo " client plaintext auth = yes"
echo " client ntlmv2 auth = no"
# 4.3
echo " require strong key = no"
# 4.3 compatibility with older clients
echo " allow nt4 crypto = yes"

if [ "$SAMBA_COMPAT" = "yes" ]
then
     # 4.6
     echo " client ipc signing = auto"
     echo " ntlm auth = yes"
     echo " raw ntlmv2 auth = yes"
     echo " client use spnego = no"
fi
...

Ich wollte aber eigentlich von endlich mal von den unsicheren 
Einstellungen weg...

client ipc signing (G)

     This controls whether the client is allowed or required to use
     SMB signing for IPC$ connections as DCERPC transport. Possible
     values are auto, mandatory and disabled.

     When set to mandatory or default, SMB signing is required.

     When set to auto, SMB signing is offered, but not enforced and
     if set to disabled, SMB signing is not offered either.

     Connections from winbindd to Active Directory Domain Controllers
     always enforce signing.

     Default: client ipc signing = default

   raw NTLMv2 auth (G)

     This parameter determines whether or not smbd(8) will allow SMB1 
clients
     without extended security (without SPNEGO) to use NTLMv2 
authentication.

     If this option, lanman auth and ntlm auth are all disabled, then only
     clients with SPNEGO support will be permitted. That means NTLMv2 is 
only
     supported within NTLMSSP.

     Default: raw NTLMv2 auth = no

o  The following constraints are applied to SMB1 connections:

    - "client lanman auth = yes" is now consistently
      required for authenticated connections using the
      SMB1 LANMAN2 dialect.
    - "client ntlmv2 auth = yes" and "client use spnego = yes"
      (both the default values), require extended security (SPNEGO)
      support from the server. That means NTLMv2 is only used within
      NTLMSSP.

NTLMv1 authentication disabled by default
-----------------------------------------

In order to improve security we have changed
the default value for the "ntlm auth" option from
"yes" to "no". This may have impact on very old
clients which doesn't support NTLMv2 yet.

The primary user of NTLMv1 is MSCHAPv2 for VPNs and 802.1x.

By default, Samba will only allow NTLMv2 via NTLMSSP now,
as we have the following default "lanman auth = no",
"ntlm auth = no" and "raw NTLMv2 auth = no".
###################################

Hast Du einen Vorschlag, wie ich von den unsicheren Voreinstellungen weg 
komme, ohne Probleme zu bereiten?

-- 
der tom
[eisfair-team]


Mehr Informationen über die Mailingliste Eisfair_dev