Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:kerberos

Linux-Server ins Active Directory integrieren

via

Infos

In aller Regel gilt bei einem Domaincontroller namens DC.FIRMA.DE

  • der NETBIOS Name ist "DC"
  • der Workgroup Name ist "FIRMA"
  • der DNS Name ist "DC.FIRMA.DE"
  • der Kerberos Realm ist "FIRMA.DE"
  • der Domänen-Name ist "FIRMA.DE"

Damit die AD-Integration des Linux Servers einwandfrei funktioniert ist es wichtig dass..

  • beide Server (Debian und DC) den Namen des anderen auflösen können
  • Forward-Lookup als auch
  • Reverse-Lookup

IP-Adressen

  • AD: 1.2.3.4
  • Debian: 1.2.3.5

Installation

  • apt-get install libkrb53 krb5-{admin-server,kdc} samba winbind ntpdate ntp ssh
  • Dienste stoppen
    • /etc/init.d/samba stop 
      /etc/init.d/winbind stop 
      /etc/init.d/ntp stop
  • Konfiguration sichern
    • cp /etc/samba/smb.conf /etc/samba/smb.conf.bak 
      cp /etc/nsswitch.conf /etc/nsswitch.conf.bak 
      cp /etc/krb5.conf /etc/krb5.conf.bak 
      mkdir /etc/pam.d.bak && cp /etc/pam.d /etc/pam.d.bak -R 
      mkdir /var/lib/samba.bak && cp /var/lib/samba /var/lib/samba.bak -R
  • /etc/krb5.conf
    • [libdefaults]
      Default_realm = FIRMA.DE
      krb4_config = /etc/krb.conf
      krb4_realms = /etc/krb.realms
      kdc_timesync = 1
      ccache_type = 4
      forwardable = true
      proxiable = true
      [realms]
           FIRMA.DE = {
                kdc = dc.firma.de
                admin_server = dc.firma.de
                }
      [domain_realm]
           .firma.de = FIRMA.DE
      [login]
      krb4_convert = true
      krb4_get_tickets = false
  • NTP
    • /etc/ntp.conf
      • server 1.2.3.4
    • /etc/init.d/ntp start
      ntpq –p
      dpkg-reconfigure tzdata
  • /etc/samba/smb.conf
    • [global]
          workgroup = FIRMA (Arbeitsgruppen Name; in aller Regel Domänen-Name ohne Suffix)
          realm = FIRMA.DE (Domänen-Name)
          netbios name = DEBIAN (NETBIOS-Name des Debian Servers; max. 15 Zeichen lang!)
          security = ADS (Active Directory soll die Authentisierung stellen)
          idmap uid = 10000-20000 (Range der UIDs für das Mapping von AD-RIDs auf UIDs)
          idmap gid = 10000-20000 (Range der GIDs für das Mapping von AD-RIDs auf GIDs)
          template shell = /bin/bash (Shell die der Benutzer nach der Anmeldung bekommt)
          winbind use default domain = yes (User muss kein Prefix bei der Anmeldung angeben)
    • testparm
  • /etc/nsswitch.conf
    • passwd: compat winbind
      group: compat winbind
      shadow: compat
      hosts: files dns
      networks: files
      protocols: db files
      services: db files
      ethers: db files
      rpc: db files
      netgroup: nis
  • /etc/pam.d/common-auth
    • auth sufficient pam_winbind.so 
      auth required pam_unix.so nullok_secure use_first_pass
  • Checkliste
    • host 1.2.3.4 #Funktioniert der Reverse Lookup?
      nslookup dc.firma.de #Funktioniert die DNS Namensauflösung?
      ping dc.firma.de #Ist der Domaincontroller erreichbar?
      telnet dc.firma.de 445 #Port TCP445 erreichbar?
      telnet dc.firma.de 139 #Port TCP139 erreichbar?
      ntpq –p #Läuft die Zeitsynchronisation?
      tzconfig #Stimmt die Zeitzone?
      ps –ef | grep samba #Testen ob der Dienst läuft - wenn ja, stoppen!
      ps –ef | grep winbind #Testen ob der Dienst läuft - wenn ja, stoppen!
      /etc/init.d/winbind stop #winbindd stoppen!
      /etc/init.d/samba stop #smbd / nmbd stoppen! 
      rm –rf /var/lib/samba/* #eventuell vorhandene winbind cache DB löschen!
  • Server zur Domäne hinzufügen
    • kinit Administrator@FIRMA.DE
      net ads join –U Administrator%Passwort
    • /etc/init.d/samba start
      /etc/init.d/winbind start
  • Funktionalität testen
    • wbinfo –t #zeigt an ob das RPC trust secret passt
      wbinfo -a Administrator%Passwort #zeigt an ob sich AD-User Administrator über winbind authentisieren kann
      wbinfo –u #zeigt die Active Directory Benutzer an
      wbinfo –g #zeigt die Active Directory Gruppen an
      ssh Administrator@localhost #testen ob man sich lokal per SSH als Administrator (oder andere AD-Benutzer) anmelden kann 
      init 2 #Debian Server neu starten und schauen, ob die Dienste beim Neustart sauber starten
linux/kerberos.txt · Zuletzt geändert: 2014-04-05 11:42 (Externe Bearbeitung)