Anmelden

Mit der räumlichen Verteilung von Funktionen durch Webservices treten einige Sicherheitsfragen zu Tage. Insbesondere muss über Authentikation und Autorisierung der Nutzer auf der Seite des Services nachgedacht werden. Auf dieser Seite werden mögliche Sicherheitsszenarios von WCF-Webservices und deren Einstellung und Installation dargestellt.

Security mode

WCF enthält verschiedene Mechanismen um Sicherheit (damit ist Authentikation, Autorisierung und Verschlüsselung gemeint) für Webservices zu gewährleisten. Die Einstellung dazu wird vorgenommen über die bindings (Konfigurationen)

None

Der Modus arbeitet mit unverschlüsselter Übertragung und erlaubt keine integrierte Authentikation. Auf der Serviceseite braucht man keine Binding-Konfiguration:

< service behaviorConfiguration="AdminService.ServiceImplementation.ServiceManager_Behavior" 
name="SystemService.ServiceImplementation.ServiceManager">
	< endpoint binding="basicHttpBinding" 
bindingNamespace=http://SystemService.Interface/2010
contract="SystemService.Interface.ISystemService"/>
	< endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
< /service>

Message

Charakteristisch für diesen Modus ist die Verwendbarkeit von http. Die Verwendung von HTTPS ist nicht erforderlich. Die SSL-Verschlüsselung wird durch die WCF-implementierung innerhalb des .NET Framwork Worker-Prozesses durchgeführt. Dies erfordert ein Zertifikat und ein Schlüsselpaar. Siehe Security mode Message.

Transport

Bei Verwendung von Transport ist https erforderlich. Man muss dazu ein Webserverzertifikat erstellen und https im IIS aktivieren. Dies ist zunächst kein Problem. Der WCF-Client meckert das Zertifikat aber an, wenn die PKI nicht durchgehend ist. Möglicherweise kann man die Überprüfung abschalten per Konfiguration.

TransportCredentialOnly

Dieser Modus verlangt Übergabe von Credentials im Client. Vermutlich können diese nur mit Basic-Authentifizierung.

AdminServiceClient proxy = new AdminServiceClient();
proxy.ClientCredentials.UserName.UserName = "SPNSOFT";
proxy.ClientCredentials.UserName.Password = "minifene#";

Kann man diese im Server empfangen ???

oder

http://msdn.microsoft.com/en-us/library/ff648505.aspx Basic/Windows Authentication im Server

Basic/Windows Authentication im ServerBasic/Windows Authentication im ServerBasic/Windows Authentication im Server
   
Top

Wir arbeiten mit Software von http://www.campus21.de.

Verantwortlich für angezeigte Daten ist der Webdomain-Eigentümer laut Impressum.

Suche