A versão 2.24.x do GeoServer traz entre suas novidades as verificações de acesso externo de URL que permite controlar as verificações executadas em URLs fornecidas pelo usuário que o GeoServer usará para acessar recursos remotos.
Atualmente, as verificações são realizadas nas seguintes funcionalidades:
- Solicitações WMS GetMap, GetFeatureInfo e GetLegendGraphic com folhas de estilo SLD remotas (parâmetro SLD)
- Ícones remotos referenciados por estilos (o acesso aos ícones no diretório de dados é sempre permitido)
- Solicitações WMS GetMap e GetFeatureInfo no modo de representação de recursos (parâmetros REMOTE_OWS e REMOTE_OWS_TYPE)
- Entradas remotas WPS, como solicitações GET ou POST
Para criar as regras de verificação, o GeoServer utiliza expressões regulares. Na internet existem sites disponíveis que irão te ajudar a definir um padrão de expressão regular Java (linguagem que o GeoServer é desenvolvido) válido. Essas ferramentas podem ser usadas para interpretar, explicar e testar expressões regulares. Por exemplo:
– https://regex101.com/ (habilitar o tipo Java 8)
– https://www.freeformatter.com/java-regex-tester.html
1. Configuração de verificações de URL
Navegue até a página Dados > Verificações de URL para gerenciar e configurar verificações de URL.
Use as opções Ativar/Desativar para habilitar este recurso de segurança:
- Quando a caixa de seleção de verificações de URL está habilitada, as verificações de URL são realizadas para limitar o acesso do GeoServer a recursos remotos, conforme descrito acima. A ativação de verificações de URL é recomendada para limitar a interação normal dos protocolos Open Web Service usados para ataques de Cross Site Scripting.
- Quando a caixa de seleção está desabilitada, as verificações de URL NÃO são habilitadas, o GeoServer recebe acesso irrestrito a recursos remotos. Desativar verificações de URL não é uma configuração segura ou recomendada.
2. Adicionando uma verificação baseada em expressão regular
Os botões para adicionar e remover verificações de URL podem ser encontrados na parte superior da lista de verificação de URL.
Para adicionar uma verificação de URL, pressione o botão Adicionar nova verificação. Você será solicitado a inserir os detalhes da verificação de URL (conforme descrito abaixo em Editando uma verificação).
3. Removendo uma verificação
Para remover uma verificação de URL, marque a caixa de seleção ao lado de uma ou mais linhas na lista de verificação de URL. Pressione o botão Remover verificações de URL selecionadas para remover. Você será solicitado a confirmar ou cancelar a remoção. Pressionar OK para remover as verificações de URL selecionadas.
4. Editando uma verificação
As verificações de URL podem ser configuradas, com os seguintes parâmetros para cada verificação:
- Nome: Nome da verificação, utilizado para identificá-lo na lista.
- Descrição: Descrição da verificação, para referência posterior.
- Expressão regular: Expressão regular usada para corresponder aos URLs permitidos
- Habilitado: Caixa de seleção para ativar ou desativar a verificação
Veja abaixo como é a tela de configuração:
5. Testando verificações
O formulário Testar verificações permite que uma URL seja verificada, informando se o acesso é permitido ou não.
Pressione o botão Testar URL para realizar as suas verificações. Se pelo menos uma verificação corresponder ao URL, ele será permitido e o teste indicará a verificação que permite o acesso. Caso contrário, será rejeitado e o teste indicará que nenhuma verificação de URL foi correspondente.
Fonte: GeoServer Documentation