Sommaire |
---|
Préambule
Il est possible de modifier le serveur CAS afin de générer un fichier de logs supplémentaire qui sera alimenté a chaque authentification pour un service. Le fichier généré au final aura la forme suivante :
Info |
---|
[DATE][IP:IP-CLIENT][ID:IDENTIFIANT-UTILISATEUR][TICKET:VALUER-TICKET-SERVICE-CAS][SERVICE:URL-SERVICE-ACCEDE][USER-AGENT:NAVIGATEUR-CLIENT] |
Installation dans le serveur CAS
Mon serveur CAS est il compatible ?
Tout d'abord la dernière version (V4) du serveur CAS (cas-toolbox) génère ce fichier nativement : https://github.com/EsupPortail/cas-toolbox-new
...
Votre serveur CAS est compatible pour générer ce fichier si vous trouver un fichier nommé ServiceAuditTrailManager.java quelques part dans les sources.
Rendre mon serveur compatible
La modification comporte 3 étapes :
- Ajout d'un FileAppender et d'un logger dans la gestion de log log4j
- Ajout d'une classe Java qui implémente AuditTrailManager (classe ServiceAuditTrailManager)
- Modification de auditTrailContext.xml pour brancher la classe java ServiceAuditTrailManager
CAS Version 4 ou 3.4.X (GIT)
Vous pouvez utiliser ce pull request : https://github.com/EsupPortail/cas-toolbox-new/pull/3
et donc les fichier lister dans le PR : https://github.com/EsupPortail/cas-toolbox-new/pull/3/files
CAS en version 3.4.X (GIT)
Vous pouvez utiliser ce pull request : https://github.com/EsupPortail/cas-toolbox-new/pull/3
...
Bloc de code |
---|
.... <bean class="org.esupportail.cas.audit.support.ServiceAuditTrailManager"/> .... |
CAS en version 4.2.2
- Dans le dossier cas-overlay-template récupérer le fichier auditTrailContext.xml et placez le dans src/main/webapp/WEB-INF/spring-configuration/
Bloc de code |
---|
# wget -O src/main/webapp/WEB-INF/spring-configuration/auditTrailContext.xml https://raw.githubusercontent.com/apereo/cas/v4.2.2/cas-server-webapp/src/main/webapp/WEB-INF/spring-configuration/auditTrailContext.xml |
- Dans le bean avec l'id auditTrailManagementAspect remplacez le constructeur
Bloc de code |
---|
c:auditTrailManagers-ref="auditTrailManager" |
par
Bloc de code |
---|
c:auditTrailManagers-ref="auditTrailManagers" |
en dessous de ce bean rajoutez ceci
Intégration du serviceaudittrailmanager.java
- Dans le dossier cas-overlay-template créez le dossier suivant:
Bloc de code |
---|
# mkdir src/main/java/org/esupportail/cas/audit/support/ |
Insérez le fichier ServiceAuditTrailManager.java dans ce dossier
Mise en place des logs
- Éditez le fichier /etc/cas/log4j2.xml
...
Bloc de code | ||
---|---|---|
| ||
<AsyncLogger name="org.esupportail.cas.audit.support.ServiceAuditTrailManager" level="info" additivity="false" includeLocation="true"> <AppenderRef ref="console"/> <AppenderRef ref="serviceStatsAppender" /> </AsyncLogger> |
Injection dans Agimus-NG (Logstash)
Vous pouvez utiliser le fichier logstash-casrequest.conf : https://github.com/EsupPortail/agimus-ng/blob/master/logstash/logstash-casrequest.conf
Pour lire et injecter dans Agmius-NG le fichier résultant du CAS
Tableau de bord CAS
A venir :
- service
- agent
- 'eduPersonPrimaryAffiliation', 'supannEntiteAffectationPrincipale', 'supannEtuCursusAnnee', 'supannEtuSecteurDisciplinaire'