IT Security Januar / Februar 2024
Effiziente Cybersicherheit – Ökosysteme aus Menschen, Expertise, Services und Technologie Im Visier der Cyberkriminellen – Effektive Abwehr durch sichere Authentifizierung Von wegen Drahtseilakt! So gelingt Unternehmen der sichere Einsatz von KI-Lösungen Fein-granulare Autorisierung – Warum der Hype?
Effiziente Cybersicherheit – Ökosysteme aus Menschen, Expertise, Services und Technologie
Im Visier der Cyberkriminellen – Effektive Abwehr durch sichere Authentifizierung
Von wegen Drahtseilakt! So gelingt Unternehmen der sichere Einsatz von KI-Lösungen
Fein-granulare Autorisierung – Warum der Hype?
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>IT</strong> SECUR<strong>IT</strong>Y | 41<br />
PAP<br />
1. View record #123<br />
2. Can Alice view<br />
record #123?<br />
3. Evaluate policies<br />
Manage policies<br />
Bild 2:<br />
Policy Enforcement<br />
Komponenten<br />
(CREATIVE COMMONS<br />
Lizenz, Wikipedia)<br />
PEP<br />
PDP<br />
Lösungen wie OAuth und SAML – inklusive<br />
kommerzieller und kostengünstiger<br />
Open-Source-Lösungen am Markt.<br />
Für die zentrale Autorisierung stehen<br />
neue Technologien zur Verfügung, die<br />
nachfolgend behandelt werden. Vom<br />
bekannten Role Based Access Control<br />
(RBAC) haben sich im Laufe der Zeit Varianten<br />
wie Attribute-based (ABAC) und<br />
Context-based Access Control (CBAC)<br />
entwickelt, wie sie im „Conditional Access“<br />
in Microsofts Azure Cloud zum<br />
Einsatz kommen. Hierbei sind nicht nur<br />
die Rollen, sondern auch Eigenschaften<br />
und der aktive Kontext relevant (mehr<br />
dazu später).<br />
Um diesen Kontext und die Eigenschaften<br />
dynamisch in Zugriffsentscheidungen<br />
einzubeziehen, benötigen wir eine<br />
angepasste Applikations-Architektur<br />
und Infrastruktur. Diese lassen sich am<br />
besten herleiten, wenn die Komponenten<br />
nach einer bekannten Nomenklatur<br />
benannt und deren Eigenschaften beschrieben<br />
werden. Hierfür haben sich<br />
die folgenden Begriffe etabliert:<br />
6. View record #123<br />
5. Permit, Alice can<br />
view record #123<br />
PIP<br />
4. Retrieve additional<br />
attributes<br />
PDP – Policy Decision Point: Fällt anhand<br />
von Regeln und Kontext-Informationen<br />
Zugriffsentscheidungen für den<br />
Enforcement Point<br />
PAP – Policy Administration Point: Zentrale<br />
Management-Komponente zur<br />
Verwaltung von Policies und Monitoring<br />
von Entscheidungen des PDPs<br />
PIP – Policy Information Point: Stellt bei<br />
Bedarf einem PDP zusätzliche (Meta-)<br />
Daten über Benutzer und Ressourcen<br />
zur Verfügung<br />
In klassischen monolithischen Anwendungen<br />
sind Benutzerkonten, Passwörter<br />
und Berechtigungen lokal in der Anwendung<br />
verankert, was zu Redundanzen<br />
und ineffizienter Berechtigungsverwaltung<br />
führt. Ein moderner Ansatz<br />
beginnt mit der Auslagerung der Benutzerverwaltung<br />
und der Einführung von<br />
Single Sign-On (SSO). Hierdurch wird<br />
der gesamte Login-Prozess an einen externen<br />
Identity-Provider ausgelagert.<br />
Der Anpassungsaufwand hierfür ist<br />
meist überschaubar und lässt sich durch<br />
externe Module im Webserver oder vorgelagerten<br />
Reverse-Proxy verhältnismäßig<br />
einfach umsetzen.<br />
In der zweiten Stufe kann die Berechtigungssteuerung<br />
derart angepasst werden,<br />
dass Zugriffsentscheidungen anhand<br />
benutzerbezogener Eigenschaften<br />
getroffen werden. Durch SSO liefert<br />
der Identity-Provider diese Benutzer-Attribute<br />
einheitlich beim Login gleich<br />
mit, wodurch die Zugriffssteuerung optimiert<br />
werden kann. Die wesentlichen<br />
Vorteile sind eine zentralisierte und einheitliche<br />
Verwaltung relevanter Benutzereigenschaften<br />
sowie eine effiziente<br />
Bereitstellung per SSO.<br />
Eine feingranulare Zugriffssteuerung ist<br />
trotz SAML und OpenID Connect<br />
(OIDC) damit nur eingeschränkt möglich,<br />
denn die Fähigkeiten beider Protokolle<br />
sind begrenzt:<br />
SSO kann nur begrenzte Benutzerdaten<br />
just-in-time übermitteln, da der Platz<br />
für SAML/OIDC-Tokens durch das<br />
HTTP-Protokoll limitiert ist und in der Praxis<br />
wenige kB nicht überschreiten sollte.<br />
In realen Umgebungen ist es hingegen<br />
üblich, dass ein Benutzer zum Beispiel<br />
in vielen Gruppen Mitglied ist.<br />
SSO behandelt nur Identitätsdaten; die<br />
Entscheidung über Benutzeraktionen<br />
und -berechtigungen liegt weiterhin in<br />
der Anwendung. Mit SSO wird nur die<br />
Authentisierung ausgelagert, nicht jedoch<br />
die Autorisierung, die oft durch<br />
Programmlogik innerhalb der Anwendung<br />
erfolgt (wie exemplarisch in Listing<br />
1 dargestellt).<br />
PEP – Policy Enforcement Point: Die<br />
Komponente, welche eine Zugriffsentscheidung<br />
schlussendlich umsetzt. In<br />
der Regel ist dies eine Anwendung.<br />
LISTING 1<br />
def perform_create(self, request, instance):<br />
group = request.user.group<br />
if group == ‟member” or group == ‟admin”:<br />
instance.save()<br />
else:<br />
return HttpResponse(‟Unauthorized”, status=401)<br />
www.it-daily.net | <strong>Januar</strong>/<strong>Februar</strong> <strong>2024</strong>