4 069
contributi
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/> |