O Portal for ArcGIS inclui uma ferramenta de script Python, portalScan.py, que verifica problemas de segurança comuns. A ferramenta verifica por problemas baseados em algumas das melhores práticas para configurar um ambiente seguro para seu portal. Ele analisa muitos critérios ou propriedades de configuração e os divide em três níveis de gravidade: Crítico, Importante e Recomendado. As descrições destes critérios são como seguem:
ID | Severidade | Propriedade | Descrição |
---|---|---|---|
PS01 | Crítico | Restrições de proxy | Determina se o recurso de proxy do portal é restrito. Por padrão, o servidor de proxy do portal está aberto para qualquer URL. Para atenuar possíveis ataques de negação de serviço (DoS) ou falsificação de solicitação do lado do servidor (SSRF), é recomendável restringir a capacidade de proxy do portal a endereços da web aprovados. |
PS02 | Crítico | Pedidos de token | Determina se há suporte para gerar solicitações de token com credenciais no parâmetro de consulta. Se suportado, ao gerar tokens, as credenciais do usuário podem ser fornecidas como parte do URL e podem ser expostas por histórico do navegador ou em logs de rede. É recomendável desativá-lo, a menos que seja exigido por outros aplicativos. |
PS03 | Importante | Diretório de serviços do portal | Determina se o diretório de serviços do portal é acessível por um navegador da web. Isto deve ser desativado para reduzir as chances dos seus itens, serviços, mapas da web, grupos e outros recursos do portal de serem procurados, encontrados em uma pesquisa da web ou consultados por formulários HTML. |
PS04 | Importante | Comunicação segura | Determina se o portal comunica somente pelo HTTPS. Para prevenir a interceptação de qualquer comunicação dentro do portal, é recomendado que você configure seu portal e o servidor da web hospedando o Web Adaptor para forçar o SSL. |
PS05 | Recomendado | Registro de conta embutido | Determina se os usuários podem clicar no botão Criar uma Conta na página de registro do portal para criar uma conta do portal embutida. Se você estiver utilizando contas específicas da organização ou deseja criar todas as contas manualmente, desative esta opção. |
PS06 | Recomendado | Acesso anônimo | Determina se o acesso anônimo é permitido. Para prevenir qualquer usuário de acessar o conteúdo sem primeiro fornecer as credenciais para o portal, é recomendado que você configure seu portal para desabilitar acesso anônimo. |
PS07 | Recomendado | Armazenamento de identidade LDAP | Se o portal estiver configurado com um armazenamento de identidades LDAP, isto determinará se a comunicação criptografada será utilizada. É recomendado que você utilize LDAPS nas propriedades ldapURLForUsers e ldapURLForRoles listadas nos parâmetros de configuração do armazenamento de usuários e do armazenamento de grupos. |
PS08 | Recomendado | Certificado SSL do Portal | Determina se um certificado auto assinado é utilizado pelo portal. Para ajudar a reduzir os avisos do navegador da web ou outro comportamento inesperado de clientes que se comunicam com o portal, é recomendado que você importe e utilize um certificado SSL assinado por uma autoridade de certificação ligada à porta 7443. |
PS09 | Recomendado | Pedidos de domínio cruzado | Determina se pedidos de domínio cruzado (CORS) são irrestritos. Para reduzir a possibilidade de um aplicativo desconhecido acessar um item do portal compartilhado, é recomendado que você restrinja as solicitações entre domínios para aplicativos hospedados somente em domínios confiáveis. |
PS10 | Crítico | URL administrativa de servidor federado | Determina se a URL de administrador do seu servidor federado pode ser acessada pelo portal e se o certificado SSL utilizado nesta URL é confiável. Se não for confiável ou não puder ser alcançado, muitas funções e operações do portal falharão. |
PS11 | Recomendado | URL de serviços do servidor federado | Determina se a URL de serviços do seu servidor federado pode ser acessada pelo portal e se o certificado SSL usado nesta URL é confiável. Se não for confiável ou não puder ser acessado, o portal ainda funcionará, mas algumas operações do portal poderão falhar. |
PS12 | Recomendado | Conteúdo público | Se o portal estiver configurado para que os membros não possam compartilhar conteúdo publicamente, isto listará todos os itens que ainda são compartilhados com Todos. |
PS13 | Importante | Definições de configuração SAML | Se o portal estiver configurado para usar a autenticação SAML, isso determinará se as asserções criptografadas e as solicitações assinadas estão habilitadas. Se for compatível com o provedor de identidade, é recomendável configurar o portal para exigir asserções criptografadas e solicitações assinadas. |
PS14 | Importante | Status do serviço de impressão padrão | O serviço de impressão configurado por padrão no portal normalmente é substituído depois que um serviço do ArcGIS Server é federado. É recomendável desativar o serviço de impressão padrão se ele não estiver sendo usado. |
PS15 | Recomendado | Status do serviço de legenda | O serviço de legenda é usado pelo portal para recuperar ícones de legenda de mapas mais antigos e serviços de feições (através de SOAP). A menos que estejam sendo acessados serviços mais antigos que não suportam a recuperação da legenda por meio de REST, é recomendável desabilitar esse serviço. |
PS16 | Recomendado | Status do serviço RSS | O serviço RSS é utilizado pelo portal para se comunicar com feeds GeoRSS. Se nenhum feed GeoRSS for acessado através de mapas da web no portal, é recomendável desabilitar este serviço. |
PS17 | Recomendado | Status do serviço KML | O serviço KML é usado pelo portal para se comunicar com terminais KML. Se nenhum ponto final KML for acessado por meio de mapas da web no portal, é recomendável desativar esse serviço. |
O script portalScan.py está no diretório <Portal for ArcGIS installation location>\tools\security. Execute o script na linha de comando usando portalScan.bat, que está no mesmo diretório. Você tem a opção para especificar um ou mais parâmetros ao executar o script.
parâmetros de portalScan.py
A seguinte tabela descreve os parâmetrosportalScan.py :
Parâmetro | Descrição |
---|---|
-n | O nome de domínio completamente qualificado da máquina onde o Portal está instalado (em outras palavras, gisportal.domain.com). O padrão é o nome de host da máquina onde o script é executado. |
-u | O nome do usuário de uma conta do administrador. |
-p | A senha de uma conta do administrador. |
-o | O diretório onde o relatório do escaneamento de segurança será salvo. O diretório padrão é a mesma pasta onde você executa o script. |
-t | Um token pode ser gerado e utilizado no local do nome do usuário e senha. Ao gerar um token, o portalScan deve ser a entrada no campo Webapp URL. Quando um token for fornecido, ele substitui qualquer nome do usuário ou senha que é fornecida. |
--ignoressl | Desativar verificação de certificado SSL. A partir da versão 10.7.1, o script tentará verificar todos os certificados SSL por padrão. Se o Python não confiar no emissor dos certificados, o script não será concluído. Se necessário, este parâmetro pode ser especificado para ignorar todos os certificados. |
-h ou -? | Gera saídas de uma listagem dos parâmetros que podem ser especificadas ao executar o script. |
Exemplo (executado na janela de comando com o arquivo de saída gravado em C:\Temp):portalScan -n portal.domain.com -u admin -p my.password -o C:\Temp
Se o script portalScan for executado sem especificar os parâmetros, você será solicitado para inseri-los manualmente ou selecionar o valor padrão. Se deseja utilizar um token, ele deverá ser fornecido como um parâmetro ao executar o script.
O escaneamento gere um relatório no formato de HTML que lista qualquer um dos problemas acima que foram localizados no portal especificado.
Por padrão, o relatório é salvo na mesma pasta onde você executa o script e é denominado portalScanReport_[hostname]_[date].html.