Boot sur CD Fedora 10.
- FQDN : cas.ifsic.univ-rennes1.fr
- IP : 148.60.10.51
Authentification web par kerberos
Installation Apache
Installer httpd (Apache) et mod_auth_kerb.
Sous kadmin :
addprinc -randkey HTTP/cas.ifsic.univ-rennes1.fr ktadd -k /etc/httpd/conf/mod_auth_kerb.keytab HTTP/cas.ifsic.univ-rennes1.fr
Puis :
chown apache /etc/httpd/conf/mod_auth_kerb.keytab chmod 640 /etc/httpd/conf/mod_auth_kerb.keytab
Protéger un répertoire par Kerberos en éditant /etc/httpd/conf.d/auth_kerb.conf :
<Location /kerb> # SSLRequireSSL AuthType KerberosV5 AuthName "Kerberos Login" KrbMethodNegotiate On KrbMethodK5Passwd Off KrbAuthRealms IFSIC.UNIV-RENNES1.FR Krb5KeyTab /etc/httpd/conf/mod_auth_kerb.keytab require valid-user </Location>
Ecrire un simple script test.php dans le répertoire /var/www/html/kerb :
<? phpinfo(); ?>
Configuration Firefox
pour transmettre l'authentification Kerberos de Firefox à mod_auth_kerb :
- entrer about:config dans la barre de navigation
- entrer nego dans le filtre
- positionner les variables network.negociate-auth.delegation-uris et network.negociate-auth.trusted-uris à ifsic.univ-rennes1.fr.
Configuration IE
Indiquer le domaine ifsic.univ-rennes1.fr comme étant dans l'intranet (Outils, Options Internet, Sécurité, Intranet local, Sites..., Avancé..., Ajoute ce site site web à la zone, *.fsic.univ-rennes1.fr).
Indiquer qu'il faut passer l'authentification Kerberos dans l'intranet local (Outils, Options Internet, Sécurité, Intranet local, Personnaliser le niveau, Authentification utilisateur, Connexion, Connexion automatique uniquement dans la zone intranet).
Test
Tester en accédant http://cas.ifsic.univ-rennes1.fr/kerb/test.php
. Le nom de l'utilisateur doit apparaître dans les variables $_SERVER["REMOTE_USER"] et $_SERVER["PHP_AUTH_USER"] (quelque chose comme paubry@IFSIC.UNIV-RENNES1.FR).
Installation Java/Maven/Tomcat
Télécharger le dernier JDK depuis http://java.sun.com/javase/downloads/index.jsp , puis exécuter :
# chmod \+x jdk-6u17-linux-i586-rpm.bin # ./jdk-6u17-linux-i586-rpm.bin
Ajouter le fichier /etc/profile.d/java.sh contenant les lignes suivantes :
export JAVA_HOME=/usr/java/default export PATH=$JAVA_HOME/bin:$PATH
Vérifier l'installation :
# java -version java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.6) (fedora-23.b16.fc10-i386) OpenJDK Client VM (build 14.0-b16, mixed mode)
Installer Maven et Tomcat :
# yum install maven2 tomcat5
Si jamais la version de Maven est avant 2.0.6, faire une installation manuelle depuis http://maven.apache.org/download.html en ajoutant Maven au PATH dans /etc/profile.d/java.sh.
# mvn --version Maven version: 2.0.4 # yum remove maven2 # cd /usr/local # wget ftp://ftp.inria.fr/pub/Apache/maven/binaries/apache-maven-2.2.1-bin.tar.gz # tar xf apache-maven-2.2.1-bin.tar.gz # ln -s apache-maven-2.2.1 maven2
Installation de CAS
Installation basique en HTTP
Télécharger la dernière version de CAS depuis http://www.jasig.org/cas/download et décompresser :
# cd /usr/local # wget http://www.ja-sig.org/downloads/cas/cas-server-3.3.5-release.tar.gz # tar xf cas-server-3.3.5-release.tar.gz # cd cas-server-3.3.5 # cd cas-server-webapp # mvn package install # cp target/cas.war /var/lib/tomcat5/webapps/ROOT.war # /etc/init.d/tomcat5 restart
Désactiver si nécessaire le firewall pour les ports 8080 et 8443 (system-config-firewall) et tester http://cas.ifsic.univ-rennes1.fr:8080 (user = test, password = test).
Installation en HTTPS
Rapatrier Jetty (par exemple dans /usr/local) depuis http://static.roopindersingh.com/jetty-6.1.7.jar .
Copier les clés publique (cas.ifsic.univ-rennes1.fr.pem) et privée (cas.ifsic.univ-rennes1.fr.key) dans /etc/tomcat5 pour générer le keystore (en donnant comme mot de passe changeit) :
#openssl pkcs12 -export \
-out cas.ifsic.univ-rennes1.fr.pkcs12 \
-in cas.ifsic.univ-rennes1.fr.pem \
-inkey cas.ifsic.univ-rennes1.fr.key
#java -cp /usr/local/jetty-6.1.7.jar org.mortbay.jetty.security.PKCS12Import \
cas.ifsic.univ-rennes1.fr.pkcs12 cas.ifsic.univ-rennes1.fr.keystore
Dans /etc/tomcat5/server.xml, commenter le connecteur HTTP sur le port 8080 et décommenter le connecteur HTTPS sur le port 8443 en ajoutant l'attribut :
keystoreFile="/etc/tomcat5/cas.ifsic.univ-rennes1.fr.keystore"