Configurer vos applications pour les connexions sécurisées LDAPs

Dans une entreprise, certaines applications peuvent avoir besoin de se connecter au serveur LDAP pour récupérer des information ou des droits d’accès pour les utilisateurs. Pour se faire, ces applications s’appuient sur un fichier de configuration, qui dans une configuration classique, peut ressembler à ceci :

#config  ldap
ldap.usersearchfilter=(samAccountName={0})
ldap.usersearchbase=DC=mondomaine,DC=lan
ldap.url=ldap://mondomaine.lan:389    # connexion non sécurisée
ldap.managerdn=CN=svc_ldapRdr,OU=Comptes services,DC=mondomaine,DC=lan #Compte de service d’accès au serveur LDAP
ldap.managerpassword= »MDP du compte svc_ldapRdr »
ldap.grouproleattribute=CN

On peut remarquer que la connexion ici n’est pas sécurisée car utilise un simple bind (port 389), pas sécurité. cela veut dire qu’on peut récupérer les mots de passe si on place un sniffer (wireshark par exemple) entre l’application et le serveur LDAP.

Pour une connexion sécurisée, on aurait plutôt utilisé la configuration suivante:

#config  ldap
ldap.usersearchfilter=(samAccountName={0})
ldap.usersearchbase=DC=mondomaine,DC=lan
ldap.url=ldaps://mondomaine.lan:636      # connexion sécurisée à LDAP
ldap.managerdn=CN=svc_ldapRdr,OU=Comptes services,DC=mondomaine,DC=lan #Compte de service d’accès au serveur LDAP
ldap.managerpassword= »MDP du compte svc_ldapRdr »
ldap.grouproleattribute=CN

Afin de réaliser une connexion sécurisée en SSL sur un serveur LDAP à a partir d’un serveur tomcat installé sous Windows. Il est nécessaire d’enregistrer les certificats SSL au niveau de la JVM du tomcat (keystore). Pour cela on va utiliser les outils suivants :

Keytool qui est un outil de gestion des certificats proposé dans les binaires de la JDK
Un programme JAVA : InstallCert.java permettant de récupérer les certificats SSL sur un serveur donné et de les importer dans la JVM.

Exemple:
Notre serveur LDAP de domaine (Active Directory) et un point d’entrée qui redirige vers un de ces contrôleurs :

Point d’entrée :

ldaps://mondomaine.lan:636

Notre serveur LDAP :

DC01.mondomaine.lan

L’applicatif se connectant sur le LDAP doit se connecter sur l’adresse suivante

ldaps://mondomaine.lan:636

Pour enregistrer les certificats SSL des serveurs LDAP dans le keystore de la JVM, il faut :
– Compiler le programme InstallCert en lançant la commande : javac InstallCert
– Lancer le programme InstallCert sur les 4 serveurs afin de récupérer les certificats :

java InstallCert DC01.mondomaine.lan:636

Après le lancement de ces programmes un fichier jssecacerts à été généré dans le répertoire courant
– Il faut maintenant exporter les certificats contenus dans le fichier jssecacerts pour chaque serveur en lançant les commandes suivantes :

« C:\Program Files\Java\jre7\bin\keytool.exe »  -exportcert -alias dc01.mondomaine.lan -keystore jssecacerts -storepass changeit -file DC01.mondomaine.lan.cer

– Une fois les exportations terminées, il faut importer les certificats générés dans le keystore de la JVM en lançant les commandes suivantes :

« C:\Program Files\Java\jre7\bin\keytool.exe » -keystore « C:\Program Files\Java\jre7\lib\security\cacerts » -importcert -alias DC01.mondomaine.lan -file dc01.mondomaine.lan.cer

Et voilà, j’espère que cet article vous aura été utile 🙂

Mettre en oeuvre la fédération d’identité avec AD FS

Le nom de notre serveur est SRVADFS01

1 – Ajout du rôle Active Directroy Federation Services

Ouvrir la session sur notre seveur Windows Server 2012 R2. Se connecter au Gestionnaire de serveur et ajouter un rôle

ADFS01

Add Roles and Features

ADFS02

ADFS03

ADFS04

ADFS05

Cocher la case « Active Directory Federation Services » puis cliquer sur Suivant

ADFS06

ADFS_Install_Confirmation

ADFS07

L’installation est terminée, fermer l’assistant d’installation.

2 – Demander un certificat pour notre serveur AD FS

Créer un fichier .CSR

ADFS08

ADFS09

ADFS10

3 -Terminer la configuration du serveur AD FS

Toujours sur notre serveur SRVADFS01

ADFS11

ADFS12

ADFS13

ADFS14

ADFS15

ADFS16

Et voilà, votre serveur ADFS est installé…

Petit lexique AD – Exchange

  • NTLM et Kerberos : authentification afin de recevoir un ‘ticket’ d’autorisation d’accès aux ressources du réseau (serveur de fichier, partage réseau, accès ordinateur…)
  • LDAP : protocole d’accès à un annuaire LDAP (interragir avec l’annuaire ldap).
  • LDAPs: Accès à l’annuaire à l’aide d’un canal sécurisé pour des requêtes LDAP
  • Get-ADForest : permet d’afficher les informations sur votre forêt Active Directory

Get-ADForest

  • netdom query fsmo : lister les maîtres d’opération de votre infrastructure AD

NetdomQueryFSMO

  • nltest /dclist:mondomaine.lan : lister les contrôleurs de domaine depuis un poste ou serveur membre. Cette commande a l’avantage de nous fournir le nom du PDC de notre domaine.

Lister les DCs

  • Démarrer tous les services automatiques Exchange
$Services = Get-Services | ?{($_.Name -ilike "MSExchange*" -and ($_.StartType -ilike "Auto*")
Foreach ($Service in $Services) {Start-Service $Services}
  • Activer la licence de votre serveur Exchange 2013/2016
Set-ExchangeServer NomServeur -ProductKey XXXXX-XXXXX-XXXXX-XXXXX-XXXXX