Einstellungen des Angriffsschutzes abrufen

GET /v1/attack-protection · Berechtigung attack-protection:read

Gibt das Angriffsschutz-Objekt der Umgebung zurück: Brute-Force-Schutz, Drosselung verdächtiger IPs, Credential Stuffing, Bot-Schutz, kompromittierte Passwörter, Schutz bei der Registrierung, SMS-Schutz und Risikorichtlinie. Jeder Abschnitt hat zwei Ansichten: configured ist der von Ihnen geschriebene Wert, effective ist der gültige Wert, auf den Standardwerte, die Sicherheitsuntergrenze und Ihr Tarif angewendet wurden. Ein nie geschriebener Abschnitt hat configured: {}. Der Antwort-Header ETag kennzeichnet den Inhalt des Objekts; senden Sie ihn als If-Match bei PUT und PATCH.

Anfrage

Diese Operation hat keine Pfad-, Abfrage- oder Body-Felder. Die Umgebung ergibt sich aus den Anmeldedaten.

Antwort

200 OK mit dem Objekt und dem Header ETag.

{
  "schema_version": 1,
  "brute_force": {
    "configured": {"max_failures": 10},
    "effective": {"mode": "enforce", "max_failures": 10, "window_minutes": 15, "lock_minutes": 15, "notify_user": true}
  },
  "risk_policy": {
    "configured": {"mode": "enforce"},
    "effective": {"mode": "log", "challenge_threshold": 4, "block_threshold": null, "notify_user_on_new_device": true}
  },
  "bot_protection": {
    "configured": {},
    "effective": {"mode": "risk_based", "provider": "altcha"}
  }
}

Das Beispiel ist gekürzt: Jede Antwort enthält alle acht Abschnitte (brute_force, suspicious_ip_throttling, credential_stuffing, bot_protection, breached_password, signup_protection, sms_protection, risk_policy). Im Beispiel umfasst der Tarif die Risikodurchsetzung nicht mehr; das konfigurierte enforce bleibt erhalten, wird aber als log angezeigt.

Felder

Feld Typ Bereich oder Werte Standard Untergrenze
brute_force.mode Text log, enforce enforce
brute_force.max_failures Ganzzahl 5-100 20 höchstens 100
brute_force.window_minutes Ganzzahl 5-60 15
brute_force.lock_minutes Ganzzahl 5-60 15 mindestens 5
brute_force.notify_user Wahrheitswert true
suspicious_ip_throttling.mode Text log, enforce enforce
suspicious_ip_throttling.login_failures_per_ip_per_day Ganzzahl 10-10000 100
suspicious_ip_throttling.signups_per_ip_per_hour Ganzzahl 1-20 20 höchstens 20
suspicious_ip_throttling.allowlist Textliste bis zu 100 CIDR-Präfixe; IPv4 nicht breiter als /8, IPv6 nicht breiter als /32 []
credential_stuffing.mode Text log, enforce enforce
credential_stuffing.attack_mode_auto Wahrheitswert true
credential_stuffing.attack_mode_duration_minutes Ganzzahl 15-240 30
bot_protection.mode Text off, risk_based, always risk_based
bot_protection.provider Text altcha altcha
breached_password.on_signup Text block block block
breached_password.on_password_change Text block block block
breached_password.on_login Text require_reset, notify require_reset
breached_password.notify_user Wahrheitswert true
signup_protection.block_disposable_email Wahrheitswert true
signup_protection.block_email_subaddress Wahrheitswert false
signup_protection.max_signups_per_device_30d Ganzzahl 1-50 3
sms_protection.allowed_countries Textliste bis zu 250 ISO-3166-1-Alpha-2-Codes [] (Tarifstandard)
sms_protection.daily_cap Ganzzahl | null 1-1000000; null ist der Tarifwert null
sms_protection.conversion_breaker Wahrheitswert true true
risk_policy.mode Text log, enforce (enforce erfordert den Tarif Startup oder höher) log
risk_policy.challenge_threshold Ganzzahl 3-8 4
risk_policy.block_threshold Ganzzahl | null 6-12, größer als challenge_threshold; null ist aus null
risk_policy.notify_user_on_new_device Wahrheitswert true

Fehler

HTTP Code Wann
401 unauthenticated Die Anmeldedaten fehlen, sind ungültig oder widerrufen.
403 insufficient_permissions Den Anmeldedaten fehlt die erforderliche Berechtigung.
429 rate_limited Das Ratenlimit wurde überschritten; nach der Zeit aus Retry-After erneut versuchen.
503 service_unavailable Eine Abhängigkeit ist vorübergehend nicht verfügbar; nach der Zeit aus Retry-After erneut versuchen.

Beispiel

curl https://api.eu.keenauth.com/v1/attack-protection \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"