Zwei Methoden zur Kontrolle des Zugriffs auf .NET-Webdienste

Es besteht auch die Möglichkeit, die Benutzerauthentifizierung über IIS durch das Betriebssystem ausführen zu lassen. Auf diese Weise schützen die Standardauthentifizierungsfeatures von IIS den Zugriff auf das virtuelle Verzeichnis, in dem sich der Webdienst befindet, und verlangen eine Benutzer-ID und ein Passwort für den Zugriff auf das Verzeichnis. Der Client des Benutzers wird eine Benutzer-ID und ein Passwort benötigen, um den Dienst nutzen zu können, was für Entwickler, die den Dienst in Anspruch nehmen, lästig sein kann. Diese Methode erspart dem Webdienst-Entwickler jedoch das Erstellen einer Überprüfungsroutine und die Pflege einer Liste gültiger Schlüssel.

Ein Vorteil der Authentifizierung in IIS durch das Betriebssystem ist, dass der Webdienst ohne Bezug auf Benutzerüberprüfung codiert und getestet werden kann, ohne eine Überprüfung zu erfordern. Ist der Dienst dann einsatzbereit, kann die Standardauthentifizierung für das virtuelle Verzeichnis aktiviert werden. Ab diesem Zeitpunkt regelt dann IIS alle Authentifizierungsfälle noch bevor der Webdienst erreicht wird.

Während die programmgesteuerte Überprüfung erfordert, dass sowohl Client als auch Webdienst Teile der Überprüfungslogik bereitstellen, bedeutet die Authentifizierung durch das Betriebssystem, dass eine Authentifizierungslogik nur bei dem Client existiert. Die Clientanwendung muss das Objekt System.Net.NetworkCredential zum Verkapseln der Benutzer-ID und des Passwortes erstellen. Nachdem die Clientanwendung die Credentials-Eigenschaft des Webdienstes auf das von ihr erstellte NetworkCredential -Objekt setzt, lässt sich die Webdienstmethode normal aufrufen. Außerdem kann die Credentials-Eigenschaft auch auf einer Anwendungsebene gesetzt werden, so dass die Daten nur einmal während der Lebensdauer einer Anwendung weitergegeben werden müssen.

Der Autor der Clientanwendung, der dafür verantwortlich ist, die für die Nutzung des Dienstes erforderlichen Informationen zu erstellen, hat mehrere Möglichkeiten: die Benutzer-ID und das Passwort in der Anwendung festcodieren, die Eingabe der Benutzer-ID und des Passworts durch den Benutzer zwingend vorgeben, oder die Benutzer-ID und das Passwort einer Datenbank entnehmen. Die erste der genannten Möglichkeiten wird in Listing B aufgezeigt. Zu beachten ist, dass keinerlei Schlüssel an die Webdienstmethode weitergegeben werden muss, wenn diese aufgerufen ist.

Während die Authentifizierung durch das Betriebssystem etliche Vorteile hat, so ist sie trotzdem nicht perfekt. Die Pros und Contras der Standardauthentifizierung sind unter anderem:

Vorteile der Überprüfung durch das Betriebssystem

  • Im Webdienst keine Codierung erforderlich – Die Authentifizierung durch das Betriebssystem kann für jeden bestehenden Webdienst ohne das Schreiben von zusätzlichem Code realisiert werden, da die Überprüfung durch das Betriebssystem ausgeführt wird, bevor der Webdienst erreicht wird.
  • Vereinfachte Funktionen – Jede Funktion benötigt nur ihre jeweiligen Betriebsdaten. Gesonderte Schlüsselparameter oder eine Überprüfungsfunktion sind nicht erforderlich. Die Clientanwendung muss nicht bei jedem Aufruf des Webdienstes einen Schlüssel weitergeben.

Nachteile der Überprüfung durch das Betriebssystem

  • Administrator erforderlich – Ein kompetenter Administrator ist erforderlich, um die Standardauthentifizierung zu aktivieren und um die Dienstanwender- und Passwortlisten auf dem neuesten Stand zu halten.
  • Für den Cliententwickler komplizierter – Die Clientanwendung muss den Benutzernamen und das Passwort irgendwie speichern und abrufen. Ob das nun in der Anwendung festcodiert ist, bei der Laufzeit gelesen oder durch den Benutzer eingegeben wird: Wichtig ist sicherzustellen, dass diese Informationen weitergegeben werden.

Keine perfekte Antwort

Leider gibt es noch keine perfekte Lösung, um den Zugriff auf Webdienste zu sichern, doch ist die übliche Methode die, dass ein Client irgendwelche Überprüfungsinformationen an den Dienst weiterleiten muss. Wie man das erreicht, ist von entscheidender Bedeutung. Eine der beiden hier beschriebenen Methoden kann für bestimmte Situationen durchaus die beste Lösung darstellen.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Kaspersky warnt vor kritischen Sicherheitslücken in Cinterion-Modems

Betroffen sind Millionen IoT- und M2M-Geräte Geräte weltweit. Unter anderem können Angreifer per SMS Schadcode…

2 Tagen ago

Google schließt Zero-Day-Lücke in Chrome

Von ihr geht ein hohes Risiko aus. Angreifbar sind Chrome für Windows, macOS und Linux.

5 Tagen ago

KI erkennt Emotionen in echten Sportsituationen

Forschende des KIT haben ein Modell zur Emotionsanalyse entwickelt, das affektive Zustände ähnlich genau wie…

5 Tagen ago

Ermittlern gelingt weiterer Schlag gegen Ransomware-Gruppe LockBit

Sie decken die Identität des Kopfs der Gruppe auf. Britische Behörden fahnden mit einem Foto…

6 Tagen ago

Apple stellt neuen Mobilprozessor M4 vor

Er treibt das neue iPad Pro mit OLED-Display an. Apple verspricht eine deutliche Leistungssteigerung gegenüber…

1 Woche ago

Cyberabwehr: Mindestens zwei kritische Vorfälle pro Tag

Davon entfällt ein Viertel auf staatliche Einrichtungen und 12 Prozent auf Industrieunternehmen.

1 Woche ago