Deux questions d'audit se ressemblent et exigent des preuves de nature différente. Quelle session a contacté cette adresse se répond à partir des journaux de connexion et de flux. Quelle personne a ouvert cette page, en général non, du moins pas à partir de ces journaux. Choisir un collecteur avant de choisir la question, c'est ainsi qu'une équipe réseau finit par présenter un nom d'hôte comme un historique de navigation.

Commencez par l'événement que l'audit doit établir

Écrivez la question comme une phrase avec un sujet, un verbe et un temps. Cette seule discipline expose l'écart entre un journal de session et une vue de page. Un journal de session établit qu'une identité a été acceptée pendant un intervalle, avec une adresse attribuée selon une politique enregistrée, et il ne peut pas établir quelle page quelqu'un a lue parce qu'il n'a jamais vu la requête.

Nommez l'observation avant de concevoir la collecte. Un champ baptisé d'après un site visité qui stocke en réalité un nom résolu est une erreur future plutôt qu'une commodité. Les noms de champs survivent aux personnes qui les ont choisis, alors choisissez ceux qui décrivent la preuve et non la conclusion.

Ce que chaque enregistrement peut ou non étayer

Quatre types d'enregistrements apparaissent dans presque toute conception d'audit, et chacun répond à une question différente. Gardez-les séparés dans le rapport comme dans la chaîne, car les mélanger, c'est ainsi qu'une constatation défendable devient embarrassante.

The question being askedRecord that can answer itWhat that record provesWhat still needs a join
Was this address contacted?Flow recordThe connection five-tuple and when it was seenWhich session held the address at that moment
Which account held that address?Session logWhich identity authenticated and the tunnel address it receivedWhich device or person used that account
Was this name looked up?Resolver queryThat this resolver was asked for this nameWhether a page was fetched, and by whom
Was this page viewed?Proxy or application transactionThe request and identity recorded inside that application's scopeTraffic outside that application's visibility
Who was the person?None of the four on its ownAn account in use, at bestA named human, whenever accounts are shared

Lisez la dernière colonne aussi attentivement que celle du milieu. Un enregistrement de flux décrit des adresses et des ports, et une recherche inverse d'une adresse ne reconstruit pas le nom qu'un navigateur a utilisé, car une adresse peut héberger de nombreux sites sans rapport. Une requête de résolveur prouve qu'une question a été posée, pas qu'une page a été affichée. Un nom d'hôte visible pendant une négociation TLS n'est pas non plus le chemin chiffré de la requête.

Chacune de ces observations est réelle, et aucune n'est celle que les gens supposent. Un navigateur qui impose son propre résolveur chiffré se situe hors du périmètre surveillé, et l'analyse ne peut pas récupérer ce que la journalisation n'a jamais vu. Cet écart appartient au rapport comme limite énoncée, et non comme note de bas de page.

Requêtes anticipées et réponses en cache

Les navigateurs résolvent les noms à l'avance, parfois sans rien charger du tout. Ils répondent aussi depuis le cache sans envoyer de nouvelle requête au résolveur que vous surveillez, ce qui signifie que l'absence de requête n'est pas l'absence de visite. Ces deux comportements brisent l'équation naïve entre un journal DNS et un historique de navigation.

DNS sur HTTPS ajoute une seconde frontière : un navigateur ou une application invitée doté de son propre résolveur ne demande jamais rien au journalisateur de l'organisation. Les transactions exactes ne viennent que des événements de l'application elle-même ou d'un proxy dont vous soutenez explicitement la journalisation. Un simple tunnel HTTPS CONNECT laisse le proxy sans aucune vue des chemins de page qu'il contient. Posséder le réseau n'est pas une autorisation de remplacer discrètement le modèle de confiance de l'application.

L'adresse appartient à une session, pas à une personne

Un enregistrement de flux portant une adresse de la plage du tunnel est un point de départ, non une réponse. Reliez cette adresse et l'horodatage à l'attribution de session active à ce moment-là, car cette adresse peut être réattribuée à une autre session une heure plus tard. L'adressage statique est un moyen de conserver cette association, et non le seul.

Lorsqu'une étape de traduction regroupe plusieurs appareils en une seule adresse source en amont du capteur, la jointure ne peut nommer que la session de passerelle partagée. Un compte partagé ou un certificat utilisé par plusieurs personnes limite l'attribution, aussi complètes que paraissent les données réseau. Les deux appartiennent au rapport comme limites, non comme réserves pour plus tard.

Consignez le fuseau horaire, la source d'horloge, le point d'observation et chaque frontière de traduction entre eux. L'absence mérite le même soin que la présence, car un enregistrement manquant peut signifier qu'une entrée de flux a expiré, qu'un capteur n'a jamais vu le paquet ou qu'un journal d'application était désactivé.

Concevez pour l'objectif déclaré, puis prouvez la chaîne

Une fois la question fixée, définissez quels champs sont nécessaires, qui peut les lire et combien de temps ils sont conservés. Collecter davantage parce que le stockage est bon marché crée une responsabilité qui survit à l'enquête. Le modèle de confidentialité de la RFC 6973 traite la corrélation, la mauvaise attribution et la collecte inutile comme des problèmes de conception, et non comme des réflexions après coup.

Protégez le mappage et les enregistrements comme un seul objet, car chacun seul est bien moins sensible que la paire. Validez ensuite la conception contre une activité que vous êtes autorisé à générer et que vous comprenez déjà, en utilisant la plus petite requête sur laquelle le rapport s'appuiera. Une chaîne qui ne peut pas reproduire un événement connu n'en reproduira pas un inconnu non plus. Rapportez l'événement que les preuves étayent, dans les mots que les preuves autorisent, et laissez le lecteur parvenir seul à la conclusion plus large.

Écrivez les limites à côté de la constatation : ce qui a été joint, ce qui a été traduit et quel journal est resté silencieux. Une constatation qui énonce ses propres frontières résiste à une revue à laquelle un résumé confiant ne résiste pas. C'est la différence entre une preuve et une histoire sur une preuve.

Articles similaires