[sso] Serveur d'authentification

little.minx Messages postés 9 Statut Membre -  
 mima -
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
Configuration: Windows XP
Internet Explorer 7.0

8 réponses

  1. totor97480 Messages postés 3 Statut Membre 18
     
    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
    1. mima
       
      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
  2. lionel85 Messages postés 7 Date d'inscription   Statut Membre
     
    Bonjour,

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

    Cordiallement @+
    0
  3. cliu
     
    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
  4. Blanc57 Messages postés 377 Statut Membre 73
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lionel85 Messages postés 7 Date d'inscription   Statut Membre
     
    salut

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

    Merci
    0
  7. seb
     
    serveur CAS ce n'est que pour le web non....?
    0
  8. rigueur Messages postés 5 Statut Membre 1
     
    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
  9. jules
     
    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
    1. totor97480 Messages postés 3 Statut Membre 18
       
      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