Dimensione: 18658
Commento: rinomina :-(
|
Dimensione: 17825
Commento: Indice
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 3: | Linea 3: |
#format wiki #language it |
|
Linea 4: | Linea 6: |
||<tablestyle="float:right; font-size: 0.9em; width:50%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]][[TableOfContents]]|| = Configurazione di un Servizio di Directory = Un servizio di directory ha bisogno innanzitutto di una struttura ad albero dei nomi (server DNS) e di una analoga struttura associata basata sul protocollo LDAP (slapd). Inoltre per fornire anche il servizio di file server a macchine Windows avrete bisogno del server SAMBA (samba) e per utilizzare la crittografia basata sul protocollo Kerberos avete bisogno del server Kerberos e del software per il server delle chiavi (krb5-admin-server e krb5-kdc). Questo vi permetterà di avere un servizio di directory scalabile che potrete utilizzare come backend per tutti i servizi della vostra azienda , dai vostri servizi di posta ai vostri utenti remoti che si collegano via RADIUS, al server FTP. == Installazione == Vi servono i pacchetti : {{{ #apt-get -y install samba #apt-get -y install smbldap-tools #apt-get -y install krb5-ftpd #apt-get -y install krb5-telnetd }}} == Descrizione dell'architettura == Consideriamo una configurazione tipo con : {{{ LDAP master con DNS master on-board LDAP replica con DNS slave per fault tolerance un file server SAMBA come PDC un altro file server SAMBA come BDC un KDC i servers protetti da Kerberos (tutti i clients e le 2 macchine SAMBA + la replica LDAP) }}} ogni entry citata è su una macchina separata. == Configurazione del master LDAP == Innanzitutto procedere alla configurazione del DNS master creando la zona diretta e l'inversa per il vostro dominio. Pertanto installate il pacchetto '''bind9''' con il comando : {{{ #apt-get -y install bind9 }}} ed effettuate le configurazioni come indicato nel wiki '''Configurare un server DNS'''. Fatto ciò installiamo poi i pacchetti necessari per il server LDAP : {{{ #apt-get -y install slapd #apt-get -y install migrationtools #apt-get -y install ldap-utils }}} qualora vogliamo amministrare il server LDAP direttamente dal terminale e non da una workstation remota installiamo anche il pacchetto per la gestione grafica del server LDAP : {{{ #apt-get -y install gq }}} |
[[Indice()]] = Introduzione = Un ''servizio di directory'' ha bisogno innanzitutto di una struttura ad albero dei nomi (server DNS) e di una analoga struttura associata basata sul protocollo LDAP (slapd). Inoltre, per fornire anche il servizio di file server a macchine Windows, è necessario il server SAMBA e, per utilizzare la crittografia basata sul protocollo Kerberos, il server Kerberos. Questo consente di avere un servizio di directory scalabile da utilizzare come ''backend'' per tutti i servizi aziendali, dai servizi di posta agli utenti remoti che si collegano via RADIUS al server FTP. = Installazione = Per installare i pacchetti necessari, in un terminale, copiare quanto segue: {{{ apt-get -y install samba smbldap-tools krb5-ftpd krb5-telnetd }}} = Descrizione dell'architettura = Si consideri una configurazione d'esempio di questo tipo: * LDAP master con DNS master on-board * LDAP replica con DNS slave per fault tolerance * un file server SAMBA come PDC * un altro file server SAMBA come BDC * un KDC * i server protetti da '''Kerberos''' (tutti i client, le macchine SAMBA e la replica LDAP) Ogni entry citata è su una macchina separata. = Configurare il master LDAP = Innanzitutto procedere alla configurazione del DNS master creando la zona diretta e inversa per il proprio dominio. Installare il pacchetto ''bind9'', da terminale, digitando: {{{ apt-get -y install bind9 }}} ed effettuare le configurazioni indicate nella guida [:Server/Dns:alla configurazione di un server DNS]. Fatto ciò, installare i pacchetti necessari per il server LDAP. Da terminale, digitare: {{{ apt-get -y install slapd migrationtools ldap-utils }}} Qualora vogliamo amministrare il server LDAP direttamente dal terminale e non da una workstation remota installiamo anche il pacchetto per la gestione grafica del server LDAP: {{{ apt-get -y install gq }}} |
Linea 78: | Linea 49: |
Poi procediamo come segue : * nel file '''/usr/share/migrationtools/migrate_common.ph''' effetuaimo le sostituzioni : {{{ |
Poi procedere come segue : * Nel file `/usr/share/migrationtools/migrate_common.ph` sostituire: {{{ |
Linea 82: | Linea 53: |
Linea 84: | Linea 54: |
Linea 87: | Linea 56: |
* poi eseguire come root i comandi : {{{ #cd /usr/share/migrationtools #./migrate_base.pl > /etc/ldap/base.ldif #./migrate_hosts.pl /etc/hosts > /etc/ldap/hosts.ldif #./migrate_group.pl /etc/group > /etc/ldap/group.ldif #./migrate_passwd.pl /etc/passwd > /etc/ldap/passwd.ldif #slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/base.ldif #slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/hosts.ldif #slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/group.ldif #slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/passwd.ldif }}} * generiamo poi le password dell'utente '''admin''' : {{{ #slappasswd -h {crypt} -s adminpassword }}} * a questo punto testiamo la configurazione con il comando : {{{ #ldapsearch -x -H ldap://IP master LDAP -b "dc=miodominio,dc=com" "(cn=nomeutente)" }}} * modificare il file '''/etc/ldap/slapd.conf''' come segue : {{{ |
* Poi eseguire come root i comandi : {{{ cd /usr/share/migrationtools ./migrate_base.pl > /etc/ldap/base.ldif ./migrate_hosts.pl /etc/hosts > /etc/ldap/hosts.ldif ./migrate_group.pl /etc/group > /etc/ldap/group.ldif ./migrate_passwd.pl /etc/passwd > /etc/ldap/passwd.ldif slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/base.ldif slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/hosts.ldif slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/group.ldif slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/passwd.ldif }}} * Generiamo poi le password dell'utente '''admin''' : {{{ slappasswd -h {crypt} -s adminpassword }}} * A questo punto testiamo la configurazione con il comando : {{{ ldapsearch -x -H ldap://IP master LDAP -b "dc=miodominio,dc=com" "(cn=nomeutente)" }}} * Modificare il file `/etc/ldap/slapd.conf` come segue : {{{ |
Linea 121: | Linea 79: |
* installare l'utility '''smbldap-tools''' come root : {{{ #apt-get -y install smbldap-tools }}} * eseguire il comando : {{{ #cp /usr/share/doc/smbldap-tools/samba.schema /etc/ldap/schema/samba.schema }}} ed inserire nel file '''/etc/ldap/slapd.conf''' dopo l'ultima direttiva '''include....''' quella che segue : {{{ |
* Installare l'utilità '''smbldap-tools''' come: {{{ sudo apt-get -y install smbldap-tools }}} * Eseguire il comando : {{{ sudo cp /usr/share/doc/smbldap-tools/samba.schema /etc/ldap/schema/samba.schema }}} * Ed inserire nel file `/etc/ldap/slapd.conf` dopo l'ultima direttiva `include....` quella che segue: {{{ |
Linea 134: | Linea 88: |
Ora procediamo alla configurazione del servizio di autenticazione crittografata installando il pacchetto Kerberos come segue : {{{ #apt-get -y install krb5-kdc #apt-get -y install krb5-admin-server }}} eseguire come root i seguenti comandi : {{{ #kdb5_util create -s #kadmin.local #kadmin: ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/admin #kadmin: ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/changepw #kadmin: addprinc -pw secret krbadm@MIODOMINIO.COM #kadmin: q #/etc/init.d/krb5-kdc start #/etc/init.d/krb5-admin-server start }}} == Configurazione della Replica LDAP == Innanzitutto procedere alla configurazione del DNS slave (ricordiamo che bisogna soltanto modificare il file '''/etc/bind9/named.conf.local''' aggiungendovi la zona diretta e l'inversa del vostro dominio e specificando l'IP del DNS master per la sincronizzazione delle zone). Pertanto installate il pacchetto '''bind9''' con il comando : {{{ #apt-get -y install bind9 }}} ed effettuate le configurazioni come indicato nel wiki '''Configurare un server DNS'''. |
* Ora procediamo alla configurazione del servizio di autenticazione crittografata installando il pacchetto ''Kerberos'' come segue : {{{ apt-get -y install krb5-kdc apt-get -y install krb5-admin-server }}} * Eseguire come root i seguenti comandi : {{{ kdb5_util create -s kadmin.local kadmin: ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/admin kadmin: ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/changepw kadmin: addprinc -pw secret krbadm@MIODOMINIO.COM kadmin: q /etc/init.d/krb5-kdc start /etc/init.d/krb5-admin-server start }}} = Configurare la replica LDAP = Innanzitutto procedere alla configurazione del DNS slave (ricordiamo che bisogna soltanto modificare il file `/etc/bind9/named.conf.local` aggiungendovi la zona diretta e l'inversa del vostro dominio e specificando l'IP del DNS master per la sincronizzazione delle zone). Pertanto installate il pacchetto ''bind9'' con il comando : {{{ sudo apt-get -y install bind9 }}} ed effettuate le configurazioni come indicato nel wiki [:Server/Dns:Configurare un server DNS]. |
Linea 175: | Linea 113: |
* in '''/etc/ldap/slapd.conf''' inserire direttive : {{{ | * In `/etc/ldap/slapd.conf` inserire direttive : {{{ |
Linea 177: | Linea 115: |
Linea 179: | Linea 116: |
Linea 181: | Linea 117: |
Linea 189: | Linea 124: |
Linea 196: | Linea 130: |
'''N.B. :''' ricordatevi di creare nel DB LDAP sia l'utente '''samba''' che l'utente '''nssuser'''. Se volete usate l'utility '''gq''' da installare o sul server LDAP o su una workstation remota da cui amministrare master e replica LDAP. * installare i pacchetti per il supporto all'autenticazione Kerberos lato client {{{ #apt-get -y install libpam-krb5 #apt-get -y install krb5-user }}} * configurare i pacchetti per il supporto all'autenticazione Kerberos lato client * modificare il file '''/etc/pam.d/common-account''' come segue : {{{ |
Ricordarsi di creare nel database LDAP sia l'utente '''samba''' che l'utente '''nssuser'''. Se volete usate l'utility '''gq''' da installare o sul server LDAP o su una workstation remota da cui amministrare master e replica LDAP. * Installare i pacchetti per il supporto all'autenticazione Kerberos lato client {{{ apt-get -y install libpam-krb5 apt-get -y install krb5-user }}} * Monfigurare i pacchetti per il supporto all'autenticazione Kerberos lato client * Modificare il file `/etc/pam.d/common-account` come segue : {{{ |
Linea 212: | Linea 141: |
Linea 215: | Linea 143: |
* modificare il file '''/etc/pam.d/common-auth''' come segue : {{{ |
* Modificare il file `/etc/pam.d/common-auth` come segue : {{{ |
Linea 218: | Linea 145: |
Linea 221: | Linea 147: |
* modificare il file '''/etc/pam.d/common-session''' come segue : {{{ |
* Modificare il file `/etc/pam.d/common-session` come segue : {{{ |
Linea 224: | Linea 149: |
Linea 228: | Linea 152: |
== Configurazione del PDC SAMBA == * installate il pacchetto '''samba''' nel modo seguente : {{{ #apt-get -y install samba }}} * modificate il file '''/etc/samba/smb.conf''' come segue : {{{ |
= Configurare il PDC SAMBA = * Installate il pacchetto '''samba''' nel modo seguente : {{{ apt-get -y install samba }}} * Modificate il file `/etc/samba/smb.conf` come segue : {{{ |
Linea 238: | Linea 161: |
Linea 240: | Linea 162: |
Linea 242: | Linea 163: |
Linea 244: | Linea 164: |
Linea 246: | Linea 165: |
Linea 248: | Linea 166: |
Linea 250: | Linea 167: |
Linea 263: | Linea 179: |
Linea 334: | Linea 249: |
* create la share '''var/lib/samba/profiles''' e rendetela leggibile e scrivibile da tutti gli utenti del sistema : {{{ #mkdir /var/lib/samba/profiles && chmod -R 777 /var/lib/samba/profiles }}} questo è necessario poichè i clients Microsoft accedono in scrittura a tale directory per creare il profilo degli utenti di rete. * creare l'utente '''samba''' e memorizzarne la password nel file '''/var/lib/samba/secrets.tdb''' come segue : {{{ |
* Create la share `var/lib/samba/profiles` e rendetela leggibile e scrivibile da tutti gli utenti del sistema: {{{ mkdir /var/lib/samba/profiles && chmod -R 777 /var/lib/samba/profiles }}} questo è necessario poichè i client Microsoft accedono in scrittura a tale directory per creare il profilo degli utenti di rete. * Creare l'utente '''samba''' e memorizzarne la password nel file `/var/lib/samba/secrets.tdb` come segue : {{{ |
Linea 344: | Linea 254: |
Linea 347: | Linea 256: |
* memorizzare il '''SID''' del server nel file '''/var/lib/samba/secrets.tdb''' come segue : {{{ |
* Memorizzare il '''SID''' del server nel file `/var/lib/samba/secrets.tdb` come segue : {{{ |
Linea 351: | Linea 258: |
Linea 353: | Linea 259: |
Linea 356: | Linea 261: |
* installare e configurare il pacchetto '''smbldap-tools''' come segue : {{{ #apt-get -y install smbldap-tools }}} * controllare la configurazione dei files : {{{ |
* Installare e configurare il pacchetto '''smbldap-tools''' come segue : {{{ apt-get -y install smbldap-tools }}} * Controllare la configurazione dei files : {{{ |
Linea 363: | Linea 266: |
Linea 366: | Linea 268: |
* lanciare i comandi : {{{ #smbldap-populate #smbldap-passwd Administrator #net rpc join miodominio.com -UAdministrator%password }}} * creare i nuovi utenti utilizzando le utilities '''smbldap-tools''' come negli esempi : {{{ #smbldap-useradd -a -g 512 -m -s /bin/sh -d /home/user_admin -F "" -P user-admin }}} consultate le man pages per tutte le opzioni (il valore di '''-F''' è il roaming profile dell'utente). * testate la vostra configurazione tramite i comandi : {{{ #smbclient //SRV/public -Uuser_admin%password #pdbedit -Lv user_admin }}} * aggiornate le policies SAMBA con i comandi : {{{ #pdbedit -P "password_history" -C 5 #pdbedit -P "maximum_password_age" -C 180 #pdbedit -P "min_password_length" -C 6 }}} * installare i pacchetti per il supporto all'autenticazione Kerberos lato client {{{ #apt-get -y install libpam-krb5 #apt-get -y install krb5-user }}} * configurare i pacchetti per il supporto all'autenticazione Kerberos lato client * modificare il file '''/etc/pam.d/common-account''' come segue : {{{ |
* Lanciare i comandi : {{{ smbldap-populate smbldap-passwd Administrator net rpc join miodominio.com -UAdministrator%password }}} * Creare i nuovi utenti utilizzando le utilities '''smbldap-tools''' come negli esempi : {{{ smbldap-useradd -a -g 512 -m -s /bin/sh -d /home/user_admin -F "" -P user-admin }}} consultate le man pages per tutte le opzioni (il valore di '''-F''' è il roaming profile dell'utente). * Testare la vostra configurazione tramite i comandi : {{{ smbclient //SRV/public -Uuser_admin%password pdbedit -Lv user_admin }}} * Aggiornate le policies SAMBA con i comandi : {{{ pdbedit -P "password_history" -C 5 pdbedit -P "maximum_password_age" -C 180 pdbedit -P "min_password_length" -C 6 }}} * Installare i pacchetti per il supporto all'autenticazione Kerberos lato client {{{ apt-get -y install libpam-krb5 apt-get -y install krb5-user }}} * Configurare i pacchetti per il supporto all'autenticazione Kerberos lato client * Modificare il file `/etc/pam.d/common-account` come segue : {{{ |
Linea 406: | Linea 292: |
Linea 409: | Linea 294: |
* modificare il file '''/etc/pam.d/common-auth''' come segue : {{{ |
* Modificare il file `/etc/pam.d/common-auth` come segue : {{{ |
Linea 412: | Linea 296: |
Linea 415: | Linea 298: |
* modificare il file '''/etc/pam.d/common-session''' come segue : {{{ |
* Modificare il file `/etc/pam.d/common-session` come segue : {{{ |
Linea 418: | Linea 300: |
Linea 422: | Linea 303: |
== Altre utilità LDAP == Se dovete modificare le passwords agli utenti del DB LDAP creato potete usare il comando : {{{ #ldappasswd -x -D "cn=admin,dc=miodominio,dc=com" -W -s nuovapasswordutente |
= Altre utilità LDAP = Se dovete modificare le passwords agli utenti del DB LDAP creato potete usare il comando: {{{ ldappasswd -x -D "cn=admin,dc=miodominio,dc=com" -W -s nuovapasswordutente |
Linea 431: | Linea 310: |
== Configurazione del BDC SAMBA == * installate il pacchetto '''samba''' nel modo seguente : {{{ #apt-get -y install samba }}} * modificate il file '''/etc/samba/smb.conf''' come segue : {{{ |
= Configurare BDC SAMBA = * Installate il pacchetto '''samba''' nel modo seguente : {{{ apt-get -y install samba }}} * Modificate il file `/etc/samba/smb.conf` come segue : {{{ |
Linea 442: | Linea 319: |
Linea 444: | Linea 320: |
Linea 446: | Linea 321: |
Linea 448: | Linea 322: |
Linea 450: | Linea 323: |
Linea 452: | Linea 324: |
Linea 454: | Linea 325: |
Linea 468: | Linea 338: |
Linea 538: | Linea 407: |
* create la share '''var/lib/samba/profiles''' e rendetela leggibile e scrivibile da tutti gli utenti del sistema : {{{ #mkdir /var/lib/samba/profiles && chmod -R 777 /var/lib/samba/profiles }}} questo è necessario poichè i clients Microsoft accedono in scrittura a tale directory per creare il profilo degli utenti di rete. * il comando '''wins_server = yes''' unito ad una opportuna (vedi sezione dedicata alla configurazione dei clients) qualifica il server SAMBA come WINS server e permette pertanto di impedire di inutili broadcasts dei clients per localizzare il loro NETBIOS server. * acquisire il '''SID''' del PDC con il comando : {{{ #net rpc getsid }}} * installare i pacchetti per il supporto all'autenticazione Kerberos lato client {{{ #apt-get -y install libpam-krb5 #apt-get -y install krb5-user }}} * configurare i pacchetti per il supporto all'autenticazione Kerberos lato client * modificare il file '''/etc/pam.d/common-account''' come segue : {{{ |
* Create la share `var/lib/samba/profiles` e rendetela leggibile e scrivibile da tutti gli utenti del sistema: {{{ mkdir /var/lib/samba/profiles && chmod -R 777 /var/lib/samba/profiles }}} questo è necessario poichè i clients Microsoft accedono in scrittura a tale directory per creare il profilo degli utenti di rete. * Il comando `wins_server = yes` unito ad una opportuna (vedi sezione dedicata alla configurazione dei clients) qualifica il server SAMBA come WINS server e permette pertanto di impedire di inutili broadcasts dei clients per localizzare il loro NETBIOS server. * Acquisire il '''SID''' del PDC con il comando: {{{ net rpc getsid }}} * Installare i pacchetti per il supporto all'autenticazione Kerberos lato client {{{ apt-get -y install libpam-krb5 apt-get -y install krb5-user }}} * Configurare i pacchetti per il supporto all'autenticazione Kerberos lato client * Modificare il file `/etc/pam.d/common-account` come segue: {{{ |
Linea 570: | Linea 421: |
Linea 573: | Linea 423: |
* modificare il file '''/etc/pam.d/common-auth''' come segue : {{{ |
* Modificare il file `/etc/pam.d/common-auth` come segue: {{{ |
Linea 578: | Linea 425: |
Linea 581: | Linea 427: |
* modificare il file '''/etc/pam.d/common-session''' come segue : {{{ |
* Modificare il file `/etc/pam.d/common-session` come segue: {{{ |
Linea 586: | Linea 429: |
Linea 590: | Linea 432: |
== Configurazione dei clients == * installare come root la libreria per il supporto LDAP con il comando : {{{ #apt-get -y install libnss-ldap }}} * modificare il file '''/etc/ldap/ldap.conf''' come segue : {{{ |
= Configurare i client = * Installare come root la libreria per il supporto LDAP con il comando: {{{ apt-get -y install libnss-ldap }}} * Modificare il file `/etc/ldap/ldap.conf` come segue: {{{ |
Linea 605: | Linea 439: |
Linea 608: | Linea 441: |
* modificare il file '''/etc/pam.d/common-account''' come segue : {{{ |
* Modificare il file `/etc/pam.d/common-account` come segue: {{{ |
Linea 613: | Linea 443: |
Linea 616: | Linea 445: |
* modificare il file '''/etc/pam.d/common-auth''' come segue : {{{ |
* Modificare il file `/etc/pam.d/common-auth` come segue: {{{ |
Linea 621: | Linea 447: |
Linea 624: | Linea 449: |
* modificare il file '''/etc/pam.d/common-session''' come segue : {{{ |
* Modificare il file `/etc/pam.d/common-session` come segue: {{{ |
Linea 629: | Linea 451: |
Linea 632: | Linea 453: |
'''N.B. : ''' se volete usare soltanto LDAP e non permettere l'accesso ai clients agli utenti locali dovete usare nei 3 files visti le direttive : {{{ |
* Se volete usare soltanto LDAP e non permettere l'accesso ai client agli utenti locali dovete usare nei tre files visti le direttive: {{{ |
Linea 639: | Linea 455: |
Linea 641: | Linea 456: |
Linea 644: | Linea 458: |
* eseguire il join al dominio SAMBA con il comando : {{{ #net rpc join miodominio.com -UAdministrator%password }}} * per poter accedere al filesystem SAMBA installare l'utility '''smbfs''' : {{{ #apt-get -y install smbfs }}} * per montare un filesystem remoto SAMBA utilizzare il comando : {{{ #smbmount //SRV/public /mnt/smb -o username=user_admin }}} * se volete abilitare l'automount del filesystem SAMBA utilizzate il programma '''autofs''' installandolo come segue : {{{ #apt-get -y install autofs }}} * ora modificate il file '''/etc/auto.master''' come segue : {{{ |
* Eseguire il join al dominio SAMBA con il comando: {{{ net rpc join miodominio.com -UAdministrator%password }}} * Per poter accedere al filesystem SAMBA installare l'utility '''smbfs''': {{{ apt-get -y install smbfs }}} * Per montare un filesystem remoto SAMBA utilizzare il comando: {{{ smbmount //SRV/public /mnt/smb -o username=user_admin }}} * Se volete abilitare l'automount del filesystem SAMBA utilizzate il programma '''autofs''' installandolo come segue: {{{ apt-get -y install autofs }}} * Ora modificate il file `/etc/auto.master` come segue: {{{ |
Linea 674: | Linea 473: |
ed il file '''/etc/auto.smb''' come segue : {{{ |
* Ed il file `/etc/auto.smb` come segue: {{{ |
Linea 678: | Linea 476: |
e riavviate il servizio '''autofs''' con il comando : {{{ #/etc/init.d/autofs restart }}} * ora per impedire il broadcast sulla rete per l'individuazione del server WINS modificare il file '''/etc/samba/smb.conf''' come segue : {{{ |
* E riavviate il servizio '''autofs''' con il comando : {{{ /etc/init.d/autofs restart }}} * Ora per impedire il broadcast sulla rete per l'individuazione del server WINS modificare il file `/etc/samba/smb.conf` come segue : {{{ |
Linea 689: | Linea 485: |
#apt-get -y install libpam-krb5 #apt-get -y install krb5-user }}} * configurare i pacchetti per il supporto all'autenticazione Kerberos lato client * modificare il file '''/etc/pam.d/common-account''' come segue : {{{ |
apt-get -y install libpam-krb5 apt-get -y install krb5-user }}} * Configurare i pacchetti per il supporto all'autenticazione Kerberos lato client * Modificare il file `/etc/pam.d/common-account` come segue : {{{ |
Linea 698: | Linea 491: |
Linea 701: | Linea 493: |
* modificare il file '''/etc/pam.d/common-auth''' come segue : {{{ |
* Modificare il file `/etc/pam.d/common-auth` come segue : {{{ |
Linea 704: | Linea 495: |
Linea 707: | Linea 497: |
* modificare il file '''/etc/pam.d/common-session''' come segue : {{{ |
* Modificare il file `/etc/pam.d/common-session` come segue : {{{ |
Linea 710: | Linea 499: |
Linea 714: | Linea 502: |
= Ulteriori risorse = * [:InternetRete/Condivisione/Autofs:Guida a autofs] |
|
Linea 715: | Linea 507: |
CategoryServer CategoryNuoviDocumenti | CategoryServer CategoryDaRevisionare |
Introduzione
Un servizio di directory ha bisogno innanzitutto di una struttura ad albero dei nomi (server DNS) e di una analoga struttura associata basata sul protocollo LDAP (slapd).
Inoltre, per fornire anche il servizio di file server a macchine Windows, è necessario il server SAMBA e, per utilizzare la crittografia basata sul protocollo Kerberos, il server Kerberos.
Questo consente di avere un servizio di directory scalabile da utilizzare come backend per tutti i servizi aziendali, dai servizi di posta agli utenti remoti che si collegano via RADIUS al server FTP.
Installazione
Per installare i pacchetti necessari, in un terminale, copiare quanto segue:
apt-get -y install samba smbldap-tools krb5-ftpd krb5-telnetd
Descrizione dell'architettura
Si consideri una configurazione d'esempio di questo tipo:
- LDAP master con DNS master on-board
- LDAP replica con DNS slave per fault tolerance
- un file server SAMBA come PDC
- un altro file server SAMBA come BDC
- un KDC
i server protetti da Kerberos (tutti i client, le macchine SAMBA e la replica LDAP)
Ogni entry citata è su una macchina separata.
Configurare il master LDAP
Innanzitutto procedere alla configurazione del DNS master creando la zona diretta e inversa per il proprio dominio.
Installare il pacchetto bind9, da terminale, digitando:
apt-get -y install bind9
ed effettuare le configurazioni indicate nella guida [:Server/Dns:alla configurazione di un server DNS].
Fatto ciò, installare i pacchetti necessari per il server LDAP. Da terminale, digitare:
apt-get -y install slapd migrationtools ldap-utils
Qualora vogliamo amministrare il server LDAP direttamente dal terminale e non da una workstation remota installiamo anche il pacchetto per la gestione grafica del server LDAP:
apt-get -y install gq
Poi procedere come segue :
Nel file /usr/share/migrationtools/migrate_common.ph sostituire:
$DEFAULT_MAIL_DOMAIN = vostrodominio $DEFAULT_BASE = "dc=miodominio,dc=com" $EXTENDED_SCHEMA = 1
Poi eseguire come root i comandi :
cd /usr/share/migrationtools ./migrate_base.pl > /etc/ldap/base.ldif ./migrate_hosts.pl /etc/hosts > /etc/ldap/hosts.ldif ./migrate_group.pl /etc/group > /etc/ldap/group.ldif ./migrate_passwd.pl /etc/passwd > /etc/ldap/passwd.ldif slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/base.ldif slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/hosts.ldif slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/group.ldif slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/passwd.ldif
Generiamo poi le password dell'utente admin :
slappasswd -h {crypt} -s adminpassword
A questo punto testiamo la configurazione con il comando :
ldapsearch -x -H ldap://IP master LDAP -b "dc=miodominio,dc=com" "(cn=nomeutente)"
Modificare il file /etc/ldap/slapd.conf come segue :
replica host = replicaFQDN bindmethod=simple \ binddn="cn=replicator,ou=miaOU,dc=miodominio,dc=com" \ credentials=replicatorpassword
Installare l'utilità smbldap-tools come:
sudo apt-get -y install smbldap-tools
Eseguire il comando :
sudo cp /usr/share/doc/smbldap-tools/samba.schema /etc/ldap/schema/samba.schema
Ed inserire nel file /etc/ldap/slapd.conf dopo l'ultima direttiva include.... quella che segue:
include /etc/ldap/schema/samba.schema
Ora procediamo alla configurazione del servizio di autenticazione crittografata installando il pacchetto Kerberos come segue :
apt-get -y install krb5-kdc apt-get -y install krb5-admin-server
Eseguire come root i seguenti comandi :
kdb5_util create -s kadmin.local kadmin: ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/admin kadmin: ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/changepw kadmin: addprinc -pw secret krbadm@MIODOMINIO.COM kadmin: q /etc/init.d/krb5-kdc start /etc/init.d/krb5-admin-server start
Configurare la replica LDAP
Innanzitutto procedere alla configurazione del DNS slave (ricordiamo che bisogna soltanto modificare il file /etc/bind9/named.conf.local aggiungendovi la zona diretta e l'inversa del vostro dominio e specificando l'IP del DNS master per la sincronizzazione delle zone).
Pertanto installate il pacchetto bind9 con il comando :
sudo apt-get -y install bind9
ed effettuate le configurazioni come indicato nel wiki [:Server/Dns:Configurare un server DNS].
Procedere come segue :
In /etc/ldap/slapd.conf inserire direttive :
referral ldap://<FQDN o IP LDAP master> updatedn "cn=replicator,ou=miaOU,dc=miodominio,dc=com" updateref ldap://<FQDN o IP LDAP master> access to attrs = userPassword,sambaLMPassword,sambaNTPassword by dn = "cn=admin,ou=miaOU,dc=miodominio,dc=com" write by dn = "cn=samba,ou=miaOU,dc=miodominio,dc=com" write by dn = "cn=nssuser,ou=miaOU,dc=miodominio,dc=com" read by anonymous auth by self write by * none access to * by dn = "cn=admin,ou=miaOU,dc=miodominio,dc=com" write by anonymous auth by * none
Ricordarsi di creare nel database LDAP sia l'utente samba che l'utente nssuser.
Se volete usate l'utility gq da installare o sul server LDAP o su una workstation remota da cui amministrare master e replica LDAP.
Installare i pacchetti per il supporto all'autenticazione Kerberos lato client
apt-get -y install libpam-krb5 apt-get -y install krb5-user
- Monfigurare i pacchetti per il supporto all'autenticazione Kerberos lato client
Modificare il file /etc/pam.d/common-account come segue :
account sufficient pam_krb5.so account required pam_unix.so
Modificare il file /etc/pam.d/common-auth come segue :
auth sufficient pam_krb5.so nullok_secure auth required pam_unix.so nullok_secure
Modificare il file /etc/pam.d/common-session come segue :
session sufficient pam_krb5.so session required pam_unix.so
Configurare il PDC SAMBA
Installate il pacchetto samba nel modo seguente :
apt-get -y install samba
Modificate il file /etc/samba/smb.conf come segue :
workgroup = MIODOMINIO.COM domain master = yes domain logons = yes encrypt passwords = yes security = user os level = 65 wins support = yes name resolver order = wins lmhosts hosts bcast logon path = \\%N\profiles\%U logon drive = H: logon home = \\%N\%U\winprofile logon script = logon.bat log level = 1 printcap name = CUPS show add printer wizard = No shutdown script = /var/lib/samba/scripts/shutdown.sh abort shutdown script = /sbin/shutdown -c utmp = Yes map acl inherit = Yes printing = cups passdb backend = ldapsam:ldap://<IP LDAP master>/ ldap://<IP LDAP replica>/ ldap admin dn = cn=admin,dc=miodominio,dc=com ldap suffix = dc=miodominio,dc=com ldap group suffix = ou=Groups ldap user suffix = ou=People ldap machine suffix = ou=Computers ldap idmap suffix = ou=People add user script = /usr/sbin/smbldap_useradd -m '%u' delete user script = /usr/sbin/smbldap-userdel -r "%u" add group script = /usr/sbin/smbldap-groupadd -p "%g" delete group script = /usr/sbin/smbldap-groupdel "%g" add user to group script = /usr/sbin/smbldap_groupmod -m "%u" "%g" delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g" add machine script = /usr/sbin/smbldap_useradd -w '%u' set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u" ldap delete dn = Yes [homes] comment = Home Directories path = /home/%U browseable = yes writable = yes create mask = 0775 directory mask = 0775 valid users = %S [netlogon] comment = Network Logon Service path = /usr/local/netlogon guest ok = yes writable = yes share modes = no browseable = yes [profiles] path = /var/lib/samba/profiles read only = no create mask = 0600 directory mask = 0700 browseable = yes writable = yes directory mode = 0755 [printers] comment = All Printers browseable = no path = /tmp printable = yes public = no writable = no create mode = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no [whole_linux_server] comment = whole_linux_box path = / valid users = admin root dtrask admin users = admin root dtrask write list = admin root dtrask public = no writable = yes
Create la share var/lib/samba/profiles e rendetela leggibile e scrivibile da tutti gli utenti del sistema:
mkdir /var/lib/samba/profiles && chmod -R 777 /var/lib/samba/profiles
questo è necessario poichè i client Microsoft accedono in scrittura a tale directory per creare il profilo degli utenti di rete.Creare l'utente samba e memorizzarne la password nel file /var/lib/samba/secrets.tdb come segue :
#read -s -p "Digita la password dell'utente samba : " LDAP_BINDPW #smbpasswd -w $LDAP_BINDPW
Memorizzare il SID del server nel file /var/lib/samba/secrets.tdb come segue :
#/etc/init.d/samba start #net getlocalsid #net rpc getsid miodominio.com
Installare e configurare il pacchetto smbldap-tools come segue :
apt-get -y install smbldap-tools
Controllare la configurazione dei files :
smbldap.conf smbldap-bind.conf
Lanciare i comandi :
smbldap-populate smbldap-passwd Administrator net rpc join miodominio.com -UAdministrator%password
Creare i nuovi utenti utilizzando le utilities smbldap-tools come negli esempi :
smbldap-useradd -a -g 512 -m -s /bin/sh -d /home/user_admin -F "" -P user-admin
consultate le man pages per tutte le opzioni (il valore di -F è il roaming profile dell'utente).
Testare la vostra configurazione tramite i comandi :
smbclient //SRV/public -Uuser_admin%password pdbedit -Lv user_admin
Aggiornate le policies SAMBA con i comandi :
pdbedit -P "password_history" -C 5 pdbedit -P "maximum_password_age" -C 180 pdbedit -P "min_password_length" -C 6
Installare i pacchetti per il supporto all'autenticazione Kerberos lato client
apt-get -y install libpam-krb5 apt-get -y install krb5-user
- Configurare i pacchetti per il supporto all'autenticazione Kerberos lato client
Modificare il file /etc/pam.d/common-account come segue :
account sufficient pam_krb5.so account required pam_unix.so
Modificare il file /etc/pam.d/common-auth come segue :
auth sufficient pam_krb5.so nullok_secure auth required pam_unix.so nullok_secure
Modificare il file /etc/pam.d/common-session come segue :
session sufficient pam_krb5.so session required pam_unix.so
Altre utilità LDAP
Se dovete modificare le passwords agli utenti del DB LDAP creato potete usare il comando:
ldappasswd -x -D "cn=admin,dc=miodominio,dc=com" -W -s nuovapasswordutente "cn=utente,ou=miaOU,dc=miodominio,dc=com"
Configurare BDC SAMBA
Installate il pacchetto samba nel modo seguente :
apt-get -y install samba
Modificate il file /etc/samba/smb.conf come segue :
workgroup = MIODOMINIO.COM domain master = no domain logons = yes encrypt passwords = yes security = user os level = 65 wins support = yes name resolver order = wins lmhosts hosts bcast logon path = \\%N\profiles\%U logon drive = H: logon home = \\%N\%U\winprofile logon script = logon.bat log level = 1 printcap name = CUPS show add printer wizard = No shutdown script = /var/lib/samba/scripts/shutdown.sh abort shutdown script = /sbin/shutdown -c utmp = Yes map acl inherit = Yes printing = cups passdb backend = ldapsam:ldap://<IP LDAP master>/ ldap://<IP LDAP replica>/ ldap admin dn = cn=admin,dc=miodominio,dc=com ldap suffix = dc=miodominio,dc=com ldap group suffix = ou=Groups ldap user suffix = ou=People ldap machine suffix = ou=Computers ldap idmap suffix = ou=People add user script = /usr/sbin/smbldap_useradd -m '%u' delete user script = /usr/sbin/smbldap-userdel -r "%u" add group script = /usr/sbin/smbldap-groupadd -p "%g" delete group script = /usr/sbin/smbldap-groupdel "%g" add user to group script = /usr/sbin/smbldap_groupmod -m "%u" "%g" delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g" add machine script = /usr/sbin/smbldap_useradd -w '%u' set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u" ldap delete dn = Yes [homes] comment = Home Directories path = /home/%U browseable = yes writable = yes create mask = 0775 directory mask = 0775 valid users = %S [netlogon] comment = Network Logon Service path = /usr/local/netlogon guest ok = yes writable = yes share modes = no browseable = yes [profiles] path = /var/lib/samba/profiles read only = no create mask = 0600 directory mask = 0700 browseable = yes writable = yes directory mode = 0755 [printers] comment = All Printers browseable = no path = /tmp printable = yes public = no writable = no create mode = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no [whole_linux_server] comment = whole_linux_box path = / valid users = admin root dtrask admin users = admin root dtrask write list = admin root dtrask public = no writable = yes
Create la share var/lib/samba/profiles e rendetela leggibile e scrivibile da tutti gli utenti del sistema:
mkdir /var/lib/samba/profiles && chmod -R 777 /var/lib/samba/profiles
questo è necessario poichè i clients Microsoft accedono in scrittura a tale directory per creare il profilo degli utenti di rete.Il comando wins_server = yes unito ad una opportuna (vedi sezione dedicata alla configurazione dei clients) qualifica il server SAMBA come WINS server e permette pertanto di impedire di inutili broadcasts dei clients per localizzare il loro NETBIOS server.
Acquisire il SID del PDC con il comando:
net rpc getsid
Installare i pacchetti per il supporto all'autenticazione Kerberos lato client
apt-get -y install libpam-krb5 apt-get -y install krb5-user
- Configurare i pacchetti per il supporto all'autenticazione Kerberos lato client
Modificare il file /etc/pam.d/common-account come segue:
account sufficient pam_krb5.so account required pam_unix.so
Modificare il file /etc/pam.d/common-auth come segue:
auth sufficient pam_krb5.so nullok_secure auth required pam_unix.so nullok_secure
Modificare il file /etc/pam.d/common-session come segue:
session sufficient pam_krb5.so session required pam_unix.so
Configurare i client
Installare come root la libreria per il supporto LDAP con il comando:
apt-get -y install libnss-ldap
Modificare il file /etc/ldap/ldap.conf come segue:
BASE dc=miodominio,dc=com URI ldap://<FQDN o IP LDAP master> ldap://<FQDN o IP LDAP replica>
Modificare il file /etc/pam.d/common-account come segue:
account sufficient pam_ldap.so account required pam_unix.so
Modificare il file /etc/pam.d/common-auth come segue:
auth sufficient pam_ldap.so nullok_secure auth required pam_unix.so nullok_secure
Modificare il file /etc/pam.d/common-session come segue:
session sufficient pam_ldap.so session required pam_unix.so
Se volete usare soltanto LDAP e non permettere l'accesso ai client agli utenti locali dovete usare nei tre files visti le direttive:
account required pam_ldap.so account required pam_ldap.so nullok_secure account required pam_ldap.so
Eseguire il join al dominio SAMBA con il comando:
net rpc join miodominio.com -UAdministrator%password
Per poter accedere al filesystem SAMBA installare l'utility smbfs:
apt-get -y install smbfs
Per montare un filesystem remoto SAMBA utilizzare il comando:
smbmount //SRV/public /mnt/smb -o username=user_admin
Se volete abilitare l'automount del filesystem SAMBA utilizzate il programma autofs installandolo come segue:
apt-get -y install autofs
Ora modificate il file /etc/auto.master come segue:
/auto /etc/auto.smb
Ed il file /etc/auto.smb come segue:
smb -fstype=smbfs,rw,guest ://SRV/public
E riavviate il servizio autofs con il comando :
/etc/init.d/autofs restart
Ora per impedire il broadcast sulla rete per l'individuazione del server WINS modificare il file /etc/samba/smb.conf come segue :
wins server = <IP o FQDN SAMBA PDC>
installare i pacchetti per il supporto all'autenticazione Kerberos lato client
apt-get -y install libpam-krb5 apt-get -y install krb5-user
- Configurare i pacchetti per il supporto all'autenticazione Kerberos lato client
Modificare il file /etc/pam.d/common-account come segue :
account sufficient pam_krb5.so account required pam_unix.so
Modificare il file /etc/pam.d/common-auth come segue :
auth sufficient pam_krb5.so nullok_secure auth required pam_unix.so nullok_secure
Modificare il file /etc/pam.d/common-session come segue :
session sufficient pam_krb5.so session required pam_unix.so
Ulteriori risorse
[:InternetRete/Condivisione/Autofs:Guida a autofs]