.... #ident stream tcp wait identd /usr/sbin/identd identd .... #krb_prop stream tcp nowait root /usr/sbin/tcpd /usr/sbin/hpropd #kshell stream tcp nowait root /usr/sbin/tcpd /usr/lib/heimdal-servers/rshd -k #ftp stream tcp nowait root /usr/sbin/tcpd /usr/lib/heimdal-servers/ftpd -a plain #telnet stream tcp nowait root /usr/sbin/tcpd /usr/lib/heimdal-servers/telnetd -a none #pop-3 stream tcp nowait root /usr/sbin/tcpd /usr/lib/heimdal-servers/popper #kx stream tcp nowait root /usr/sbin/tcpd /usr/lib/heimdal-servers/kxdriavviamo quindi inetd:
# /etc/init.d/openbsd-inetd restart
[libdefaults] ticket_lifetime = 80000 renew_lifetime = 80000 default_realm = ESEMPIO.LAN default_keytab_name = FILE:/etc/krb5.keytab default_etypes = des3-hmac-sha1 des-cbc-crc des-cbc-md5 des-cbc-md4 aes256-cts arcfour-hmac-md5 default_etypes_des = des3-hmac-sha1 des-cbc-crc des-cbc-md5 des-cbc-md4 aes256-cts arcfour-hmac-md5 default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc des-cbc-md5 des-cbc-md4 aes256-cts arcfour-hmac-md5 default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc des-cbc-md5 des-cbc-md4 aes256-cts arcfour-hmac-md5 kdc_timesync = 1 forwardable = true proxiable = true # The following libdefaults parameters are only for Heimdal Kerberos. v4_instance_resolve = false v4_name_convert = { host = { rcmd = host ftp = ftp } plain = { something = something-else } } [realms] ESEMPIO.LAN = { kdc = pdc.esempio.lan admin_server = pdc.esempio.lan default_domain = esempio.lan } [domain_realm] .esempio.lan = ESEMPIO.LAN esempio.lan = ESEMPIO.LAN [kdc] enable-kerberos4 = false kdc_warn_pwexpire = 7 database = { realm = ESEMPIO.LAN dbname = ldap:ou=Users,dc=esempio,dc=lan hdb-ldap-structural-object = inetOrgPerson mkey_file = /var/lib/heimdal-kdc/m-key acl_file = /etc/kadmind.acl log_file = /var/log/kdc-db.log } hdb-ldap-create-base = ou=KerberosPrincipals,ou=Users,dc=esempio,dc=lan [logging] kdc = FILE:/var/log/heimdal/kdc.log admin_server = FILE:/var/log/heimdal/admin.log default = FILE:/var/log/heimdal/default.log [appdefaults] pam = { ticket_lifetime = 1d renew_lifetime = 1d forwardable = true proxiable = true }
modifichiamo quindi le ACL del KDC: /etc/kadmind.acl
ldapmaster/[email protected] add,delete,get host/*@ESEMPIO.LAN * NO cpw *@ESEMPIO.LAN kadmin/[email protected] all root/[email protected] all addmachine/[email protected] allrimuoviamo i vecchi dati del kdc e riavviamo i servizi:
# mkdir -p /var/log/heimdal # rm -rf /etc/krb5.keytab # /etc/init.d/heimdal-kcm restart # /etc/init.d/heimdal-kdc restart
# kstash --random-key # kadmin -l init --realm-max-ticket-life=unlimited --realm-max-renewable-life=unlimited ESEMPIO.LANe creiamo le chiavi per il server e i suoi servizi (samba e ldap):
# kadmin -l add --random-key --max-ticket-life=unlimited --max-renewable-life=unlimited --expiration-time=never \ --pw-expiration-time=never --attributes= host/pdc.esempio.lan # kadmin -l add --random-key --max-ticket-life=unlimited --max-renewable-life=unlimited --expiration-time=never \ --pw-expiration-time=never --attributes= host/pdc # kadmin -l ext_keytab host/pdc.esempio.lan # kadmin -l ext_keytab host/pdc # kadmin -l add --random-key --max-ticket-life=unlimited --max-renewable-life=unlimited --expiration-time=never \ --pw-expiration-time=never --attributes= ldap/pdc.esempio.lan # kadmin -l add --random-key --max-ticket-life=unlimited --max-renewable-life=unlimited --expiration-time=never \ --pw-expiration-time=never --attributes= ldap/pdc # kadmin -l ext_keytab -k /etc/ldap/ldap.keytab ldap/pdc.esempio.lan # kadmin -l ext_keytab -k /etc/ldap/ldap.keytab ldap/pdc # kadmin -l add --random-key --max-ticket-life=unlimited --max-renewable-life=unlimited --expiration-time=never \ --pw-expiration-time=never --attributes= cifs/pdc.esempio.lan # kadmin -l add --random-key --max-ticket-life=unlimited --max-renewable-life=unlimited --expiration-time=never \ --pw-expiration-time=never --attributes= cifs/pdc # kadmin -l ext_keytab cifs/pdc.esempio.lan # kadmin -l ext_keytab cifs/pdcsistemiamo ora i permessi per il keytab ldap:
# chown openldap.openldap /etc/ldap/ldap.keytab # chmod 400 /etc/ldap/ldap.keytabe impostiamo la password per due principal kerberos:
# kadmin -l cpw --password=secret1 ldapmaster/admin # kadmin -l cpw --password=secret1 kadmin/adminriavviamo ancora il kdc:
# /etc/init.d/heimdal-kcm restart # /etc/init.d/heimdal-kdc restart
Stefano Sasso 2009-04-16