Applikationssicherheit an erster Stelle
Von Infrastruktur zu Software: Sicherheitsstrategien der .NET User Group Bern
Treffen .NET User Group Bern
Azure Active Directory
Quick-Start mit Azure Active Directory
Azure Active Directory (AAD) ist ein verlässlicher Identitätsprovider (IDP) für .NET Applikationen mit hohen Sicherheitsstandards und zahlreichen Vorteilen. Unsere Experten zeigen in einer Live-Demonstration, dass die Einrichtung von AAD in einer neuen Blazor Applikation mit Visual Studio innerhalb weniger Minuten möglich ist. Neben der Authentifizierung wird auch die Authorisierung und Rollenverwaltung der Applikation auf einfache und sichere Weise an AAD delegiert. Zusätzlich können mittels praktischer Tricks Multi-Tenant-Lösungen erstellt und effizient sowie kostengünstig betrieben werden.
AAD bietet umfangreiche Sicherheitsfunktionen wie Single Sign-On, Multi-Faktor-Authentifizierung und Unterstützung verschiedener Authentifizierungsmethoden. Der Einsatz eines externen IDPs erleichtert die Verwaltung, reduziert Kosten, und reduziert die Menge sensibler Daten, welche von einer Applikation verwaltet werden.
Backend-for-Frontend (BFF)
Backend-for-Frontend (BFF) mit Development Proxy für React + ASP.NET Core
Das Backend-for-Frontend (BFF) Pattern ist ein Ansatz in der Softwareentwicklung, der darauf abzielt, die Effizienz und Flexibilität bei der Bereitstellung von Backend-Services für verschiedene Frontend Anwendungen zu verbessern. Das BFF Pattern basiert auf dem Prinzip, dass jedes Frontend eine eigene dedizierte Backend-Schnittstelle benötigt, um seine spezifischen Anforderungen optimal zu erfüllen.
Das BFF Pattern kann auch die Sicherheit der Applikation erhöhen, indem das BFF spezifische Autorisierungsmechanismen implementiert und sicherstellt, dass nur die erforderlichen Daten an das Frontend übertragen werden. Ausserdem kann in vielen Fällen die Verwaltung von IDP Tokens vom Frontend ins BFF verlagert werden. Dadurch werden die Tokens besser geschützt.
Unsere Experten präsentieren in einer Referenz die Implementierung des BFF Patterns für React + ASP.NET Core und zeigen auf, wie es zusätzlich den Entwicklungs-Workflow und die Sicherheit verbessert, indem Anfragen an den (in diesem Fall Vite-basierten) Development Server durch das BFF via Proxy verarbeitet werden. Dadurch können Security Headers dynamisch mit Nonces generiert werden, die Browser Sicherheitsmechanismen verhalten sich während der Entwicklung bereits wie auf der Produktionsumgebung. Dies festigt die Sicherheit bereits während der kritischen Aspekte in der Entwicklung und reduziert Fehler, die aufgrund unterschiedlicher Konfigurationen erst auf Staging- oder Produktions-Umgebungen auftreten.
Terraform
Azure Ressourcen mit Terraform aus GitHub-Actions verwalten
Zurück zur Infrastruktur: Moderne Lösungen verwenden Infrastructure as Code (IaC), um Cloud-Ressourcen zuverlässig und automatisiert zu erstellen und zu warten. Oft werden die Cloud-Ressourcen als Teil des CI/CD Prozesses via IaC angelegt bzw. angepasst. Damit dieser Prozess sicher vonstattengeht und trotzdem keine manuellen Schritte notwendig sind, müssen einige Aspekte berücksichtigt werden. Unsere Experten erklären anhand einer Beispielapplikation, wie der Prozess für eine Open-Source Applikation mit GitHub, Terraform, und Azure aussehen kann.
Als Kernelement des Sicherheitskonzepts präsentiert sich der OIDC Trust zwischen GitHub und Azure. Damit können Jobs in GitHub Actions Workflows gemäss Least Privilege Principle sicher auf die entsprechenden Azure Ressourcen zugreifen, ohne dass Secrets irgendwo im IaC Konfigurations-Code vorhanden sein müssen. Dabei trennt die Lösung auch die Environments vollständig voneinander und reduziert so das Fehlerrisiko.
Zuletzt präsentieren unsere Experten diverse Wege, wie GitHub mittels CodeQL und einfacher Integration von Third-Party Static-Code-Analysis-Tools verhindern kann, dass Schwachstellen im Source Code unbemerkt bleiben. Dies ist insbesondere auch für Terraform Code wichtig, der auf keinen Fall Secrets enthalten sollte.
Sicherheit und Effizienz vereint: Azure Active Directory, BFF und IaC für deine Applikationen
Dadurch reduzierst du das Risiko eines Zwischenfalls und schützts so deine Reputation und das Vertrauen deiner Kundschaft. Zusätzlich kannst du mit diesen Werkzeugen die Effizienz des Entwicklungsteams steigern und Kosten sparen. Möchtest du mehr erfahren oder eine massgeschneiderte Security Lösung für deine Applikation finden? Dann nimm mit mir Kontakt auf.