Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

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
titleSuppression de l'accès en HTTP

Ne pas oublier de supprimer la ligne suivante de /etc/httpd/conf/httpd.conf :

Bloc de code
Listen 80

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]#

...

Astuce
titleDebug

Ajouter dans le fichier /etc/tomcat5/tomcat5.conf les lignes suivantes :

Bloc de code
JAVA_OPTS="$JAVA_OPTS -Dcom.ibm.security.jgss.debug=all"
JAVA_OPTS="$JAVA_OPTS -Dsun.security.jgss.debug=true"
JAVA_OPTS="$JAVA_OPTS -Dsun.security.krb5.debug=true"
JAVA_OPTS="$JAVA_OPTS -Djava.security.debug=logincontext,policy,scl,gssloginconfig

Les logs se trouvent dans /var/log/tomcat5/catalina.out.

Configuration de CAS

Ajouter le support du le support du handler spnego

Editer le fichier pom.xml et ajouter la dépendance suivante (par exemple juste après la dépendance vers le module cas-server-support-ldap) :

...

Bloc de code
xml
xml
<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
  requiredstoreKey=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 :

...