(Windows) Domain Controller mit Samba 4

Derzeitige Umgebung:

Samba installieren

Use flags:

Installiere Samba:

  emerge samba

Domain Controller einrichten

  samba-tool domain provision --use-rfc2307 --interactive

Erklärung für die Parameter:

Erklärung für die Rückfragen, die kommen:

Danach muß die Kerberos-Konfiguration kopiert werden:

  cp /var/lib/samba/private/krb5.conf /etc

Systemkonfiguration

NTP-Server

Windows Domain Controller und -Clients sind sehr abhängig von der korrekten Zeit. Abweichungen führen oft zu merkwürdigen Fehlermeldungen.

  emerge net-misc/ntp

Und aktivieren:

  rc-update add ntpd default
  rc-service ntpd start

DNS Resolver

DNS-Anfragen müssen immer über den eigenen Resolver, der von Samba bereitgestellt wird, laufen.

Samba aktivieren und starten

/etc/conf.d/samba mu? angepaßt werden. Der Eintrag daemon_list muß so aussehen:

  daemon_list="samba4"

Danach aktivieren und starten_

  rc-update add samba default
  rc-service samba start

Einige Tests

Als Domain wird hier testweise internal.domain.com verwendet. Das muß durch den Wert ersetzt werden, der bei der Einrichtung verwendet wurde.

DNS

Überprüfung, on der DNS korrekt arbeitet:

  host -t SRV _ldap._tcp.internal.domain.com.
  host -t SRV _kerberos._udp.internal.domain.com.
  host -t A server.internal.domain.com.

Das sollte dabei herauskommen:

  _ldap._tcp.internal.domain.com has SRV record 0 100 389 server.internal.domain.com.
  _kerberos._udp.internal.domain.com has SRV record 0 100 88 server.internal.domain.com.
  server.internal.domain.com has address xxx.xxx.xxx.xxx

Windows NT Anmeldung

Die Windows-Anmeldung überprüft man so:

  smbclient //localhost/netlogon -U Administrator -c 'ls'

Man wird nach dem Paßwort gefragt (wurde bei der Einrichtung abgefragt). Man sollte sowas bekommen:

  .                                   D        0  Fri Sep  6 17:42:35 2019
  ..                                  D        0  Fri Sep  6 17:42:38 2019

                22510736 blocks of size 1024. 15418104 blocks available

Kerberos

Kerberos ist die Anmeldungsschicht. Die Domain muß in Großbuchstaben anagegeben werden:

  kinit administrator@INTERNAL.DOMAIN.COM

Nach Eingabe des Paßwortes erhält man folgendes:

  Warning: Your password will expire in 41 days on Wed 08 Jan 2014 11:59:11 PM CST

Um zu überprüfen ob alles geklappt (Ticket zugeteilt) hat:

  klist

mit folgendem Ergebnis:

  Ticket cache: FILE:/tmp/krb5cc_0
  Default principal: administrator@INTERNAL.DOMAIN.COM

  Valid starting       Expires              Service principal
  11/28/2013 00:22:17  11/28/2013 10:22:17  krbtgt/INTERNAL.DOMAIN.COM@INTERNAL.DOMAIN.COM
        renew until 11/29/2013 00:22:14

Als abschließenden Test ob die Ticketzuteilung ok ist:

  smbclient //server/netlogon -k -c 'ls'

sollte man das hier bekommen:

  .                                   D        0  Fri Sep  6 17:42:35 2019
  ..                                  D        0  Fri Sep  6 17:42:38 2019

                22510736 blocks of size 1024. 15418104 blocks available

Man wird nicht mehr nach dem Paßwort gefragt !

Konfigurationstips

Aktuelle (globale) Paßwortregeln abfragen:

  samba-tool domain passwordsettings show

  Password informations for domain 'DC=xxxx,DC=yyyy'

  Password complexity: on
  Store plaintext passwords: off
  Password history length: 24
  Minimum password length: 7
  Minimum password age (days): 1
  Maximum password age (days): 42
  Account lockout duration (mins): 30
  Account lockout threshold (attempts): 0
  Reset account lockout after (mins): 30

Administratorpaßwort läuft nie ab:

  samba-tool user setexpiry Administrator --noexpiry

Kennwortkomplexitätsregeln deaktivieren

  samba-tool domain passwordsettings set --complexity=off 

Kennwortchronik abschalten

  samba-tool domain passwordsettings set --history-length=0 

Minimales Kennwortalter deaktivieren

samba-tool domain passwordsettings set --min-pwd-age=0 

Maximales Kennwortalter deaktivieren

samba-tool domain passwordsettings set --max-pwd-age=0 

Minimale Kennwortlänge deaktivieren

samba-tool domain passwordsettings set --min-pwd-length=0 

Zertifikate erneuern

Das standardmäßige Zertifikat finktioniert nicht mit Java-basierten Tools, da der Servername nicht drin ist. Daher muß man das Zertifikat ersetzen. Hier ein Beispiel für den Server dc.fritz.box

cd /var/lib/samba/private/tls
rm *.pem
openssl req -newkey rsa:2048 -keyout key.pem -nodes -x509 -days 365 -out cert.pem

Dabei wird man nach einigen Eingaben gefragt:

Generating a RSA private key
.............................................................................................................................................+++++
..............................+++++
writing new private key to 'key.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:BW
Locality Name (eg, city) []:Stadt
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Private
Organizational Unit Name (eg, section) []:Private
Common Name (e.g. server FQDN or YOUR name) []:dc.fritz.box
Email Address []:email

Da es kein CA-Zertifikat braucht muß man dieses in /etc/samba/smb.conf abschalten. Main fügt die Zeile

tls cafile =

im Abschnitt [global] hinzu.

Externe Verweise

Danke auch an die Autoren dieser Webseiten:

[1] https://wiki.archlinux.org/index.php/Samba/Active_Directory_domain_controller
[2] https://bytesandbones.wordpress.com/2018/03/28/gentoo-samba-4-5-as-dc-ad/
[3] https://www.oehl.tv/kennwortrichtlinien-anpassen/ [3] https://serverfault.com/questions/873615/ssl-self-signed-certificate-error-on-samba-4

Domain Controller mit Samba 4 (zuletzt geändert am 2019-11-03 20:55:56 durch PetricFrank)