O portal do ArcGIS Enterprise vem com uma ferramenta do script de 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. Ela analisa muitos critérios ou propriedades de configuração e os divide em três níveis de severidade: Critical, Important e Recommended. As descrições destes critérios são como seguem:
ID | Severidade | Propriedade | Descrição |
---|---|---|---|
PS01 | Critical | 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 mitigar contra ataques potenciais de Denial of Service (DoS) ou Server Side Request Forgery (SSRF), está fortemente recomendado que você restrinja o recurso de proxy do portal para aprovar endereços da web. |
PS02 | Critical | Pedidos de token | Determina se a geração de pedidos de token com credenciais no parâmetro de consulta são suportados. 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. É recomendado desativá-lo a menos que seja exigido por outros aplicativos. |
PS03 | Important | 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 | Important | 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 | Recommended | 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 enterprise ou deseja criar todas as contas manualmente, desative esta opção. |
PS06 | Recommended | 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 utilizado 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. |
O script portalScan.py está localizado no diretório <Portal for ArcGIS installation location>/tools/security. Execute o script a partir da linha de comandos ou shell. 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 de 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 de usuário e senha. Ao gerar um token, portalScan deve ser a entrada no campo Webapp URL. Quando um token é 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: python portalScan.py -n portal.domain.com -u admin -p my.password -o C:\Temp
Se o script portalScan.py 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.