# ============================================================================= # CLOUDFLARE : Traffic Policies : Firewall Policies : DLP # ============================================================================= # BRIQUE DLP (Data Loss Prevention) : détecter et bloquer l'exfiltration de # données sensibles dans le trafic HTTP inspecté par Gateway. # # 1. Un profil DLP définit QUOI détecter (ici : IBAN français par regex) # 2. Une politique Gateway HTTP définit QUE FAIRE quand le profil matche # (ici : bloquer les uploads contenant un IBAN) # # PRÉREQUIS : l'inspection TLS doit être active (c'est déjà le cas via # Traffic_Policies-Traffic_Settings-Policy_Setting.tf : tls_decrypt = true) # et le certificat Gateway déployé sur les postes. # NOTE : DLP est une fonctionnalité sous licence — la politique est livrée # enabled = false ; l'activer une fois l'abonnement DLP disponible sur le # compte. # ============================================================================= #====================================================== # Profil DLP personnalisé : IBAN français #====================================================== resource "cloudflare_zero_trust_dlp_custom_profile" "iban_fr" { # Gaté : la création même du profil exige l'abonnement DLP sur le compte # (403 Forbidden code 3314 sinon). dlp_enabled = true une fois la licence # en place — voir ACTIONS_EXTERNES.md. count = var.dlp_enabled ? 1 : 0 account_id = local.cloudflare_account_id name = "IBAN francais" description = "Detecte les IBAN FR dans le trafic HTTP inspecte" allowed_match_count = 0 # NOTE : l'attribut "entries" est marqué déprécié par le provider (warning # au validate). La cible à terme est la ressource dédiée # cloudflare_zero_trust_dlp_entry (une ressource par motif, liée via # profile_id). On garde "entries" pour l'instant : l'API exige au moins un # motif à la création du profil, et le warning est sans effet sur la CI. entries = [{ name = "IBAN FR" enabled = true pattern = { regex = "FR[0-9]{2}[ ]?([0-9]{4}[ ]?){5}[0-9]{2}" } }] } #====================================================== # Politique Gateway : bloquer l'upload de données matchant le profil #====================================================== resource "cloudflare_zero_trust_gateway_policy" "dlp_block_iban_upload" { count = var.dlp_enabled ? 1 : 0 account_id = local.cloudflare_account_id name = "HTTP - Block: DLP IBAN upload" description = "Bloque les envois HTTP contenant un IBAN francais (profil DLP)" enabled = true action = "block" precedence = 25200 filters = ["http"] traffic = "any(dlp.profiles[*] in {\"${cloudflare_zero_trust_dlp_custom_profile.iban_fr[0].id}\"})" rule_settings = { block_page_enabled = true block_reason = "Envoi bloque : donnees bancaires detectees (DLP)" notification_settings = { enabled = true msg = "Envoi bloque : donnees bancaires detectees (DLP)" } } }