¿Cómo asegurar los servicios WFS?

13

Actualmente tengo la tarea de encontrar una manera de implementar servicios WFS en varios clientes. Los servicios podrían ser consumidos tanto por el software GIS de escritorio, por ejemplo, MapInfo / ArcGIS o por las soluciones Web GIS.

¿Es posible, para un servicio WFS, definir, por ejemplo, nombre de usuario / contraseña o token para pasar para la verificación de los derechos de acceso? (la seguridad de primera clase no es necesaria)

He estado buscando en la especificación WFS de OGC, pero parece que no puedo encontrar ninguna información relevante sobre esto.

usuario2847
fuente
1
Debe establecerse en el nivel de servidor / dominio. Un proxy inverso también se puede utilizar para proteger servidores y servicios importantes - es.wikipedia.org/wiki/Reverse_proxy
Mapperz
También vea las respuestas aquí: gis.stackexchange.com/questions/5686/…
mwalker

Respuestas:

11

WFS no tiene seguridad como parte del estándar, pero puede usar HTTPS sin problemas. La especificación de implementación de OpenGIS Web Feature Service (WFS) (04-094) [s. 6.3.4] dice:

El uso de HTTPS no afecta la descripción de las solicitudes y respuestas descritas en esta especificación, pero puede requerir acciones adicionales tanto en el cliente como en el servicio para iniciar la comunicación segura.

Entonces, esencialmente depende de usted implementar cualquier funcionalidad HTTPS. Mapserver puede hacer frente a HTTPS por lo que puedo decir , pero nunca lo he probado. De hecho, estaría muy interesado en ver qué se te ocurre.

MerseyViking
fuente
Gracias por su respuesta MerseyViking. Volveré y publicaré una actualización con mis hallazgos.
user2847
7

Si desea administrar el acceso a este servicio de manera discreta, a través de una solución de inicio de sesión único puede implementar lo siguiente. Actualmente no hay servicios de código abierto que implementen este tipo de solución de seguridad.

La primera parte, es un servicio web que actúa como mediador entre el WFS y el usuario. Este servicio web gestionará el acceso del usuario a las capas WFS y realizará las verificaciones cruzadas necesarias con un dominio activo o control de acceso de autenticación Kerberos. Este servicio pasará al servidor WFS aquellas solicitudes autenticadas y permitidas. Este es un servicio web Marshaling.

La segunda parte es hacer cumplir el servidor WFS para que solo confíe en las solicitudes del Servicio Marshaling. Esta es una característica del servidor web que limita las IP desde las cuales aceptará conexiones / solicitudes.

Hay servicios de Marshaling a la venta. Yo personalmente escribí el mío para asegurar una instancia de GeoServer para que pudiera integrarse en una gran tienda de Microsoft. Se permitió asignar usuarios a grupos y administrar el acceso a conjuntos de datos a través del servicio Marshaling.

Garantizado para ser seguro y no afectar el rendimiento de la comunicación.

Si desea diagramas de esta infraestructura para una comprensión más clara o los nombres de algunos proveedores, hágamelo saber (correo electrónico). No estoy afiliado de ninguna manera con vendedores, solo sé sus nombres. Prefiero escribir el mío;)

Este puede ser un buen proyecto de código abierto :) :)

OptimizePrime
fuente
absolutamente de acuerdo, pero como en 2018, a nadie le importó :(
Ilya Yevlampiev
la única solución posible es asegurar el servlet del servidor gwt-openlayers enviado con gwt-openlayers y proporcionar una autenticación básica segura desde el servlet hasta el wfs-t (pero sin oauth y otras buenas [prácticas del mundo de la nube de primavera acoplada)
Ilya Yevlampiev