Seveur SSO CAS avec Active Directory
Résolu/Fermé
A voir également:
- Cas active directory
- Cas ram - Guide
- No such file or directory ✓ - Forum Linux / Unix
- Directory list & print - Télécharger - Divers Utilitaires
- Pass telecomm active - Forum Téléviseurs
- Impossible de contacter un contrôleur de domaine active directory - Forum Windows serveur
7 réponses
totor97480
Messages postés
3
Date d'inscription
samedi 17 juillet 2010
Statut
Membre
Dernière intervention
8 août 2010
18
20 juil. 2010 à 14:10
20 juil. 2010 à 14:10
Je vous laisse la réponse que j'ai laissé sur une autre page de ce forum. Si vous êtes bloquer faite le moi savoir pour que je vous aide:
Bonjour j'ai réalisé un stage où j'ai du mettre en place un serveur CAS. Je vous montre comment faire:
Ce manuel d'utilisation est conçu pour les machines Ubuntu 9.10, les logiciels Tomcat 6, Maven 2 et cas-server-3.3. Il faut également avoir accès à un Active Directory installer sur Windows Server 2003. Le domaine sera sce.local. Il est aussi necessaire de créer dans l'Active directory un user qui aura les droits d'interroger l'AD. Mon user sera casUser avec le mot de passe motdepasse.
1. Installation de Tomcat
Il est important de bien installer Tomcat afin que CAS soit fonctionnel. Je vais donc expliquer comment bien le faire:
Tout d'abord, il faut vérifier si la jdk de sun est présente sur le poste.
Pour cela, il suffit de faire:
dpkg --get-selections | grep sun-java
Si la jdk est présente, il devrait s'afficher:
sun-java6-bin install
sun-java6-jdk install
sun-java6-jre install
Dans le cas contraire, il faut se rendre sur le site d' Ubuntu à la page suivante: http://doc.ubuntu-fr.org/java et installer les paquets OpenJDK 6 et Java 6 Sun ou bien via Synaptic.
Dans un second temps, il faut se rendre sur le site de Apache : http://tomcat.apache.org/ et cliquer sur le lien « Download » de la version 6.0.26 de Tomcat. Puis en-bas de la nouvelle page, dans « Binary Distributions », « Core », cliquez sur le lien « tar.gz ». Le téléchargement s'effectue.
Le fichier doit se trouver dans le dossier de téléchargement de votre home ou bien dans le dossier que vous avez spécifié dans votre navigateur. Rendez-vous dans ce dossier en utilisant le terminal et maintenant il faut le décompresser via cette commande:
tar xvzf apache-tomcat-6.0.26.tar.gz
Le serveur Apache est donc dans le home directory du téléchargement, mais ceci n'est pas judicieux. On va donc le déplacer avec la commande suivante:
mv apache-tomcat-6.0.26 /usr/local/tomcat
A ce stade, le serveur est installé, mais pas encore fonctionnel. En effet, Tomcat a besoin de la variable d'environnement JAVA_HOME et celle-ci n'est pas mise par défaut sur les systèmes. Pour cela, on édite le fichier bashrc avec la commande suivante:
gedit ~/.bashrc
Et on ajoute la ligne suivante:
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
A ce point, vous pouvez exécuter le stript startup.sh qui permettra le démarrage de Tomcat. Pour l'exécuter, il suffit de faire:
/usr/local/tomcat/bin/./startup.sh
Pour l'arrêter:
/usr/local/tomcat/bin/./shutdown.sh
Nous allons à présent faire un script pour lancer Tomcat au démarrage du serveur.
Éditez le fichier suivant:
gedit /etc/init.d/tomcat
et coller le scipt suivant à l'intérieur:
# Tomcat auto-démarrage
# Auteur : senti
# description: démarrage en automatique de tomcat
# nom du process: tomcat
# pid du fichier: /var/run/tomcat.pid
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
case $1 in
start)
sh /usr/local/tomcat/bin/startup.sh
;;
stop)
sh /usr/local/tomcat/bin/shutdown.sh
;;
restart)
sh /usr/local/tomcat/bin/shutdown.sh
sh /usr/local/tomcat/bin/startup.sh
;;
esac
exit 0
Pour exécuter la commande, il est nécessaire de lui donner les droits pour le faire:
chmod 755 /etc/init.d/tomcat
On peut maintenant tester le script ainsi:
/etc/init.d/tomcat start
/etc/init.d/tomcat stop
/etc/init.d/tomcat restart
Il ne reste plus qu'à créer des liens symboliques dans les répertoires de démarrage du système. Il faut donc faire:
ln -s /etc/init.d/tomcat /etc/rc1.d/K99tomcat
ln -s /etc/init.d/tomcat /etc/rc2.d/S99tomcat
Pour optimiser la sécurité du CAS, il faut créer un certificat SSL pour accéder aux connections « https ». Pour le créer, entrez dans le terminal en mode super-utilisateur (sudo -s) la ligne suivante:
keytool -genkey -alias tomcat -keyalg RSA -validity 10000
Puis renseignez les champs en indiquant pour le mot de passe keystore, « changeit ».
Il faut également modifier le fichier server.xml de Tomcat:
gedit /usr/local/tomcat/conf/server.xml
Et enlever les commentaires (<!-- - ->) au code suivant:
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-- >
Toute application qui utilise la sécurité SSL de Tomcat doit importer le certificat. Vous pouvez exporter le certificat qui est compatible avec d'autres JVM keystores en executant la commande suivante:
keytool -export -alias tomcat -file server.crt
Puis entrez le mot de passe « changeit ». Et vous pouvez importer le « server.crt » dans d'autres JVM keystores en faisant:
keytool -import -file server.crt -keystore /usr/lib/jvm/java-6-openjdk/jre/lib/security/cacerts
Pour tester, redémarrez Tomcat. Vous devrez avoir accès à l'adresse suivante:
https://localhost:8443/
2. Installation de Maven
L'installation de Maven est indispensable afin de mettre en place CAS. Ainsi CAS est un projet développer en Java et Maven est un outil open-source de gestion et d'automatisation de développement Java. Maven va permettre de produire un logiciel à partir de ses sources, en garantissant le bon ordre de fabrication.
Pour le mettre en place, il faut se rendre sur le site de Apache Maven: http://maven.apache.org/ et cliquer sur le lien « Download » en haut à gauche. Sur la nouvelle page, cliquez sur le fichier mirroir « tar.gz »: apache-maven-2.2.1-bin.tar.gz, puis sur le premier lien: http://apache.multidist.com/maven/binaries/apache-maven-2.2.1-bin.tar.gz et téléchargez le fichier.
Rendez-vous dans le dossier où le fichier se trouve via le terminal, puis décompresser le ainsi:
tar xvzf apache-maven-2.2.1-bin.tar.gz
Déplacez le dossier créer dans /opt:
mv apache-maven-2.2.1 /opt
Ajoutez le bin directory au PATH:
export PATH=/opt/apache-maven-2.2.1/bin:$PATH
Enfin, vérifiez que Maven a bien été installé:
mvn --version
Voilà, Maven est correctement installé. Passons à présent à l'installation de CAS.
3. Installation de CAS
Nous allons installer le serveur CAS 3.3. Rendez-vous à l'adresse suivante: https://github.com/apereo/cas/releases et cliquez sur la lien « CAS Server 3.3 (TAR GZ) » de la version CAS Server 3.3 Release. Le téléchargement effectué, extrayez le fichier comme suit:
tar xvzf ~/Téléchargements/cas-server-3.3-release.tar.gz
Puis déplacez le fichier dans /opt:
mv cas-server-3.3 /opt
A ce stade, CAS est installer et nous pouvons le tester en copiant le fichier .war dans le webapps de Tomcat:
mv /opt/cas-server-3.3/modules/cas-server-webapp-3.3.war /usr/local/tomcat/webapps/cas.war
En vous connectant à l'adresse http://localhost:8080/cas, vous devrez accéder à la page d'authentification de CAS et en indiquant comme identifiant et mot de passe le même mot, la connexion est réaliser:
4. Configuration de CAS avec un Active Directory
La tache la plus importante et la plus délicate est celle-ci: configurer le CAS avec l'Active Directory. Pour y arriver, éditez le fichier pom.xml:
gedit /opt/cas-server-3.3/cas-server-webapp/pom.xml
En ajoutant la portion de code xml suivante afin d'indiquer à CAS que l'on veut utiliser le module de connexion à un Active Directory:
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>cas-server-support-ldap</artifactId>
<version>${project.version}</version>
</dependency>
Nous allons maintenant configurer l'accès à l'annuaire. Pour cela, éditez le fichier deployerConfigContext.xml:
gedit /opt/cas-server-3.3/cas-server-webapp/src/main/webapp/WEB-INF/deployerConfigContext.xml
Et ajoutez le code suivant avant la dernière ligne « </beans> »:
<bean id="contextSource" class="org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource">
<property name="anonymousReadOnly" value="false" />
<property name="pooled" value="true"/>
<property name="urls">
<list>
<!-- Entrez ici l'adresse de votre Active Directory -->
<value>ldap://192.44.44.44:389</value>
</list>
</property>
<!-- Cette ligne est à adapter selon le chemin où se trouve votre utilisateur -->
<property name="userDn" value="CN=casUser,CN=Users,DC=sce,DC=local"/>
<!-- Renseignez ici le mot de passe de votre user -->
<property name="password" value="motdepasse"/>
<property name="baseEnvironmentProperties">
<map>
<entry>
<key>
<value>java.naming.security.authentication</value>
</key>
<value>simple</value>
</entry>
</map>
</property>
</bean>
Enfin, il faut préciser la méthode utilisée pour rechercher un login dans l'annuaire. Ajoutez cette portion de code dans le fichier deployerConfigContext.xml à la place du SimpleAuthenticationHandler. Supprimez le code suivant:
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
Et remplacez le par celui-ci:
<bean class="org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler">
<property name="filter" value="sAMAccountName=%u" />
<!-- Renseignez ici votre adresse ici sce.local donc DC=sce,DC=local -->
<property name="searchBase" value="DC=sce,DC=local" />
<property name="contextSource" ref="contextSource" />
<property name="ignorePartialResultException" value="yes" />
</bean>
Maintenant, il ne reste plus qu'à créer le fichier .war en adéquation avec les modifications faites. Pour cela, rendez-vous dans le dossier cas-server-webapp:
cd /opt/cas-server-3.3/cas-server-webapp
Lancez la commande:
mvn package
Cela va prendre un peu de temps car Maven calcule toutes les dépendances.
Une fois terminé, copiez le nouveau fichier cas.war dans le répertoire de webapps de Tomcat:
cp /opt/cas-server-3.3/cas-server-webapp/target/cas.war /usr/local/tomcat/webapps
N.B: Si l'ancien fichier cas.war est présent, il faut le supprimer:
chmod -R 777 /usr/local/tomcat/webapps/
rm -R /usr/local/tomcat/webapps/
Voilà, c'est fini pour l'installation et la configuration de CAS avec l'Active Directory. Vous pouvez redémarrer Tomcat:
/etc/init.d/tomcat restart
Et aller à l'adresse http://localhost:8080/cas/login, en s'identifiant avec des utilisateurs présents dans l'Active Directory.
Bonjour j'ai réalisé un stage où j'ai du mettre en place un serveur CAS. Je vous montre comment faire:
Ce manuel d'utilisation est conçu pour les machines Ubuntu 9.10, les logiciels Tomcat 6, Maven 2 et cas-server-3.3. Il faut également avoir accès à un Active Directory installer sur Windows Server 2003. Le domaine sera sce.local. Il est aussi necessaire de créer dans l'Active directory un user qui aura les droits d'interroger l'AD. Mon user sera casUser avec le mot de passe motdepasse.
1. Installation de Tomcat
Il est important de bien installer Tomcat afin que CAS soit fonctionnel. Je vais donc expliquer comment bien le faire:
Tout d'abord, il faut vérifier si la jdk de sun est présente sur le poste.
Pour cela, il suffit de faire:
dpkg --get-selections | grep sun-java
Si la jdk est présente, il devrait s'afficher:
sun-java6-bin install
sun-java6-jdk install
sun-java6-jre install
Dans le cas contraire, il faut se rendre sur le site d' Ubuntu à la page suivante: http://doc.ubuntu-fr.org/java et installer les paquets OpenJDK 6 et Java 6 Sun ou bien via Synaptic.
Dans un second temps, il faut se rendre sur le site de Apache : http://tomcat.apache.org/ et cliquer sur le lien « Download » de la version 6.0.26 de Tomcat. Puis en-bas de la nouvelle page, dans « Binary Distributions », « Core », cliquez sur le lien « tar.gz ». Le téléchargement s'effectue.
Le fichier doit se trouver dans le dossier de téléchargement de votre home ou bien dans le dossier que vous avez spécifié dans votre navigateur. Rendez-vous dans ce dossier en utilisant le terminal et maintenant il faut le décompresser via cette commande:
tar xvzf apache-tomcat-6.0.26.tar.gz
Le serveur Apache est donc dans le home directory du téléchargement, mais ceci n'est pas judicieux. On va donc le déplacer avec la commande suivante:
mv apache-tomcat-6.0.26 /usr/local/tomcat
A ce stade, le serveur est installé, mais pas encore fonctionnel. En effet, Tomcat a besoin de la variable d'environnement JAVA_HOME et celle-ci n'est pas mise par défaut sur les systèmes. Pour cela, on édite le fichier bashrc avec la commande suivante:
gedit ~/.bashrc
Et on ajoute la ligne suivante:
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
A ce point, vous pouvez exécuter le stript startup.sh qui permettra le démarrage de Tomcat. Pour l'exécuter, il suffit de faire:
/usr/local/tomcat/bin/./startup.sh
Pour l'arrêter:
/usr/local/tomcat/bin/./shutdown.sh
Nous allons à présent faire un script pour lancer Tomcat au démarrage du serveur.
Éditez le fichier suivant:
gedit /etc/init.d/tomcat
et coller le scipt suivant à l'intérieur:
# Tomcat auto-démarrage
# Auteur : senti
# description: démarrage en automatique de tomcat
# nom du process: tomcat
# pid du fichier: /var/run/tomcat.pid
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
case $1 in
start)
sh /usr/local/tomcat/bin/startup.sh
;;
stop)
sh /usr/local/tomcat/bin/shutdown.sh
;;
restart)
sh /usr/local/tomcat/bin/shutdown.sh
sh /usr/local/tomcat/bin/startup.sh
;;
esac
exit 0
Pour exécuter la commande, il est nécessaire de lui donner les droits pour le faire:
chmod 755 /etc/init.d/tomcat
On peut maintenant tester le script ainsi:
/etc/init.d/tomcat start
/etc/init.d/tomcat stop
/etc/init.d/tomcat restart
Il ne reste plus qu'à créer des liens symboliques dans les répertoires de démarrage du système. Il faut donc faire:
ln -s /etc/init.d/tomcat /etc/rc1.d/K99tomcat
ln -s /etc/init.d/tomcat /etc/rc2.d/S99tomcat
Pour optimiser la sécurité du CAS, il faut créer un certificat SSL pour accéder aux connections « https ». Pour le créer, entrez dans le terminal en mode super-utilisateur (sudo -s) la ligne suivante:
keytool -genkey -alias tomcat -keyalg RSA -validity 10000
Puis renseignez les champs en indiquant pour le mot de passe keystore, « changeit ».
Il faut également modifier le fichier server.xml de Tomcat:
gedit /usr/local/tomcat/conf/server.xml
Et enlever les commentaires (<!-- - ->) au code suivant:
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-- >
Toute application qui utilise la sécurité SSL de Tomcat doit importer le certificat. Vous pouvez exporter le certificat qui est compatible avec d'autres JVM keystores en executant la commande suivante:
keytool -export -alias tomcat -file server.crt
Puis entrez le mot de passe « changeit ». Et vous pouvez importer le « server.crt » dans d'autres JVM keystores en faisant:
keytool -import -file server.crt -keystore /usr/lib/jvm/java-6-openjdk/jre/lib/security/cacerts
Pour tester, redémarrez Tomcat. Vous devrez avoir accès à l'adresse suivante:
https://localhost:8443/
2. Installation de Maven
L'installation de Maven est indispensable afin de mettre en place CAS. Ainsi CAS est un projet développer en Java et Maven est un outil open-source de gestion et d'automatisation de développement Java. Maven va permettre de produire un logiciel à partir de ses sources, en garantissant le bon ordre de fabrication.
Pour le mettre en place, il faut se rendre sur le site de Apache Maven: http://maven.apache.org/ et cliquer sur le lien « Download » en haut à gauche. Sur la nouvelle page, cliquez sur le fichier mirroir « tar.gz »: apache-maven-2.2.1-bin.tar.gz, puis sur le premier lien: http://apache.multidist.com/maven/binaries/apache-maven-2.2.1-bin.tar.gz et téléchargez le fichier.
Rendez-vous dans le dossier où le fichier se trouve via le terminal, puis décompresser le ainsi:
tar xvzf apache-maven-2.2.1-bin.tar.gz
Déplacez le dossier créer dans /opt:
mv apache-maven-2.2.1 /opt
Ajoutez le bin directory au PATH:
export PATH=/opt/apache-maven-2.2.1/bin:$PATH
Enfin, vérifiez que Maven a bien été installé:
mvn --version
Voilà, Maven est correctement installé. Passons à présent à l'installation de CAS.
3. Installation de CAS
Nous allons installer le serveur CAS 3.3. Rendez-vous à l'adresse suivante: https://github.com/apereo/cas/releases et cliquez sur la lien « CAS Server 3.3 (TAR GZ) » de la version CAS Server 3.3 Release. Le téléchargement effectué, extrayez le fichier comme suit:
tar xvzf ~/Téléchargements/cas-server-3.3-release.tar.gz
Puis déplacez le fichier dans /opt:
mv cas-server-3.3 /opt
A ce stade, CAS est installer et nous pouvons le tester en copiant le fichier .war dans le webapps de Tomcat:
mv /opt/cas-server-3.3/modules/cas-server-webapp-3.3.war /usr/local/tomcat/webapps/cas.war
En vous connectant à l'adresse http://localhost:8080/cas, vous devrez accéder à la page d'authentification de CAS et en indiquant comme identifiant et mot de passe le même mot, la connexion est réaliser:
4. Configuration de CAS avec un Active Directory
La tache la plus importante et la plus délicate est celle-ci: configurer le CAS avec l'Active Directory. Pour y arriver, éditez le fichier pom.xml:
gedit /opt/cas-server-3.3/cas-server-webapp/pom.xml
En ajoutant la portion de code xml suivante afin d'indiquer à CAS que l'on veut utiliser le module de connexion à un Active Directory:
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>cas-server-support-ldap</artifactId>
<version>${project.version}</version>
</dependency>
Nous allons maintenant configurer l'accès à l'annuaire. Pour cela, éditez le fichier deployerConfigContext.xml:
gedit /opt/cas-server-3.3/cas-server-webapp/src/main/webapp/WEB-INF/deployerConfigContext.xml
Et ajoutez le code suivant avant la dernière ligne « </beans> »:
<bean id="contextSource" class="org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource">
<property name="anonymousReadOnly" value="false" />
<property name="pooled" value="true"/>
<property name="urls">
<list>
<!-- Entrez ici l'adresse de votre Active Directory -->
<value>ldap://192.44.44.44:389</value>
</list>
</property>
<!-- Cette ligne est à adapter selon le chemin où se trouve votre utilisateur -->
<property name="userDn" value="CN=casUser,CN=Users,DC=sce,DC=local"/>
<!-- Renseignez ici le mot de passe de votre user -->
<property name="password" value="motdepasse"/>
<property name="baseEnvironmentProperties">
<map>
<entry>
<key>
<value>java.naming.security.authentication</value>
</key>
<value>simple</value>
</entry>
</map>
</property>
</bean>
Enfin, il faut préciser la méthode utilisée pour rechercher un login dans l'annuaire. Ajoutez cette portion de code dans le fichier deployerConfigContext.xml à la place du SimpleAuthenticationHandler. Supprimez le code suivant:
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
Et remplacez le par celui-ci:
<bean class="org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler">
<property name="filter" value="sAMAccountName=%u" />
<!-- Renseignez ici votre adresse ici sce.local donc DC=sce,DC=local -->
<property name="searchBase" value="DC=sce,DC=local" />
<property name="contextSource" ref="contextSource" />
<property name="ignorePartialResultException" value="yes" />
</bean>
Maintenant, il ne reste plus qu'à créer le fichier .war en adéquation avec les modifications faites. Pour cela, rendez-vous dans le dossier cas-server-webapp:
cd /opt/cas-server-3.3/cas-server-webapp
Lancez la commande:
mvn package
Cela va prendre un peu de temps car Maven calcule toutes les dépendances.
Une fois terminé, copiez le nouveau fichier cas.war dans le répertoire de webapps de Tomcat:
cp /opt/cas-server-3.3/cas-server-webapp/target/cas.war /usr/local/tomcat/webapps
N.B: Si l'ancien fichier cas.war est présent, il faut le supprimer:
chmod -R 777 /usr/local/tomcat/webapps/
rm -R /usr/local/tomcat/webapps/
Voilà, c'est fini pour l'installation et la configuration de CAS avec l'Active Directory. Vous pouvez redémarrer Tomcat:
/etc/init.d/tomcat restart
Et aller à l'adresse http://localhost:8080/cas/login, en s'identifiant avec des utilisateurs présents dans l'Active Directory.