© best_vector/Shutterstock.com
Teil 1: Moderne Securityszenarien

One ASP‌.NET


Mit ASP‌.NET Identity stellt Microsoft ein neues Membership-System zur Verfügung. Neben formularbasierter Authentifizierung bietet es auch Spielarten wie „Log-in with Facebook & Co“. Da es auf OWIN basiert, kann es auch für Self-Hosting-Szenarien eingesetzt werden.

Die Authentifizierungsmechanismen von ASP‌.NET, die mittlerweile über zehn Jahre alt sind, basieren auf der Annahme, dass die ASP‌.NET Runtime für das Hosting von ASP‌.NET-basierten Webanwendungen zuständig ist. Diese auf den ersten Blick naheliegende Annahme trifft heutzutage nicht mehr zwangsläufig zu, zumal Frameworks wie ASP‌.NET Web API oder ASP‌.NET SignalR auch die Möglichkeit des Self Hostings vorsehen. Gemeint ist damit, dass diese Frameworks in einer beliebigen .NET-Anwendung, zum Beispiel im Rahmen eines Windows-Service und somit ohne „vollständigen“ Webserver genutzt werden, um Dienste über HTTP anzubieten. Das ist auch der Grund dafür, warum sich in der Vergangenheit in manchen Bereichen die Umsetzung von Securitymaßnahmen für Self-Hosting-Szenarien von der Umsetzung analoger Securitymaßnahmen für IIS-basiertes Hosting erheblich unterschieden hat.

Artikelserie

Teil 1: Moderne Securityszenarien

Teil 2: Self-Hosting mit OWIN und Katana

Teil 3: Neuerungen in MVC 5, Web API 2 und SignalR

Eine Lösung für dieses Problem stellt die Umsetzung von Authentifizierungsmechanismen mit den Möglichkeiten des jeweiligen Frameworks dar. Hierfür bieten sich zum Beispiel Filter in ASP‌.NET MVC oder Message Handler in ASP‌.NET Web API an. Dieser Lösungsansatz bringt allerdings zwei Nachteile mit sich: Zum einen kann die Authentifizierungslogik nicht frameworkübergreifend verwendet werden und zum anderen findet die Authentifizierung erst innerhalb der Anwendung statt. Letzteres widerspricht der Forderung, Security-relevante Prüfungen so früh wie möglich stattfinden zu lassen, um potenziellen Angreifern so wenig Angriffsfläche wie möglich zu bieten. Der ideale Zeitpunkt dafür wäre somit möglichst kurz nach dem Empfang der Anfrage via HTTP, noch bevor an das eigentliche Webframework weiterdelegiert wird.

OWIN

Um die eingangs erwähnten Herausforderungen zu meistern, setzt Microsoft künftig auf den offenen Standard Open Web Interface for .NET (OWIN) [1]. Das Ziel von OWIN ist die Entkopplung des Webservers von der Webanwendung. Dazu wird eine Weblösung in die folgenden austauschbaren Teile unterteilt:

  • Server/Host

  • Middleware

  • Web Application

Der Server ist für die Kommunikation mit den Clients verantwor...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang