TP : CAS installation du serveur

Introduction

Nous vous proposons de compléter l’infrastructure de TP installée sur votre portable en installant un serveur CAS. Vous pourrez ainsi comprendre ce que représente ce type d’installation, et vous servir de ce serveur pour certains TPs. L’objectif de ce TP est de construire et personnaliser un système d’authentification CAS avec la boîte à outils Jasig et Renater basée sur cas- quickstart, cas-toolbox et cas-maven.

Vous réaliserez les opérations sur la VM web de l’infrastructure de TP installée sur votre portable.

Comprendre les éléments de l’architecture mis en oeuvre

Recensez les éléments d’architecture dont vous aurez besoin et listez les actions à réaliser

  • réalisez la même démarche que dans le TP précédent

Ordre des installations à réaliser

  • réalisez la même démarche que dans le TP précédent

Valider l’environnement du TP :

  • Reprendre les éléments du TP précédents
  • Voir ce qu’il vous faut de plus

Installation du CMS CAS

-> Installation du CAS et de JAVA JDK

  • Rajouter dans /etc/apt/sources.list la ligne : « deb http://http.debian.net/debian/ wheezy main contrib »

  • Vérifiez les mises à jour :

aptitude update && aptitude upgrade
  • Puis installez JAVA JDK :
aptitude update && aptitude install java-package
aptitude install openjdk-7-jdk openjdk-7-jre

Vérifier que ça s’est bien installé.

  • Choisir éventuellement la version de java
update-alternatives --config java

root@web:~# update-alternatives –config java

There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

Nothing to configure

-> Installation de Cas-Quickstart :

  • télécharger sur le site de Renater l’archive compressée de cas-quickstart : https://sourcesup.cru.fr/frs/?group_id=401 dans /opt et décompressez-la
cd /opt
wget http://sourcesup.cru.fr/frs/download.php/3677/cas-quickstart-3.4.7-1.tar.gz
tar -xvzf cas-quickstart-3.4.7-1.tar.gz

scp depuis le portable si le wget ne fonctionne pas

  • Vérifiez l’environnement pour la bonne exécution des scripts : s’assurer du format des fichiers .sh (env,start et stop)
cd cas-quickstart-3.4.7-1/
cat env.sh | tr -d '\015' > env
mv env env.sh
cat start.sh | tr -d '\015' > start
mv start start.sh
cat stop.sh | tr -d '\015' > stop
mv stop stop.sh
  • Configurer les variables d’environnement de cas-quickstart-3.4.7-1/env.sh pour pouvoir lancer CAS

Trouver le répertoire d’installation de JAVA qui vous permettra de renseigner correctement le fichier env.sh, par exemple :

readlink -f /usr/bin/java | sed -e "s/\/jre\/bin\/java//g"

Pour cela, adapter les chemins et remplacer les lignes comme suit dans le fichier env.sh :

#!/bin/sh

export LANG=fr_FR

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/

export CATALINA_HOME=/opt/cas-quickstart-3.4.7-1/apache-tomcat-6.0.32

export CATALINA_BASE=$CATALINA_HOME

export CATALINA_TMPDIR=$CATALINA_HOME/temp

Attention

ne pas copier-coller /bin/java pour JAVA_HOME

  • Donner les droits d’exécution :
chmod a+x *.sh
chmod a+x apache-tomcat-6.0.32/bin/*.sh
  • Tester CAS : Lancement arrêt
./start.sh
./stop.sh
./start.sh

Vérifier que CAS tourne bien et écoute sur les ports 8005,8009 et 8080 de java :

ps auwx|grep cas
netstat -nlpt

Le lancement prend un peu de temps, attendez de voir les 3 ports 8005, 8009 et 8080 en écoute dans la commande netstat

Attention, si vous rencontrez des erreurs à ce niveau, vérifier que vous aviez arrêté les processus d’apache2 : service apache2 stop

Enfin, tester CAS via un navigateur internet : http://localhost:8080

refaite votre connexion ssh à la machine web en adaptant la redirection de port

ssh -p 2203 -i ~/.vagrant.d/insecure_private_key -L 8080:127.0.0.1:8080 vagrant@web

Saisir l’identifiant de test : password/password (vous devez obtenir connexion réussie)

Pour vous déconnecter, dans le navigateur de test : http://localhost:8080/logout

Vous pouvez vérifier les logs dans la machine web : tail apache-tomcat-6.0.32/logs/auth.log

-> Installation de Cas-toolbox

  • Installez ANT :
aptitude install ant
  • Télécharger sur le site de Renater les archives compressées de cas-toolbox et de cas-maven- repository : https://sourcesup.cru.fr/frs/?group_id=401

  • Toutes les installations se feront dans le répertoire /opt

cd /opt

– Décompresser les archives dans /opt et créer le répertoire build pour extraire cas-maven-repository

tar -xvzf cas-toolbox-3.4.7-1.tar.gz
cd cas-toolbox-3.4.7-1
mkdir build
tar -xvzf /opt/cas-maven-repository-3.4.7-1.tar.gz -C build/

– Puis sous /opt/cas-toolbox-3.4.7-1 :

cp config.sample.properties config.properties
cp build.sample.properties build.properties
  • Vérifier et adapter le fichier build.porperties avec le modifications suivantes (chemins de déploiement du service CAS ; indiquer à maven de travailler sans connexion réseau) :
vi build.properties

deploy.path=/opt/cas-quickstart-3.4.7-1/webapps/cas

maven.offline=false (laisser false même si certaines doc indiquent true)

simpleTestHandler.name=cas-server-support-generic

cas.package.version=3.4.7 (en fin de fichier)

  • Editer le fichier config.properties pour vérifier les variables :
vi config.properties

cas.authHandlers=fileHandler

  • Lancer la compilation :
ant init

Le résultat doit être : init: … BUILD SUCCESSFUL

-> Configuration de la base d’authentification centrale (ici un annuaire LDAP) :

Modifier le fichier « config.properties » de cas-toolbox : - saisir l’adresse IP du serveur LDAP existant aux lignes – saisir la bonne base DN en indiquant les bons dc= dc=

ldap.host.1=ldap://auth.mathrice.fr:389

ldap.host.2=ldap://ldap2.fr:389

ldap.basedn=uid=%u,o=people,dc=mathrice,dc=fr

cas.authHandlers=ldapHandler

Puis sur l’annuaire local :

ldap.host.1=ldap://gate.vbox.tp:389

ldap.host.2=ldap://ldap2.fr:389

ldap.basedn=uid=%u,ou=people,dc=vbox,dc=tp

– mettre à jour le service CAS :

ant init
ant deploy

Buildfile:/opt/cas-toolbox-3.4.7-1/build.xml

deploy:

[copy] Copying XXX files to /opt/cas-quickstart-3.4.7-1/webapps/cas

BUILDSUCCESSFUL

– Puis, sous /opt/cas-quickstart-3.4.7-1, redémarrer cas-quickstart :

./stop.sh && ./start.sh
  • Testez : sur http://localhost:8080 avec un utilisateur de l’annuaire LDAP (voir page lundi -> liste des membres de l’annuaire)

-> Ensuite, vous pouvez personnaliser la page de login CAS

Vous voulez savoir comment ?

Sécurisation du serveur CAS (les échanges en HTTPS pour le PGT)

-> Voici le lien internet pour utiliser des certificats X509 avec le serveur CAS

https://www.esup-portail.org/wiki/display/DOC/Utilisation+de+certificats+X509+pour+CAS

-> Mais pour le TP et les tests avec l’installation d’un Tomcat embarqué dans Java, un lien internet pour configurer SSL avec Apache/Tomcat:

http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html#Quick_Start

  • modifier le fichier server.xml sous /apache-tomcat-6.0.14/conf/serveur.xml ; pour cela, créer un trousseau de clés appelé « keystore » avec l’utilitaire JAVA « keytool

  • vous pouvez vérifier la liste des certificats déjà présents et importés → par la commande : keytool -v -list -keystore $JAVA_HOME/jre/lib/security/cacerts

  • ajouter dans le fichier /apache-tomcat-6.0.14/conf/serveur.xml

connector port= »8443 » clientAuth=’‘false’’ keystoreFile=’’${catalina.base}/conf/keystore’’ keystorePass=’‘changeit’’ keyAlias=’‘tomcat’’ keypass=’‘changeit’’