Aller au contenu
HexaTransfer
Retour au blog
Chiffrement et securite

Journal d'audit de transfert : suivez qui a téléchargé quoi

Implémentez des journaux d'audit pour la conformité et la sécurité. Suivez les téléchargements, horaires d'accès et générez des rapports.

Un journal d'audit de transfert de fichiers enregistre chaque événement significatif dans la vie d'un transfert — envoi, tentatives de mot de passe, authentification réussie, plages d'octets servies, adresses IP, User-Agents et suppression finale — dans un journal en ajout seul qui survit aux pannes de disque et satisfait RGPD Article 30, HIPAA 164.312(b), SOC 2 CC7.2 et PCI DSS 4.0 Exigence 10. Le journal répond à la question que chaque répondeur d'incident se pose à 2h du matin : qui a téléchargé le .pdf, quand, depuis où, et sur quel appareil. Sans lui, vous ne faites que des suppositions.

Quels événements appartiennent au journal

Six événements couvrent la plupart des scénarios forensiques. Premièrement, la complétion de l'envoi : IP de l'expéditeur, taille du fichier, SHA-256 du texte chiffré, type MIME déclaré. Deuxièmement, la création du lien : expiration, téléchargements maximum, flag mot de passe, flag 2FA. Troisièmement, les tentatives d'accès : horodatage, /24 de l'IP, booléen mot-de-passe-correct, famille User-Agent. Quatrièmement, le début du téléchargement : identifiant de session, premier octet servi. Cinquièmement, la complétion du téléchargement : octets totaux, durée, code HTTP 2xx/4xx. Sixièmement, la suppression : déclencheur (expiration, maximum atteint, révocation manuelle), horodatage, confirmation de mise à zéro. Omettez n'importe lequel et vous aurez un trou que l'auditeur remarquera.

Stockage en ajout seul résistant à la falsification

Le journal doit résister à la modification même par des administrateurs. Une approche : écrire les événements dans un bucket AWS S3 avec Object Lock défini en mode Governance (mode Compliance pour HIPAA) et une rétention de 90 jours. Une autre : streamer vers ClickHouse avec la garantie FINAL de MergeTree, haché en racines Merkle quotidiennes publiées sur un tableau d'affichage public. L'ancrage blockchain — horodater la racine quotidienne sur Bitcoin via OpenTimestamps — coûte environ 0,30 €/jour et vous donne une preuve cryptographique qu'aucun événement n'a été falsifié. Pour la plupart des équipes, S3 Object Lock plus séparation IAM suffit.

Formats structurés que les auditeurs peuvent analyser

Les JSON Lines fonctionnent, mais les auditeurs préfèrent syslog RFC 5424 ou le plus récent OCSF (Open Cybersecurity Schema Framework) pour l'ingestion dans les SIEM. Chaque événement reçoit des champs comme activity_id, severity_id, time, actor.user.email_hash, src_endpoint.ip, file.hashes.sha256. Splunk, Datadog et Elastic analysent tous OCSF nativement. Pour les petites équipes, un export CSV avec les colonnes (timestamp_utc, event_type, transfer_id, ip_hash, outcome, bytes) déposé dans un dossier partagé chaque trimestre satisfait l'exigence de preuve sans acheter une licence SIEM.

Gestion des IP sous le RGPD

Les adresses IP sont des données personnelles en vertu du RGPD (confirmé par Breyer c. Allemagne, 2016). Vous ne pouvez pas simplement journaliser des IP complètes indéfiniment. Hachez-les avec HMAC-SHA256 en utilisant une clé qui tourne quotidiennement, ce qui brise la corrélation après 24 heures tout en préservant la forensique du même jour. Conservez les IP brutes uniquement pendant une enquête active avec un intérêt légitime documenté au titre de l'Article 6(1)(f). Certains services stockent uniquement les préfixes /24, ce qui conserve la géolocalisation mais supprime l'attribution individuelle — un compromis raisonnable pour un niveau gratuit. Documentez votre choix dans la politique de confidentialité pour que les personnes concernées puissent exercer leurs droits Article 15.

Synchronisation temporelle et non-répudiation

Un journal d'audit n'est crédible que si les horodatages sont précis. Exécutez chrony ou systemd-timesyncd contre NIST ou time.cloudflare.com de Cloudflare, et incluez un champ clock_skew_ms dans chaque événement pour qu'un analyste forensique connaisse l'intervalle de confiance. Pour la non-répudiation, signez chaque fichier journal avec Ed25519 en utilisant une clé stockée dans AWS KMS ou un YubiHSM. La signature prouve que le journal n'a pas été altéré après coup et n'aurait pas pu être falsifié sans compromettre le HSM — le type de preuve qu'un tribunal accepte.

Périodes de rétention par réglementation

Différents cadres exigent des fenêtres différentes. HIPAA exige 6 ans à partir de la date de création ou de dernière utilisation, selon le plus tardif (45 CFR 164.316(b)(2)). PCI DSS 4.0 exige 12 mois immédiatement accessibles plus 12 en stockage froid. SOC 2 s'en remet à votre politique mais les auditeurs considèrent moins d'un an insuffisant. RGPD Article 5(1)(e) dit « pas plus longtemps que nécessaire » — interprétez cela comme correspondant à la rétention des dossiers commerciaux que le journal supporte. Définissez la rétention par locataire dans votre schéma de base de données et exécutez un job de purge mensuel qui re-signe les segments restants.

Générer des rapports lisibles par des humains

Les journaux bruts ne satisfont pas une demande de régulateur. Construisez un générateur de rapports qui filtre par identifiant de transfert, plage de dates ou hash d'email de destinataire, et produit un PDF horodaté avec le logo de l'entreprise, le tableau des événements et la signature Ed25519 vérifiant l'authenticité. Incluez une page de couverture avec le propre hash SHA-256 du rapport pour que le destinataire puisse détecter toute altération. Des outils comme WeasyPrint ou Typst restituent cela proprement depuis un template Jinja2. HexaTransfer exporte les rapports en PDF et CSV ; les auditeurs demandent généralement les deux.

Alerter sur les anomalies

Le journal est inutile si personne ne le lit. Définissez des règles déclenchant des alertes : plus de 5 échecs de mot de passe en 10 minutes, téléchargements depuis une plage IP ne correspondant pas au pays de l'expéditeur, accès en dehors des heures de bureau pour des fichiers de santé, ou tout burst de 4xx sur un seul lien. Routez les alertes vers PagerDuty pour les équipes SOC ou un webhook Slack pour les opérateurs solo. Ajustez les seuils chaque trimestre ; les alertes bruyantes sont ignorées, ce qui annule l'intérêt. Documentez le jeu de règles pour que les auditeurs voient que vous avez pensé à la détection, pas seulement à la journalisation.

La suppression comme événement journalisé

La dernière entrée dans la vie d'un transfert est son effacement. Journalisez le déclencheur (minuterie d'expiration, nombre maximum de téléchargements, révocation manuelle), la méthode de mise à zéro (nombre de passes, type d'appareil) et le SHA-256 post-suppression de la région du disque pour prouver que rien de reconnaissable ne subsiste. Cela compte pour les confirmations de droit à l'effacement RGPD Article 17 et pour les seuils de notification de violation HIPAA. Le journal de suppression survit au fichier lui-même — parfois de plusieurs années — ce qui est exactement le comportement d'un système conforme.

Essayez sur hexatransfer.com — gratuit, sans compte, jusqu'à 10 Go.

Envoyez vos fichiers volumineux en toute sécurité avec le chiffrement de bout en bout

Transférez des fichiers jusqu'à 10 Go gratuitement avec le chiffrement de bout en bout. Aucun compte requis. Vos fichiers sont chiffrés dans votre navigateur avant l'envoi — personne d'autre ne peut les lire.

Envoyer un fichier