Hallo 👋

Mein Name ist Philipp Ritter und dies ist mein Blog über Themen aus dem IT Bereich. Ich arbeite seit 20 Jahren als System Engineer und konnte Erfahrungen in diversen Bereichen und Firmen von klein (12 Personen) bis gross (60'000 Personen) sammeln. Die Bereiche reichen von Architektur, Transport/Logistik über Bauunternehmungen bis zu Banken. Nebst der geschäftlichen Weiterbildung, welche dieser Job mit sich bringt, lerne ich auch sehr gerne privat und autodidaktisch neue Technologien / Sprachen.
profile picture

Kerberos, CNAME and SPN

In this post I want to shine some light on Kerberos authentication in combination with DNS CNAME records and what service principal names (SPN) effectively have to be set to work correctly. In a Windows environment a misconfiguration of Kerberos might be easily overlooked by an admin because Windows integrated authentication (WIA) simply switches to the NTLM (NT LAN Manager) protocol if Kerberos was not successfull and the single sign-on is transparent to the user. Only a network trace reveals what happened behind the scenes. ...

Oktober 17, 2024 · 4 Minuten · 731 Wörter · Philipp

Entra ID Federated Credentials

Secret Management und vor allem der Austausch solcher sicherheitsrelevanten Artefakten ist ein schwieriges Thema welches meiner Erfahrung nach auch häufig ziemlich Stiefmütterlich behandelt wird. Gerade in Version Control Systems (VCS) wie zum Beispiel Git findet man viel zu oft ein Secret, welches in einer Applikation für die Single Sign On Anbindung via OpenID Connect (OIDC) verwendet wird. Auch der Austausch von Secrets mit Partner oder Lieferanten erfolgt gerne mal über unsichere Kanäle wie Email, bei dem die Verschlüsselung nicht durchgängig sichergestellt ist. Microsoft Entra ID bietet nebst dem klassischen Secret und einem Zertifikat, welches als asymmetrischer Schlüssel verwendet wird, die Möglichkeit dem OIDC Token eines fremden Identity Providers (IdP) zu vertrauen. Letzteres ist sehr interessant, da es einerseits die Gefahr von leaked Secrets mitigiert und andererseits der Fall nicht eintreffen kann, dass ein Secret oder Zertifikat abläuft und dadurch der Service gestört ist. Zudem ist es, einmal eingerichtet, frei von jeglichem Wartungsaufwand. ...

August 30, 2024 · 6 Minuten · 1221 Wörter · Philipp

Entra ID External Identities mit Keycloak und Auth0

Microsoft Entra ID bietet mit External Identities die Möglichkeit andere Entra ID Tenants, Social Logins wie auch externe SAML2/WS-Fed Identity Provider anzubinden. Im B2B (Business to Business) Umfeld ist letzteres sehr interessant um mit anderen Firmen gemeinsam an Ressourcen arbeiten zu können, ohne deren Identitäten pflegen zu müssen. Dadurch, dass die andere Firma sich an ihrem eigenen Identity Provider anmeldet gibt es auch für sie einige Vorteile wie zum Beispiel Single Sign On und die Hoheit über die Mover-Joiner-Leaver Prozesse zu behalten....

Februar 1, 2024 · 4 Minuten · 740 Wörter · Philipp
admin consent

PowerApps Wrap Admin Consent

Neulich kam eine Anfrage vom PowerApps Team zu mir, mit der Bitte den Admin Consent für den Wrap einer ihrer Apps zu erteilen. Das Wrap Feature in Power Apps ermöglicht es eine native App aus einer Canvas-App zu erstellen, welche dann über Microsoft Intune, Microsoft App Center, Google Play Store und Apple Business Manager verteilt werden kann. Da ich die App Registrations und deren API Permissions mit Infrastructure as Code (IaC) erstelle und gleich anschliessend jeweils den Admin Consent erteile, war ich etwas verwundert über die Anfrage....

November 23, 2023 · 4 Minuten · 833 Wörter · Philipp
GoHugo Logo

Migration von Wordpress zu Hugo

Als ich mich 2007 entschied einen Blog zu erstellen um meine Erfahrungen im IT Bereich teilen zu können war das Mittel der Wahl Wordpress. Dieses CMS abstrahiert komplexe Administration, so das ich mich mehrheitlich auf den Inhalt konzentrieren konnte. Ich habe die Installation allerdings von Anfang an selber auf meinem gemieteten Webspace durchgeführt, weil ich mich auch für die technischen Details interessiere. Später im Jahre 2018 habe ich dann vom Webspace auf einen Virtual Private Server (VPS) gewechselt und die Docker Images für Wordpress und MySQL selber gebaut....

November 8, 2023 · 8 Minuten · 1620 Wörter · Philipp

Entra ID Gruppenfilter bei OIDC Tokens

Gerade in grösseren Umgebungen kann es schnell mal vorkommen, dass ein Account in mehr als 150 (SAML Limit) bzw. 200 (JWT Limit) Gruppen Mitglied ist. Aufgrund des HTTP Header Limits wird der Groups Claim von Microsoft Entra ID speziell behandelt: Configure group claims for applications by using Azure Active Directory – Microsoft Entra | Microsoft Learn. Wenn das Limit überschritten wird, schickt Microsoft Entra ID anstelle der Liste einen Link zum Graph API über den, mit den entsprechenden Berechtigungen, die Gruppenmitgliedschaften abgefragt werden können. Nun hat nicht jede Applikation die Möglichkeit diesen API Aufruf durchzuführen. Lange Zeit war es nur bei SAML Assertions möglich die Gruppen, welche im Claim erscheinen sollen, zu filtern. Dies hat sich im Laufe des Jahres 2023 geändert und dieser Beitrag zeigt auf, wie die Gruppen nun auch für OIDC/OAuth2 Tokens gefiltert werden können. Eine Alternative wäre die Gruppen der Applikation zuweisen und den Groups Claim auf Groups assigned to the application zu stellen. Damit würden nur noch die entsprechend zugewisenen Gruppen im Claim erscheinen, jedoch bedeutet dies ein händisches Verwalten der Gruppenzuweisung. ...

September 15, 2023 · 4 Minuten · 667 Wörter · Philipp
Post Image

Home Automation: Bewegungs und Lichtsensor Marke Eigenbau

Das Licht in bestimmten weniger frequentierten Zimmer mittels Bewegungsmelder zu steuern war schon länger ein Ziel von mir. Bei meinem letzten Ikea Besuch habe ich einen Tradfri Bewegungsmelder meinem Einkauf hinzugefügt. Dieser Batteriebetriebene Sensor lässt sich dank dem Zigbee Standart mit allen Möglichen Koordinatoren verwenden. In meinem Setup verfüge ich über einen Philips Hue, Ikea Tradfri und einen direkt über Homeassistant betriebenen ZHA Koordinator. Weil der Tradfri Gateway seit einem Homeassistant Release nicht mehr zuverlässig funktioniert habe ich den Tradfri Bewegunssensor über die ZHA Integration eingebunden. Nach ungefähr einem Monat im Kleiderzimmer war die Batterie leer und musste gewechselt werden. Zudem störte mich, dass ich keine Möglichkeit hatte die Automatisierung der Lichter mit der Lichtintensität im Zimmer zu koppeln. Also entschied ich mich selber einen Sensor, basierend auf einem Passive Infrared (PIR) und einer Fotowiderstand (LDR), zu bauen. ...

Juli 25, 2021 · 6 Minuten · 1161 Wörter · Philipp

SAML/OIDC Claims debuggen mit Cat

Als Identity und Accessmanagement Engineer habe ich schon die eine oder andere Federated Authentication eingerichtet. Dabei gibt es einige mögliche Ursachen, weshalb die Authentifizierung in der Applikation nicht klappt. Eine häufige davon ist, dass die Assertion falsche, fehlende oder nicht richtig formattierte Claims enthält. Um dies zu debuggen gibt es verschiedene Möglichkeiten wie zum Beispiel ClaimsXRay von Microsoft, OpenID Connect debugger von Nate Barbettini oder die Browser Erweiterung SAML-tracer. Da ich ohnehin etwas tiefer in die Materie von SAML/OIDC/OAuth2 einsteigen wollte habe ich mich dazu entschlossen selber einen Microservice zum Visualisieren von Claims zu erstellen. Als Programmiersprache entschied ich mich für Go, weil ich mein Wissen darin ebenfalls vertiefen möchte und sie für mich schon fast der de facto Standart für Web Services, insbesondere Microservices geworden ist. In einer ersten Version habe ich auf existierende Module für SAML und OIDC von anderen Entwicklern zurückgegriffen. Dadurch konnte ich mich vor allem auf den Flow und das Session Handling konzentrieren, welche integrale Bestandteile der Authentifizierung sind. Bei diesem Projekt handelt es sich um eine überschaubare Grösse und darum entschied ich mich das Ganze mit Golang HTML Templates und ohne JavaScript Framework für das Frontend umzusetzten. Die folgende Grafik visualisiert die beiden Flows. Der Cat - cloud authentication tester ist übrigens das Projekt, über das ich im Artikel CI/CD Pipeline mit Gitea und Drone berichtet habe. ...

Juli 11, 2021 · 5 Minuten · 969 Wörter · Philipp

ADFS und iFrames

Leider gibt es immer mal wieder Applikationen, welche sich nicht an Best Practices im Webdesign orientieren und es unter Umständen nötig machen ein anderes System anzupassen so das sie funktionieren. Kürzlich hatte ich so einen Fall, bei dem ein SAP System welches die Authentisierung via ADFS (mit dem SAML Protkoll) durchführt, die Login Seite von ADFS als iFrame eingebettet hat. In diesem Beitrag zeige ich eine Möglichkeit, wie das einbetten nur für gewisse URLs zugelassen werden kann. ...

Juli 8, 2021 · 3 Minuten · 504 Wörter · Philipp

CI/CD Pipeline mit Gitea und Drone

Als Alternative zu Github und Github Actions gibt es für kleinere Teams/Projekte/Organisationen oder private Projekte viele Möglichkeiten, welche selber gehostet werden können. Ich habe die Kombination von Gitea (als Git Service) mit Drone (als CI/CD Service) getestet, insbesondere weil beide einen relativ kleinen Footprint bezüglich CPU und Memory haben. Sie lassen sich gut auf einem kleinen VPS (Virtual Private Server) oder sogar einem Raspberry Pi betreiben. ...

Juni 8, 2021 · 3 Minuten · 512 Wörter · Philipp