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.

Tabela de 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:

Tela de configuração de verificação de URL

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.

Tela de teste de verificações de URL

Fonte: GeoServer Documentation