Cette section répertorie les problèmes connus et restrictions découverts lors de la sortie de Directory Proxy Server 6.3.1 Mise à jour 1.
Les problèmes connus et restrictions de Directory Proxy Server 6.3.1 s'appliquent toujours, même après l'application du patch pour Directory Proxy Server 6.3.1 Mise à jour 1. Pour en savoir plus sur ces problèmes, reportez-vous à Problèmes connus et restrictions de Directory Proxy Server.
Cette section répertorie les restrictions connues découvertes lors de la sortie de Directory Proxy Server 6.3.1 Mise à jour 1.
Comme le décrit la section JDBC Object Classes du Sun Java System Directory Server Enterprise Edition 6.3 Reference, le processus de définition de tables JDBC utilise des tables principales et secondaires. Directory Proxy Server n'autorise pas l'utilisation d'une table secondaire comme table principale d'une autre table. Autrement dit, Directory Proxy Server ne prend en charge qu'un seul niveau de règle de jointure.
Cette section répertorie les problèmes connus découverts lors de la sortie de Directory Proxy Server 6.3.1 Mise à jour 1.
Dans la version 6.3, si une entrée comporte plus de deux classes d'objet, l'ajout d'une entrée via une vue de jointure (LDAP et JDBC) échoue en raison du correctif de CR 6636463. Pour ajouter ce type d'entrée, vous devez définir ces classes d'objet en tant que super-classe dans l'entrée de configuration jdbc-object-class à l'aide de la commande ldapmodify suivante, car dpconf set-jdbc-object-class-prop ne peut ajouter qu'une seule super-classe.
Cet exemple permet d'ajouter l'entrée suivante :
dn: uid=test,ou=people,o=join sn: User cn: Test User objectclass: top objectclass: person objectclass: organizationalPerson objectclass: inetOrgPerson uid: test userpassword: password givenname: Test mail: test@example.com telephonenumber: 8888-8888 roomnumber: 8000
La vue JDBC est définie comme indiqué dans l'exemple suivant, qui fonctionnait avant la version 6.3.
dn: cn=person,cn=example-view,cn=data views,cn=config secondaryTable: country1 secondaryTable: phone1 primaryTable: employee1 objectClass: top objectClass: configEntry objectClass: jdbcObjectClassMapping dnPattern: uid cn: person superclass: top
Comme objectClass:organizationalPerson et objectClass:inetOrgPerson existent toutes les deux dans l'entrée que vous ajoutez, vous devez définir ces deux classes d'objet comme super-classes, en exécutant la commande ldapmodify suivante.
$ ldapmodify -p dpsPort -D "cn=Proxy manager" -w password dn: cn=person,cn=example-view,cn=data views,cn=config changetype: modify add: superClass superClass: inetOrgPerson - add: superClass superClass: organizationalPerson |
Une fois cette commande ldapmodify exécutée, jdbc-object-class est défini comme le montre l'exemple suivant.
dn: cn=person,cn=example-view,cn=data views,cn=config secondaryTable: country1 secondaryTable: phone1 primaryTable: employee1 objectClass: top objectClass: configEntry objectClass: jdbcObjectClassMapping dnPattern: uid cn: person superclass: top superclass: inetOrgPerson Added superclass: organizationalPerson Added
Bien que le paramètre par défaut de la propriété log-level-data-sources-detailed soit documenté comme étant none, la valeur par défaut réelle est all. Toutefois, si vous définissez log-level-data-sources-detailed sur une valeur autre que none, cela a un impact sur les performances du serveur et provoque une croissance rapide du fichier access. Par conséquent, la valeur de log-level-data-sources-detailed est automatiquement configurée sur none lorsque vous créez une instance de serveur DPS. Il est recommandé de ne pas utiliser d'autre valeur pour ce paramètre.
En raison d'un problème décrit dans la Note de vulnérabilité VU#836068, MD5 vulnérable aux attaques par collision, Directory Proxy Server doit éviter d'utiliser l'algorithme MD5 dans les certificats signés.
Procédez comme suit pour déterminer l'algorithme de signature d'un certificat.
Exécutez la commande suivante pour afficher la liste des certificats définis dans une instance Directory Proxy Server spécifique :
$ dpadm list-certs instance-path |
Exécutez les commandes suivantes sur chacun des certificats définis afin de déterminer si ce certificat a été signé avec l'algorithme MD5 :
$ dpadm show-cert -F ascii -o cert-output-file \ dps-instance-path cert-alias $ dsadm add-cert ds-instance-path cert-alias \ cert-output-file $ dsadm show-cert ds-instance-path cert-alias |
L'exemple suivant montre la sortie typique de la commande dsadm show-cert pour un certificat à signature MD5 :
Certificate: Data: ... Signature Algorithm: PKCS #1 MD5 With RSA Encryption ... |
Exécutez la commande suivante pour supprimer les certificats à signature MD5 de la base de données :
$ dsadm remove-cert instance-path cert-alias |
Procédez comme suit pour mettre à niveau le mot de passe de la base de données de certificats. (La commande dpadm génère un mot de passe par défaut pour la base de données de certificats lorsque vous créez une instance de serveur d'annuaire.)
Arrêtez l'instance de Directory Proxy Server.
Exécutez la commande suivante :
$ dpadm set-flags instance-path cert-pwd-prompt=on |
Un message vous invite à saisir un mot de passe.
Entrez un mot de passe comptant au moins huit caractères.
Redémarrez l'instance Directory Proxy Server et saisissez le jeton interne (logiciel) lorsque vous y êtes invité.
Remplacez tous les certificats utilisant la fonction MD5 par des certificats utilisant l'algorithme de signature SHA-1. Appliquez l'une des procédures suivantes, selon que votre installation utilise un certificat autosigné ou un certificat acquis auprès d'une autorité de certification.
Procédez comme suit pour générer et stocker un certificat autosigné :
Exécutez la commande suivante :
$ dpadm add-selfsign-cert --sigalg SHA1withRSA \ dps-instance-path cert-alias |
L'algorithme de signature par défaut est MD5withRSA.
L'invite suivante s'affiche :
[Password or Pin for "NSS Certificate DB"] |
Entrez le nouveau mot de passe de la base de données des certificats.
Procédez comme suit pour générer et stocker un certificat acquis auprès d'une autorité de certification (CA) :
Exécutez la commande suivante pour émettre une demande de certificat serveur signé par l'autorité de certification :
$ dpadm request-cert --sigalg SHA1withRSA instance-path cert-alias |
Vérifiez que votre autorité de certification n'utilise plus l'algorithme de signature MD5, puis envoyez-lui la demande de certificat (cela peut se faire en interne dans votre société ou en externe, selon vos règles d'entreprise) afin de recevoir un certificat serveur signé par l'autorité de certification, comme le décrit la section To Request a CA-Signed Server Certificate du Sun Java System Directory Server Enterprise Edition 6.3 Administration Guide.
Lorsque l'autorité de certification vous envoie le nouveau certificat, exécutez la commande suivante pour ajouter ce certificat à la base de données des certificats :
$ dpadm add-cert instance-path cert-alias |
Cette étape est décrite à la section Creating, Requesting and Installing Certificates for Directory Proxy Server du Sun Java System Directory Server Enterprise Edition 6.3 Administration Guide.
Si le certificat de l'autorité de certification de confiance n'est pas encore stocké dans la base de données des certificats, exécutez la commande suivante pour l'ajouter :
$ dpadm add-cert --ca instance-path trusted-cert-alias |
Cette étape est décrite à la section Creating, Requesting and Installing Certificates for Directory Proxy Server du Sun Java System Directory Server Enterprise Edition 6.3 Administration Guide.
Exécutez les commandes suivantes pour vérifier que le système utilise le nouveau certificat.
$ dpadm show-cert -F ascii -o cert-output-file \ dps-instance-path cert-alias $ dsadm add-cert ds-instance-path cert-alias \ cert-output-file $ dsadm show-cert ds-instance-path cert-alias |
Avec un moteur de traitement Microsoft SQL Server, lorsque vous utilisez des champs smalldate, seule la version longue des dates est prise en charge. Sinon, une erreur de conversion se produit, comme le montre l'exemple suivant.
ldap_modify: Operations error ldap_modify: additional info: java.lang.Exception: \ com.microsoft.sqlserver.jdbc.SQLServerException: \ Conversion failed when converting datetime from character string. |
La version longue d'une date est au format AAAA -MM-JJ HH:MM.