Agende e execute análises personalizadas numa aplicação implementada através do Web Security Scanner na Google Cloud consola. O Web Security Scanner suporta análises de URLs e IPs públicos que não estão atrás de uma firewall.
Antes de começar
Para configurar análises personalizadas com o Web Security Scanner:
- Tem de ter uma aplicação implementada num URL ou IP público. O Web Security Scanner só suporta Websites que usam IPv4. Os Websites que usam IPv6 não são analisados.
- Tem de ter o Security Command Center ativado.
Antes de analisar, audite cuidadosamente a sua aplicação para verificar se existe alguma funcionalidade que possa afetar os dados, os utilizadores ou os sistemas além do âmbito escolhido da sua análise.
Uma vez que o Web Security Scanner preenche campos, prime botões, clica em links e realiza outras interações, deve usá-lo com precaução. O Web Security Scanner pode ativar funcionalidades que alteram o estado dos seus dados ou sistema, com resultados indesejáveis. Por exemplo:
- Numa aplicação de blogue que permita comentários públicos, o Web Security Scanner pode publicar strings de teste como comentários em todos os artigos do seu blogue.
- Numa página de inscrição por email, o Web Security Scanner pode gerar um grande número de emails de teste.
Para ver sugestões sobre como minimizar o risco, consulte as práticas recomendadas para evitar consequências não intencionais.
Ative o Web Security Scanner
Ative o Web Security Scanner no Security Command Center para criar e executar análises personalizadas.
Se o Security Command Center estiver ativo, pode ativar o Web Security Scanner na Google Cloud consola na páginaDefinições do Security Command Center
Passo 1: implemente uma aplicação de teste
Para concluir a configuração do Web Security Scanner para análises personalizadas, precisa do URL de uma aplicação do Compute Engine, do Google Kubernetes Engine (GKE) ou do App Engine que já esteja implementada. Se não tiver uma aplicação implementada ou se quiser experimentar o Web Security Scanner com uma aplicação de teste, implemente a aplicação de teste do App Engine. Use o idioma da sua escolha:
Passo 2: atribua funções da IAM
Para executar uma análise do Web Security Scanner, tem de ter uma das seguintes funções de gestão de identidade e acesso (IAM) para o projeto que quer analisar:
- Editor
- Proprietário
Para adicionar uma destas funções:
Aceda à página IAM e administração na Google Cloud consola.
Clique na lista pendente do seletor de projetos.
Na caixa de diálogo Selecionar a partir de apresentada, selecione o projeto que quer analisar com o Web Security Scanner.
Na página IAM, junto ao seu nome de utilizador, clique em Editar.
No painel Editar autorizações apresentado, clique em Adicionar outra função e, de seguida, selecione uma das seguintes funções:
- Projeto > Proprietário
- Projeto > Editor
Quando terminar de adicionar funções, clique em Guardar.
Saiba mais sobre as funções do Web Security Scanner.
Passo 3: execute uma análise
Quando configura uma análise, esta é colocada em fila para ser executada mais tarde. Consoante a carga atual, pode demorar várias horas até que seja executada uma análise. Para criar, guardar e executar uma análise:
Aceda à página Web Security Scanner na Google Cloud consola.
Selecione o projeto que contém a aplicação implementada que quer analisar.
Para configurar uma nova análise, clique em Nova análise:
Na página Criar uma nova análise que é carregada, defina os seguintes valores:
- Em URLs de início, introduza o URL da aplicação que quer analisar.
- Em Horário, selecione Semanalmente.
- Em Próxima execução a, selecione uma data.
A caixa Exportar para o Security Command Center é selecionada automaticamente. Se tiver ativado o Web Security Scanner como uma origem de segurança do Security Command Center, os resultados da análise são apresentados na página Resultados na Google Cloud consola.
Para esta primeira análise, use a análise predefinida sem alterar outros valores na página Criar uma nova análise. Para mais informações sobre as definições de análise, consulte o artigo Analisar uma app.
Para criar a análise, clique em Guardar.
Na página Web Security Scanner, clique no nome da análise para carregar a respetiva página de vista geral e, de seguida, clique em Executar análise.
A procura é colocada em fila de espera e, em seguida, é executada no futuro. A análise pode demorar várias horas a ser executada.
A página de vista geral da análise apresenta uma secção de resultados quando a análise é concluída. A imagem seguinte mostra exemplos de resultados da análise quando não são detetadas vulnerabilidades:
Se ativou o Web Security Scanner como uma origem de segurança do Web Security Scanner, os resultados da análise também são apresentados na Google Cloud consola.
Para apresentar detalhes sobre uma descoberta específica, clique no nome da descoberta nos resultados da análise.
Concluiu uma análise básica do Web Security Scanner. Se analisou a sua própria aplicação, saiba como personalizar a análise na secção Analisar uma app nesta página.
Se implementou uma aplicação de teste para executar a análise, conclua o passo de limpeza descrito nesta página para evitar incorrer em custos do App Engine para a aplicação.
Passo 4: limpeza
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Analisar uma app
Configure uma análise personalizada para a sua app através de uma conta de teste.
Passo 1: criar uma conta de teste
Quando analisa a sua app, é recomendável usar uma conta de teste que não tenha acesso a dados confidenciais nem a operações prejudiciais. Crie uma conta de teste que possa iniciar sessão na sua app. Tenha em atenção as credenciais de início de sessão para fornecer para autenticação quando criar uma análise. As credenciais permitem-lhe usar a conta de teste para analisar dados.
Passo 2: criar uma análise
Aceda à página Web Security Scanner na Google Cloud consola.
Clique em Selecionar e, de seguida, selecione um projeto que já tenha uma aplicação do App Engine, Compute Engine ou GKE implementada.
Para apresentar o novo formulário de análise, clique em Criar análise ou Nova análise.
Para adicionar valores ao novo formulário de análise, use a seguinte tabela como guia:
Campo Descrição URLs de início Normalmente, um site básico requer apenas um URL inicial, como a página inicial, principal ou de destino do site, a partir da qual o Web Security Scanner pode encontrar todas as outras páginas do site. No entanto, o Web Security Scanner pode não encontrar todas as páginas se um site tiver:
- Muitas páginas
- Ilhas de páginas não associadas
- Navegação que requer JavaScript complexo, como um menu multinível acionado por um movimento do rato
Nesses casos, especifique mais URLs iniciais para aumentar a cobertura da análise.
URLs excluídos Para reduzir a complexidade, as exclusões são definidas através de uma linguagem proto simplificada que usa um ou mais carateres universais *, em vez de exigir uma expressão regular válida. Para ver detalhes e exemplos de padrões válidos, consulte a secção Excluir URLs mais adiante nesta página. Autenticação > Conta Google Pode criar uma conta de teste no Gmail e, em seguida, usá-la para analisar o seu produto. Se for cliente do Google Workspace, pode criar contas de teste no seu domínio, por exemplo,
test-account@yourdomain.com
. No verificador de segurança Web, estas contas funcionam como contas do Gmail. A autenticação de dois fatores não é suportada.A Google aplica uma política de nomes reais nas Contas Google. Se o nome na sua conta de teste não parecer real, a conta pode ser bloqueada.
Autenticação > Identity-Aware Proxy alfa Para proteger recursos com o Identity-Aware Proxy, consulte o guia do IAP.
Para usar o Web Security Scanner com um recurso protegido pelo IAP, conceda primeiro acesso à conta de serviço do Web Security Scanner:
- Aceda à página de CNAs na Google Cloud consola.
- Selecione o projeto que quer usar com o Web Security Scanner.
- Selecione o recurso da aplicação que quer analisar e, de seguida, clique em Adicionar principal no Painel de informações.
-
Na caixa Novos membros no painel Adicionar membros, introduza a conta de serviço do Web Security Scanner no
formato
service-project-number@gcp-sa-websecurityscanner.iam.gserviceaccount.com
. - Na lista pendente Selecionar uma função, selecione Cloud IAP > Utilizador da app Web protegida por IAP.
- Quando terminar de adicionar funções, clique em Guardar.
Em seguida, adicione o ID de cliente OAuth à análise. O Web Security Scanner só pode analisar aplicações protegidas por um único ID de cliente OAuth. Para adicionar o ID de cliente OAuth:
- Aceda à página de CNAs na Google Cloud consola.
- Selecione o projeto que quer usar com o Web Security Scanner.
- No menu adicional, selecione Editar cliente OAuth.
- Na janela ID de cliente para aplicação Web apresentada, copie o ID de cliente.
- Aceda à página do verificador de segurança Web na Google Cloud consola.
- Em Autenticação, selecione Identity-Aware Proxy alfa.
- Na caixa ID de cliente OAuth2, cole o ID de cliente OAuth que copiou e, de seguida, clique em Guardar.
Autenticação > Conta não pertencente à Google Selecione esta opção se tiver criado o seu próprio sistema de autenticação e não estiver a usar os serviços da Conta Google. Especifique o URL do formulário de início de sessão, o nome de utilizador e a palavra-passe. Estas credenciais são usadas para iniciar sessão na sua aplicação e analisá-la.
O Web Security Scanner tenta usar heurísticas para iniciar sessão na sua aplicação e analisá-la. Especificamente, este método procura um formulário de início de sessão com dois campos que inclua um campo
username
e um campopassword
. A ação de início de sessão tem de resultar num cookie de autenticação para que o leitor continue a sua análise.Os problemas comuns que podem causar a falha do início de sessão personalizado incluem:
-
Usar campos de formulários HTML não padrão, por exemplo, não usar um tipo
password
. -
Usar um formulário de início de sessão complicado, por exemplo, um formulário com mais do que um campo
username
epassword
. - Não guardar um cookie de autenticação após um início de sessão bem-sucedido.
- Em algumas situações, o scanner é recusado por contramedidas destinadas a proteger contra bots, DDOS e outros ataques.
Recomendamos a utilização da integração do Identity-Aware Proxy para ter a experiência mais consistente com a análise autenticada de aplicações.
Agendar Pode definir a análise para ser executada diariamente, semanalmente, a cada duas semanas ou a cada quatro semanas. É melhor criar uma análise agendada para garantir que as versões futuras da sua aplicação são testadas. Além disso, como lançamos ocasionalmente novos scanners que encontram novos tipos de erros, a execução de uma análise agendada oferece mais cobertura sem esforço manual. Execute análises a partir de um conjunto predefinido de IPs de origem (pré-visualização) Selecione esta opção para restringir o tráfego de análise a um conjunto predefinido de endereços IP. Isto permite-lhe ativar o scanner para aceder a aplicações atrás de uma firewall, mas pode limitar o âmbito da análise. Para modificar as regras da firewall de modo a permitir o tráfego do Web Security Scanner, consulte a secção Configurar a firewall mais adiante nesta página. Opções de exportação Selecione esta opção para exportar automaticamente as configurações de análise e os resultados da análise para o Security Command Center. Ignore os erros de estado HTTP Esta opção controla se um número elevado de erros de estado HTTP, por exemplo, **400 Pedido inválido**, durante uma análise faz com que a análise seja comunicada como uma falha. Se a opção estiver selecionada, os erros de estado são ignorados. Se a opção não estiver selecionada e a percentagem de erros de estado exceder um limite predeterminado, a análise é comunicada como uma falha. Quando terminar de adicionar valores, clique em Guardar. Agora, pode executar a nova análise.
Por predefinição, o Web Security Scanner usa endereços IP atribuídos aleatoriamente durante cada execução. Para tornar os endereços IP do Web Security Scanner previsíveis, conclua os passos para ativar as análises a partir de IPs estáticos mais adiante nesta página.
Passo 3: executar uma análise
Para executar uma análise:
- Inicie sessão na conta de teste que usou para criar a análise.
Aceda à página Web Security Scanner na Google Cloud consola.
Clique em Selecionar e, de seguida, selecione o projeto no qual criou a análise.
Em Configurações de análise, clique no nome da análise que quer executar.
Na página de detalhes da análise, clique em Executar.
A análise é colocada numa fila e pode haver um atraso antes de ser executada. Pode demorar vários minutos ou muitas horas a ser executado, consoante a carga do sistema e funcionalidades como:
- Complexidade do site
- Número de elementos acionáveis por página
- Número de links
- A quantidade de JavaScript no site, incluindo a navegação
Pode configurar e executar até 10 análises diferentes antes de ter de eliminar ou limpar os resultados guardados anteriormente.
Ver resultados de análises personalizadas
O estado e os resultados de uma análise personalizada são apresentados na página de detalhes da análise na Google Cloud consola. Para ver os resultados da análise:
- Inicie sessão na conta de teste que usou para criar a análise.
Aceda à página Web Security Scanner na Google Cloud consola.
Clique em Selecionar e, de seguida, selecione o projeto que contém a análise que quer rever.
Em Configurações de análise, clique no nome da análise que quer rever.
A página de detalhes da análise é carregada e apresenta os resultados da análise mais recente. Se uma análise estiver em curso, o separador Resultados apresenta a percentagem de conclusão atual. Para apresentar os resultados de análises anteriores, selecione a data e a hora da análise na lista pendente.
Os detalhes das análises personalizadas concluídas incluem:
- O separador Resultados apresenta uma lista de vulnerabilidades encontradas pela análise, se existirem.
- O separador URLs rastreados apresenta uma lista de URLs que a análise verificou.
O separador Detalhes inclui:
- URLs de início
- Autenticação
- Agente do utilizador
- Velocidade máxima de análise como consultas por segundo (CPS)
Pode encontrar mais informações sobre a análise na página de registos do projeto.
Editar uma análise personalizada
Para editar uma análise personalizada:
- Inicie sessão na conta de teste que usou para criar a análise.
Aceda à página Web Security Scanner na Google Cloud consola.
Clique em Selecionar e, de seguida, selecione o projeto que contém a análise que quer editar.
Em Configurações de análise, clique no nome da análise que quer editar.
Na página de detalhes da análise apresentada, clique em Editar.
Na página A editar [nome da análise] apresentada, faça as alterações que pretende e, de seguida, clique em Guardar.
A análise personalizada editada é executada na próxima vez que estiver agendada ou pode executá-la manualmente para obter resultados atualizados.
Eliminar uma análise personalizada
Para eliminar uma ou mais análises personalizadas:
- Inicie sessão na conta de teste que usou para criar a análise.
Aceda à página Web Security Scanner na Google Cloud consola.
Clique em Selecionar e, de seguida, selecione o projeto que contém a análise que quer editar.
Em Configurações de análise, selecione a caixa de verificação junto a uma ou mais análises que quer eliminar.
Clique em Eliminar e, de seguida, em OK.
Todas as análises que selecionou são eliminadas.
Configurar uma análise a partir de IPs estáticos
Esta secção descreve como ativar as análises personalizadas do Web Security Scanner a partir de endereços IP estáticos. Quando ativa esta funcionalidade, o Web Security Scanner usa endereços IP previsíveis para analisar as suas aplicações públicas do Compute Engine e Google Kubernetes Engine. Esta funcionalidade está em pré-visualização e os endereços IP do Web Security Scanner podem mudar numa versão futura.
Antes de começar
Para usar a funcionalidade de análises personalizadas do Web Security Scanner a partir de IPs estáticos, precisa do seguinte:
- Uma aplicação pública do Compute Engine ou do GKE. Esta funcionalidade não suporta aplicações do App Engine.
- Uma leitura criada sem autenticação ou com autenticação da Conta Google. Esta funcionalidade não suporta análises que usam a autenticação de contas não Google.
Passo 1: configurar a firewall
Aceda à página Regras de firewall na Google Cloud consola.
Clique em Selecionar e, de seguida, selecione o seu projeto.
Na página Regras de firewall apresentada, clique em Criar regra de firewall.
Na página Crie uma regra de firewall, defina os seguintes valores:
- Nome: introduza
web-security-scanner
ou um nome semelhante. - Prioridade: selecione uma prioridade mais elevada (valor numérico inferior) do que todas as regras que negam o tráfego de saída para a sua aplicação.
- Intervalos de IPs de origem: introduza
34.66.18.0/26
e34.66.114.64/26
. - Protocolos e portas: selecione Permitir tudo ou especifique os protocolos e as portas da sua aplicação. Normalmente, pode selecionar a caixa de verificação tcp
e, em seguida, introduzir
80
e443
para as portas.
- Nome: introduza
Quando terminar de definir os valores, clique em Criar.
Passo 2: configurar a análise
Depois de configurar a firewall para permitir os endereços IP previsíveis do Web Security Scanner, configure a análise para usar IPs predefinidos:
Aceda à página Web Security Scanner na Google Cloud consola.
Clique em Selecionar e, de seguida, selecione o seu projeto.
Crie uma nova análise ou edite uma análise existente.
Selecione a caixa de verificação Executar verificações a partir de um conjunto predefinido de IPs de origem.
Guarde a análise.
Na próxima vez que a análise for executada, vai analisar as aplicações públicas do Compute Engine e do GKE que estão atrás da firewall.
Excluir URLs
Pode especificar até 100 padrões de URL excluídos para evitar testar secções de um site durante uma análise personalizada. O Web Security Scanner não pede recursos que correspondam a nenhuma das exclusões. As secções seguintes descrevem a correspondência de padrões que o Web Security Scanner usa.
Correspondência de padrões de URL
A correspondência de URLs excluídos baseia-se num conjunto de URLs definidos por padrões de correspondência. Um padrão de correspondência é um URL com cinco segmentos:
scheme
: por exemplo,http
ou*
host
: por exemplo,www.google.com
ou*.google.com
ou*
path
: por exemplo,/*
,/foo*
ou/foo/bar. *
query
: por exemplo,?*
,?*foo=bar*
fragment
: por exemplo,#*
,#access
Segue-se a sintaxe básica:
<exclude-pattern> := <scheme>://<host><path><query><fragment>
<scheme> := '*' | 'http' | 'https'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars except '?' or '#'>
<query> := '?' <any chars except '#'>
<fragment> := '#' <any chars>
O *
em cada parte tem a seguinte função:
scheme
:*
corresponde a HTTP ou HTTPS.host
:*
corresponde a qualquer anfitrião*.hostname
corresponde ao anfitrião especificado e a qualquer um dos respetivos subdomínios.
path
:*
corresponde a 0 ou mais carateres.
Não são necessários todos os segmentos num padrão excluído.
- Se o segmento
scheme
não for especificado, a predefinição é*://
. - O segmento
host
tem de ser sempre especificado. Se o segmento
path
não for especificado, a predefinição é:/*
, se os segmentosquery
efragment
não forem especificados. Este valor corresponde a qualquerpath
ou a nenhumpath
./
ou umpath
vazio, se o segmentoquery
oufragment
for especificado.
Se o segmento
query
não for especificado, a predefinição é:?*
, se o segmentofragment
não for especificado. Este valor corresponde a qualquerquery
ou nenhumquery
.?
ou umquery
vazio, se ofragment
for especificado.
Se o segmento
fragment
não for especificado, a predefinição é#*
, que corresponde a qualquerfragment
ou nenhumfragment
.
Correspondências de padrões válidas
A tabela seguinte apresenta exemplos de padrões válidos:
Padrão | Comportamento | Exemplos de URLs correspondentes |
---|---|---|
http://*/* |
Corresponde a qualquer URL que use o esquema HTTP. |
|
http://*/foo* |
Corresponde a qualquer URL que use o esquema HTTP, em qualquer anfitrião, se o caminho começar
com /foo .
|
|
https://*.google.com/foo*bar |
Corresponde a qualquer URL que use o esquema HTTPS e esteja num anfitrião google.com , como www.google.com , docs.google.com ou google.com , se o caminho começar com /foo e terminar com bar .
|
|
http://example.org/foo/bar.html |
Corresponde ao URL especificado. | http://example.org/foo/bar.html |
http://127.0.0.1/* |
Corresponde a qualquer URL que use o esquema HTTP e esteja no anfitrião
127.0.0.1 .
|
|
*://mail.google.com/* |
Corresponde a qualquer URL que comece por http://mail.google.com ou
https://mail.google.com . |
|
*://*/foo*?*bar=baz* |
Corresponde a qualquer URL em que o caminho começa com /foo e tem o parâmetro de consulta bar=baz .
|
https://www.google.com/foo/example?bar=baz |
google.com/app#*open* |
Corresponde a qualquer URL com um anfitrião google.com em que o caminho começa
com /app e tem o fragmento open .
|
https://www.google.com/app/example#open |
Correspondências de padrões inválidas
A tabela seguinte apresenta exemplos de padrões inválidos:
Padrão | Motivo |
---|---|
http://www.google.com |
O URL não inclui um caminho. |
http://*foo/bar |
* no anfitrião tem de ser seguido por um . ou
/ .
|
http://foo.*.bar/baz |
Se * estiver no anfitrião, tem de ser o primeiro caráter. |
http:/bar |
O separador de esquemas do URL não está devidamente formado. O "/"
deve ser "//" .
|
foo://* |
O esquema de URL é inválido. |
O que se segue?
- Saiba como corrigir as conclusões do Web Security Scanner.