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"