Samba

Aus darkrealm Wiki
Zur Navigation springen Zur Suche springen

SAMBA 4 AD

Haupt-DC provisionieren

Vorbereitung

  • Prüfen ob samba läuft
  • Prüfen auf Vorhandensein und ggf. löschen:
    • /var/lib/samba
    • /var/lock/samba
    • /var/cache/samba
    • /etc/samba/smb.conf

Provisionierung

samba-tool domain provision --use-rfc2307 --option="interfaces=lo br0" --option="bind interfaces only=yes" --site=Rebental --realm=HERRMANN.AD --domain=HERRMANN --server-role=dc --dns-backend=BIND9_DLZ --adminpass=PASSWORD
  • Erklärung:
    • --use-rfc2307 : AD benutzen um POSIX Attribute zu speichern
    • --option="interfaces=lo br0" : lo und br0 (IPv4 UND IPv6 !)
    • --option="bind interfaces only=yes" : Nur auf oben genannten Interfaces binden
    • --site=Rebental : AD Site
    • --realm=HERRMANN.AD : (Kerberos) Realm setzen
    • --domain=HERRMANN : Domain setzen ( 1. Part von Realm)
    • --server-role=dc : Server role setzen auf Domain Controller
    • --dns-backend=BIND9_DLZ : DNS Server Backend setzen auf BIND
    • --adminpass=PASSWORD : Administrator Passwort setzen

DNS Backend einrichten

  • in /etc/bind/named.conf hinzufügen:
include "/var/lib/samba/bind-dns/named.conf";

und im options {} Block :

tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab";

BIND neu starten:

systemctl restart named

sysvol und netlogon shares verschieben und/etc/samba/smb.conf anpassen

mv /var/lib/samba/sysvol /mnt/storage/samba/
[netlogon]
	comment = Netlogon Directory
        path = /mnt/storage/samba/sysvol/herrmann.ad/scripts
	read only = No
        vfs objects = btrfs

[sysvol]
	comment = System Volume Information
        path = /mnt/storage/samba/sysvol
	read only = No
        vfs objects = btrfs

[profiles]
	comment = Roaming Profiles
	path = /mnt/storage/samba/profiles
	read only = no
	vfs objects = btrfs

samba starten

systemctl start samba

Rechner zur Domain hinzufügen

  • Auf Windows-Rechner als lokaler Administrator einloggen
  • Einstellungen->Konten->Auf Arbeits- oder Schulkonto zugreifen->Verbinden->Dieses Gerät in eine lokale Active-Directory Domäne einbinden
  • Domänenname: HERRMANN
  • Domänen-Admin Administrator und Kennwort eingeben
  • Konto hinzufügen : Administrator / Administrator (Warum dieser Schritt ?)
  • neu starten

Gruppenrichtlinien einrichten (optional)

https://wiki.samba.org/index.php/Roaming_Windows_User_Profiles

Standorte und Subnetze zuteilen

  • Auf Windows-Rechner als Domänen-Administrator einloggen
  • RSAT-Tools herunterladen von https://www.microsoft.com/de-DE/download/details.aspx?id=45520 und installieren
  • Active Directory Standorte und -Dienste starten
  • Neuen Standort hinzufügen
    • Name: Wehlach, Verknüpfungsname: DEFAULTIPSITELINK
  • Neues Subnetz:
    • Präfix: 192.168.1.0/24
    • Standortobjekt: Rebental
  • Neues Subnetz:
    • Präfix: 192.168.2.0/24
    • Standortobjekt: Wacholderweg

Quelle: https://wiki.samba.org/index.php/Active_Directory_Sites

Zweiten DC einrichten

Vorbereitung wie beim Haupt-DC

#Vorbereitung

DC hinzufügen

samba-tool domain join herrmann.ad DC --dns-backend=BIND9_DLZ --option="idmap_ldb:use rfc2307=yes" --option="interfaces=lo br0" --option="bind interfaces only=yes" --site=Wacholderweg --server=192.168.1.240 -U"HERRMANN\Administrator"
  • ToDo: warum --server=192.168.1.240 ? (wahrscheinlich weil herrmann.ad noch nicht über DNS auflösbar ist)

DNS Backend einrichten

  • in /etc/bind/named.conf hinzufügen:
include "/var/lib/samba/private/named.conf";

und im options {} Block :

tkey-gssapi-keytab "/var/lib/samba/private/dns.keytab";

BIND neu starten:

systemctl restart named

samba starten

systemctl start samba

Replikation überprüfen und ggf. einrichten

Quelle : https://wiki.samba.org/index.php/Verifying_and_Creating_a_DC_DNS_Record

  • Auf beiden DC ausführen:
samba-tool drs showrepl
  • Auf dem Rechner wo ein Fehler (WERR_BADFILE oder ähnliches) gemeldet wird, folgendes ausführen:
host -t A nexus.herrmann.ad.
  • Falls NXDOMAIN gemeldet wird, muss der Rechner ins DNS manuell eingetragen werden (Samba 4.6 und früher):
    • samba-tool dns add shodan.herrmann.ad herrmann.ad nexus.herrmann.ad A 192.168.2.240 -Uadministrator
    • Nochmal prüfen :
      host -t A nexus.herrmann.ad.
  • Ergebnis sollte sein :
    nexus.herrmann.ad has address 192.168.2.240
ldbsearch -H /var/lib/samba/private/sam.ldb '(invocationId=*)' --cross-ncs objectguid

objectGUID von CN=NTDS Settings,CN=NEXUS merken

host -t CNAME <objectGUID>_msdcs.herrmann.ad.

Fall NXDOMAIN, folgendes ausführen:

samba-tool dns add shodan.herrmann.ad _msdcs.herrmann.ad <objectGUID> CNAME nexus.herrmann.ad -Uadministrator

Replikation nochmal überprüfen

Falls immer NTTIME(0) als Zeitangabe steht

chgrp ntp /var/lib/samba/ntp_signd

(Hat wahrscheinlich doch nicht mit den Benutzerrechten zu tun)

Hinweis: Bei GLIBC 7.30 gibts Probleme beim DNS-Auflösen mit _ im Namen !! (_msdcs....). Dann die Einträge direkt in die /etc/hosts eintragen

Hinweis 2: Bei Replikationsproblemen wars bis jetzt IMMER ein DNS-Problem !!!

Domänenbenutzer hinzufügen

Domänenbenutzer migrieren

Bevor man die Domain verlässt, mit transwiz https://www.forensit.com/Downloads/Transwiz.msi das gewünschte Profil backuppen. Dann die Domain verlassen, die neue Domain joinen und mit transwiz das gesicherte Profil wiederherstellen.

1. Mit transwiz das gewünschte Profil sichern 2. Domain verlassen 3. Registry-Einträge in HKLM/Software/Microsoft/Windows NT/CurrentVersion/ProfileList löschen 4. C:\Users\<Benutzer> löschen 5. Domain joinen 6. Mit transwiz das gewünschte Profil wiederherstellen


Roaming Profiles Scheissdreck

Als Profilpfad immer den Rechnernamen mit angeben ! (\\shodan.herrmann.ad\profiles anstatt \\herrmann.ad\profiles)

Falls beim Anmelden eines neuen Benutzers "Windows wird vorbereitet..." OHNE SCHWARZEN HINTERGRUND angezeigt wird, und höchstwahrscheinlich nach der Anmeldung sofort die Meldung "Wir konnten Sie nicht an diesem Konto anmelden" erscheint, in HKLM/Software/Microsoft/Windows NT/CurrentVersion/ProfileList die entsprechende SID löschen. Passiert meistens wenn man einen Benutzer löscht, und mit demselben Namen neu erstellt. Löschen des <username>.V6 Verzeichnis auf dem [profiles] share und/oder löschen des lokalen Profils hilft hier nicht, es muss die SID in der lokalen Registry gelöscht werden. Fall beim ersten Anmelden der Hintergrund schwarz wird und "wir bereiten alles vor..." erscheint, ist der Ablauf (wahrscheinlich) richtig.

Hinweise

  • MSI-Programme müssen für <Domain Computers> lesbar sein.
  • Bei Fehlern bei Ausführung von sama-tool ntacl sysvolcheck : vfs_objects EXPLIZIT angeben ! (vfs_objects = acl_xattr) [1]

Sysvol Replikation

rsync-workaround

Scheinbar muss die Gruppe JEDER/EVERYONE Lesezugriff auf SYSVOL und alle Unterordner haben daß Gruppenrichtlinien auf dem 2. DC angewendet werden.