binarybear
Goto Top

Samba-ActiveDirectory DomainController und Freeradius funktioniert nicht mehr seit Neuinstallation

Guten Abend,

ich versuche nun seit einigen Wochen ein funktionierendes ActiveDirectory für meine Windows-Geräte aufzusetzen. Zusätzlich möchte ich auch WLAN-Nutzer mit den AD-Anmeldedaten authentifizieren.
Ich habe mit einer frischen Installation von Debian 9.1 angefangen, wo lediglich ein SSH-Server vorinstalliert war.

apt install libkrb5-3 krb5-user samba winbind ntp libnss-winbind libpam-winbind freeradius freeradius-common freeradius-krb5 freeradius-utils
Bei der Installation musste ich für Keberos die Daten eintragen Domäne binary.local, Admin-Server vmbian1.binary.local. An der Konfig-Datei habe ich nichts geändert.

samba-tool domain provision --use-rfc2307 --interactive
Auch hier habe ich BINARY als Domäne und BINARY.local als Realm angegeben. Ich habe vorher die smb.conf gelöscht, weil das Tool sonst meckert und genau das verlangt.

Kinit funktioniert soweit auch korrekt, ich kann der Domäne auch mit Windows XP und Windows 10 Clients joinen. NTLM_Auth (ntlm_auth --username=Administrator) gibt mir auch einen [I]Success (0x0)[I] zurück.
Einziger Fehler ist, dass Samba nicht beim Start mitstartet, so wie es damals bei meinem Debian8-DC war, weswegen dann ein Reading Winbind replay failed (0x1) kommt. Ich muss also erst einmal samba eintippen, der Service funktioniert scheinbar auch nicht, da sudo service samba-ad-dc restart angeblich maskiert ist.
Nur jetzt kommt der Teil, den ich nicht mehr verstehe:

Folglich habe ich ersteinmal die Zeile in /etc/freeradius/3.0/mods-enabled/ntlm_auth angepasst
program = /usr/bin/ntlm_auth --request-nt-key --domain=BINARY --username=%{mschapUser-Name} --password=%{User-Password}

In der /etc/freeradius/3.0/mods-enabled/mschap habe ich nur den Pfad korrekt eingetragen
ntlm_auth = /usr/bin/ntlm_auth --request-nt-key --username=%{%{Stripped-User-Name}-%{%{User-Name}-None}} --challenge=%{%{mschapChallenge}-00} --nt-response=%{%{mschapNT-Response}-00}

ntlm_auth unter authenticate { in die /etc/freeradius/3.0/sites-enabled/default sowie inner-tunnel gepackt. In die /etc/freeradius/3.0/users habe ich dann NTLM-Auth als Default gesetzt:
DEFAULT Auth-Type = ntlm_auth

Soweit funktioniert eine "normale" radtest-Abfrage:
radtest Administrator Passwort 127.0.0.1 1812 testing123

Ein Test mit MSCHAP liefert dann aber entsprechend einen Fehler:
(0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(0)   authenticate {
(0) mschap: Client is using MS-CHAPv1 with NT-Password
(0) mschap: Executing: /usr/bin/ntlm_auth --request-nt-key --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}} --challenge=%{%{mschap:Challenge}:-00} --nt-response=%{%{mschap:NT-Response}:-00}:
(0) mschap: EXPAND --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}}
(0) mschap:    --> --username=Administrator
(0) mschap: mschap1: d8
(0) mschap: EXPAND --challenge=%{%{mschap:Challenge}:-00}
(0) mschap:    --> --challenge=d8dc53f0d3ee24ce
(0) mschap: EXPAND --nt-response=%{%{mschap:NT-Response}:-00}
(0) mschap:    --> --nt-response=41c5e921fe68049697686b8c61a002b3ec9dae84aab362d1
(0) mschap: ERROR: Program returned code (1) and output 'Reading winbind reply failed! (0xc0000001)' 
(0) mschap: External script failed
(0) mschap: ERROR: External script says: Reading winbind reply failed! (0xc0000001)
(0) mschap: ERROR: MS-CHAP2-Response is incorrect
(0)     [mschap] = reject

Damit das funktioniert muss man anscheinend den Zugriff auf winbind freigeben. Dies hat nicht hingehauen, weswegen ich testweise mal ein chmod 777 nachgeschoben habe, vielleicht liegt ja hier der Fehler.
usermod -a -G winbindd_priv freerad 
chown rootwinbindd_priv /var/lib/samba/winbindd_privileged
chmod 777 /var/lib/samba/winbindd_privileged

Wenn ich nun via Freeradius jemanden Authentifizieren möchte kommt im Debug-Modus von Freeradius grundsätzlich ein Authentication Failure, worin gesagt wird dass die MSCHAPv2-Response falsch ist.

(0)   authenticate {
(0) mschap: Client is using MS-CHAPv1 with NT-Password
(0) mschap: Executing: /usr/bin/ntlm_auth --request-nt-key --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}} --challenge=%{%{mschap:Challenge}:-00} --nt-response=%{%{mschap:NT-Response}:-00}:
(0) mschap: EXPAND --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}}
(0) mschap:    --> --username=Administrator
(0) mschap: mschap1: 1e
(0) mschap: EXPAND --challenge=%{%{mschap:Challenge}:-00}
(0) mschap:    --> --challenge=1e9604f6a82621bc
(0) mschap: EXPAND --nt-response=%{%{mschap:NT-Response}:-00}
(0) mschap:    --> --nt-response=47ebdc211b7148fbb2ce54f60c0d4b3acad9fcf3758289d0
(0) mschap: ERROR: Program returned code (1) and output 'Logon failure (0xc000006d)' 
(0) mschap: External script failed
(0) mschap: ERROR: External script says: Logon failure (0xc000006d)
(0) mschap: ERROR: MS-CHAP2-Response is incorrect
(0)     [mschap] = reject

Wo liegt mein Fehler im Punkto Freeradius und MSCHAP?

Content-Key: 351171

Url: https://administrator.de/contentid/351171

Printed on: April 24, 2024 at 22:04 o'clock

Member: Looser27
Looser27 Oct 11, 2017 at 07:24:04 (UTC)
Goto Top
Moin,

hier ist eine Anleitung, die zwar die Anbindung an ein MS-AD beschreibt, doch das sollte mit Deinem Samba-AD ähnlich funktionieren.

Gruß

Looser