keenauth_attack_protection
La ressource keenauth_attack_protection gère les paramètres de protection contre les attaques de l'environnement : force brute, limitation des adresses IP suspectes, credential stuffing et mode attaque, protection contre les bots, mots de passe compromis, protection de l'inscription, protection contre la fraude par SMS et politique de risque.
Un objet par environnement
L'objet de protection contre les attaques existe une seule fois par environnement et il est toujours présent. Déclarez la ressource au plus une fois par configuration du fournisseur. À la création, la ressource lit l'objet actuel et n'écrit que ce que votre configuration modifie. La destruction ne la retire que de l'état ; l'environnement conserve ses paramètres de protection, donc un destroy n'affaiblit jamais la sécurité en silence.
Seul ce que vous écrivez est géré
Un attribut ou un groupe que vous omettez conserve sa valeur actuelle. Retirer un attribut de la configuration conserve sa dernière valeur. L'état contient les valeurs effectives, c'est-à-dire les valeurs par défaut, les planchers de sécurité et les restrictions de forfait appliqués par l'API ; un forfait rétrogradé apparaît donc comme une modification dans le prochain plan. Les listes comme suspicious_ip_throttling.allowlist et sms_protection.allowed_countries sont des ensembles : leur ordre n'a pas d'importance.
resource "keenauth_attack_protection" "this" {
brute_force = {
max_failures = 10
lock_minutes = 30
}
suspicious_ip_throttling = {
allowlist = ["203.0.113.0/24"]
}
sms_protection = {
allowed_countries = ["DE", "TR"]
daily_cap = 500
}
risk_policy = {
mode = "enforce"
challenge_threshold = 5
block_threshold = 8
}
}
Groupes
| Attribut | Ce qu'il contrôle |
|---|---|
brute_force |
Verrouillage par utilisateur après des échecs de connexion : mode, nombre d'échecs avant un verrouillage, fenêtre de comptage, durée du verrouillage, e-mail de l'utilisateur. |
suspicious_ip_throttling |
Limites par IP pour les échecs de connexion et d'inscription, et la liste d'autorisation CIDR exemptée. |
credential_stuffing |
Mode de détection du credential stuffing et mode attaque (démarrage automatique, durée). |
bot_protection |
Mode du défi anti-bot (off, risk_based, always) et fournisseur. |
breached_password |
Ce qui se passe lorsqu'un mot de passe compromis est utilisé à l'inscription, lors d'un changement de mot de passe et à la connexion. |
signup_protection |
Adresses e-mail jetables, sous-adresses + et inscriptions par appareil sur 30 jours. |
sms_protection |
Pays vers lesquels les SMS peuvent être envoyés, plafond quotidien et disjoncteur de conversion. |
risk_policy |
Mode de risque, seuils de défi et de blocage, notification d'un nouvel appareil. |
Planchers de sécurité et restrictions de forfait
- Les valeurs inférieures à un plancher de sécurité (plus de 100 échecs avant un verrouillage, un verrouillage de moins de 5 minutes, plus de 20 inscriptions par IP et par heure) sont rejetées dès le plan. Les choix bloquants de
breached_password.on_signupeton_password_changesont également des planchers. risk_policy.block_thresholddoit être supérieur àrisk_policy.challenge_threshold.risk_policy.mode = "enforce"nécessite le forfait Startup ou supérieur ; sinon l'API répond403 plan_feature_unavailable.block_thresholdetdaily_capvalentnulldans l'état tant qu'ils sont désactivés. Une fois définis, la configuration ne peut plus les désactiver ; utilisez le tableau de bord ou l'API de gestion pour cela.- Les entrées de la liste d'autorisation sont des adresses réseau canoniques comme
203.0.113.0/24. Les préfixes IPv4 plus larges que /8 et les préfixes IPv6 plus larges que /32 sont rejetés.
Modifications sûres
- Une mise à jour n'envoie que les champs modifiés, sous forme de JSON merge patch avec
If-Match. Si quelqu'un a modifié l'objet après la création du plan, l'API répond412et rien ne change. Relancezplan. - Une modification faite dans le tableau de bord apparaît dans le prochain
plancomme une dérive, etapplyla annule pour les attributs que vous gérez. - Les verrouillages actifs et le mode attaque sont des opérations, pas une configuration : utilisez pour cela le tableau de bord ou l'API de gestion (
/v1/attack-protection/lockoutset/v1/attack-protection/attack-mode).
Import
tofu import keenauth_attack_protection.this attack-protection