Visão geral sobre segurança de aplicativo

ID da região

O REGION_ID é um código abreviado que o Google atribui com base na região que você selecionou ao criar o aplicativo. O código não corresponde a um país ou estado, ainda que alguns IDs de região sejam semelhantes aos códigos de país e estado geralmente usados. Para apps criados após fevereiro de 2020, o REGION_ID.r está incluído nos URLs do App Engine. Para apps existentes criados antes dessa data, o ID da região é opcional no URL.

Saiba mais sobre IDs de região.

A segurança é um recurso principal do Google Cloud, mas ainda há etapas que você precisa seguir para proteger seu aplicativo do App Engine e identificar vulnerabilidades.

Use os recursos a seguir para garantir a segurança do seu aplicativo do App Engine. Para saber mais sobre o modelo de segurança do Google e as medidas disponíveis para proteger os projetos do Google Cloud , consulte Segurança doGoogle Cloud .

Solicitações HTTPS

Use solicitações HTTPS para acessar o aplicativo do App Engine com segurança. Dependendo de como o aplicativo está configurado, você tem as seguintes opções:

Domínios appspot.com
  • Use o prefixo de URL https para enviar uma solicitação HTTPS ao serviço default do projeto do Google Cloud . Por exemplo:
    https://PROJECT_ID.REGION_ID.r.appspot.com
  • Para segmentar recursos específicos no aplicativo do App Engine, use a sintaxe -dot- para separar cada recurso que você quer segmentar. Por exemplo:
    https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

  • Para converter um URL HTTP em um URL HTTPS, substitua os pontos entre cada recurso por -dot-. Por exemplo:
    http://SERVICE_ID.PROJECT_ID.REGION_ID.r.appspot.com
    https://SERVICE_ID-dot-PROJECT_ID.REGION_ID.r.appspot.com

Para saber mais informações sobre URLs HTTPS e como selecionar recursos, consulte Como as solicitações são encaminhadas.

Domínios personalizados

Para enviar solicitações HTTPS com um domínio personalizado, use os certificados SSL gerenciados provisionados pelo App Engine. Saiba mais em Como proteger domínios personalizados com SSL.

Controle de acesso

Em cada projeto do Google Cloud , configure o controle de acesso para determinar quem pode acessar os serviços no projeto, incluindo o App Engine. É possível atribuir papéis diferentes a contas diferentes, para garantir a atribuição apenas das permissões necessárias a cada conta e o respectivo suporte ao seu aplicativo. Para saber detalhes, consulte Como configurar o controle de acesso.

Firewall do App Engine

Com o firewall do App Engine, é possível controlar o acesso ao aplicativo do App Engine por meio de um grupo de regras que podem permitir ou negar solicitações feitas por endereços IP dentro de intervalos especificados. Você não será cobrado pelo tráfego ou pela largura de banda bloqueada pelo firewall. Crie um firewall para:

Permitir somente o tráfego de dentro de uma rede específica
Garanta que apenas endereços IP de um determinado intervalo de redes específicas possam acessar o aplicativo. Por exemplo, crie regras para autorizar o acesso apenas dos endereços IP dentro do intervalo pertencente à rede particular da sua empresa durante a fase de testes do aplicativo. Em seguida, é possível criar e modificar as regras do firewall para controlar o escopo do acesso ao longo do processo de lançamento, permitindo que apenas determinadas organizações, internas ou externas à empresa, acessem o aplicativo até que ele esteja disponível para o público em geral.
Permitir somente o tráfego de um serviço específico
Garanta que todo o tráfego encaminhado ao aplicativo do App Engine seja primeiramente intermediado por proxy por meio de um serviço específico. Por exemplo, se você usar um firewall de aplicativos da Web (WAF, na sigla em inglês) de terceiros para intermediar por proxy as solicitações direcionadas ao aplicativo, será possível criar regras de firewall para negar todas as solicitações, exceto aquelas encaminhadas a partir do WAF.
Bloquear endereços IP abusivos
Embora o Google Cloud tenha muitos mecanismos para evitar ataques, é possível usar o firewall do App Engine para bloquear o tráfego de endereços IP com intenções mal-intencionadas ou proteger o app contra ataques de negação de serviço e formas semelhantes de abuso. É possível adicionar endereços IP ou sub-redes a uma lista de bloqueio para que as solicitações roteadas desses endereços e sub-redes sejam negadas antes de chegarem ao aplicativo do App Engine.

Para saber mais sobre como criar regras e configurar o firewall, consulte Como controlar o acesso com firewalls.

Controles de entrada

É possível usar os controles de entrada para restringir o tráfego de entrada no seu app do App Engine. Por padrão, o app do App Engine aceita tráfego de todas as origens de rede. Para modificar as configurações padrão, editar e visualizar as configurações disponíveis, consulte Especificar configurações de entrada.

Controles de saída

Os controles de saída determinam qual tráfego de saída do serviço do App Engine é roteado pela rede de nuvem privada virtual (VPC) quando você usa a saída de VPC direta (pré-lançamento) ou um conector de acesso VPC sem servidor. Por padrão, apenas as solicitações para endereços IP privados são roteadas pela rede VPC, enquanto as solicitações para destinos públicos são roteadas diretamente para a Internet. Com as configurações de controle de saída, é possível rotear todo o tráfego de saída (all-traffic) do serviço do App Engine pela rede VPC. Para definir as configurações de saída do app, consulte Configurações de saída.

Riscos de saída de dados para a Internet compartilhada e uso aceitável

Por padrão, o tráfego de saída para a Internet pública usa um pool regional de endereços IP dinâmicos compartilhados com outras cargas de trabalho sem servidor. Lembre-se dos seguintes riscos e responsabilidades:

  • O tráfego ruidoso ou abusivo de outra carga de trabalho na região pode prejudicar a reputação do pool de endereços IP compartilhado. Firewalls externos e firewalls de aplicativos da Web (WAFs) de terceiros podem limitar ou bloquear solicitações desses endereços IP compartilhados, causando tempos limite de conexão ou erros HTTP 403.
  • Não use o pool de IPs compartilhados padrão para endpoints externos sensíveis à reputação, como gateways de pagamento, bancos de dados hospedados ou APIs de parceiros por trás de WAFs. Em vez disso, encaminhe todo o tráfego de saída (all-traffic) pela rede VPC e use o Cloud NAT com endereços IP de saída estáticos dedicados.
  • Não execute verificação de rede, enumeração de portas, impressão digital de host, sondagem de vulnerabilidade, raspagem de dados da Web ou teste de carga no caminho de saída de dados para a Internet compartilhado padrão. Essa atividade degrada a reputação do IP compartilhado, pode interromper o serviço para outros clientes em violação da Política de Uso aceitável doGoogle Cloud e pode fazer com que o Google limite ou suspenda sua carga de trabalho.
  • Se você executar cargas de trabalho autorizadas de verificação de segurança, impressão digital de host ou teste de carga, será necessário isolar o tráfego de saída. Encaminhe todas as solicitações de saída (all-traffic) pela rede VPC e pelo Cloud NAT usando seus próprios endereços IP de saída estáticos.

Security Scanner

O Google Cloud Web Security Scanner descobre vulnerabilidades ao rastrear o aplicativo do App Engine, seguir todos os links dentro do escopo dos URLs iniciais e tentar acionar o máximo possível de usuários. entradas e manipuladores de eventos.

Para usar o verificador de segurança, você precisa ser proprietário do projeto doGoogle Cloud . Saiba mais sobre como atribuir papéis em Como configurar o controle de acesso.

É possível executar verificações de segurança no console do Google Cloud para identificar vulnerabilidades de segurança no seu aplicativo do App Engine. Consulte detalhes sobre a execução do Security Scanner em Como usar o Web Security Scanner.

VPC Service Controls

Não compatível no ambiente padrão do App Engine.