Skip to content

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

NomParamètre de layoutExemple
Message d'audit%mÉchec de la validation MFA pour 'jsmith'.
Identifiant du thread%tpool-1-thread-3
Date et heure%dVoir 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 :

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

  2. Calculez la valeur de la facilité en multipliant le code de la facilité par 8.

    Dans cet exemple : valeur_de_facilité = 17 * 8 = 136

  3. 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
  4. 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
<?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="&lt;%level{TRACE=143,DEBUG=143,INFO=142,WARN=140,ERROR=139,FATAL=139}&gt; %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
<?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="&lt;%level{TRACE=143,DEBUG=143,INFO=142,WARN=140,ERROR=139,FATAL=139}&gt; %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>