67 lines
2.8 KiB
Terraform
67 lines
2.8 KiB
Terraform
# =============================================================================
|
|
# 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" {
|
|
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" {
|
|
account_id = local.cloudflare_account_id
|
|
|
|
name = "HTTP - Block: DLP IBAN upload"
|
|
description = "Bloque les envois HTTP contenant un IBAN francais (profil DLP)"
|
|
enabled = false # ACTION EXTERNE : activer une fois la licence DLP en place
|
|
action = "block"
|
|
precedence = 25200
|
|
filters = ["http"]
|
|
traffic = "any(dlp.profiles[*] in {\"${cloudflare_zero_trust_dlp_custom_profile.iban_fr.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)"
|
|
}
|
|
}
|
|
}
|