ID de región
REGION_ID es un código abreviado que Google asigna en función de la región que eliges cuando creas la 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. En el caso de las apps creadas después de febrero de 2020, REGION_ID.r se incluye en las URL de App Engine. En el caso de las apps existentes creadas antes de esta fecha, el ID de región es opcional en la URL.
Obtén más información acerca de los ID de región.
La seguridad es una función principal de Google Cloud, pero debes seguir algunos pasos para proteger la app de App Engine y, luego, 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 tus proyectos de Google Cloud , consulta Seguridad deGoogle Cloud .
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 - Usa el prefijo de URL
httpspara enviar una solicitud HTTPS al serviciodefaultdel proyecto de Google Cloud , por ejemplo:
https://PROJECT_ID.REGION_ID.r.appspot.com
Para orientar recursos específicos de tu aplicación de App Engine, usa la sintaxis
-dot-con el fin de separar cada recurso que quieras orientar, por ejemplo:
https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.comPara convertir una URL HTTP en una URL HTTPS, reemplaza 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.
- Usa el prefijo de URL
- 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, consulta Protege dominios personalizados con SSL.
Control de acceso
En cada proyecto de Google Cloud , configura el control de acceso para determinar quién puede acceder a los servicios dentro del proyecto, incluido App Engine. Puedes asignar diferentes roles a diferentes cuentas para 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 los accesos a tu aplicación a través de un conjunto de reglas que se encargan de admitir o rechazar las solicitudes de los rangos específicos de direcciones IP. 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 para 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 agregar direcciones IP o subredes a una lista de bloqueo para que las solicitudes enrutadas desde esas direcciones y subredes se rechacen antes de que alcancen la app de App Engine.
Para obtener más información sobre cómo crear reglas y configurar tu firewall, consulta Controla el acceso a las apps mediante firewalls.
Controles de entrada
Puedes usar los controles de entrada para restringir el tráfico entrante a tu app de App Engine. De forma predeterminada, tu app de App Engine acepta el tráfico de todos los orígenes de red. Para modificar la configuración predeterminada, y editar y ver la configuración disponible, consulta Especifica la configuración de entrada.
Controles de salida
Los controles de salida determinan qué tráfico saliente de tu servicio de App Engine se enruta a través de tu red de nube privada virtual (VPC) cuando usas la salida de VPC directa (versión preliminar) o un conector de Acceso a VPC sin servidores. De forma predeterminada, solo las solicitudes a direcciones IP privadas se enrutan a través de tu red de VPC, mientras que las solicitudes a destinos públicos se enrutan directamente a Internet. Con la configuración de control de salida, puedes enrutar todo el tráfico saliente (all-traffic) desde tu servicio de App Engine a través de
tu red de VPC. Para establecer la configuración de salida de tu app, consulta
Configuración de salida.
Riesgos de salida de Internet compartida y Política de Uso Aceptable
De forma predeterminada, el tráfico saliente a la Internet pública usa un grupo regional de direcciones IP dinámicas que se comparte con otras cargas de trabajo sin servidores. Ten en cuenta los siguientes riesgos y responsabilidades:- El tráfico ruidoso o abusivo de otra carga de trabajo en la región puede degradar la
reputación del grupo de direcciones IP compartido. Los firewalls externos y los firewalls de aplicaciones web (WAF) de terceros pueden limitar o bloquear las solicitudes de estas direcciones IP compartidas, lo que causa tiempos de espera de conexión o errores
HTTP 403. - No uses el grupo de IP compartidas predeterminado para extremos externos sensibles a la reputación,
como puertas de enlace de pago, bases de datos alojadas o APIs de socios detrás de
WAF. En su lugar, enruta todo el tráfico saliente (
all-traffic) a través de tu red de VPC y usa Cloud NAT con direcciones IP de salida estáticas dedicadas. - No ejecutes análisis de red, enumeración de puertos, huellas digitales de host, sondeo de vulnerabilidades, extracción de datos web ni pruebas de carga en la ruta de salida de Internet compartida predeterminada. Esta actividad degrada la reputación de la IP compartida, puede interrumpir el servicio para otros clientes, lo que infringe la Política de Uso Aceptable deGoogle Cloud , y puede hacer que Google limite o suspenda tu carga de trabajo.
Si ejecutas cargas de trabajo de análisis de seguridad autorizado, huellas dactilares de host o pruebas de carga, debes aislar el tráfico saliente. Enruta todas las solicitudes salientes (
all-traffic) a través de tu red de VPC y Cloud NAT con tus propias direcciones IP de salida estáticas.
Análisis de seguridad
Web Security Scanner de Google Cloud descubre vulnerabilidades a través del rastreo de tu app de App Engine, siguiendo todos los vínculos dentro del alcance de las URLs de inicio y trata de ejecutar la mayor cantidad de entradas de usuarios y controladores de eventos.
Para usar el análisis de seguridad, debes ser propietario del proyecto deGoogle Cloud . Para obtener más información sobre cómo asignar roles, consulta Configura el control de acceso.
Puedes ejecutar análisis de seguridad desde la consola de Google Cloud para identificar vulnerabilidades de seguridad en la app de App Engine. Para obtener detalles sobre cómo ejecutar Security Scanner, consulta Usa Web Security Scanner.
Controles del servicio de VPC
No es compatible con el entorno estándar de App Engine.