¿Cómo asegurar un servicio WCF para ser consumido por una aplicación específica solamente? -- wcf campo con silverlight campo con security camp Relacionados El problema

How to secure a WCF service to be consumed by a specific application only?


0
vote

problema

Español

Tengo una aplicación de Silverlight específica, que se alimenta con datos por un servicio WCF. Quiero asegurarme, que el servicio WCF solo se llama por esa aplicación Silverlight específica . ¿Cuál es la mejor manera de lograr eso y qué tengo que hacer? No tiene que ser una solución de alta seguridad.

gracias de antemano, Frank

Original en ingles

I have a specific Silverlight application, that is fed with data by a WCF-Service. I want to make sure, that the WCF-Service is only called by that specific Silverlight App. What is the best way to accomplish that and what do I have to do? It doesn't have to be a high security solution.

Thanks in advance, Frank

        

Lista de respuestas

3
 
vote
vote
La mejor respuesta
 

Habilitar autenticación básica (nombre de usuario / contraseña) en el servicio. Cree un solo usuario que la aplicación Silverlight utilizará para autenticarse con el servicio.

Más fácil, pero menos seguro, podría ser usar algún tipo de identificador (solo conocido en el cliente Silverlight) como un parámetro de servicio.

Ambas opciones son obviamente más seguras cuando se implementan con HTTPS. Esto se puede lograr utilizando un certificado de servidor.

 

Enable basic authentication (username/password) on the service. Create a single user which the Silverlight app will use to authenticate itself with the service.

Easier, but less secure, might be to just use some sort of identifier (only known to the Silverlight client) as a service parameter.

Both options are obviously most secure when implemented with HTTPS. This can be accomplished by using a server certificate.

 
 
     
     
1
 
vote

Usted no puede restringir el acceso a dicho servicio. Su aplicación necesitará acceso a cualquier clave / contraseña que elija. Es trivial descompilar su aplicación y extraer la llave. SSL / TLS no ayudará, porque la contraseña se puede extraer del código compilado.

Esta pregunta ha sido formulada varias veces recientemente -

  1. Asegurar el acceso exclusivo a WebService
  2. ¿Cómo restringir el acceso a mi servicio web?
  3. ¿Cómo puedo crear y usar un servicio web en público, pero aún restringir su uso para solo mi aplicación?
 

You CANNOT restrict access to such a service. Your app will need access to whatever key/password you chose. It is trivial to decompile your app and extract the key. SSL/TLS will not help - because the password can be extracted from the compiled code.

This question has been asked quite a few times recently -

  1. Ensure exclusive access to webservice
  2. How to restrict access to my web service?
  3. How can I create and use a web service in public but still restrict its use to only my app?
 
 
1
 
vote

Si su aplicación se está ejecutando de forma anónima, es prácticamente imposible ser 100% seguro.

Sin embargo, si está obligado a que sus usuarios se autentiquen, debe poder hacer que el servicio sea relativamente seguro requiriendo sus credenciales de inicio de sesión ...

 

If your application is running anonymously then it's virtually impossible to be 100% secure.

How ever if your are requiring your users to authenticate then you should be able to make the service relatively secure by requiring their login credentials...

 
 
0
 
vote

No sé si es fácil con WCF, pero supongo que podría hacer algo utilizando los certificados de clientes. Solo usé este enfoque para proteger los sitios web y fue bastante fácil de hacer ...

 

I don't know if it easy with WCF, but I guess you could do something using client certificates. I only used this approach for protecting websites and it was quite easy to do...

 
 

Relacionados problema

26  ¿Qué tan seguro es el filtrado de la dirección IP?  ( How secure is ip address filtering ) 
Estoy planeando implementar una aplicación interna que tenga datos sensibles. Sugerí que lo pusimos en una máquina que no está expuesta a Internet general, so...

5  is_numeric o un preg_match numérico?  ( Is numeric or a numeric preg match ) 
Leí en un foro en el que no puede confiar completamente is_numeric (). permite a través de "0xff", por ejemplo, que es un hexadecimal hexadecimal permitido ...

5441  La Guía definitiva para la autenticación del sitio web basada en formas [cerrada]  ( The definitive guide to form based website authentication ) 
cerrado . Esta pregunta debe ser más enfocado . Actualmente no está aceptando respuestas. ...

125  Seguridad de la sesión PHP  ( Php session security ) 
Bloqueado . Esta pregunta y sus respuestas son bloqueadas porque la pregunta es off-topic pero tiene importancia histórica. Actualmente no está a...

51  ¿Cómo puedo protegerme de una bomba con cremallera?  ( How can i protect myself from a zip bomb ) 
Acabo de leer sobre zip bombs , es decir, archivos zip que contienen una cantidad muy grande de altamente compresible Datos (00000000000000000 ...). Cuando...

16  ¿Qué se necesitaría para hacer la corriente principal de Openid?  ( What would it take to make openid mainstream ) 
OpenID es una gran idea en principio, pero la UI y la explicación de por qué es bueno que actualmente no se adaptan a su uso general, ¿qué cree que tomaría qu...

9  Seguridad XSS. Comunicación entre 2 iframes del mismo dominio  ( Xss security communication between 2 iframes from the same domain ) 
dominio abc.com tiene una página con 2 iframes. Ambos están cargados de dominio xyz.com. ¿El bloque de seguridad XSS bloquea el acceso / comunicación / intera...

1  ¿Cómo puedo navegar recursivamente todo el contenido de IIS?  ( How can i recursively browse all content of iis ) 
Tengo el siguiente programa para navegar por todos los directorios virtuales y sus directorios y archivos (recursivamente): static void Main(string[] args)...

4  Combinación de más de un algoritmo criptotro  ( Combination of more than one crypto algorithm ) 
Estoy considerando lo siguiente: Tengo algún tipo de flujo de datos que me gustaría proteger lo más seguro posible, ¿tiene algún sentido aplicar, digamos a AE...

18  Mejor camino a Sandbox Apache en Linux  ( Best way to sandbox apache on linux ) 
Tengo apache corriendo en un servidor de Debian, y estoy un poco preocupado por la seguridad de la instalación. Esta es una máquina que alberga varios proyect...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos