Introduction
La prévention des pertes de données (DLP) est devenue indispensable pour toute entreprise manipulant des informations sensibles. En 2026, les fuites de données coûtent en moyenne 4,8 millions de dollars par incident. Ce tutoriel vous montre comment intégrer une solution DLP directement dans vos applications, en combinant détection automatisée et règles métier. Vous apprendrez à scanner les données en temps réel, à bloquer les transferts non autorisés et à générer des alertes exploitables. L'approche présentée est progressive et s'appuie sur des exemples concrets en environnement Node.js et Python.
Prérequis
- Node.js 20+ et Python 3.11+
- Connaissances de base en TypeScript et regex
- Accès à un terminal et à un éditeur de code
- Notions de sécurité des API REST
Installation des dépendances
npm install express zod validator
pip install presidio-analyzer presidio-anonymizerNous installons Express et Zod pour la validation, puis Presidio pour la détection de données sensibles comme les numéros de carte bancaire et les emails. Ces outils permettent une analyse locale sans envoi de données vers des services tiers.
Créer le scanner de données sensibles
from presidio_analyzer import AnalyzerEngine
analyzer = AnalyzerEngine()
def scan_text(text: str):
results = analyzer.analyze(text=text, language="fr")
return [{"entity": r.entity_type, "score": r.score, "text": text[r.start:r.end]} for r in results]
if __name__ == "__main__":
sample = "Le client Jean Dupont a la carte 4111-1111-1111-1111"
print(scan_text(sample))Ce script utilise Microsoft Presidio pour détecter automatiquement les entités sensibles. Il retourne les types détectés avec leur score de confiance. Exécutable directement, il constitue la base de toute politique DLP.
Définir les règles DLP en YAML
rules:
- name: credit_card
entity: CREDIT_CARD
action: block
threshold: 0.8
- name: email
entity: EMAIL_ADDRESS
action: log
threshold: 0.9
- name: iban
entity: IBAN_CODE
action: block
threshold: 0.85Ce fichier de configuration centralise les règles métier. Chaque règle définit le type d'entité, l'action (block ou log) et le seuil minimal de confiance. Il est facilement versionnable et modifiable sans redéploiement.
Intégrer DLP dans une API TypeScript
import { NextRequest, NextResponse } from 'next/server';
import { z } from 'zod';
const dlpSchema = z.object({ content: z.string().min(1) });
export async function POST(req: NextRequest) {
const body = await req.json();
const { content } = dlpSchema.parse(body);
// Appel au scanner Python via API ou child_process
if (content.includes('4111-1111')) {
return NextResponse.json({ blocked: true, reason: 'CREDIT_CARD' }, { status: 403 });
}
return NextResponse.json({ blocked: false });
}L'API REST valide les entrées avec Zod puis applique une vérification DLP simple. En production, remplacez la condition par un appel au script Python. Cela bloque instantanément les requêtes contenant des données sensibles.
Script de test complet
import fetch from 'node-fetch';
async function testDLP() {
const res = await fetch('http://localhost:3000/api/dlp', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ content: 'Carte: 4111-1111-1111-1111' })
});
console.log(await res.json());
}
testDLP();Ce script de test envoie une payload contenant un numéro de carte et vérifie que la réponse est bien bloquée avec le code 403. Il permet de valider l'intégration DLP en quelques secondes.
Bonnes pratiques
- Toujours chiffrer les logs DLP pour éviter les fuites secondaires
- Utiliser des seuils de confiance élevés (≥ 0.85) en production
- Versionner les règles YAML dans Git avec revue de code
- Tester les scénarios de faux positifs avec des données anonymisées
- Combiner DLP avec des contrôles d'accès RBAC
Erreurs courantes à éviter
- Oublier de gérer les caractères spéciaux dans les regex (faux négatifs)
- Appliquer le blocage sur des environnements de test sans whitelist
- Ne pas journaliser les décisions DLP pour audit
- Ignorer les performances : scanner de gros volumes sans mise en cache
Pour aller plus loin
Approfondissez vos compétences avec nos formations certifiantes sur la sécurité des applications. Découvrez nos parcours DLP et Zero Trust.