Il file di configurazione delle libererie per l'accesso al database, che vengono usate da tutti i vari client, compresi quelli del pacchetto ldap-utils, è /etc/ldap/ldap.conf.6 In questo file va specificato quale è il server a cui si fa riferimento: è preferibile usare la direttiva uri, specificando al solito l'indirizzo come ldaps://ldap.gnulinux.it ed eliminando le direttive host e port. Inoltre il file deve anche indicare il certificato della Certification Authority e la direttiva che impone il riconoscimento del server. Un esempio del contenuto del file è il seguente:
BASE dc=gnulinux, dc=it URI ldaps://ldap.gnulinux.it tls_checkpeer yes tls_cacertfile /etc/ssl/certs/cacert.pem rootbinddn cn=admin,dc=chl,dc=ite l'ultima direttiva (rootbinddn) è quella che dice su quale utente devono essere mappate le richieste effettuate da root (di norma sono fatte in maniera anonima. É anche possibile, con le direttive binddn e bindpw specificare un collegamento al database attraverso uno specifico utente, di cui occorre fornire, come nell'esempio, il Distinguished Name e la password (in chiaro). Nel caso dell'utente associato root questa viene mantenuta a parte nel file /etc/ldap.secret i cui permessi devono essere settati a 0400.
Se si è attivata la richiesta di verifica del client da parte di slapd occorre settare il client per l'utilizzo dei certificati. Per ciascun client si dovranno pertanto ripetere le operazioni viste in sez. 4.1, per creare un certificato firmato dalla stessa CA del server. Anche qui si abbia cura di usare come Common Name il FQDN del client. Questi andranno copiati nella stessa directory /etc/ssl/certs/ con gli stessi permessi visti in precedenza. Fatto questo si deve indicare al client di usare questi certificati.
Purtroppo questo non può essere fatto dal file di configurazione generale, ma deve essere specificato per ciascun utente nell'opportuno file di configurazione personale .ldaprc,7in cui devono essere inserite le righe:
TLS_CACERT /etc/ssl/certs/cacert.pem TLS_CERT /etc/ssl/certs/newcert.pem TLS_KEY /etc/ssl/certs/newkey.pem TLS_REQCERT hard(la prima è opzionale se il file della CA è già stato settato in ldap.conf.
Una volta fatto questo si potrà verificare l'accesso all'elenco, il comando base che permette di fare delle ricerche è ldapsearch, se invocato senza parametri, con un comando del tipo:
[root@havnor root]# ldapsearch -xe questo accederà al server specificato in ldap.conf per effettuare una ricerca generica, con accesso anonimo. L'opzione -x serve a specificare che l'autenticazione deve essere effettuata in modalità semplice.8 Ulteriori opzioni utili sono:
Purtroppo allo stato delle cose non è possibile una modalità di autenticazione generica per del client nei confroti del server. Questo perché la modalità specificata funziona soltanto finché si ha l'accesso alla chiave privata del certificato del client, data da TLS_KEY, e questa deve essere in chiaro, e non è pensabile che gli utenti possano accedere ad un certificato che identifica una macchina.
Se pertanto se deve autenticare il client rispetto al server occorrerà fornire ciascun utente di un suo proprio certificato, rendendo ovviamente la cosa molto più macchinosa.