Skip to content

Cet outil n'est ni affilié à Okta, Inc., ni approuvé ou sponsorisé par elle. Okta est une marque d'Okta, Inc. Les autres noms sont des marques de leurs propriétaires respectifs.

Analyse du System Log Okta pas à pas (outil gratuit)

Analysez un export du System Log Okta dans le navigateur : chargez les fichiers, lisez verdict et constats, pivotez sur utilisateurs, IP et sessions, exportez.

Publié le 6 min de lecture

TL;DR. Ouvrez l'analyseur Okta Forensics, déposez votre export du System Log (JSON, JSON Lines, CSV, gzip, ZIP ou un dossier entier) et lisez le verdict : Aucun signe de compromission, Activité suspecte ou Compromission probable, avec les constats qui l'expliquent. Parcourez ensuite cinq onglets : Constats (ce qui s'est déclenché et sur quels événements), Chronologie de l'incident, Entités (utilisateurs, IP, sessions, facteurs, applications, admins), Tous les événements (filtrables, exportables) et Remédiation (une checklist classée par urgence). Rien n'est téléversé : l'analyseur est écrit en Rust compilé en WebAssembly et tourne dans votre navigateur.

Voici l'article « sur quel bouton appuyer ». Pour la méthode (quoi chercher et pourquoi), lisez d'abord le guide d'investigation d'une compromission Okta.

Avant de commencer

Il vous faut un export du System Log Okta. Le guide d'export présente les options ; en résumé : toute l'organisation, la période la plus longue possible, du JSON brut issu de l'API quand c'est possible.

Pas d'export sous la main ? Cliquez sur Essayer un exemple sur la page d'accueil. Cela charge un export synthétique d'un incident fictif (160 événements, organisation inventée, adresses IP des plages de documentation) pour apprendre l'interface sur un cas qui déclenche forcément des détections. La démonstration sur un incident fictif explique chacun des constats produits.

Étape 1 : charger les fichiers

Déposez les fichiers sur la zone prévue, ou utilisez Choisir des fichiers / Choisir un dossier. Formats acceptés :

EntréeRemarques
Tableau JSON de /api/v1/logsplusieurs pages dans un fichier, sans problème
JSON Lines, lignes préfixées syslogun événement par ligne
Exports EventBridge, Elastic, Splunkenveloppes detail, _source, result / _raw dépliées
CSVen-têtes en chemins LogEvent (actor.alternateId, target[0].displayName…) ou colonne _raw ; séparateur virgule, point-virgule ou tabulation
.gz, .zip, dossiersdécompressés et parcourus dans le navigateur, ZIP imbriqués compris

Les fichiers sont lus par blocs de 4 Mo et transmis en flux à l'analyseur : les exports de plusieurs gigaoctets passent, la vraie limite étant la mémoire nécessaire aux événements eux-mêmes. Pour les très gros exports (au-delà de 200 000 événements), les détections tournent toujours sur tous les événements, mais le tableau affiche toutes les preuves plus les événements les plus récents.

Étape 2 : vérifier ce qui a réellement été lu

Avant de faire confiance à un verdict, ouvrez Fichiers analysés. Chaque fichier affiche son nombre d'événements, son format et sa taille, ainsi que des remarques : doublons supprimés, enregistrements qui ne sont pas des événements du System Log, JSON invalide, événements sans horodatage lisible, ou fichier qui s'arrête au milieu d'un événement (export tronqué). Fichiers non analysés explique chaque rejet : fichier vide, pas un journal Okta, un tableur au lieu d'un CSV, un gzip ou un ZIP endommagé.

Regardez ensuite la ligne de statistiques : événements, utilisateurs, adresses IP, sessions, et la Période (UTC). Si la période ne correspond pas à ce que vous avez exporté, arrêtez-vous et corrigez l'export.

Étape 3 : lire le verdict

La logique du verdict est volontairement simple et visible :

VerdictRègle
Compromission probableau moins un constat critique, ou des constats élevés issus de deux règles différentes
Activité suspectetout autre constat élevé ou moyen
Aucun signe de compromissionrien au-dessus de faible (les constats faibles sont informatifs)

Sous Pourquoi, les constats à l'origine du verdict sont listés. Un verdict propre signifie qu'aucune des 25 règles de détection ne s'est déclenchée sur ces événements. Ce n'est pas un certificat ; l'article sur les limites explique ce qui peut échapper.

Étape 4 : examiner les constats

Chaque carte de constat affiche une sévérité (critique, élevée, moyenne, faible), un badge aggravé quand une condition de suivi l'a relevée (par exemple une rafale de push suivie d'un push accepté), une phrase construite à partir des preuves, les horodatages de début et de fin, les utilisateurs et IP concernés, les techniques MITRE ATT&CK, et Voir les événements pour ouvrir les preuves dans le tableau des événements.

Chaque famille est expliquée dans son propre article :

Quand une application sensible (AWS, Microsoft 365, Google Workspace, GitHub, plateformes Kubernetes…) a été ouverte après une activité suspecte, le constat renvoie vers l'outil frère qui lit les journaux de cette plateforme, par exemple AWS Forensics pour CloudTrail.

Étape 5 : parcourir la chronologie de l'incident

L'onglet Chronologie de l'incident ordonne dans le temps les preuves de chaque constat moyen, élevé et critique, ainsi que les actions d'administration des comptes concernés. C'est le brouillon de la chronologie de votre rapport. Basculez entre UTC et Local avec le sélecteur ; gardez l'UTC pour tout ce que vous partagez.

Étape 6 : pivoter sur les entités

L'onglet Entités liste utilisateurs, adresses IP (avec ASN et pays), sessions, facteurs, applications et admins, chacun avec ses nombres d'événements et d'échecs, première et dernière apparition, et les constats où il figure. Cliquez sur Événements sur une ligne et le tableau des événements est filtré sur cette entité. C'est ainsi que l'on répond à « qu'a fait d'autre cette IP ? » ou « que s'est-il passé dans cette session ? » sans écrire de requête.

Étape 7 : filtrer et exporter les événements

Tous les événements combine un filtre texte libre (utilisateur, IP, eventType, application, session, date), un filtre par catégorie (authentification, MFA, sessions, admin et IdP, politiques, accès aux applications…), un filtre par résultat et Dans un constat seulement. Cliquez sur une ligne pour voir chaque champ utile : message, résultat, acteur, cibles, client, réseau, session, facteur, privilège accordé, risque, comportements, tunnel d'anonymisation, indicateur ThreatInsight, URI de requête, transaction et uuid.

CSV et JSON exportent ce qui est filtré à l'écran. Le CSV est protégé contre l'injection de formules : vous pouvez l'ouvrir sans risque dans un tableur.

Étape 8 : remédier

L'onglet Remédiation transforme les constats en checklist classée par urgence : préserver les journaux, supprimer les sessions, réinitialiser facteurs et mots de passe, revoir et révoquer les rôles d'admin, révoquer les jetons d'API, supprimer les fournisseurs d'identité inconnus, restaurer les politiques, enquêter sur les applications en aval. Cochez au fur et à mesure (l'état ne reste que dans la page). Le bloc Que faire ensuite renvoie vers la documentation de sécurité d'Okta.

La confidentialité, en bref

Les journaux contiennent des données personnelles. C'est pourquoi l'analyseur n'a aucun point de téléversement : les fichiers sont lus localement dans un Web Worker, analysés par WebAssembly, et les résultats restent dans la page. Fermer l'onglet les efface.

Pour aller plus loin

Articles liés

Une intrusion Okta fictive lue événement par événement : reset par le helpdesk, facteur de l'attaquant, Super Admin, IdP malveillant, AWS, et les constats.
Les eventTypes du System Log Okta qui comptent en incident, classés par étape d'attaque, avec les champs à lire et les différences Classic / Identity Engine.
Exporter le System Log Okta pour une enquête : CSV de l'Admin Console, /api/v1/logs avec la bonne pagination, Log Streaming, exports SIEM et pièges à éviter.

Cet outil n'est ni affilié à Okta, Inc., ni approuvé ou sponsorisé par elle. Okta est une marque d'Okta, Inc. Les autres noms sont des marques de leurs propriétaires respectifs.