API-Key-Check
Der API-Key-Check überprüft die Konfiguration der im System hinterlegten API-Keys auf sicherheitsrelevante Aspekte. Ziel ist es, das Risiko bei einem Kompromittieren eines API-Keys zu minimieren, indem deren Berechtigungsumfang und Gültigkeitsdauer eingeschränkt werden.
Folgende Aspekte werden geprüft:
-
Berechtigungsumfang: Es wird geprüft, ob einem API-Key zu viele Organisationen, Rollen oder Rechte zugewiesen sind. Ein API-Key sollte nach dem Prinzip der minimalen Rechtevergabe (Least Privilege) konfiguriert sein.
-
Gültigkeitsdauer: API-Keys mit einer sehr langen oder unbegrenzten Gültigkeitsdauer stellen ein erhöhtes Risiko dar. Der Check prüft, ob die Laufzeit einen konfigurierten Schwellwert überschreitet.
-
Schlüssel-Länge: Um Brute-Force-Angriffe zu erschweren, wird die Länge des API-Keys geprüft.
-
Kritische Rollen: Es wird explizit gewarnt, wenn einem API-Key die Rolle
bpcadminzugewiesen wurde, da dies Vollzugriff auf das System ermöglicht.
Konfiguration des Checks
Die Schwellwerte für die Prüfung können in der Konfigurationsdatei KARAF/etc/de.virtimo.bpc.core.security.checks.cfg angepasst werden.
| Parameter | Standardwert | Beschreibung |
|---|---|---|
|
|
Maximale Anzahl an Organisationen, die einem API-Key zugewiesen sein dürfen. |
|
|
Maximale Anzahl an Rollen, die einem API-Key zugewiesen sein dürfen. |
|
|
Maximale Anzahl an Rechten, die einem API-Key zugewiesen sein dürfen. |
|
|
Maximale Gültigkeitsdauer des API-Keys in Monaten. |
|
|
Minimale erforderliche Länge des API-Keys in Zeichen. |
KARAF/etc/de.virtimo.bpc.core.security.checks.cfg# API-Key Security Check Configuration
apiKeyMaxOrganisations=1
apiKeyMaxRoles=2
apiKeyMaxRights=15
apiKeyMaxDurationMonths=6
apiKeyMinLength=40
Vorgehen zur Absicherung
Wenn der Check Fehler oder Warnungen meldet, sollten die betroffenen API-Keys überprüft und gegebenenfalls angepasst werden:
-
Rechte einschränken: Reduzieren Sie die zugewiesenen Organisationen, Rollen und Rechte auf das absolut notwendige Minimum.
-
Laufzeit begrenzen: Erstellen Sie API-Keys mit kürzerer Laufzeit und etablieren Sie einen Prozess zur regelmäßigen Erneuerung (Rotation).
-
Lange Schlüssel verwenden: Stellen Sie sicher, dass neu generierte API-Keys die Mindestlänge von 40 Zeichen erfüllen.
-
Administrative Rollen vermeiden: Entziehen Sie API-Keys die Rolle
bpcadmin. Nutzen Sie stattdessen spezifische Rollen mit eingeschränkten Berechtigungen.