Kerberos

Aus darkrealm Wiki
Zur Navigation springen Zur Suche springen

MIT-KRB HowTo

KDC konfigurieren und KDC Datenbank erstellen

  1. /var/lib/krb5kdc/kdc.conf erstellen:
[kdcdefaults]
        kdc_ports = 89
        kdc_tcp_ports = 89
        kadmind_port = 750
        kpasswd_port = 466

[realms]
        INTERN.NEOREALM.DYNDNS.ORG = {
                database_name = /var/lib/krb5kdc/principal
                acl_file = /var/lib/krb5kdc/kadm5.acl
                key_stash_file = /var/lib/krb5kdc/.k5.INTERN.NEOREALM.DYNDNS.ORG
                kadmind_port = 750
                kpasswd_port = 466
                max_life = 10h 0m 0s
                max_renewable_life = 7d 0h 0m 0s
                #default_principal_flags = +preauth                                                                                            
                }

[logging]
              kdc = CONSOLE
              kdc = SYSLOG:INFO:DAEMON
              kdc = FILE:/var/log/kdc.log
              admin_server = FILE:/var/log/kadmin.log
  1. Datenbank erstellen:
kdb5_util create -r <REALMNAME> -s
  1. kadmin Prinzipal erstellen:
kadmin.local
addprinc admin/admin@INTERN.NEOREALM.DYNDNS.ORG
*/admin@INTERN.DARKREALM.DYNDNS.ORG	*

DNS einrichten

Folgende RR's in die Zone eintragen

_kerberos.intern.darkrealm.dyndns.org		TXT	"INTERN.DARKREALM.DYNDNS.ORG"
_kerberos.intern.darkrealm.dyndns.org		SRV	1 0 89 shodan.intern.darkrealm.dyndns.org.
_kerberos-adm.intern.darkrealm.dyndns.org	SRV	1 0 777 shodan.intern.darkrealm.dyndns.org. (wird noch? nicht ausgewertet) 
_kerberos.intern.darkrealm.dyndns.org		SRV	1 0 89 shodan.intern.darkrealm.dyndns.org.
_kpasswd.intern.darkrealm.dyndns.org		SRV	1 0 464 shodan.intern.darkrealm.dyndns.org.

Das reicht um Rechner ohne /etc/krb5.conf auf den default realm hinzuweisen. Weil _kerberos-adm zurzeit noch nicht ausgewertet wird muss man folgendes in der /etc/krb5.conf eintragen:

[realms]
	INTERN.DARKREALM.DYNDNS.ORG = {
		admin_server = shodan.intern.darkrealm.dyndns.org:777
	}

2. NFS mit sec=krb5p

Mount : mount shodan:/home /home -o sec=krb5p

Server: rpc.svcgssd braucht keytab /etc/krb5.keytab

rpc.svcgssd braucht explizit nfs/<fqdn> principal (erstmal egal welcher FQDN, aber der client kann nicht connecten wenn fqdn vom server nicht drinsteht)

Also in die keytab:

nfs/shodan.intern.darkrealm.dyndns.org

Client: Client sucht laut man rpc.gssd folgende Einträge in der keytab: (scheinbar geht es hier nur um machine credentials, egal wie der principal heisst)

          <HOSTNAME>$@<REALM>
          root/<hostname>@<REALM>
          nfs/<hostname>@<REALM>
          host/<hostname>@<REALM>
          root/<anyname>@<REALM>
          nfs/<anyname>@<REALM>
          host/<anyname>@<REALM>

Also in die keytab:

host/rasmatazz.intern.darkrealm.dyndns.org

KVNO's müssen auf jedem Rechner gleich sein !

Keytab auf dem Server :

slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    2 nfs/shodan.intern.darkrealm.dyndns.org@INTERN.DARKREALM.DYNDNS.ORG
   2    2 nfs/shodan.intern.darkrealm.dyndns.org@INTERN.DARKREALM.DYNDNS.ORG

Keytab auf dem Client :

slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    2 host/rasmatazz.intern.darkrealm.dyndns.org@INTERN.DARKREALM.DYNDNS.ORG
   2    2 host/rasmatazz.intern.darkrealm.dyndns.org@INTERN.DARKREALM.DYNDNS.ORG

3. SSH mit kerberos (-K)

In der Server-Keytab reicht :

host/shodan.intern.darkrealm.dyndns.org@INTERN.DARKREALM.DYNDNS.ORG

Aber in der /etc/krb5.conf auf dem Server muss stehen :

<libdefaults>
ignore_acceptor_hostname = true

ansonsten meldet der SSH-Server daß kein keytab-entry für host/shodan@ vorhanden ist.

4. samba mit kerberos

kinit chris@HERRMANN.AD
sudo mount //shodan.intern.darkrealm.dyndns.org/temporary /mnt/tmp -o vers=3.02,sec=krb5i,cruid=chris,user=chris,cifsacl