Como proteger serviços WFS?


13

Atualmente, estou encarregado de encontrar uma maneira de implantar serviços WFS para vários clientes. Os serviços podem ser consumidos pelo software GIS de desktop, por exemplo, MapInfo / ArcGIS ou pelas soluções Web GIS.

É possível, para um serviço WFS, definir, por exemplo, nome de usuário / senha ou token a serem repassados ​​para verificação dos direitos de acesso? (segurança de primeira qualidade não é necessária)

Estive procurando na especificação OGC WFS, mas não consigo encontrar nenhuma informação relevante sobre isso.


1
Precisa ser definido no nível do servidor / domínio. Um proxy reverso também pode ser usado para proteger servidores e serviços importantes - en.wikipedia.org/wiki/Reverse_proxy
Mapperz

Veja também as respostas aqui: gis.stackexchange.com/questions/5686/…
mwalker

Respostas:


11

O WFS não tem segurança como parte do padrão, mas você pode usar o HTTPS sem problemas. A especificação de implementação do OpenGIS Web Feature Service (WFS) (04-094) [s. 6.3.4] diz:

O uso do HTTPS não afeta a descrição das solicitações e respostas descritas nesta especificação, mas pode exigir ações adicionais a serem tomadas no cliente e no serviço para iniciar a comunicação segura.

Portanto, essencialmente depende inteiramente de você implementar qualquer funcionalidade HTTPS. Mapserver pode lidar com HTTPS, tanto quanto eu posso dizer , mas eu nunca tentei. Na verdade, eu estaria muito interessado em ver o que você cria.


Obrigado pela sua resposta MerseyViking. Voltarei e publicarei uma atualização com minhas descobertas.
User2847 #

7

Se você deseja gerenciar o acesso a esse serviço sem obstrução, por meio de uma solução de logon único, você pode implementar o seguinte. Atualmente, não há serviços de código aberto que implementem esse tipo de solução de segurança.

A primeira parte, é um serviço da web que atua como mediador entre o WFS e o usuário. Esse serviço da web gerenciará o acesso do usuário às camadas WFS e executará as verificações cruzadas necessárias com um controle de acesso Domínio Ativo ou Autenticação Kerberos. Este serviço transmitirá ao servidor WFS os pedidos autenticados e permitidos. Este é um serviço da web Marshaling.

A segunda parte é impor ao servidor WFS que apenas confie nas solicitações do Marshaling Service. Esse é um recurso do servidor da web que limita os IPs dos quais ele aceita conexões / solicitações.

Existem serviços de Marshaling disponíveis para venda. Eu escrevi pessoalmente para proteger uma instância do GeoServer para que ela pudesse se integrar a uma loja Microsoft muito grande. É permitido atribuir usuários a grupos e gerenciar o acesso a conjuntos de dados através do serviço Marshaling.

Garantido para ser seguro e não afetar o desempenho da comunicação.

Se você desejar diagramas dessa infraestrutura para um entendimento mais claro ou os nomes de alguns fornecedores, entre em contato (email). Eu não sou afiliado de forma alguma com fornecedores, apenas sei seus nomes. Eu prefiro escrever o meu próprio;)

Este pode ser um bom projeto de código aberto :) :)


concordo absolutamente, mas, como em 2018, ninguém se importava com isso :(
Ilya Yevlampiev 29/11

a única solução possível é proteger o servlet do gwt-openlayers-server enviado com o gwt-openlayers e fornecer como autenticação básica segura do servlet para o wfs-t (mas nenhum oauth e outros bons [práticos do mundo da nuvem da primavera em dockerized)
Ilya Yevlampiev 29/11/19
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.