2009-07-02 21 views
5

Necesito limitar el acceso de un servicio web .asmx a direcciones IP específicas. Me imagino que podría agregar un cheque codificado en cada método, pero parece una pesadilla de mantenimiento de código. ¿Existe una entrada de configuración web que pueda realizar o una configuración de IIS 6 que pueda aplicar al archivo .asmx?Limite el acceso del servicio web de asmx a direcciones IP específicas

+0

¿Tiene acceso al servidor? –

+0

Sí. Seguro hazlo. Se está ejecutando IIS 6. – DMCS

+0

IIS permite limitar el acceso por dirección IP y otras cosas. –

Respuesta

9

En el Administrador de IIS 6.0, haga clic con el botón derecho en el archivo .asmx.

Vaya a la pestaña Seguridad de archivo y haga clic en el botón Editar en la Dirección IP y restricciones de nombre de dominio.

Haga clic en el botón de opción "Acceso denegado" y luego agregue las direcciones IP de la lista blanca a la lista.

Para IIS 7.5, es un poco complicado ya que el archivo no se muestra en el panel de navegación. Debe ir a la pestaña Vista de contenido (en la parte inferior de la ventana), hacer clic con el botón derecho en su archivo y seleccionar Cambiar a la Vista de características. Abra la Dirección IP y la Restricción del dominio, haga clic en Editar configuración de funciones y elija denegar hosts no especificados. Ahora puede agregar autorizaciones haciendo clic en Agregar Permitir Entrada.

+2

Tenga en cuenta que la seguridad de IP es una característica que no viene preinstalada en Windows 7/IIS 7.5. Tendrás que agregarlo: http://www.iis.net/configreference/system.webserver/security/ipsecurity/add – HarryTuttle

+0

Buena captura ... No me di cuenta de que debes agregarla por separado. – Moose

-1

Agregue una sección personalizada a su web.config, y luego consulte esa sección para la lista blanca de direcciones IP.

+0

Tengo una sección de almacenamiento de configuración, pero una vez más, no quiero tener que escribir la lógica de verificación de IP en cada método. Estoy buscando algo más elegante. Configuración de IIS, o algo así como FormsAuthentication, pero solo para que este archivo se limite a las direcciones IP que quiero. – DMCS

+0

Agregué la forma de IIS en otra respuesta, pero me quedaré con esta. Mantiene su lista blanca en web.config donde está más configuración de su sitio, y le permite ser más flexible si desea algo más elegante que la lista blanca o lista negra Creo que esta sería la solución más elegante. Además, la ruta de metadatos de IIS podría perderse si alguien cambia algo en el árbol y lo sobrescribe. – Moose

+0

El problema es el código en cada una de las llamadas al servicio web que se pone mal de mantener y se guarda en todas las futuras adiciones al archivo .asmx por parte de otros desarrolladores (que, sin duda, se olvidará). La lista blanca en IIS es la mejor manera de hacerlo simple, por lo que si se producen cambios, no es necesario enviar un nuevo conjunto de códigos a través de QA (proceso costoso en términos de tiempo y recursos) y luego volver a implementarlo (no tan caro) como QA, pero todavía desperdicia el tiempo de la gente). Entonces, lo rápido que se debe hacer es mantenerlos en la lista blanca de IIS 6. :) – DMCS

Cuestiones relacionadas