Sistemi per l’elaborazione dell’informazione: Sicurezza su reti Problemi ♦ Reti molto vaste con numerose risorse da gestire… ♦ Account validi non usati, account dimenticati,password da cambiare su più macchine... ♦ Localizzare oggetti quali: computer , stampanti, utenti… ♦ Gestire il processo di autenticazione… Antonio Radesca Anno Accademico 2002-2003 Il protocollo LDAP ♦ Il protocollo LDAP (Lightweight Directory Access Protocol) è uno standard aperto per l’erogazione di servizi di directory tramite una rete Intranet o Internet ♦ Basato sullo standard X.500 e su TCP ♦ Discendente del protocollo DAP ♦ Proposto nel 1993 ed adottato dalla IETF Servizio di Directory ??? Vantaggi di LDAP ♦ Cataloga tutte le informazioni riguardanti gli oggetti presenti in una rete , quali utenti , stampanti e workstation e le distribuisce in tutta la rete ♦ Le informazioni sono contenute in un database centralizzato ♦ Garantisce il controllo sugli accessi e permette la gestione del processo di autenticazione ♦ Fornisce una visione semplificata ed omogenea della rete Differenze tra LDAP e DAP ♦ Un servizio di directory è un database contenente ♦ DAP(Directory Acces Protocol) è un protocollo che informazioni riguardanti gli oggetti presenti all’interno di una rete basate su attributi ♦ Permette una gestione gerarchica e centralizzata degli oggetti presenti in una rete ♦ Generalmente si tratta di un servizio distribuito ♦ Permette brevi tempi di risposta a query permettendo la replica delle informazioni richiede molte risorse e opera su tutti i livelli dello standard OSI ♦ LDAP è progettato per funzionare su TCP/IP (solo 4 livelli) ed offre la maggior parte della funzionalità di DAP ad un costo molto più basso 1 Struttura del protocollo LDAP Entry ♦ Basato sul paradigma Client -Server ♦ Struttura gerarchica(simile al DNS) ♦ Un'entry è una raccolta di attributi che fanno riferimento ♦ Esiste uno o più server che forniscono accesso a un ♦ Il DN è usato per riferirsi inequivocabilmente all’entry ad un Distinguished Name (DN) unico DIT(Directory Information Tree) ♦ L’albero è formato da entry ESEMPIO Entry per l’utente Antonio Radesca: uid=antrad,ou=People,dc=example,dc=com. Albero di Directory LDAP Sessione LDAP Il server LDAP gli ritorna la risposta oppure un puntatore alla posizione in cui il client potrà avere maggiori informazion(tipicamente restituisce l’indirizzo IP di un altro server LDAP) Client LDAP si connette ad un server LDAP e gli pone una domanda Server LDAP Client LDAP Richiesta Risposta IBM Compatible Autenticazione con LDAP Server LDAP Server Kerberos OpenLDAP Autenticazione e generazione del TGT IBMCompatible IBMCompatible Invio ticket per servizio LDAP www.openldap.org Invio query e risposta tramite SSL Richiesta e rilascio ticket per servizio LDAP Workstation 2 OpenLDAP 1. 2. 3. 4. 5. 6. 7. 8. Panoramica e prerequisiti di OpenLDAP Installazione Caratteristiche e struttura Configurazione di slapd Schemi e Access List Configurazione per la replica PAM_LDAP OpenLDAP e Microsoft @ Active Directory Prerequisiti software per l’installazione ♦ Librerie OpenSSL-TLS(www.openssl.org) ♦ Servizi di autenticazione Kerberos e/o PAM (Per l’autenticazione sicura) ♦ Librerie Cyrus SASL (Simple Authentication and Security Layer) ♦ Berkeley DB 4 ♦ POSIX Thread ♦ Librerie libpam-ldap(Opzionali) ♦ nss-ldap(Opzionale) Demoni di OpenLDAP slapd ♦ Server che gestisce le richieste dei client del servizio ♦ Spesso è in esecuzione su più macchine della rete per aumentare la disponibilità del servizio con una copia di parte o tutta la struttura dell’albero di directory ♦ Implementazione “Open Source” di strumenti a supporto del protocollo LDAP ♦ Versione di riferimento 2.1.19 (Maggio 2003) ♦ Adottato dalle maggiori distribuzioni Linuxe usato soprattutto per l’autenticazione in ambienti di calcolo distribuiti. ♦ Supporta la distribuzione dei carichi di lavoro ♦ Fornisce brevi tempi di risposta ♦ Permette la replica delle informazioni Installazione di OpenLDAP ♦ Formati disponibili:Sorgente(tar.gz) e RPM ♦ Release di riferimento:2.1.19(Maggio 2003) ♦ Configurazione e complazione sorgenti(Utente root) #tar –xf openldp-2.1.19.tgz #cd openldap-2.1.19 #./configure #make depend #make #make install ♦ Installazione basata su RPM(Suse,RedHat,Mandrake..) #rpm –i openldap-2.1.19.rpm Demoni di OpenLDAP slurpd ♦ Garantisce la consistenza delle informazioni tra le istanze di slapd che partecipano al servizio(la consistenza è gestita mediante la replica e lo scambio di messaggi) 3 Interazione tra slapd e slurpd Avvio e terminazione di slapd AVVIO slurpd Slave slapd #/etc/init.d/slapd start 1-Richiesta ♦ Per installazioni da sorgenti: 7-Invia Client 2-Riferimento 3-Richiesta ♦ Per installazioni da RPM: Master slapd 4-Risposta 6-Legge 5-Scrive #/usr/local/etc/libexec/slapd start TERMINAZIONE ♦ Per installazioni da RPM: #/etc/init.d/slapd stop ♦ Per installazioni da sorgenti: #kill –INT ‘cat /usr/local/var/slapd.log’ Replication Log Formato LDIF Opzioni della riga di comando ♦ -f <nome_file> Specifica il percorso del file di configurazione ♦ -h <URL> Specifica configurazioni alternative per il server Default : ldap:// ♦ -n <nome_servizio> Specifica il nome del servizio,per default il nome è slapd ♦ -l <syslog-utente-locale> Specifica l’utente abilitato al syslog Configurazione del demone slapd ♦ ♦ 1. 2. 3. Gestita atraceverso il file slapd.conf (contenuto generalmente nella directory /usr/local/etc/openldap) Diviso in 3 sezioni: Global Backend specific Database specific ♦ LDIF è l’acronimo di LDAP Data Interchange Format ♦ Usato da OpenLDAP per rappresentare le entry del servizio di directory in formato testuale nel database e per lagestione degli schemi ♦ Formato di una entry: Dn:<distinguished name> <attrdesc>:<attrvalue> <attrdesc>:<attrvalue> … attrdesc può essere un tipo di attributo come dn oppure objestClass o può includere opzioni come cn;lang_... oppure userCerticate;binary. Struttura di slapd.conf ♦ IL carattere # indica una riga di commenti ♦ Formato generale: # global configuration directives <global config directives> # backend definition backend <typeA> <backend -specific directives > # first database definition & config directives database <typeA> <database-specific directives> # second database definition & config directives database <typeB> <database-specific directives> # second database definition & config directives database <typeA> <database-specific directives> # subsequent backend & database definitions & config directives ... 4 Regole di slapd.conf ♦ Ogni direttiva di una sezione può sovrascrivere la stessa Direttive globali di slapd.conf(1) ♦ include Carica gli schemi direttiva specificata nella sezione precedente ♦ access to <what> by <who> <access level> <control> ESEMPIO: Impostata una proprietà sia nella sezione “Global” che in quella “Database specific”,quella usata da slapd sarà quella impostata nella sezione “Database specific” Garantisce l’accesso a un insieme di entry e/o attributi a uno o più richiedenti(ACL) ♦ defaultaccess { none|compare|search|read|write } Specifica l’accesso nel caso in cui nessuna direttiva sia stata specificata ♦ idletimeout <filename> Specifica il numero di secondi da attendere prima di forzare la disconnessione di un client ♦ Alcune direttive possono avere significato diverso a seconda della sezione in cui si trovano Direttive globali di slapd.conf(2) Direttive globali di slapd.conf(3) ♦ sizelimit <integer> ♦ attributetipe <attribute type description> Definisce un tipo per un attributo ♦ loglevel Specifica il modo in cui vengono eseguite le attività di debug e le statistiche al demone syslogd ♦ objectClass <RFC2252 Object Class Description> Definisce una classe di oggetti ♦ referral <URL> Direttiva che specifica il riferimento da passare nel caso in cui slapd non possa soddisfare una richiesta Questa direttiva specifica il numero massimo di entry da ritornare dopo un’operazione di ricerca Default :sizelimit 500 ♦ timelimit <integer> Specifica il numero massimo di secondi (in tempo reale) che slapd impiegherà per soddisfare una query. Se una richiesta non potrà essere soddisfatta entro quel tempo, sarà ritornato un errore di timeout Default :timelimit 3600 Direttive di Backend Schemi in slapd.conf ♦ Backend <type> ♦ Contengono le definizioni dei tipi di oggetti(detti Classi o objectClass) ♦ Esempi di tipi di oggetti : utenti,gruppi,stampanti o risorse condivise ♦ Sono contenuti in file con estensione .schema Direttive usate per la configurazione di backend di pacchetti a supporto di OpenLDAP Types bdb dnssrv ldap ldbm meta monitor passwd perl shell sql Description Berkeley DB transactional backend DNS SRV backend LDAP (Proxy) backend Lightweight DBM backend Meta Directory backend Monitor backend Provides read-only access to passwd(5) Perl Programmable backend Shell (extern program) backend SQL Programmable backend 5 Direttive generali di database ♦ database <type> Direttive generali di Database(2) ♦ readonly on|off Indica l'inizio di una dichiarazione di istanza di database.,<type> dovrebbe essere uno dei tipi di backend elencati ♦ directory Specifica la posizione fisica dei file utilizzati per memorizzare gli oggetti presenti nella directory ♦ replica Specifica un host che contiene una copia del database delle direttive Specifica il nome del file di log per la gestione della replica dele informazioni ♦ rootpw <password> Direttiva usata per specificare una password per il DN del rootdn Direttive generali di Database(3) Direttive generali di Database(4) ♦ rootdn <dn> Specifica il DN che non è soggetto a controllo o restrizioni per questo database. Il DN si riferisce di solito a un’entry nel database o nella directory oppure può riferirirsia identità SASL Esempio basato su entry : rootdn "cn=Manager,dc=example,dc=com" Specifica la modalità in cui il database si trova ♦ replogfile <filename > ♦ updatedn <dn> Questa direttiva è applicabile solo a demoni slapd slave Specifica il DN che può effettuare operazioni di replica Dovrebbe essere il DN del demone slurpd ♦ updateref <URL> Specifica l’ URL da ritornare ai client che richiedono query di update da replicare Direttiva applicabile solo a demoni slapd slave Esempio basato su SASL: rootdn "uid=root,cn=example.com,cn=digestmd5,cn=auth“ Direttive di database specifiche ♦ Direttive di questo tipo sono applicabili solo a determinati tipi di database ♦ Esempi di direttive di database BDB e LDBM: directory <directory> Questa direttiva specifica la directory si trovano i file BDB che contengono il database e gli indici associati cachesize <integer> Specifica la dimensione della cache dell’istanza del database di backend LDBM in numero di entry Access list ♦ Specifica le modalità per l’accesso al servizio di directory ESEMPIO (1): access to attr=userPassword by self write by anonymous auth by dn.base="cn=Admin,dc=example,dc=com" write by * none L’amministratore può modificare l’attributo userPassword di qualsiasi entry, ogni entry può modificare il suo attributo userPassword e tutti gli altri non hanno permesso di lettura e di scrittura sull’attributo 6 Access list(2) Esempio di file slapd.conf 1. # Configurazionne d ’esempio 2. include /usr /local/ etc/schema/core.schema ESEMPIO (2) access to * by dn.base="cn=Admin,dc=example,dc=com" write by * read 3. referral ldap://root. openldap .org 4. access to * by * read 5.# Definizioni BDB 6. database bdb 7. suffix "dc =example, dc =com" 8. directory /usr /local/var/openldap -data 9. rootdn "cn =Manager, dc =example ,d c= com " Specifica che l’amministratore ha permesso di scrittura su qualsiasi oggetto e tutti hanno permesso di lettura su tutti gli oggetti 10. rootpw secret 11.# Direttive per la replica 12. replogfile /usr/ local/var/openldap/ slapd .replog 13. replica host=host2.example.com :389 14. binddn ="c n= Replicator,d c= example ,dc =com" 15. bindmethod= simple credentials=secret 16. replica host=slave2. example. com 17. binddn ="c n= Replicator,d c= example ,dc =com" 18. bindmethod= simple credentials=secret Esempio di file slapd.conf(2) Esempio di file slapd.conf(3) 19. # Definizione degli attributi degli indici 20. index uid pres,eq 21. index cn, sn ,uid pres ,eq ,approx ,sub 22. index objectClass eq 23. # Definizione delle politiche d’ acsesso 24. access to attr=userPassword 25. b y self write 26. by anonymous auth 27. by dn.base="c n=Admin ,dc =example, dc= com" write 33. # Definizioni BDB 34. database bdb 35. suffix "dc=example,dc=net" 36. directory /usr /local/var/openldap-data- net 37. rootdn "cn=Manager,dc=example,dc=com" 38. index objectClass eq 39. access to * by users read 28. b y * none 29. access to * 30. b y self write 31. by dn.base="c n=Admin ,dc =example, dc= com" write 32. b y * read Strumenti per la manutenzione ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ slappadd slapcat (Fa il dump del database in formato LDIF) slappasswd ldapadd ldapdelete ldapmodify ldapsearch ldappasswd slapindex(Crea indici per il database) Gestione degli schemi ♦ Definiscono la struttura delle entry del database di OpenLDAP ♦ Si possono includere nel file slapd.conf tramite la direttiva include ♦ Ne esistono di predefiniti ma è possibile installarne altri ponendo i relativi file nella directory ./ldapdirectory/schema ♦ Lo schema core.schema va incluso obbligatoriamente per garantire l’avvio di OpenLDAP Basati sulla creazione di file in formato testo LDIF 7 OID Estensione degli schema ♦ ♦ Ogni schema, anche quelli predefiniti, può essere esteso con ulteriori tipi di attributi,regole di matching,classi di oggetti… Per definire nuovi schemi sono necessari 5 passi: 1. 2. 3. 4. 5. ♦Servono per identificare a livello globale (internet) gli oggetti di uno schema ♦Sono assegnati da apposite autorità presenti su Internet ♦Sono organizzati in modo gerarchico ♦Sono usati anche nel protocollo SNMP Ottenere un Identificatore di Oggetto Assegnare un Prefix Name Creare un file schema locale Definire tipi di attributi personalizzati Definire classi di oggetti personalizzate Name Prefix e Local file Schema Esempio di gerarchia OID OID Assegnamento 1.1 OID Organizzazione 1.1.1 Elementi SNMP 1.1.2 Elementi LDAP 1.1.2.1 TipoAttributo 1.1.2.1.1 NomeAttributo 1.1.2.2 Classi di oggetti 1.1.2.2.1 MiaClasse Specifica di tipi di attributi ♦È usata la direttiva attributetype per definire nuovi tipi di ♦ Un Name Prefixfornisce un nome testuale per ogni elemento dello schema(oggetto) ♦ I Local Files Schema forniscono definizioni che permettono di costruire nuovi elementi e attraverso le direttive objectClass e attributeTypes anche nuove regole sugli stessi ♦ Una volta creati devono essere inclusi con la direttiva include per entrar a far parte della configurazione di OpenLDAP Aggiunta di classi ♦ Questa fase permette attraverso la direttiva objectclass di specificare nuove classi di oggetti objectclass <RFC2252 Object Class Description> ♦ Struttura di ObjectClassDescription: ObjectClassDescription= "(" whsp numericoid whsp ; ObjectClass identifier [ "NAME" qdescrs ] [ "DESC" qdstring ] [ "OBSOLETE" whsp ] [ "SUP" oids ] ; Superior ObjectClasses [ ( "ABSTRACT" / "STRUCTURAL" / "AUXILIARY" ) whsp] ; default structural [ "MUST" oids ] ; AttributeTypes [ "MAY" oids ] ; AttributeTypes whsp ")" attributi Esempio di attributo tratto da core.schema (specificato nel RFC2256): attributetype ( 2.5.4.4 NAME ( 'sn' 'surname' ) DESC 'RFC2256: last (family) name(s) for which the entity is known by'SUP name ) Replica con slurpd ♦ La replica delle informazioni è affidata al demone slurpd ♦ Usata se il numero di client della rete è elevato ♦ Il demone slurpd ha la capacità di propagare i cambiamenti di un server slapd (detto master) alle altre istanze di slapd(slave) ♦ Il passaggio delle informazioni di replica usa il protocollo LDAP stesso 8 Replication Logs Configurato slurpd genera dei file di log in formato LDIF e specifica i cambiamenti in corso nella strttura di directory che saranno poi ripresi dai server slave La struttura dei cambiamenti è basata sull’invio delle seguenti informazioni: •Replication site(s) •Timestamp •DN entry •Informazioni sui cambiamenti da effettuare. Setup di slapd-slave ♦ Passi per la configurazione dei server slave: 1. 2. 3. 4. Non includere direttive replica Non includere direttive replogfile Non includere la linea updatedn Il DN del parametro binddn =parametro deve fare matching con con il parametro di replica nel file di configurazione del master server 5. Il DN nella direttiva updatedn deve avere permesso di scrittura nel database 6. Usare la direttiva updateref per definire l’URL che il server slave deve ritornare se è stata ricevuta una richiesta di update GUI per la configurazione di OpenLDAP Setup del Master slapd ♦ I cambiamenti da fare a slapd.conf per rendere uno slapd server master-server sono: 1. Aggiunta di un direttiva replica per ogni replica 2. Il parametro binddn =parametro deve referenziare l’opzione updatedn nei corrispondenti slave slapd.conf file e si deve permettere la scrittura nei database degli slave 3. Aggiungere una direttiva di configurazione replogfile Configurazione di slapd per la replica ♦Esempio di direttiva per il supporto delle repliche: replica host=slave.esempio. com:389 binddn=“cn=Replicator,dc=esempio, dc=com” bindmethod=simple credential=secret OpenLDAP:Un caso di studio(1) Tool per la gestione di OpenLDAP tramite interfaccia grafica: ♦Java LDAP Browser Editor http://www. iit.edu/~gawojar/ldap/ ♦KLDAP Installazione di PAM_LDAP http://www.mountpoint.ch/oliver/kldap/ ♦KDirAdm http://www. carillonis.com /kdiradm / ♦GQ http://biot.com/gq 9 PAM_LDAP PAM ♦ PAM è un sistema per la gestione del processo di autenticazione tramite plug-in ♦ Rende trasparente il meccanismo di autenticazione ♦ Permette di usare LDAP come meccanismo di autenticazione su qualsiasi sistema supporti PAM senza modificare alcuna applicazione ♦ Tramite files di configurazione é possibile stabilire in che modo OpenLDAPdeve autenticare gli utenti Pam_ldap.so ♦ Pam_ldap.so é il modulo necessario a PAM per l’integrazione con LDAP OpenLDAP:Un caso di studio(2) Integrazione con Microsoft Active Directory e autenticazione degli utenti ♦ I file di configurazione di PAM sono nella directory /etc/pam.d Esempio configurazione PAM Scenario(1) ♦ Integrazione di client linux con OpenLDAP installato e Active ♦ ♦ ♦ ♦ ♦ Directory Piattaforma basata prevalentemente su soluzioni Microsoft Server Windows 2000 con Active Directory installato Client RedHat Linux Autenticazione basata su Active directory Soluzione adottata al Consorzio Operativo del gruppo MPS Prerequisiti per Active directory 1. 2. 3. 4. 5. ServicePack 2 per Win2000 MS Resource Kit MS Security Pack Certificato per il server Windows 2000 controller di dominio Schema che simula un server NIS distribuito con Microsoft Service for Unix oppure il programma MSKADExtplugin 6. Abilitare le query anonime su Active Directory 10 Configurazione Active Directory Configurazione di AD per client Linux ♦Creare un utente per ogni servizio e relativa workstation Linux e succesivamente creare il file keytab con il comando: Ktpass –princ <nome_servizio>linux-ws.\ nomedominiowindows@nomedominio -pass <password> mapuser <utente> -out linux-\ws.keytab ♦Il file generato linux -ws.keytab dovrebbe essere poi trasferito sulla macchina linux-ws in maniera sicura. Configurazione client(1) ♦ Pacchetti da installare:nss_ldap ,pam_krb5,libnss_ldap.so.2 ♦ Modifica del file /etc/nsswitch.conf con le righe: passwd: files ldap shadow: files ldap group: files ldap ♦ Modifica della libreria libnss affinchè ricerchi le informazioni usando SSL attraverso la modifica del file /etc/ldap.conf: Configurazione client(2) ♦Impostare nel file /etc/krb5.conf il KDC e il reame. ♦Impostare l’utilizzo del modulo pam_krb5.sonel file /etc/pam.d/system- auth Le stesse operazione possono essere fatte in modalità gui tramite authconfig con RedHat Linux Nomehost ldapserver.nomedominio.test base dc=nomedominio,dc=test ssl on port 636 Configurazione slapd.conf ♦ Nel file slapd.conf bisogna aggiungere la mappatura fra gli attributi del Configurazione slapd.conf(2) server LDAP di Microsoft e quelli cercati dalla libreria nss_ldap.so : ♦ Per accedere ad Active Directory in modo non anonimo specificare nss_base_passwd cn=Users,dc=dominio,dc=test nss_base_shadow cn=Users,dc=dominio,dc=test nss_base_group cn=Users,dc=dominio,dc=test nss_map_objectclass posixAccount User nss_map_objectclass shadowAccount User nss_map_attribute uid sAMAccountName nss_map_attribute userPassword msSFUPassword nss_map_attribute homeDirectory … DN con cui si identifica la connessione e la password: binddn cn=LDAPQUERYUSER,cn=Users,\ dc=dominio,dc=test bind miapassword ♦ Rendere il file accessibile solo dall’utente root 11 Scenario(2) Prerequisiti per OpenLDAP ♦ Integrazione di server linux con OpenLDAP installato e Active Directory ♦ krb5-libs,krb5-server,krb5-workstation cyrus-sasl,cyrus-sasl-gssapi ♦ Server RedHat Linux con OpenLDAP e MIT Kerberos V ♦ Autenticazione basata su Linux,Kerberose OpenLDAP ♦ Fonte RedHat Magazine no. 4 ♦ Configurazione slapd.conf Configurazione TLS/SSL ü Includere nel file slapd.conf gli schema kerberosobject.schema e ♦ In slapd.conf aggiungere le direttive: nis.schema ü Impostare il tipo di database da usare ü Impostare dominio del server ü Specificare il DN dell’amministratore della directory TLSCipherSuite TLSCertificateFile TLSCertificateKeyFile HIGH:MEDIUM:+SSL2 /usr/share/ssl/serts/slapd.pem /usr/share/ssl/certs/slapd.pem ESEMPIO: database ldbm suffix “ dc=dominio,dc=test” root “cn=ldapadmin ,dc=dominio,dc=test” Gestione certificati Autenticazione con sasl/gss-api ♦ Creare un certificato tramite un Makefile posto nella directory ♦ Sostituire l’autenticazione di default(plain ) e mappare i principali /usr/share/ssl/certs ♦ Eseguire make slapd.pem ♦ Fornire le informazione per la creazione del certificato ♦ Porre il certificato in lettura al gruppo di utenti LDAP Kerberos in OpenLDAP : sasl-realm sasl-host sasl-spec-props mio.dominio kdc.mio.dominio “” sasl-regexp uid=(.*),cn=.*,cn=auth uid=$1,ou=person,dc=dominio,dc=test 12 Impostazione ACL(1) Impostazione ACL(2) ♦ Impostare la lettura della directory: access to attr=loginShell by dn=“cn=root,dc=dominio,dc=test” write by self write by * read access to * by self write by * read by anonymous read access to dn=“” by * read access to attr=userPassword by dn=“cn=root,dc=dominio,dc=test” write by anonymous auth by * none Popolazione database con slapadd ♦ File in formato LDIFF: #ROOT della directory dn: dc=dominio,dc=test dc: dominio objectClass: top objectClass: domain … Configurazioni alternative ♦ Usare script forniti con il software per il trasferimento delle utenze da NIS o da locale: 1. 2. Modificare lo script migrate_common.ph in /usr/share/doc/openldap-servers Usare migrate_all_on_line.pl per trasferire gli utenti nel database LDAP La verifica della configurazione può essere fatta con il comando ldapsearch Popolazione database con slapadd(2) #root del server LDAP dn:dc=ldapadmin ,dc=dominio,dc=test objectClass: organizationalRole Cn: ldapadmin … #Groups,dominio,test dn:ou=Groups,dc=dominio,dc=test ou:Groups objectClass: top objectClass: organizationalUnit objectClass: domainRelatedObject associatedDomain : dominio.test … Limitazioni d’accesso ♦ Per limitare l’accesso al server senza SSL si può usare il firewall iptables con il comando: iptables -A INPUT -dport ldap –J DROP ♦ Per limitare l’accesso ai soli host fidati si può usarecon tcp_wrappers: slapd:ALL in /etc/hosts.deny slapd:dominio.test /etc/hosts.allow 13 Bibliografia THE END ♦ Documentazione di www.openldap.org ♦ LDAP How-To ♦ LDAP Implementation How-To ♦ Documentazione www.mandrake.it ♦ Documentazione www.redhat.it ♦ RedHat Magazione no. 4 Maggio/Giugno 2003 14