[sso] Serveur d'authentification

Fermé
little.minx Messages postés 9 Date d'inscription dimanche 21 janvier 2007 Statut Membre Dernière intervention 11 juin 2009 - 21 janv. 2007 à 10:35
 mima - 6 mars 2011 à 18:05
Bonjour !

Actuellement en poste dans un collège je planche depuis 1,2 semaines sur la mise en place d'un serveur d'authentification ou SSO.
En effet avec la multiplication des applications protégées par mot de passe mes utilisateurs commencent à "RALER".
Mon but est qu'aprés l'ouverture d'une session sur un des postes de mon réseau, l'utilisateur n'ait plus besoin de s'identifier lorsqu'il lance une application protégée.

Je lis, je lis sur le web depuis 15 jours et plus je li plus je me perds , entre les serveurs CAS ; les serveurs Kerberos......
J'aimerais monter ce serveur sous windows 2003 ou au pire sous débian sarge...
Attention mes contrôleurs de domaines sont des windows 2003 .

MERCI

8 réponses

totor97480 Messages postés 3 Date d'inscription samedi 17 juillet 2010 Statut Membre Dernière intervention 8 août 2010 18
17 juil. 2010 à 15:44
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.
9
merci bien pour cette article mais vous pouvez m'aider si sa ne vous dérange pas pour faire l'installation sur une machine Windows et merci d'avance :)
0
lionel85 Messages postés 7 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 19 avril 2007
12 avril 2007 à 17:51
Bonjour,

si vous arrivez à telecharger CAS on peut discuter ensemble, j'ai le même pb qu vous


Cordiallement @+
0
Bonjour.

J'ai la même chose à mettre en place (SSO), aurriez vous une petite
doc ou une procédure à me donner.

Je vous remercie d'avance.

Cordialement
0
Blanc57 Messages postés 366 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 27 janvier 2020 72
13 avril 2007 à 12:13
Vous avez peut-être déjà vu cet article, mais il est assez complet sur le sujet :

https://www.01net.com/actualites/

Je ne suis pas spécialiste, mais je suppose que ça va dépendre des applications principalement et de quels types d'authentification elles acceptent. Et s'il est possible de les coupler à un mécanisme d'authentification externe pour centraliser tout ça...

Bonne chance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lionel85 Messages postés 7 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 19 avril 2007
16 avril 2007 à 17:38
salut

vous pouvez chercher sur le site www.josso.org vous allez trouver une docummentation trés riche sur le serveur JOSSO

Merci
0
serveur CAS ce n'est que pour le web non....?
0
rigueur Messages postés 4 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 21 avril 2010 1
21 avril 2010 à 02:38
Bonjour,
svp j'ai le meme soucis et je ne sais pas comment utiliser le CAS (sso)
SI quelqu'un a des idees sur comment l'installer je suis prenante merci bcp
0
Bonjour
Je vous remercie pour cet article.
Je travaille actuellement sur un projet
portant sur la mise en place d'un serveur d'authentification
Je vais essayer vos codes ( si cela ne vous dérange pas)
et je vous ferai un suivie.
Merci
0
totor97480 Messages postés 3 Date d'inscription samedi 17 juillet 2010 Statut Membre Dernière intervention 8 août 2010 18
8 août 2010 à 13:53
J'ai mis la démarche pour l'installer afin d'aider tout internaute. Donc vous pouvez utiliser mes codes bien entendu. D'ailleurs la démarche est assez longue et si vous êtes bloqué, faites le moi savoir. J'ai essayer d'être le plus clair possible c'est pourquoi mon poste est un peu long.
A+
0