Para acessar serviços seguros (com base em token ou credenciais), a Esri recomenda o uso de arquivos proxy ( exemplo .net github ). Ao rotear solicitações por meio do proxy, você pode solicitar serviços seguros em nome do cliente sem expor suas credenciais. Você pode definir uma propriedade chamada allowedReferers
e atribuir uma lista de URLs de referência nas quais o proxy trabalhará. Basicamente, o proxy não fará nenhum pedido de URL de referência que não esteja definido. Se definido como '*'
, qualquer solicitação de referência será processada.
O problema é; o cabeçalho solicitante seja falsificado facilmente por um hacker, apenas configurando uma propriedade falsa de Referenciador HTTP . Nessa situação, eles podem acessar serviços seguros roteando todas as suas solicitações por meio do proxy e configurando o cabeçalho do referenciador para um endereço válido.
Estou procurando recomendações sobre a melhor maneira de solucionar esse problema. Alguma recomendação?
fonte
agstoken
chave. Isso não adiciona muita segurança extra, mas pelo menos o token não aparece na string de consulta.Respostas:
Eu hospedo o proxy Java no Apache Tomcat que fornece uma página de login. O proxy ArcGIS é executado no mesmo contexto de aplicativo que a página de login. Dessa maneira, meus usuários obtêm acesso com credenciais armazenadas em um banco de dados seguro e separado. O Tomcat faz o gerenciamento de sessões usual, enquanto o proxy ArcGIS ligeiramente modificado lida com as credenciais e tokens ocultos do ArcGIS. Tudo isso é feito em HTTPS.
O resultado é que:
fonte
Eu acho que essa frase é a chave. Quando o proxy é autenticado no servidor GIS, o proxy é configurado com credenciais? Nesse caso, e essas credenciais têm acesso ao serviço de mapa solicitado, isso parece estar "funcionando conforme o esperado".
Se o proxy estiver armazenando / passando credenciais, o proxy está mais preocupado em manter as credenciais seguras do que em manter os dados seguros. Pense em um site de intranet da empresa que exibe dados de mapa de um serviço de mapa seguro.
A declaração acima significa que um invasor externo pode acessar seu proxy diretamente? Nesse caso, você tem mais com o que se preocupar do que um cabeçalho HTTP falsificado.
Os usuários, o proxy e o servidor GIS estão todos dentro da sua rede ou estão usando o proxy para conectar-se a serviços GIS fora da rede? Conhecer alguns detalhes sobre a topologia de rede pode ajudar a obter respostas melhores.
editar: se você tiver um aplicativo Web público que esteja buscando recursos de um servidor GIS protegido dentro de uma rede, provavelmente desejará um proxy reverso em vez de um proxy direto.
fonte