Samba e OpenLDAP: creare un controller di dominio con Debian Lenny: differenze tra le versioni

Riga 906: Riga 906:


=Configurazione di Kerberos=
=Configurazione di Kerberos=
==Rimozione dei servizi inutili==
Iniziamo modificando il file '''<code>/etc/inetd.conf</code>''' e rimuoviamo alcuni servizi kerberizzati attivati di default:
<pre>
....
#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/kxd
</pre>
Riavviamo quindi <code>inetd</code>:
<pre>
# /etc/init.d/openbsd-inetd restart
</pre>
==Kerberos KDC==
Configuriamo il Kerberos KDC modificando il file '''<code>/etc/krb5.conf</code>'''
<pre>
[libdefaults]
        ticket_lifetime = 80000
        renew_lifetime = 80000
        default_realm = DOMINIO.LOCAL
        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]
DOMINIO.LOCAL = {
        kdc = server.dominio.local
        admin_server = server.dominio.local
        default_domain = dominio.local
}
[domain_realm]
        .dominio.local  = DOMINIO.LOCAL
        dominio.local  = DOMINIO.LOCAL
[kdc]
    enable-kerberos4 = false
    kdc_warn_pwexpire = 7
    database = {
        realm = DOMINIO.LOCAL
        dbname = ldap:ou=Users,dc=dominio,dc=local
        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=dominio,dc=local
   
[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
}
</pre>
Modifichiamo quindi le ACL del KDC: '''<code>/etc/kadmind.acl</code>'''
<pre>
ldapmaster/admin@DOMINIO.LOCAL  add,delete,get    host/*@DOMINIO.LOCAL
*                              NO cpw            *@DOMINIO.LOCAL
kadmin/admin@DOMINIO.LOCAL      all
root/admin@DOMINIO.LOCAL        all
addmachine/admin@DOMINIO.LOCAL  all
</pre>
Rimuoviamo i vecchi dati del kdc e riavviamo i servizi:
<pre>
# mkdir -p /var/log/heimdal
# rm -rf /etc/krb5.keytab
# /etc/init.d/heimdal-kcm restart
# /etc/init.d/heimdal-kdc restart
</pre>
==Inizializzazione reame Kerberos==
Inizializziamo ora il reame kerberos:
<pre>
# kstash --random-key
# kadmin -l init --realm-max-ticket-life=unlimited --realm-max-renewable-life=unlimited DOMINIO.LOCAL
</pre>
e creiamo le chiavi per il server e i suoi servizi (samba e ldap):
<pre>
# kadmin -l add --random-key --max-ticket-life=unlimited --max-renewable-life=unlimited --expiration-time=never \
  --pw-expiration-time=never --attributes= host/server.dominio.local
# kadmin -l add --random-key --max-ticket-life=unlimited --max-renewable-life=unlimited --expiration-time=never \
  --pw-expiration-time=never --attributes= host/server
# kadmin -l ext_keytab host/server.dominio.local
# kadmin -l ext_keytab host/server
# kadmin -l add --random-key --max-ticket-life=unlimited --max-renewable-life=unlimited --expiration-time=never \
  --pw-expiration-time=never --attributes= ldap/server.dominio.local
# kadmin -l add --random-key --max-ticket-life=unlimited --max-renewable-life=unlimited --expiration-time=never \
  --pw-expiration-time=never --attributes= ldap/server
# kadmin -l ext_keytab -k /etc/ldap/ldap.keytab ldap/server.dominio.local
# kadmin -l ext_keytab -k /etc/ldap/ldap.keytab ldap/server
# kadmin -l add --random-key --max-ticket-life=unlimited --max-renewable-life=unlimited --expiration-time=never \
  --pw-expiration-time=never --attributes= cifs/server.dominio.local
# kadmin -l add --random-key --max-ticket-life=unlimited --max-renewable-life=unlimited --expiration-time=never \
  --pw-expiration-time=never --attributes= cifs/server
# kadmin -l ext_keytab cifs/server.dominio.local
# kadmin -l ext_keytab cifs/server
</pre>
Sistemiamo ora i permessi per il keytab ldap:
<pre>
# chown openldap.openldap /etc/ldap/ldap.keytab
# chmod 400 /etc/ldap/ldap.keytab
</pre>
e impostiamo la password per due principal kerberos:
<pre>
# kadmin -l cpw --password=secret1 ldapmaster/admin
# kadmin -l cpw --password=secret1 kadmin/admin
</pre>
Infine riavviamo ancora il <code>kdc</code>:
<pre>
# /etc/init.d/heimdal-kcm restart
# /etc/init.d/heimdal-kdc restart
</pre>
=Configurazione di Samba=
=Configurazione di Samba=
Prima di iniziare a configurare Samba è necessario creare le directory nelle quali risiederanno le homes degli utenti, gli script di netlogon e i profili centralizzati (o profili roaming). Alcune di queste directory sono già state indicate nel file <tt>/etc/smbldap-tools/smbldap.conf</tt>, quindi è bene stare attenti a non commettere errori.<br/>
Prima di iniziare a configurare Samba è necessario creare le directory nelle quali risiederanno le homes degli utenti, gli script di netlogon e i profili centralizzati (o profili roaming). Alcune di queste directory sono già state indicate nel file <tt>/etc/smbldap-tools/smbldap.conf</tt>, quindi è bene stare attenti a non commettere errori.<br/>