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.1, 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>