RE: Web Service Security

From: Fraser (Fraser_at_discussions.microsoft.com)
Date: 10/17/04


Date: Sun, 17 Oct 2004 02:51:01 -0700

Jason,

there are a number of options open to you. You could encrypt or hash your
registry entries to keep prying eyes away, although of course this does raise
the question of where to store the encryption/hash key.

As far as web service authentication/authorisation is concerned you would be
well advised to look into using WSE2. This provides a full implementation of
the latest WS-Security specification and includes models which run on top of
basic windows/IIS security all the way through to digital certificates and
signatures. WSE does a pretty good job of abstracting away most of the
difficult bits, and certainly at the basic end where WSE 'hands off' to
windows it is very easy to implement (look at UsernameToken which resolves to
a windows domain account). If you want to maintain platform neutrality in
your web service ([nearly] always a good thing), then there are plenty of
non-windows specific methods available through WSE. Authorisation schemes are
also possible based on individual user credentials (asserted in the request
message as a UsernameToken, Cert or Kerberos token) or based on roles (again
windows specific or windows independant).

A good starting point to find out more about WSE are the hands on labs from
TechEd 2004. Also there is a specific user group for WSE which, as you might
expect, is crammed full of Q&A's from people wnating to do things similar to
your requirements :-

http://msdn.microsoft.com/newsgroups/default.aspx?dg=microsoft.public.dotnet.framework.webservices.enhancements

Good luck

Fraser.

"Jason MacKenzie" wrote:

> We have a webservice our windows apps call that reads the registry of the
> web server to get connection strings etc. This is all on our intranet behind
> a firewall.
>
> I should say, we have this all coded but have not deployed it due to some
> fairly obvious security concerns. While its a very low chance, we certainly
> don't want someone to stumble across this web service and get database names
> and passwords.
>
> Is there a way to prevent users from navigating to a web service through the
> browser? Or securing it with a username and password somehow might also be
> doable. I'm just not sure how that would work.
>
> Any suggestions are appreciated,
>
> Jason MacKenzie
>
>
>
>



Relevant Pages

  • Re: Which type of application for administrating Windows Service?
    ... To be honest have not played yet with events in WSE, ... but I would create wse web service apis on the server. ... How you actually create the gui as far as windows, buttons, ... >>> or is there any specific application type for administrating widows ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: XML Encrypting/ Compression
    ... the server would use WSE 2.0 and the client would use the CF WSE bits. ... i dont know of any Web Service compression specification yet. ... Does anyone know of a tool that can compress, encrypt and encode the xml so ...
    (microsoft.public.dotnet.framework.compactframework)
  • Private key not available for X.509 certificate under W2000
    ... I can run the same web service using X.509 certificates for authentication and encryption when the web service is on a Windows 2003 Server and the caller is on my Windows 2000 machine. ... In which certificate store does a WSE 2 web service look for a private certificate key? ...
    (microsoft.public.dotnet.framework.webservices.enhancements)
  • Re: ADFS Development Issues
    ... One thing to keep in mind is that if a website is protected by ADFS V1, ... site to be automatically authenticated by our windows application so ... like a web service proxy. ... generated on the server. ...
    (microsoft.public.windows.server.active_directory)
  • Re: ADFS Development Issues
    ... site to be automatically authenticated by our windows application so ... based on redirects and possibly uses forms-based authentication to collect ... web service proxies don't handle this type of thing ... the server based on how it needs to work. ...
    (microsoft.public.windows.server.active_directory)

Loading