Skip to Content

Bedrohungsschutz einrichten

Auris bietet drei konfigurierbare Schutzebenen, die in der Login-Sicherheits-Pipeline zusammenarbeiten: IP-Regeln (Netzwerk-Level-Blockierung), Erkennung verdächtiger Logins (Verhaltensanalyse) und CAPTCHA (Bot-Mitigation). Jede Ebene arbeitet unabhängig und kann an deine Sicherheitsanforderungen angepasst werden.

Diese Anleitung erklärt die praktische Einrichtung jeder Ebene und zeigt, wie sie in die vollständige Login-Pipeline passen.


Übersicht der Schutzebenen

EbeneWas sie tutWo sie läuftLatenzauswirkung
IP-Allow/Block-ListenAnfragen basierend auf Quell-IP/CIDR-Bereich blockieren oder erlaubenVor der AuthentifizierungVernachlässigbar (In-Memory-CIDR-Übereinstimmung)
CAPTCHABots und automatisierte Skripte herausfordernVor der Authentifizierung100-500ms (externer Verifizierungs-API-Aufruf)
Erkennung verdächtiger LoginsAnomales Login-Verhalten erkennen (neues Gerät, unmögliche Reise, VPN)Nach der Authentifizierung50-300ms (GeoIP-Lookup)

Alle drei Ebenen sind gegenseitig nicht-blockierend — die Konfiguration einer beeinträchtigt die anderen nicht.


IP-Allow/Block-Listen

IP-Regeln verwenden CIDR-Notation, um zu steuern, welche IP-Adressen auf die Authentifizierungsendpunkte deines Tenants zugreifen können.

Regeltypen und Vorrang

RegeltypVerhalten
BLOCKAnfragen von übereinstimmenden IPs sofort mit HTTP 403 ablehnen
ALLOWDatenverkehr von übereinstimmenden IPs explizit erlauben

Vorrang: BLOCK-Regeln haben immer Vorrang vor ALLOW-Regeln innerhalb desselben Geltungsbereichs. Wenn eine IP sowohl einer BLOCK- als auch einer ALLOW-Regel entspricht, wird sie blockiert.

Geltungsbereich

Regeln können auf zwei Ebenen beschränkt werden:

  • Tenant-Geltungsbereich (scope: TENANT) — gilt für alle Anwendungen unter dem Tenant
  • Anwendungs-Geltungsbereich (scope: APPLICATION) — gilt nur für eine bestimmte Anwendung

Anwendungs-bezogene Regeln werden nach Tenant-bezogenen Regeln ausgewertet. Ein BLOCK auf Tenant-Ebene kann nicht durch ein ALLOW auf Anwendungsebene überschrieben werden.

IP-Regeln einrichten

Zu IP-Regeln navigieren

In der Auris Console zu Einstellungen → IP-Regeln navigieren.

Block-Regel erstellen

Auf Regel hinzufügen klicken und konfigurieren:

{ "cidr": "203.0.113.0/24", "type": "BLOCK", "scope": "TENANT", "label": "Bekannte Angriffsquelle", "note": "Gesperrt nach Credential-Stuffing-Angriff am 01.06.2025" }

Temporäre Sperre erstellen

Für zeitlich begrenzte Sperren (z.B. während eines aktiven Angriffs) das temporäre Flag aktivieren:

{ "cidr": "198.51.100.42/32", "type": "BLOCK", "scope": "TENANT", "label": "Temporäre Sperre - aktiver Angriff", "isTemporary": true, "expiresAt": "2025-07-01T00:00:00Z" }

Temporäre Regeln werden nach der Ablaufzeit automatisch deaktiviert.

Büro-Allow-Liste erstellen

Wenn du sicherstellen möchtest, dass deine Corporate-IPs immer erlaubt sind (auch während breiter Sperren):

{ "cidr": "10.0.0.0/8", "type": "ALLOW", "scope": "TENANT", "label": "Unternehmensnetzwerk" }

Programmatische Verwaltung

IP-Regeln können auch über die API für automatisierte Incident Response verwaltet werden:

// IP-Bereich programmatisch sperren, nachdem ein Angriff erkannt wurde await fetch('https://auth.yourdomain.com/api/ip-rules', { method: 'POST', headers: { 'Authorization': `Bearer ${adminToken}`, 'Content-Type': 'application/json', 'x-tenant': 'your-tenant', }, body: JSON.stringify({ cidr: '192.0.2.0/24', type: 'BLOCK', scope: 'TENANT', label: 'Automatische Sperre - Rate-Limit überschritten', isTemporary: true, expiresAt: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(), }), })

CIDR-Kurzreferenz

NotationAdressenBeispiel
/321 (einzelne IP)203.0.113.42/32
/24256203.0.113.0/24
/1665.536203.0.0.0/16
/816.777.21610.0.0.0/8

Erkennung verdächtiger Logins

Nachdem die Anmeldedaten eines Benutzers verifiziert wurden, analysiert Auris den Login-Kontext auf Verhaltensanomalien mithilfe von fünf unabhängigen Detektoren.

Erkennungsmethoden

1. Neues Gerät

Ein Fingerabdruck-Hash wird aus Browser-User-Agent, Bildschirmauflösung und anderen stabilen Signalen berechnet. Erstmalige Geräte werden markiert. Der Fingerabdruck wird nach erfolgreichem Login für zukünftige Vergleiche aufgezeichnet.

2. Neue IP-Adresse

Auris verfolgt die IP-Adressen, von denen sich ein Benutzer zuvor angemeldet hat. Ein Login von einer IP, die für dieses Konto noch nicht gesehen wurde, löst den Detektor aus.

3. Neues Land

GeoIP-Lookup bestimmt das Land der Login-IP. Ein Land, das in der Login-Historie des Benutzers noch nicht vorkam, löst den Detektor aus.

4. Unmögliche Reise

Die geografische Entfernung zwischen dem aktuellen und dem jüngsten Login wird durch die verstrichene Zeit dividiert, um eine implizierte Reisegeschwindigkeit zu berechnen. Wenn die Geschwindigkeit den konfigurierten Schwellenwert überschreitet (Standard: 800 km/h), wird der Login als unmögliche Reise markiert.

5. VPN / Proxy / Rechenzentrum

GeoIP-Metadaten identifizieren IPs, die zu bekannten VPN-Anbietern, Proxys oder Cloud-Rechenzentren gehören. Diese werden standardmäßig markiert, können aber für Organisationen erlaubt werden, deren Benutzer häufig VPNs verwenden.

Aktionen konfigurieren

Jeder Detektor kann unabhängig mit einer von vier Aktionen konfiguriert werden:

AktionWirkung
logEreignis nur in Audit-Logs aufzeichnen. Kein Benutzereinfluss.
notifyBenachrichtigungs-E-Mail an den Benutzer senden. Login fährt fort.
blockLogin vollständig ablehnen. Benutzer muss einen Administrator kontaktieren.
require_mfaLogin erlauben, aber MFA-Abschluss erzwingen, auch wenn MFA normalerweise nicht für diesen Benutzer erforderlich ist.

Konfigurieren über Console → Einstellungen → Erkennung verdächtiger Logins:

DetektorEmpfohlene AktionHinweise
Neues GerätnotifyBenutzer warnen, aber nicht blockieren — neue Geräte sind üblich
Neue IPlogDie meisten Benutzer haben dynamische IPs. Blockieren wäre zu aggressiv.
Neues Landrequire_mfaStarkes Kompromittierungssignal. MFA-Verifizierung erzwingen.
Unmögliche ReiseblockSehr starkes Signal. Blockieren und warnen.
VPN/ProxylogAbhängig von deiner Benutzerbasis. Blockieren, wenn VPN-Nutzung nicht erwartet wird.

GeoIP-Provider

ProviderKonfigurationLatenzDatenschutz
ip-api.com (Standard)Keine Einrichtung erforderlich50-200ms pro Login (externer API-Aufruf)IPs werden an Drittanbieter-Dienst gesendet
MaxMind GeoLite2GEO_IP_PROVIDER=maxmind, MAXMIND_DB_PATH=/pfad/zur/db<1ms (lokale Datei-Suche)Keine externen Aufrufe

Für Produktionsbereitstellungen mit hohem Login-Volumen MaxMind-lokale-Datenbank verwenden, um Rate-Limits des kostenlosen ip-api.com-Tarifs zu vermeiden und externe API-Abhängigkeit zu eliminieren. Ein kostenloses MaxMind-Konto ist zum Herunterladen der GeoLite2-Datenbank erforderlich.

Ereignisse überprüfen

Verdächtige Login-Ereignisse sind sichtbar in Console → Einstellungen → Erkennung verdächtiger Logins → Ereignisse. Jedes Ereignis zeigt:

  • Benutzer-E-Mail und -ID
  • Erkennungsgrund (neues Gerät, unmögliche Reise, etc.)
  • Schweregrad (niedrig, mittel, hoch)
  • Durchgeführte Aktion (protokolliert, benachrichtigt, blockiert, MFA erforderlich)
  • IP-Adresse, Land und Geräteinformationen
  • Zeitstempel

Administratoren können Ereignisse als überprüft markieren, um den Untersuchungsstatus zu verfolgen.


CAPTCHA

CAPTCHA schützt Login-, Signup- und Passwort-Reset-Seiten vor automatisierten Bots. Auris unterstützt drei Provider und drei Auslösemodi.

Unterstützte Provider

ProviderTypEinrichtung
Cloudflare TurnstileProof-of-Work, keine Bild-Challengesdash.cloudflare.com  → Turnstile → Site hinzufügen
hCaptchaBildbasierte Challengesdashboard.hcaptcha.com 
reCAPTCHA v3Score-basiert, unsichtbarwww.google.com/recaptcha 

Cloudflare Turnstile wird für die meisten Bereitstellungen empfohlen. Es bietet starken Bot-Schutz ohne Bild-Challenges (bessere Benutzererfahrung) und hat einen großzügigen kostenlosen Tarif.

Auslösemodi

ModusWann CAPTCHA erscheintAm besten für
ALWAYSJeden Login-, Signup- und Passwort-Reset-VersuchHochsicherheitsumgebungen
ON_SUSPICIOUSWenn der adaptive MFA-Risikoscore den konfigurierten Schwellenwert überschreitetAusgewogene Sicherheit und UX
AFTER_FAILURESNach N aufeinanderfolgenden fehlgeschlagenen Login-Versuchen von derselben IPMinimale Reibung für legitime Benutzer

Einrichtungsschritte

Provider auswählen

CAPTCHA-Provider in Console → Einstellungen → CAPTCHA auswählen.

Keys konfigurieren

Site-Key (im Browser zum Rendern des CAPTCHA-Widgets verwendet) und Secret-Key (serverseitig zur Verifizierung von Antworten verwendet) vom Dashboard des Providers eingeben.

Auslösemodus festlegen

Wählen, wann CAPTCHA erscheinen soll:

  • Für AFTER_FAILURES den Fehlerschwellenwert festlegen (z.B. 3 aufeinanderfolgende Fehlschläge)
  • Für ON_SUSPICIOUS wird der Schwellenwert aus dem adaptiven MFA-Risikoscore abgeleitet

Score-Schwellenwert festlegen (nur reCAPTCHA v3)

reCAPTCHA v3 gibt einen Score zwischen 0,0 (wahrscheinlich Bot) und 1,0 (wahrscheinlich Mensch) zurück. Den Mindest-Score-Schwellenwert für erfolgreiche Verifizierung festlegen (empfohlen: 0,5).

Auf Seiten aktivieren

Umschalten, welche Seiten CAPTCHA erfordern:

  • Login-Seite (empfohlen)
  • Signup-Seite (empfohlen)
  • Passwort-Reset-Seite (optional)

Die CAPTCHA-Verifizierung wird serverseitig auf der Auris-API durchgeführt, bevor Anmeldedaten geprüft werden. Auch wenn ein Client das CAPTCHA-Widget im Browser umgeht, schlägt die Login-Anfrage ohne gültiges Verifizierungs-Token vom CAPTCHA-Provider fehl.


Die vollständige Login-Sicherheits-Pipeline

Wenn ein Benutzer versucht, sich anzumelden, durchläuft die Anfrage alle Schutzebenen in Reihenfolge. Jede Ebene kann die Pipeline kurzschließen:

Eingehende Login-Anfrage | v 1. IP-Allow/Block-Prüfung BLOCK-Regel übereinstimmend? --> HTTP 403, Stopp | v 2. CAPTCHA-Verifizierung (falls konfiguriert) Ungültiges oder fehlendes Token? --> HTTP 400, Stopp | v 3. Rate Limiting Pro-IP- oder Pro-Benutzer-Limit überschritten? --> HTTP 429, Stopp | v 4. Brute-Force-Sperr-Prüfung Konto oder IP gesperrt? --> HTTP 423, Stopp | v 5. Keycloak-Authentifizierung Ungültige Anmeldedaten? --> Fehlschlag aufzeichnen, HTTP 401, Stopp | v 6. Analyse verdächtiger Logins 5 Detektoren ausführen, konfigurierte Aktionen ausführen Aktion = blockieren? --> HTTP 403, Stopp Aktion = MFA_erforderlich? --> MFA-Schritt erzwingen | v 7. Adaptives MFA-Risikoscoring Gewichteter Score aus 5 Faktoren Score über Schwellenwert? --> MFA-Step-up erforderlich | v 8. Token-Ausstellung ACR/AMR-Claims setzen Access Token + Refresh Token zurückgeben

Schritte 1–4 sind schnelle, synchrone Prüfungen, die offensichtlich bösartigen Datenverkehr herausfiltern, bevor sie die teureren Authentifizierungs- und Analyseschritte erreichen.


Best Practices für die Produktion

  1. Mit Logging beginnen: Alle Detektoren für verdächtige Logins zunächst im log-Modus aktivieren. Ereignisse eine Woche lang überprüfen, um die Basislinie zu verstehen, bevor auf block oder require_mfa umgestellt wird.

  2. Temporäre IP-Sperren verwenden: Während eines aktiven Angriffs temporäre BLOCK-Regeln mit 24-48-Stunden-Ablauf erstellen statt permanenter Sperren. Dies verhindert versehentliche langfristige Aussperrungen.

  3. CAPTCHA mit Rate Limiting kombinieren: AFTER_FAILURES-Auslösemodus verwenden, damit legitime Benutzer CAPTCHA nie sehen, während Angreifer es nach 3-5 fehlgeschlagenen Versuchen treffen.

  4. MaxMind lokal bereitstellen: Für Bereitstellungen mit mehr als 1000 Logins pro Stunde von ip-api.com auf MaxMind GeoLite2 umstellen, um externe API-Rate-Limits zu vermeiden und Latenz zu reduzieren.

  5. Pipeline überwachen: Audit-Logs regelmäßig auf Muster überprüfen. Ein plötzlicher Anstieg von impossible_travel- oder new_country-Erkennungen kann auf einen Credential-Stuffing-Angriff hinweisen.

  6. Mit MFA kombinieren: Bedrohungsschutz funktioniert am besten zusammen mit Multi-Faktor-Authentifizierung. MFA für alle Benutzer aktivieren und die Erkennung verdächtiger Logins verwenden, um Step-up-Auth für anomale Logins auszulösen.


API-Endpunkte

GET/api/ip-rulesRequires: manage:users

Alle IP-Regeln für den Tenant auflisten. Filterbar nach Typ, Geltungsbereich und aktivem Status.

POST/api/ip-rulesRequires: manage:users

Eine neue IP-Allow- oder Block-Regel erstellen.

PATCH/api/ip-rules/:idRequires: manage:users

Eine bestehende IP-Regel aktualisieren (Beschriftung ändern, Ablaufzeit verlängern, aktiven Status umschalten).

DELETE/api/ip-rules/:idRequires: manage:users

Eine IP-Regel löschen.

GET/api/suspicious-login/eventsRequires: manage:users

Verdächtige Login-Ereignisse auflisten. Filterbar nach Schweregrad, Grund, Benutzer und Datumsbereich.

PATCH/api/suspicious-login/events/:id/reviewRequires: manage:users

Ein verdächtiges Login-Ereignis als überprüft markieren.

GET/api/suspicious-login/configRequires: manage:users

Aktuelle Konfiguration der Erkennung verdächtiger Logins abrufen.

PATCH/api/suspicious-login/configRequires: manage:users

Einstellungen für die Erkennung verdächtiger Logins aktualisieren (Detektoren aktivieren/deaktivieren, Aktionen setzen, Schwellenwerte konfigurieren).

GET/api/captcha/configRequires: manage:users

Aktuelle CAPTCHA-Konfiguration abrufen.

PATCH/api/captcha/configRequires: manage:users

CAPTCHA-Einstellungen aktualisieren (Provider, Keys, Auslösemodus, Score-Schwellenwert).


Erforderliche Berechtigungen

OperationBerechtigung
IP-Regeln verwaltenmanage:users
Verdächtige Login-Ereignisse anzeigen/überprüfenmanage:users
Erkennung verdächtiger Logins konfigurierenmanage:users
CAPTCHA konfigurierenmanage:users
Sicherheitseinstellungen konfigurieren (Console)Nur Tenant OWNER oder ADMIN

Verwandte Anleitungen