Astuce | ||
---|---|---|
| ||
Cette page décrit l'installation de A à Z d'un nouveau serveur CAS qui permet :
Il est facile pour un administrateur CAs d'extraire de cette documentation les éléments nécessaires à l'adaptation d'un serveur CAS existant pour lui donner les fonctionnalités voulues. |
Sommaire |
---|
Nom du serveur | cas-kerb.univ-rennes1.fr |
Système | RedHat Entreprise 5 |
Ouverture de ports | ssh (22 tcp) |
Installation système
...
Après redémarrage de Apache et Tomcat, le serveur CAS doit désormais répondre sur l'URL https://cas-kerb.univ-rennes1.fr (sur le port 80 par défaut en HTTP).
Passage en HTTPS
Installer si nécessaire le package mod_ssl (yum install mod_ssl).
Installerle certificat x509 et la cléprivée du serveur dans les répertoires appropriés (/etc/pki/tls/
Configuration de Apache
Installer le certificat du serveur en éditant /etc/httpd/conf.d/ssl.conf et modifier les lignes suivantes dans le virtual host _default_:443 :
Bloc de code |
---|
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateFile /etc/pki/tls/privatecerts/cas-kerb.univ-rennes1.fr.pem #SSLCertificateKeyFile /etc/pki/tls/private/localhost.key SSLCertificateKeyFile /etc/pki/tls/private/cas-kerb.univ-rennes1.fr.key |
...
Après redémarrage de Apache, le serveur CAS doit désormais répondre sur l'URL https://cas.ifsic.univ-rennes1.fr (sur le port 443 par défaut en HTTPS)..
Astuce | ||
---|---|---|
| ||
Ne pas oublier de supprimer la ligne suivante de /etc/httpd/conf/httpd.conf :
|
Ajout de l'authentification LDAP
...
Bloc de code |
---|
[root@cas-kerb ~]# cd /etc [root@cas-kerb etc]# chown root:tomcat http.keytab [root@cas-kerb etc]# chmod 640 http.keytab [root@cas-kerb etc]# http.keytab [root@cas-kerb etc]# chmod 640 http.keytab [root@cas-kerb etc]# |
Astuce | ||
---|---|---|
| ||
Ajouter dans le fichier /etc/tomcat5/tomcat5.conf les lignes suivantes :
Les logs se trouvent dans /var/log/tomcat5/catalina.out. |
Configuration de CAS
Ajouter le support du handler spnego
...
Bloc de code | ||||
---|---|---|---|---|
| ||||
<bean id="authenticationManager" class="org.jasig.cas.authentication.AuthenticationManagerImpl"> <property name="credentialsToPrincipalResolvers"> <list> <!-- ... the others credentialsToPrincipalResolvers ... --> <bean class="org.jasig.cas.support.spnego.authentication.principal.SpnegoCredentialsToPrincipalResolver" /> </list> </property> <property name="authenticationHandlers"> <list> <bean class="org.jasig.cas.support.spnego.authentication.handler.support.JCIFSSpnegoAuthenticationHandler"> <property name="authentication"> <bean class="jcifs.spnego.Authentication" /> </property> <property name="principalWithDomainName" value="truefalse" /> <property name="NTLMallowed" value="false"/> </bean> <!-- ... the others authenticationHandlers... --> </list> </property> </bean> |
...
La configuration de JCIFS se fait également dans le fichier login.conf pointé par le bean jcifsConfig. Créer ce fichier avec le contenu suivant :
Bloc de code |
---|
com.sun.security.jgss.krb5.accept |
Bloc de code |
jcifs.spnego.initiate { com.sun.security.auth.module.Krb5LoginModule required useKeyTabdebug=true keyTab="/etc/http.keytab" }; jcifs.spnego.accept { com.sun.security.auth.module.Krb5LoginModule required storeKey=true useKeyTab=true keyTab="/etc/http.keytab" }; |
Astuce |
On peut également ajouter l'option debug=true pour obtenir des informations dans catalina.out. principal="HTTP/cas-kerb.univ-rennes1.fr";
}; |
Configuration de Tomcat
Il faut passer à la JVM qui exécute Tomcat l'option -Djavax.security.auth.useSubjectCredsOnly=false, par exemple en éditant le fichier /etc/tomcat5/tomcat5.conf et en ajoutant la ligne suivante :
...
Bloc de code | ||||
---|---|---|---|---|
| ||||
<bean id="kerberosFeedConfig" class="org.esupportail.cas.adaptors.kerberosfeed.KerberosFeedConfig"> <property name="kadminPath" value="/usr/kerberos/sbinbin/kadmin" /> <property name="realm" value="UNIV-RENNES1.FR" /> <property name="principal" value="cas/admin" /> <property name="useKeytab" value="true" /> <property name="keytab" value="/etc/cas-admin.keytab" /> <!-- property name="password" value="secret" /--> <property name="passwordAllowedChars" value="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789&~#{([-|`\\_^@)]=+}$%*!:/;.,?><" /> </bean> |
...