Ticket registry cleaner

Si vous utilisez des TGT valables assez longtemps, le ticket registry cleaner peut devenir coûteux (cf "RememberMe et ticket registry"). Or par défaut il tourne toutes les 2 minutes !!

Paramètrage conseillé :

cas.ticket.registry.cleaner.schedule.repeat-interval=PT1H

Pour mieux comprendre son action, augmentez les logs avec :

<AsyncLogger name="org.apereo.cas.ticket.registry.DefaultTicketRegistryCleaner" level="info" />

dans etc/cas/config/log4j2.xml

Mongo ticket registry

Avant CAS 7.x, il manque des indexes. Donc faire :

db.ticketGrantingTicketsCollection.createIndex({ ticketId: 1 })
db.serviceTicketsCollection.createIndex({ ticketId: 1 })
db.proxyTicketsCollection.createIndex({ ticketId: 1 })
db.proxyGrantingTicketsCollection.createIndex({ ticketId: 1 })

 

cas_audit.log

Le cas_audit.log n'est pas très utilisable comparé notamment au serviceStats.log qu'avait fait Julien Marchal ( https://github.com/EsupPortail/cas-toolbox-new/pull/3 ).
Voici un paramétrage plus intéressant :

cas.audit.slf4j.use-single-line=true
cas.audit.engine.audit-format=JSON
# uniquement les actions intéressantes :
cas.audit.engine.supported-actions=TICKET_GRANTING_TICKET_CREATED|AUTHENTICATION_FAILED|SERVICE_TICKET_CREATED

En supprimant aussi le PatternLayout dans la conf log4j2.xml, on obtient des logs facilement exploitable :

{"who":"prigaux","what":"TGT-1-********************************************************dI-iHqKNmcUcas-test2","action":"TICKET_GRANTING_TICKET_CREATED","application":"CAS","when":"Mon Dec 20 10:38:06 CET 2021","clientIpAddress":"172.20.11.189","serverIpAddress":"2001:660:3305:0:0:0:0:37"}
{"who":"prigaux","what":"ST-1-WNN6FouE61zWb3yIIVL-8o8k-aQcas-test2 for https://idp.univ-paris1.fr/idp/Authn/External?conversation=e1s1","action":"SERVICE_TICKET_CREATED","application":"CAS","when":"Mon Dec 20 10:38:06 CET 2021","clientIpAddress":"172.20.11.189","serverIpAddress":"2001:660:3305:0:0:0:0:37"}


NB : il n'est pas possible de supprimer serverIpAddress même si c'est peu utile (notamment si un seul serveur CAS ou si logs séparés)

NB : cas.audit.engine.supported-actions est disponible en CAS 6.4, avec un CAS plus ancien, faire le filtrage au niveau log4j2.xml :

<AsyncLogger name="org.apereo.inspektr.audit.support" level="info" includeLocation="true" >
    <RegexFilter regex=".*(TICKET_GRANTING_TICKET_CREATED|AUTHENTICATION_FAILED|SERVICE_TICKET_CREATED).*" useRawMsg="true" />
    <AppenderRef ref="casAudit"/>
</AsyncLogger>