Descripción general de la seguridad de las apps

ID de región

REGION_ID es un código abreviado que Google asigna en función de la región que seleccionas cuando creas tu app. El código no corresponde a un país ni a una provincia, aunque algunos ID de región puedan parecer similares a los códigos de país y provincia que se suelen usar. Incluir REGION_ID.r en las URL de App Engine es opcional para las apps existentes, y pronto será obligatorio para todas las apps nuevas.

A fin de garantizar una transición sin problemas, estamos actualizando App Engine de forma paulatina para usar los ID de región. Si aún no actualizamos tu proyecto de Google Cloud, no verás un ID de región para la app. Dado que el ID es opcional en el caso de las apps existentes, no es necesario que actualices las URL ni que realices otros cambios una vez que el ID de región esté disponible en las apps existentes.

Obtén más información acerca de los ID de región.

La seguridad es una característica central de Google Cloud, pero debes seguir algunos pasos para proteger la app de App Engine y, también, identificar las vulnerabilidades.

Asegúrate de que tu app de App Engine sea segura a través de las siguientes características. Si deseas obtener más información sobre el modelo de seguridad de Google y los pasos disponibles que puedes seguir para proteger los proyectos de Cloud, consulta Seguridad de Google Cloud Platform.

Solicitudes HTTPS

Usa solicitudes HTTPS para acceder a tu aplicación de App Engine de manera segura. Según la configuración de tu app, tienes las siguientes opciones:

Dominios appspot.com
  • Solo usa el prefijo de URL https para enviar una solicitud HTTPS al servicio default del proyecto de Cloud, por ejemplo:
    https://PROJECT_ID.REGION_ID.r.appspot.com
  • Para orientar recursos específicos de la app de App Engine, debes usar la sintaxis -dot- a fin de separar cada recurso que quieras orientar, por ejemplo:
    https://VERSION_ID-dot-SERVICE_ID-dot-PROJECT_ID.REGION_ID.r.appspot.com

  • Sugerencia: Para convertir una URL HTTP en HTTPS, solo debes reemplazar los puntos entre cada recurso por -dot-, por ejemplo:
    http://SERVICE_ID.PROJECT_ID.REGION_ID.r.appspot.com
    https://SERVICE_ID-dot-PROJECT_ID.REGION_ID.r.appspot.com

Para obtener más información sobre las URL HTTPS y sobre cómo orientar recursos, consulta Cómo enrutar solicitudes.

Dominios personalizados

Para enviar solicitudes HTTPS con tu dominio personalizado, puedes usar los certificados SSL administrados que aprovisiona App Engine. Para obtener más información al respecto, consulta Protege dominios personalizados con SSL.

Controladores de app

A fin de forzar HTTPS para los controladores de tu app, puedes especificar el elemento secure: always para cada controlador en tu app.yaml, como se muestra a continuación:

handlers:
- url: /.*
  script: auto
  secure: always
  redirect_http_response_code: 301

Si usas secure: always, todo el tráfico HTTP se redirecciona a una URL HTTPS con la misma ruta de acceso. Para obtener más información, consulta la referencia de configuración de app.yaml.

Control de acceso

En cada proyecto de Cloud, configura el control de acceso para determinar quién puede acceder a los servicios dentro del proyecto, incluido App Engine. Puedes asignar diferentes funciones a diferentes cuentas a fin de asegurarte de que cada cuenta tenga solo los permisos necesarios para admitir la app. Si deseas obtener más información, consulta Configura el control de acceso.

Firewall de App Engine

El firewall de App Engine te permite controlar el acceso a la app de App Engine mediante un conjunto de reglas que pueden admitir o rechazar solicitudes de rangos de direcciones IP específicos. No se te cobrará por el tráfico o el ancho de banda que sea bloqueado por el firewall. Crea un firewall para:

Permitir tráfico solo desde una red específica
Asegúrate de que solo un rango de direcciones IP de redes específicas pueda acceder a tu aplicación. Por ejemplo, crea reglas para permitir solo el rango de direcciones IP de la red privada de tu empresa durante la fase de prueba de la aplicación. Durante la etapa de lanzamiento, puedes crear y modificar las reglas de tu firewall para controlar el alcance de los accesos, además de permitir que solo ciertas organizaciones, internas o externas a tu empresa, accedan a tu aplicación a medida que cambia la disponibilidad pública.
Permitir tráfico solo desde un servicio específico
Asegúrate de que todo el tráfico de tu aplicación de App Engine pase primero por un proxy de servicio específico. Por ejemplo, si utilizas un firewall de aplicación web (WAF) de terceros para que las solicitudes que se dirigen a tu aplicación pasen por un proxy, puedes crear reglas de firewall y rechazar todas las solicitudes, excepto las que se reenvían desde tu WAF.
Bloquear direcciones IP maliciosas
Si bien Google Cloud tiene muchos mecanismos para evitar ataques, puedes usar el firewall de App Engine a fin de bloquear el tráfico hacia la app desde direcciones IP que presenten intenciones maliciosas o proteger la app contra ataques de denegación del servicio y formas similares de abuso. Puedes crear una lista negra de direcciones IP o de subredes para que las solicitudes enviadas desde estas direcciones y subredes se rechacen antes de que alcancen tu aplicación de App Engine.

Para obtener más información sobre cómo crear reglas y configurar el firewall, consulta Controla el acceso a una app mediante firewalls.

Análisis de seguridad

Google Cloud Security Scanner rastrea la app de App Engine a fin de descubrir vulnerabilidades. Para ello, sigue todos los vínculos dentro del alcance de las URL de inicio y trata de ejecutar la mayor cantidad posible de entradas de usuario y de controladores de eventos.

Para usar Security Scanner, debes ser propietario del proyecto de Cloud. Para obtener más información sobre cómo asignar funciones, consulta Configura el control de acceso.

Puedes ejecutar análisis de seguridad desde Google Cloud Console a fin de identificar vulnerabilidades de seguridad en la app de App Engine. Para obtener detalles sobre cómo ejecutar Security Scanner, consulta la Guía de inicio rápido de Security Scanner.