Comment envoyer des audits vers syslog
Cette page décrit une procédure pour envoyer des audits à un serveur syslog. Cette procédure s'applique aux déploiements sur site de la solution. Pour les déploiements SaaS, contactez OKIOK si vous avez besoin d'accéder aux journaux d'audit.
Le portail S-Filer utilise Log4J comme framework de journalisation et c'est un framework très flexible qui peut être utilisé pour formater et envoyer des journaux vers une variété de systèmes différents.
Avertissement
La modification de la configuration de Log4J est prise en charge par OKIOK, mais ne fait pas partie de la procédure d'installation standard. Il peut être nécessaire de réappliquer ces modifications après une mise à niveau.
Informations contextuelles
La solution fournit des informations contextuelles pour les audits. Celles-ci peuvent être utilisées dans le layout
Nom | Paramètre de layout | Exemple |
---|---|---|
Message d'audit | %m | Échec de la validation MFA pour 'jsmith'. |
Identifiant du thread | %t | pool-1-thread-3 |
Date et heure | %d | Voir la doc Log4J pour les formats |
Autres standards Log4J | %p, %c, etc. | Voir Log4J pour les détails. |
Nom de compte | %X{MDC_USER} | jsmith |
IP de l'utilisateur | %X{MDC_REMOTE_IP} | 172.134.23.46 |
Composant S-Filer | %X{MDC_COMPONENT} | sfiler-gw-1 |
Audits à journaliser
Consultez la page Journaux d'audits pour la liste de tous les audits pris en charge dans le portail S-Filer.
Configuration
Configurer le layout des journaux
OKIOK recommande d'utiliser un PatternLayout
car il offre le plus de flexibilité.
Configurer l'appendeur syslog
L'appendeur syslog de Log4J dispose de nombreuses valeurs de configuration et peut fonctionner en UDP, TCP et TLS sur TCP. Les détails de l'appendeur syslog sont ici : https://logging.apache.org/log4j/2.x/manual/appenders.html#syslogappender
Exemples
Ces exemples contiennent uniquement le logger et l'appendeur pour écrire des audits. Ils doivent être combinés avec la configuration de journalisation régulière qui comprend les journaux d'erreur et de débogage.
Configuration QRadar basique
Cet exemple envoie des journaux à QRadar au format LEEF en utilisant le protocole UDP.
Le layout pattern doit être ajusté selon la facilité de la manière suivante :
Déterminez le code de la facilité (voir https://fr.wikipedia.org/wiki/Syslog) basé sur le mot-clé défini dans le paramètre de facilité de l'appendeur syslog.
Dans cet exemple : la facilité 'local1' a le code 17.
Calculez la valeur de la facilité en multipliant le code de la facilité par 8.
Dans cet exemple : valeur_de_facilité = 17 * 8 = 136
Pour chaque niveau de trace, déterminez la valeur de gravité (voir https://fr.wikipedia.org/wiki/Syslog) et ajoutez-la à la valeur de la facilité.
Dans cet exemple :
TRACE = valeur_de_facilité + 7 = 136 + 7 = 143 DEBUG = valeur_de_facilité + 7 = 136 + 7 = 143 INFO = valeur_de_facilité + 6 = 136 + 6 = 142 WARN = valeur_de_facilité + 4 = 136 + 4 = 140 ERROR = valeur_de_facilité + 3 = 136 + 3 = 139 FATAL = valeur_de_facilité + 3 = 136 + 3 = 139
Concaténez tous les niveaux de trace avec leurs valeurs calculées et mettez la chaîne résultante dans le paramètre 'pattern' du PatternLayout.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorinterval="30" status="info" strict="true">
<Appenders>
<Syslog name="qradar" host="127.0.0.1" port="514" facility="local1" format="RFC5424" protocol="UDP" >
<PatternLayout pattern="<%level{TRACE=143,DEBUG=143,INFO=142,WARN=140,ERROR=139,FATAL=139}> %d{MMM dd HH:mm:ss} sfiler_7 LEEF:1.0|%c|\t devTime=%d{MMM dd yyyy HH:mm:ss.SSS z}\tdevTimeFormat=MMM dd yyyy HH:mm:ss.SSS z\tusrName=%X{MDC_USER}\tidentSrc=%X{MDC_REMOTE_IP}\tthread=%t\tmessage=%m%n"/>
</Syslog>
</Appenders>
<Loggers>
<Logger name="AUDIT" level="INFO">
<appender-ref ref="qradar"/>
</Logger>
</Loggers>
</Configuration>
Configuration QRadar avec filtrage
Ceci est similaire à la configuration QRadar ci-dessus, mais ajoute un filtrage des événements pour retirer les événements courants.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorinterval="30" status="info" strict="true">
<Appenders>
<Syslog name="qradar" host="127.0.0.1" port="514" facility="local1" format="RFC5424" protocol="UDP" >
<PatternLayout pattern="<%level{TRACE=143,DEBUG=143,INFO=142,WARN=140,ERROR=139,FATAL=139}> %d{MMM dd HH:mm:ss} sfiler_7 LEEF:1.0|%c|\t devTime=%d{MMM dd yyyy HH:mm:ss.SSS z}\tdevTimeFormat=MMM dd yyyy HH:mm:ss.SSS z\tusrName=%X{MDC_USER}\tidentSrc=%X{MDC_REMOTE_IP}\tthread=%t\tmessage=%m%n"/>
<Filters>
<StringMatchFilter text="Action d'extension" onMatch="DENY" onMismatch="NEUTRAL"/>
<StringMatchFilter text="Téléversement" onMatch="DENY" onMismatch="NEUTRAL"/>
<StringMatchFilter text="téléversé" onMatch="DENY" onMismatch="NEUTRAL"/>
<StringMatchFilter text="Téléchargement" onMatch="DENY" onMismatch="NEUTRAL"/>
<StringMatchFilter text="téléchargé" onMatch="DENY" onMismatch="NEUTRAL"/>
<StringMatchFilter text="Serveur" onMatch="DENY" onMismatch="NEUTRAL"/>
<StringMatchFilter text="Passerelle" onMatch="DENY" onMismatch="NEUTRAL"/>
</Filters>
</Syslog>
</Appenders>
<Loggers>
<Logger name="AUDIT" level="INFO">
<appender-ref ref="qradar"/>
</Logger>
</Loggers>
</Configuration>