joe2017
Goto Top

Microsoft Active Directory Umzug zu Linux (Debian)

Hallo zusammen,

ich hätte mal eine Frage und bin auf eure Meinung gespannt.

Ich habe aktuell eine reine Microsoft Umgebung mit AD und allen möglichen Diensten (Terminal Server, SQL Server, Fileserver, Webserver, diverse Application Server, usw.).
Diese soll durch Debian ersetzt werden. Da dies natürlich nicht von heute auf morgen durchgeführt werden kann, muss das Ganze parallel aufgesetzt werden.
Zu erst dachte ich an einen Debian Samba DC mit einem Forest Trust zu der aktuellen Domäne. Jedoch funktioniert das aus irgendwelchen Gründen nicht. Der Trust zu dem Microsoft AD wird nicht aufgebaut. Den Samba DC zu dem aktuellen AD hinzuzufügen ist nicht gewünscht. Hier soll eine saubere Trennung erfolgen. Jdeoch müssen beide Systeme Zugriff auf die anderen haben, bis der vollständige Umzug abgeschlossen ist.

Hat jemand eine Idee wie ich das Ganze noch angehen könnte?

Content-ID: 568402

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

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

Kraemer
Kraemer 29.04.2020 aktualisiert um 10:37:52 Uhr
Goto Top
Moin,

bei den Kollegen im Debianforum hast du zumindest noch die Fehlermeldungen gepostet...
https://debianforum.de/forum/viewtopic.php?t=177053

Wenn ich die Validierung auf dem Debian Samba starte erhalte ich die folgende Meldung:

Sie können mit diesen Anmeldeinformationen nicht angemeldet werden, weil Ihre Domäne nicht verfügbar ist. Stellen Sie sicher, dass Ihr Gerät mit dem Netzwerk Ihrer Organisastion verbunden ist...
Oder auch so:
sudo samba-tool domain trust validate domain.net

ERROR: LocalValidation: DC[\\DCServerName.domain.net] CONNECTION[WERR_NO_LOGON_SERVERS] TRUST[WERR_NO_LOGON_SERVERS] VERIFY_STATUS_RETURNED
Looser27
Looser27 29.04.2020 um 10:38:02 Uhr
Goto Top
Moin,

gibt es hierfür

Den Samba DC zu dem aktuellen AD hinzuzufügen ist nicht gewünscht. Hier soll eine saubere Trennung erfolgen.

einen triftigen Grund?

Wenn der Samba DC als zweiter DC erstmal mitläuft, bekommt er automatisch das AD. Dann kannst Du den später als primären DC laufen lassen.

Gruß

Looser
Kraemer
Kraemer 29.04.2020 um 10:44:17 Uhr
Goto Top
joe2017
joe2017 29.04.2020 um 10:48:30 Uhr
Goto Top
Das habe ich in einem Lab auch schon versucht. Hier gibt es jedoch einige Problem.
Der Join hat funktioniert. Jedoch wurden keine DNS Einträge angelegt. Auch mit den RSAT Tools konnte ich nicht auf den Samba DNS zugreifen. Ich befürchte, dass trotz der Option --dns-backend=SAMBA_INTERNAL kein DNS installiert ist. Verwendet Ihr hierfür lieber den BIND9?
Der neue Samba DC muss natürlich den DNS auf dem aktuellen Windows DC ersetzen.
joe2017
joe2017 29.04.2020 aktualisiert um 10:56:45 Uhr
Goto Top
Hi Kraemer,

du warst mal wieder schneller. Die Befürchtung habe ich auch.
Ein Trust wäre mir natürlich am liebsten, da ich somit eine einfache Möglichkeit hätte alles sauber und stück für stück zu installieren.
Macht es dann nicht Sinn auf meinem neuen Samba DC gleich den BIND9 anstatt den INTERNAL DNS zu verwenden?
Hierfür hab ich jedoch noch keine vernünftige Installationsbeschreibung gefunden. Da werde ich mich gleich nochmal auf die Suche machen.
Kraemer
Kraemer 29.04.2020 um 11:05:30 Uhr
Goto Top
Zitat von @joe2017:
Hierfür hab ich jedoch noch keine vernünftige Installationsbeschreibung gefunden. Da werde ich mich gleich nochmal auf die Suche machen.
ich habe dir doch gerade einen Link für eine Step-By-Step-Anleitung gepostet...
joe2017
joe2017 29.04.2020 um 12:16:43 Uhr
Goto Top
Ja deinen Link hab ich gesehen. Hier wird der Trust sehr schön beschrieben. Danke!

Ich meinte jedoch die Installation von BIND9 für Samba DC.
Die Installation läuft gerade, aber irgendwas passt noch nicht. Das muss ich erst noch lösen. Beim erstellen des DC wurden irgendwie keine Einträge angelegt bzw. irgendwas passt noch nicht?
joe2017
joe2017 29.04.2020 aktualisiert um 13:30:24 Uhr
Goto Top
Also jetzt habe ich das ganze nochmal aufgesetzt. Dieses mal mit dem BIND_DLZ DNS Server.

Ich habe meinen DNS Server konfiguriert und getestet. Es wird alles richtig aufgelöst.
ping domain1.net
host domain1.net
host -t SRV _kerberos._udp.domain1.net
host -t SRV _ldap._tcp.domain1.net

ping domain2.com
host domain2.com
host -t SRV _kerberos._udp.domain2.com
host -t SRV _ldap._tcp.domain2.com

Auch die Kerberos Tickets kann ich mir von beiden ziehen.
Trotzdem wird der Trust nicht aufgebaut. Die Fehlermeldung bleibt die selbe.
CONNECTION[WERR_NO_LOGON_SERVERS] TRUST[WERR_NO_LOGON_SERVERS] VERIFY_STATUS_RETURNED

Aber laut dem Dokument sollte das funktionieren?
broecker
broecker 29.04.2020 um 13:48:28 Uhr
Goto Top
Funktionslevel 2012R2 (auch aus dem Debian-Forum, gib' doch wenigstens nötigstes an) ist nach Sernet noch nicht produktiv verwendbar - da dürfte bei jedem join schon Schluß sein - sonst würde mich das auch interessieren...
HG
Mark
joe2017
joe2017 29.04.2020 um 14:58:50 Uhr
Goto Top
Ich habe hier auch nicht geschrieben das ich das functional level 2012R2 verwende.
Ich habe selbstverständlich 2008R2 verwendet.

Ich habe jetzt einen Trust hinbekommen. Ich habe einen cleanen Windows Server installiert.
Vielleicht gab es ein Problem mit irgendwelchen GPO´s. Das muss ich jetzt allerdings erst einmal herausfinden.

Aber ich denke, dass mein größtes Problem wohl der DNS Server war. Mit dem INTERNAL DNS hab ich irgendwie keinen Trust hinbekommen. Nach Verwendung des BIND9_DLZ und dem DNS Proxy funktioniert das jetzt erst einmal.

Jetzt muss ich den Trust nur noch mit meinem zuvor verwendeten Windows AD hinbekommen. Ich würde auf jeden Fall noch einmal eine Antwort schreiben, sobald ich das herausgefunden habe. Ich kann anschließend auch gerne eine kurze Installationszusammenfassung posten falls gewünscht.
joe2017
joe2017 30.04.2020 aktualisiert um 11:25:03 Uhr
Goto Top
Also ich habe meinem Windows DC in eine Testing Umgebung umgezogen.
Hier sind anscheinend einige GPO´s gesetzt welche das erstellen des Trusts verhindern.

Das seltsame ist folgendes:
Ich kann an meinem Debian Samba DC ein Kerberos Ticket für die Windows Domain erstellen.
kinit admin@WINDOWS.DOMAIN
klist
Ticketzwischenspeicher: FILE:/tmp/krb5cc_1000
Standard-Principal: admin@WINDOWS.DOMAIN

Valid starting       Expires              Service principal
30.04.2020 12:07:28  30.04.2020 22:07:28  krbtgt/WINDOWS.DOMAIN@WINDOWS.DOMAIN
        erneuern bis 01.05.2020 12:07:23

Wenn ich jedoch den Trust aufbaunen möchte, erhalte ich folgende Fehlermeldung:
sudo samba-tool domain trust create windows.domain --type=forest --direction=both --create-location=both -U admin@WINDOWS.DOMAIN
ERROR: REMOTE_DC[windowsDC.windows.domain]: failed to connect lsa server - ERROR(0xC000006D) - The attempted logon is invalid. This is either due to a bad username or authentication information.

In meinem Windows DC sehe ich im Log folgende Fehlermeldung:
Windows ID: 4769
A Kerberos service ticket was requested.

Account Information:
	Account Name:		
	Account Domain:		
	Logon GUID:		{00000000-0000-0000-0000-000000000000}

Service Information:
	Service Name:		
	Service ID:		NULL SID

Network Information:
	Client Address:		::ffff:DEBIAN-SMABA-DC-IP
	Client Port:		33572

Additional Information:
	Ticket Options:		0x10000
	Ticket Encryption Type:	0xFFFFFFFF
	Failure Code:		0x25
	Transited Services:	-

This event is generated every time access is requested to a resource such as a computer or a Windows service.  The service name indicates the resource to which access was requested.

This event can be correlated with Windows logon events by comparing the Logon GUID fields in each event.  The logon event occurs on the machine that was accessed, which is often a different machine than the domain controller which issued the service ticket.

Ticket options, encryption types, and failure codes are defined in RFC 4120.

Das Kerberos-Service Ticket wurde nicht erstellt. Hat jemand eine Idee was das sein könnte?
An einem Clean installierten WindowsDC funktioniert der Trust. Irgendeine GPO wird das verhindern. Ich bin aktuell etwas ratlos.

Vielleicht hat jemand eine Idee?
joe2017
joe2017 04.05.2020 aktualisiert um 17:35:18 Uhr
Goto Top
Hallo zusammen,

nach einigen Tage Recherche und prüfen der Microsoft GPO´s habe ich herausgefunden weshalb mein Trust nicht eigerichtet wurde.
Folgende GPO´s wurden in der Windows Domain gesetzt:
Network security: Minimum session security for NTLM SSP based server

Require NTLMv2 session security

Jetzt stellt sich mir die Frage weshalb sich der Samba (Version 4.9.5-Debian) DC nicht mit NTLMv2 meldet.
Muss dies separat konfiguriert werden?

Das interessante dabei ist, dass die Microsoft GPO Network security: LAN Manager authentication level auf folgendem Wert konfiguriert ist:
Send NTLMv2 response only. Refuse LM & NTLM

Somit kann der Samba DC wohl mit der NTLMv2 Antwort umgehen, sendet aber anscheinend nur NTLM nicht NTLMv2. Kann ich dies irgendwie prüfen?

Folgende Einstellungen habe ich bereits in der smb.conf getestet:
lm announce = no
lanman auth = no
ntlm auth = yes
ntlm auth = ntlmv2-only
client lanman auth = no
client plaintext auth = no
client ntlmv2 auth = yes