bonjour a tous
Je suis en train de monter un systeme Samba couple avec Ldap pour un active directory sous Suse 10.2.
Pour commencer, j'ai installer un samba qui tourne. J'ai mis dans la balise [global] :
Code :
- [global]
- ...
- netbios name = Flavios_Netbios
- ...
|
Je peux ping cette machine serveur en tapant ping Flavios_Netbios a partir d'une machine cliente distante. Chose etonnante, le meme ping avec la propre machine serveur me donne un :
linux-ulou: /etc/ssl/openldap # ping Flavios_Netbios
ping: unknown host Flavios_Netbios
(ma machine a pour nom host linux-ulou. Je ne peux la ping qu'avec l'@ IP (probleme de gestion des noms peut etre...) mais lorsque le serveur samba est lance, on peut ping cette machine serveur avec Flavios_Netbios ou l'@ IP bien sur).
Maintenant, mon serveur ldap. Dans un premier temps, je ne souhaite pas le coupler, je veux juste le faire fonctionner... ce que j'ai reussi a faire sans l'utilisation de securite ssl.
J'ai une arborecence comme ca :
dc=gov
|- c=fr
|- c=uk
|- o=...
......
Voici mon fichier slapd.conf
Code :
- include /etc/openldap/schema/core.schema
- include /etc/openldap/schema/cosine.schema
- include /etc/openldap/schema/inetorgperson.schema
- include /etc/openldap/schema/rfc2307bis.schema
- include /etc/openldap/schema/yast.schema
- # Define global ACLs to disable default read access.
- # Do not enable referrals until AFTER you have a working directory
- # service AND an understanding of referrals.
- #referral ldap://root.openldap.org
- pidfile /var/run/slapd/slapd.pid
- argsfile /var/run/slapd/slapd.args
- # Load dynamic backend modules:
- modulepath /usr/lib/openldap/modules
- # moduleload back_ldap.la
- # moduleload back_meta.la
- # moduleload back_monitor.la
- # moduleload back_perl.la
- # Sample security restrictions
- # Require integrity protection (prevent hijacking)
- # Require 112-bit (3DES or better) encryption for updates
- # Require 63-bit encryption for simple bind
- # security ssf=1 update_ssf=112 simple_bind=64
- # Sample access control policy:
- # Root DSE: allow anyone to read it
- # Subschema (sub)entry DSE: allow anyone to read it
- # Other DSEs:
- # Allow self write access to user password
- # Allow anonymous users to authenticate
- # Allow read access to everything else
- # Directives needed to implement policy:
- access to dn.base=""
- by * read
- access to dn.base="cn=Subschema"
- by * read
- access to attrs=userPassword,userPKCS12
- by dn="cn=admin,dc=gov" write
- by * auth
- access to attrs=shadowLastChange
- by dn="cn=admin,dc=gov" write
- by * read
- access to *
- by * read
- # if no access controls are present, the default policy
- # allows anyone and everyone to read anything but restricts
- # updates to rootdn. (e.g., "access to * by * read" )
- #
- # rootdn can always read and write EVERYTHING!
- #######################################################################
- # BDB database definitions
- #######################################################################
- database bdb
- #repertoire racine > le noeud supperieur de votre repertoire LDAP
- suffix dc=gov
- checkpoint 1024 5
- cachesize 10000
- rootdn cn=admin,dc=gov
- #admin est le nom distinct du gestionnaire de repertoire
- # Cleartext passwords, especially for the rootdn, should
- # be avoid. See slappasswd(8) and slapd.conf(5) for details.
- # Use of strong authentication encouraged.
- rootpw admin
- # The database directory MUST exist prior to running slapd AND
- # should only be accessible by the slapd and slap tools.
- # Mode 700 recommended.
- directory /var/lib/ldap
- # Indices to maintain
- index objectClass eq
- TLSCertificateFile /etc/ssl/openldap/ldap_cert.pem
- TLSCertificateKeyFile /etc/ssl/openldap/ldap_key.pem
|
Cette configuration me permettais (avant l'installation des certifs) d'acceder a mon serveur ldap a partir d'un client distant (bien sur, il n'y avait pas les lignes TLSCertificateFile /etc/ssl/openldap/ldap_cert.pem et TLSCertificateKeyFile /etc/ssl/openldap/ldap_key.pem dans le fichier ci dessus).
Pour mettre en place le ssl, voici le tuto que j'ai applique : http://arnofear.free.fr/linux/temp [...] o=2&page=5
Le moment crucial est lorsqu'il faut entrer le nom FQDN. Pour ma part, j'ai mis Flavios_Netbios.gov. Est ce bien cela qu'il faut mettre dans mon certif ?
En accord avec le tuto, j'ai donc mis les liens dans le fichier slapd.conf vers ces deux certifs (voir le code si dessus ligne 81 et 82).
Toujours en accord avec le tuto, voici une partie de mon fichier /etc/ldap.conf :
Code :
- # OpenLDAP SSL mechanism
- # start_tls mechanism uses the normal LDAP port, LDAPS typically 636
- ssl start_tls
- ldap_version 3
- pam_filter objectclass=posixAccount
- nss_base_passwd cn=admin,dc=gov
- nss_base_shadow cn=admin,dc=gov
- nss_base_group cn=admin,dc=gov
- tls_checkpeer no
- ssl on
|
Enfin et toujours en suivant les instructions, voici mon fichier /etc/openldap/ldap.conf
Code :
- BASE dc=gov
- URI ldaps://Flavios_Netbios.gov
- #SIZELIMIT 12
- #TIMELIMIT 15
- #DEREF never
- TLS_REQCERT allow
- #TLS_CACERT Il n'y en a pas !? Ou est il ???
- TLS_CACERTDIR /etc/ssl/openldap
|
Precision, dans le tuto, il est question a un moment de "Copiez le (ou les) certificat(s) sur vos clients dans /etc/ssl/openldap/". Qu'est ce que cela signifie ? Mes clients sont des machines Windows Xp...
Enfin la fin du fin, je tape la commande ldapsearch -x -H ldaps://Flavios_Netbios.gov -D "cn=admin,dc=gov" -w admin -b "dc=gov" et bien sur, j'ai l'erreur ldap_bind: Can't contact LDAP server (-1)
Je relance le serveur ldap, pensant que les modifications n'avaient pas ete prises en compte et voici ce que ca me met:
Shutting down ldap-server done
Starting ldap-serverstartproc: exit status of parent of /usr/lib/openldap/slapd: 1 failed
Checking for service ldap: unused
Mon serveur ne redemarrant pas, je me pose donc cette question : voyez vous une mauvaise manipulation de ma part pour que ce fichu serveur ne se lance pas !?
Pour vous aidez, voici le resultat d'un tail /var/log/messages :
Jul 2 11:53:09 linux-ulou slapd[5076]: conn=5 fd=12 ACCEPT from IP=192.168.254.80:1025 (IP=0.0.0.0:389)
Jul 2 11:53:09 linux-ulou slapd[5076]: conn=5 op=0 BIND dn="" method=128
Jul 2 11:53:09 linux-ulou slapd[5076]: conn=5 op=0 RESULT tag=97 err=2 text=historical protocol version requested, use LDAPv3 instead
Jul 2 11:53:09 linux-ulou slapd[5076]: conn=5 op=1 UNBIND
Jul 2 11:53:09 linux-ulou slapd[5076]: conn=5 fd=12 closed
Merci d'avoir lu ce post jusqu'au bout. Si quelqu'un connait la solution... ou un debut d'explication... toute remarque est la bienvenue!!
Flavio_dev
Message édité par flavio_dev le 02-07-2008 à 13:46:33