En este documento, encontrarás ayuda para identificar productos de Google Cloud y estrategias de mitigación que pueden ayudarte a defenderte de ataques comunes a nivel de aplicación que se describen en el documento OWASP Top 10. OWASP Top 10 es una lista de la Fundación Open Web Application Security (OWASP) de los 10 principales riesgos de seguridad que cada propietario de la aplicación debe conocer. Aunque ningún producto de seguridad puede garantizar una protección completa contra estos riesgos, aplicar estos productos y servicios cuando tengan sentido en tu arquitectura puede contribuir a una solución sólida de seguridad multicapa.
La infraestructura de Google está diseñada para ayudarte a compilar, implementar y operar servicios de manera segura. Google administra la seguridad física y operativa, la encriptación de datos en reposo y en tránsito, y muchas otras facetas importantes de una infraestructura segura. Para heredar estos beneficios, debes implementar tus aplicaciones en Google Cloud, pero es posible que debas tomar medidas adicionales para proteger tu aplicación contra ataques específicos.
Las estrategias de mitigación que se enumeran en este documento se ordenan según el riesgo de seguridad de la aplicación y el producto de Google Cloud. Muchos productos cumplen una función en la creación de una estrategia de defensa en profundidad contra riesgos de seguridad web. En este documento, se proporciona información sobre cómo otros productos pueden mitigar los riesgos del OWASP Top 10, pero se brindan detalles adicionales sobre cómo Google Cloud Armor y Apigee pueden mitigar una amplia gama de esos riesgos. Google Cloud Armor, que actúa como un firewall de aplicación web (WAF), y Apigee, que actúa como una puerta de enlace de API, pueden ser muy útiles para bloquear diferentes tipos de ataques. Estos productos se encuentran en la ruta de tráfico de Internet y pueden bloquear el tráfico externo antes de que lleguen a tus aplicaciones en Google Cloud.
Descripciones generales de los productos
Los productos de Google Cloud que se enumeran en la siguiente tabla pueden ayudar a defenderte de los 10 riesgos de seguridad principales:
Producto | Resumen | A01 | A02 | A03 | A04 | A05 | A06 | A07 | A08 | A09 | A10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Transparencia de acceso | Expande tu visibilidad y control sobre tu proveedor de servicios en la nube con registros de acceso de administrador y controles de aprobación. | ✓ | ✓ | ||||||||
Artifact Registry | Almacena artefactos y compila dependencias de manera central | ✓ | |||||||||
Apigee | Diseña, protege y escala interfaces de programación de aplicaciones. | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
Autorización binaria | Asegúrate de que solo se implementen imágenes de contenedor confiables en Google Kubernetes Engine. | ✓ | ✓ | ||||||||
Chronicle | Encuentra automáticamente amenazas en tiempo real y a gran escala con la infraestructura, las técnicas de detección y los indicadores de Google. | ✓ | |||||||||
Cloud Asset Inventory | Visualiza, supervisa y analiza todos tus elementos de Google Cloud y Google Distributed Cloud o múltiples nubes en proyectos y servicios | ✓ | ✓ | ✓ | ✓ | ||||||
Cloud Build | Compila, implementa y prueba en Google Cloud | ✓ | |||||||||
Protección de datos sensibles | Descubre, clasifica y protege tus datos más sensibles. | ✓ | ✓ | ✓ | |||||||
Cloud Load Balancing | Controla los algoritmos de cifrado que negocia tu balanceador de cargas del proxy SSL o HTTPS | ✓ | ✓ | ✓ | ✓ | ||||||
Cloud Logging | Administración y análisis de registros en tiempo real y a gran escala | ✓ | |||||||||
Cloud Monitoring | Recopila y analiza métricas, eventos y metadatos de los servicios de Google Cloud y una amplia variedad de aplicaciones y servicios de terceros | ✓ | |||||||||
Cloud Source Repositories | Almacena, administra y rastra el código de seguimiento en un solo lugar para tu equipo. | ✓ | |||||||||
Detección de amenazas a contenedores | Supervisa de forma continua el estado de las imágenes de contenedor, evalúa todos los cambios, y supervisa los intentos de acceso remoto para detectar ataques de entorno de ejecución casi en tiempo real. | ✓ | ✓ | ||||||||
Event Threat Detection | Supervisa la transmisión de Cloud Logging de tu organización y detecta amenazas casi en tiempo real. | ✓ | ✓ | ✓ | |||||||
Forseti Inventory | Recopila y almacena instantáneas de la arquitectura. | ✓ | |||||||||
Forseti Scanner | Analiza los datos de inventario según las políticas personalizadas y alerta sobre desviaciones inesperadas. | ✓ | |||||||||
Google Cloud Armor | Un firewall de aplicación web (WAF) implementado en el perímetro de la red de Google para ayudar a defenderse de vectores de ataque comunes. | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
Boletines de seguridad de Google Cloud | Los boletines de seguridad más recientes relacionados con los productos de Google Cloud | ✓ | |||||||||
Identity-Aware Proxy (IAP) | Usa la identidad y el contexto para proteger el acceso a tus aplicaciones y VM. | ✓ | ✓ | ✓ | |||||||
Identity Platform | Agrega la funcionalidad de administración de identidades y accesos a las aplicaciones, protege las cuentas de usuario y escala la administración de identidades. | ✓ | ✓ | ||||||||
Cloud Key Management Service | Administra las claves de encriptación en Google Cloud. | ✓ | ✓ | ||||||||
reCAPTCHA Enterprise | Protege tu sitio web de las actividades fraudulentas, el spam y el abuso | ✓ | |||||||||
Secret Manager | Almacena claves de API, contraseñas, certificados y otros datos sensibles. | ✓ | ✓ | ||||||||
Security Command Center | Visibilidad centralizada para las estadísticas de seguridad y la inteligencia de amenazas a fin de detectar vulnerabilidades en las aplicaciones. | ✓ | |||||||||
Security Health Analytics (SHA) | Genera resultados de vulnerabilidades que están disponibles en Security Command Center. | ✓ | ✓ | ✓ | ✓ | ||||||
Llaves de seguridad Titan | Ayuda a proteger a los usuarios de alto valor con dispositivos 2FA resistentes a la suplantación de identidad (phishing) que se compilan con un chip de hardware (con firmware creado por Google) para verificar la integridad de la llave. | ✓ | |||||||||
Firewalls de nube privada virtual | Permite o deniega conexiones desde o hacia las instancias de máquinas virtuales (VM) | ✓ | |||||||||
Controles del servicio de VPC | Aisla recursos de los servicios multiusuario de Google Cloud para mitigar los riesgos de robo de datos. | ✓ | ✓ | ||||||||
VirusTotal | Analiza las URL y los archivos sospechosos para detectar tipos de software malicioso compartirlos automáticamente con la comunidad de seguridad | ✓ | ✓ | ||||||||
Web Security Scanner | Genera tipos de resultados de vulnerabilidad que están disponibles en Security Command Center | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
A01: Control de acceso dañado
El control de acceso dañado hace referencia a los controles de acceso que solo se aplican de forma parcial en el lado del cliente o que se implementan de manera débil. La mitigación de estos controles a menudo requiere una reescritura en el lado de la aplicación para aplicar de forma correcta que solo los usuarios autorizados accedan a los recursos.
Apigee
Caso de uso:
- Aplicación del control de acceso
- Limita la manipulación de datos
Apigee admite un enfoque en capas para implementar controles de acceso a fin de evitar que los actores que actúan de mala fé realicen cambios no autorizados o accedan al sistema.
Configura el control de acceso basado en funciones (RBAC) para permitir que los usuarios solo accedan a la funcionalidad y la configuración que necesiten. Crea mapas de clave-valor encriptados para almacenar pares clave-valor sensibles, que aparecen enmascarados en la IU de Edge y en las llamadas a la API de administración. Configura el inicio de sesión único con el proveedor de identidad de tu empresa.
Configura portales para desarrolladores a fin de mostrar productos de API específicos según la función del usuario. Configura el portal para ocultar o mostrar el contenido según la función del usuario.
Cloud Asset Inventory
Caso de uso:
- Supervisar la TI no autorizada (también conocida como “shadow IT”)
- Instancias de procesamiento desactualizadas
Uno de los vectores más comunes para la exposición de datos es la infraestructura de TI huérfana o no autorizada. Configura notificaciones en tiempo real para recibir alertas de recursos en ejecución inesperados que podrían estar protegidos de forma inadecuada o usar software obsoleto.
Cloud Load Balancing
Caso de uso:
- Control precios de algoritmo de cifrado SSL y TLS
Evita el uso de algoritmos de cifrado SSL o TLS débiles mediante la asignación de un grupo predefinido o una lista personalizada de algoritmos de cifrado que Cloud Load Balancing puede usar.
Forseti Scanner
Caso de uso:
- Supervisión de la configuración de control de acceso
Supervisa los recursos de Google Cloud de forma sistemática con el objetivo de garantizar que los controles de acceso se establezcan como deseas. Crea políticas basadas en reglas para codificar la posición de seguridad. Si la configuración cambia de forma inesperada, Forseti Scanner te notifica para que vuelvas de forma automática a un estado conocido.
Google Cloud Armor
Caso de uso:
- Filtra solicitudes de origen cruzado
- Filtra ataques de inclusión de archivos locales o remotos
- Filtra ataques de contaminación por parámetros HTTP
Muchos casos de control de acceso dañado no se pueden mitigar mediante el uso de un firewall de aplicación web porque las aplicaciones no requieren o no verifican los tokens de acceso de forma adecuada para cada solicitud, y los datos se pueden manipular en el cliente. Varios desafíos de Juice Shop relacionados con el control de acceso dañado Por ejemplo, cuando se publican comentarios en el nombre de otro usuario, se usa el hecho de que algunas solicitudes no están autenticadas en el servidor. Como puedes ver en la solución de desafío, el ataque a esta vulnerabilidad se encuentra completamente del lado del cliente y, por lo tanto, no se puede mitigar mediante Google Cloud Armor.
Algunos desafíos se pueden mitigar de forma parcial en el servidor si no se puede aplicar un parche a la aplicación de inmediato.
Por ejemplo, si los ataques de falsificación de solicitudes entre sitios (CSRF) son posibles porque tu servidor web implementa un uso compartido de recursos entre dominios (CORS) de forma deficiente, como se demuestra en el desafío de Juice Shop de CSRF, puedes mitigar esto mediante el bloqueo de solicitudes de orígenes inesperados con una regla personalizada. La siguiente regla coincide con todas las solicitudes con orígenes distintos de example.com y google.com:
has(request.headers['origin']) &&
!((request.headers['origin'] == 'https://example.com')||
(request.headers['origin'] == 'https://google.com') )
Cuando se rechaza el tráfico que coincide con esa regla, la solución para el desafío de CSRF deja de funcionar.
En el desafío de manipulación de cestas, se usa la contaminación de parámetros HTTP (HPP) para que puedas ver cómo atacar la tienda con los pasos que se indican en lasolución de desafío.
La HPP se detecta como parte del conjunto de reglas de ataque de protocolo. Para ayudar a bloquear este tipo de ataque, usa la siguiente regla: evaluatePreconfiguredExpr('protocolattack-stable')
.
Identity-Aware Proxy y acceso adaptado al contexto
Caso de uso:
- Control de acceso centralizado
- Funciona con la nube y de forma local
- Protege las conexiones HTTP y TCP
- Acceso adaptado al contexto
IAP te permite usar la identidad y el contexto para formar un muro de autenticación y autorización seguro en torno a tu aplicación. Usa un sistema de autenticación y autorización administrado de forma central basado en IAM y Cloud Identity para evitar la autorización dañada o el control de acceso de tu aplicación pública.
Aplica controles de acceso detallados a aplicaciones web, VM, API de Google Cloud y aplicaciones de Google Workspace según la identidad del usuario y el contexto de la solicitud sin necesidad de una VPN tradicional. Usa una sola plataforma para las aplicaciones y los recursos de infraestructura locales y alojados en la nube.
Security Health Analytics
Caso de uso:
- Aplicación de MFA o 2FA
- Protección de la clave de API
- Supervisión de políticas de SSL
Evita el control de acceso dañado mediante la supervisión del cumplimiento de la autenticación de varios factores, la política de SSL y el estado de tus claves de API.
Web Security Scanner
Caso de uso:
- Repositorios expuestos al público
- Validación de encabezados de solicitudes no segura
Web Security Scanner analiza tus aplicaciones web en busca de vulnerabilidades, como repositorios de código visibles de forma pública y validación mal configurada de encabezados de solicitudes.
A02: Fallas criptográficas
Las fallas criptográficas pueden ocurrir debido a la falta de encriptación o a una encriptación débil en tránsito, o a la exposición accidental de datos sensibles. Los ataques contra esas vulnerabilidades suelen ser específicos de la aplicación y, por lo tanto, se necesita un enfoque de defensa en profundidad para mitigarla.
Apigee
Caso de uso:
- Proteja los datos sensibles.
Usa TLS unidireccional y bidireccional para proteger la información sensible a nivel de protocolo.
Usa políticas, como la política de asignación de mensaje y la política de JavaScript para quitar los datos sensibles antes de que se muestren al cliente.
Usa técnicas estándar de OAuth y considera agregar HMAC, hash, estado, nonce, PKCE u otras técnicas para mejorar el nivel de autenticación de cada solicitud.
Enmascara datos sensibles en la herramienta de seguimiento de Edge.
Encripta datos sensibles en reposo en mapas de clave-valor.
Cloud Asset Inventory
Caso de uso:
- Servicio de búsqueda
- Analizador de acceso
Uno de los vectores más comunes para la exposición de datos es la infraestructura de TI huérfana o no autorizada. Puedes identificar los servidores que nadie mantiene y los buckets con reglas de uso compartido demasiado amplias mediante el análisis de los datos de series temporales de elementos en la nube.
Configura las notificaciones en tiempo real para recibir alertas del aprovisionamiento inesperado de recursos que podrían estar protegidos de forma inadecuada o no autorizados.
API de Cloud Data Loss Prevention (parte de Sensitive Data Protection)
Caso de uso:
- Descubrimiento y clasificación de datos sensibles
- Enmascaramiento automático de datos
La API de Cloud Data Loss Prevention (API de DLP) te permite analizar cualquier dato potencialmente sensible almacenado en buckets o bases de datos para evitar filtraciones de información no deseadas. Si se identifican datos no permitidos, estos pueden ocultarse o marcarse de forma automática.
Cloud Key Management Service
Caso de uso:
- Administración de claves criptográficas seguras
(Cloud KMS) ayuda a prevenir una posible exposición de tus claves criptográficas. Usa este servicio de administración de claves alojado en la nube a fin de administrar claves criptográficas simétricas y asimétricas para tus servicios en la nube de la misma manera que lo haces localmente. Puedes generar, usar, rotar y destruir claves criptográficas AES256, RSA 2048, RSA 3072, RSA 4096, EC P256 y EC P384.
Cloud Load Balancing
Caso de uso:
- Control precios de algoritmo de cifrado SSL y TLS
Las políticas de SSL pueden ayudar a prevenir la exposición de datos sensibles, ya que te dan control sobre los algoritmos de cifrado y las características SSL y TLS que se permiten en un balanceador de cargas. Bloquea los algoritmos de cifrado no aprobados o inseguros según sea necesario.
Google Cloud Armor
Caso de uso:
- Filtra URL de ataque conocidas
- Restringe el acceso a extremos sensibles
En general, la exposición de los datos sensibles debe detenerse en el origen, pero debido a que cada ataque es específico de la aplicación, los firewalls de aplicaciones web solo se pueden usar de manera limitada para detener la exposición de datos de manera amplia. Sin embargo, si no se puede aplicar un parche a tu aplicación de inmediato, puedes restringir el acceso a extremos o patrones de solicitud mediante las reglas personalizadas de Google Cloud Armor.
Por ejemplo, se pueden explotar varios desafíos de Juice Shop sobre la exposición de datos sensibles debido a un recorrido de directorio inseguro y a ataques de inserción de bytes nulos. Puedes mitigar estas inyecciones si verificas las strings en la URL con la siguiente expresión personalizada:
request.path.contains("%00") || request.path.contains("%2500")
Para resolver el desafío de las métricas expuestas, accede al subdirectorio /metrics
que usa Prometheus.
Si tienes un extremo sensible que está expuesto y no puedes quitar el acceso de inmediato, puedes restringir el acceso a él, excepto para ciertos rangos de direcciones IP. Usa una regla similar a la siguiente expresión personalizada:
request.path.contains("/metrics") && !(inIpRange(origin.ip, '1.2.3.4/32')
Reemplaza 1.2.3.4/32
por el rango de direcciones IP que debe tener acceso a la interfaz de métricas.
Los archivos de registro expuestos por accidente se usan para resolver uno de los desafíos de Juice Shop. Para evitar exponer registros, establece una regla que rechace el acceso a los archivos de registro por completo: request.path.endsWith(".log")
.
Identity-Aware Proxy y acceso adaptado al contexto
Caso de uso:
- Proteger el acceso remoto a los servicios sensibles
- Control de acceso centralizado
- Acceso adaptado al contexto
Usa la identidad y el contexto para formar un perímetro seguro de autenticación y autorización en torno a tu aplicación. Implementa herramientas, como informes de errores internos, bases de conocimiento corporativas o correo electrónico detrás de IAP, para permitir el acceso adaptado al contexto solo a personas autorizadas desde cualquier parte de Internet.
Con el acceso adaptado al contexto, puedes aplicar controles de acceso detallados a las aplicaciones web, máquinas virtuales (VM) y API de Google Cloud, y aplicaciones de Google Workspace basadas en Google Cloud en la identidad de un usuario y el contexto de la solicitud sin una VPN tradicional Este enfoque se basa en el modelo de seguridad de confianza cero y la implementación de BeyondCorp de Google, por lo que te permite brindar acceso a los usuarios, aplicar controles detallados y usar una sola plataforma para las aplicaciones y los recursos de infraestructura en la nube y en las instalaciones.
Secret Manager
Caso de uso:
- Claves criptográficas
- Claves de API
- Otras credenciales del sistema
Secret Manager es un servicio de almacenamiento seguro para tus datos más valiosos, como claves de API, contraseñas de cuentas de servicio y elementos criptográficos. Almacenar de forma centralizada estos secretos te permite confiar en los sistemas de autenticación y autorización de Google Cloud, incluido IAM, para determinar si alguna solicitud de acceso es válida.
Secret Manager no está diseñado para operaciones a gran escala, como la asignación de token con tarjetas de crédito o el almacenamiento de contraseñas de usuarios individuales. Estas aplicaciones deben depender de Identity Platform para CIAM, Cloud Identity para los miembros de tu organización o el software de asignación de tokens dedicado.
Security Health Analytics
Caso de uso:
- Aplicación de los lineamientos de MFA y 2FA
- Protección de la clave de API
- Aplicación de rotación de claves de API
- Privacidad de imágenes de Compute
- Aplicación de reglas de clave SSH
- Supervisión del inicio seguro
- Seguridad de acceso a la API
- Supervisión de políticas de SSL
- Registro inhabilitado
- Alertas de LCA de bucket público
Evita la exposición de datos sensibles mediante la supervisión del cumplimiento de la autenticación de varios factores y el estado de las claves de API. Obtén alertas para configuraciones no seguras en el almacenamiento de imágenes de contenedor, Cloud Storage, una política de SSL, una política de clave SSH, registros, acceso a la API y mucho más.
VirusTotal
Caso de uso:
- Prevención de la suplantación de identidad
VirusTotal te permite analizar URL en busca de contenido malicioso antes de presentarlas a tus usuarios o empleados, ya sea que se encuentren en la entrada del usuario, correos electrónicos, chat, registros u otras ubicaciones.
Controles del servicio de VPC
Caso de uso:
- Firewall para servicios administrados
Une los servicios administrados de forma crítica en un firewall para controlar quién puede llamar al servicio y a quién puede responder. Bloquea la salida no autorizada y el robo de datos con las reglas del perímetro de salida en servicios como Cloud Functions. Evita las solicitudes de ubicaciones y usuarios no autorizados a bases de datos y almacenes de datos administrados. Crea perímetros seguros alrededor de API potentes o potencialmente costosas.
Web Application Scanner
Caso de uso:
- Analizador de riesgos de seguridad para aplicaciones web
- Analizador de disponibilidad del repositorio de código fuente
Para evitar que la aplicación web exponga datos sensibles, asegúrate de que las contraseñas no se envíen en texto simple. Para evitar la filtración de código fuente sin procesar potencialmente devastador, verifica los repositorios de código fuente de Git y Apache Subversion expuestos. Estos análisis están diseñados para abarcar controles específicos de OWASP Top 10.
Web Security Scanner
Caso de uso:
- Contraseñas no encriptadas que se transmiten a través de la red
Web Security Scanner analiza tus aplicaciones web y, también, informa el hallazgo de errores y vulnerabilidades. Si tu aplicación transmite contraseñas en texto no encriptado, Web Security Scanner genera un hallazgo CLEAR_TEXT_PASSWORD
.
A03: Inserción
Las fallas de inserción, como la inserción de SQL, NoSQL, SO y LDAP, se producen cuando se envían datos no confiables a un intérprete como parte de un comando o una consulta. Los datos hostiles del atacante pueden engañar al intérprete para que ejecute comandos no deseados o acceda a datos sin la autorización adecuada. Recomendamos que la aplicación limpie o filtre los datos del usuario antes de enviarlos a un intérprete.
En las siguientes secciones, se analizan los productos de Google Cloud que pueden ayudar a mitigar este riesgo.
Apigee
Caso de uso:
- Bloqueo de inyecciones SQL
- Bloqueo de inyecciones NoSQL
- Bloqueo de inyecciones LDAP
- Bloqueo de inyecciones JavaScript
Apigee proporciona varias políticas de validación de entrada para verificar que los valores proporcionados por un cliente coincidan con las expectativas configuradas antes de permitir el procesamiento adicional de las políticas o reglas. Apigee, que actúa como puerta de enlace para las solicitudes a la API entrantes, ejecuta una verificación de límite a fin de garantizar que la estructura de la carga útil esté dentro de un rango aceptable. Puedes configurar un proxy de API para que la rutina de validación de entrada transforme la entrada a fin de quitar las secuencias de caracteres riesgosas y, luego, reemplazarlas por valores seguros.
Existen varios enfoques para validar las entradas con la plataforma de Apigee:
- JSONThreatProtection verifica la carga útil de JSON para detectar amenazas.
- XMLThreatProtection verifica la carga útil de XML para detectar amenazas.
- JavaScript valida parámetros y encabezados.
- La política RegularExpressionProtection controla las inyecciones de código SQL.
- La política
OASValidation
valida un mensaje de solicitud o respuesta entrante con una especificación de OpenAPI (JSON o YAML). - La política
SOAPMessageValidation
valida cualquier mensaje XML con sus esquemas XSD y también puede validar mensajes SOAP en relación con una definición de WSDL.
Detección de amenazas a contenedores
Caso de uso:
- Detección de secuencias de comandos maliciosas
- Detección de shells inversas
- Detección de instalación de software malicioso
El detector Malicious Script Executed
de Container Threat Detection analiza todas las secuencias de comandos de shell ejecutadas en el sistema y, luego, informa sobre las que parecen maliciosas. Esto proporciona una forma de detectar ataques de inserción de comandos de shell. Después de insertar de forma correcta el comando de shell, un atacante puede generar una shell inversa, que activa el detector Reverse Shell
.
También puede instalar software malicioso, que activa los detectores Added Binary Executed
y Added Library Loaded
.
Google Cloud Armor
Caso de uso:
- Filtrado de inyecciones SQL
- Filtrado de inserciones PHP
Google Cloud Armor puede bloquear ataques de inserción comunes antes de que lleguen a tu aplicación. Para la injección de SQL (SQLi), Google Cloud Armor tiene un conjunto de reglas predefinido que se basa en el conjunto de reglas principales de OWASP Modsecurity. Puedes compilar políticas de seguridad que bloqueen los ataques de SQLi comunes definidos en el conjunto de reglas principales con la regla evaluatePreconfiguredExpr('sqli-stable')
sola o junto con otras reglas personalizadas. Por ejemplo, puedes limitar el bloqueo de SQLi para aplicaciones específicas mediante un filtro de ruta de URL.
Para inyecciones PHP, existe otro conjunto de reglas preconfiguradas. Puedes usar la regla evaluatePreconfiguredExpr('php-stable')
para bloquear ataques comunes de inyección de PHP.
Según la aplicación, la activación de las expresiones preconfiguradas puede generar algunos falsos positivos, ya que algunas de las reglas del conjunto de reglas son bastante sensibles. Para obtener más información, consulta Solución de problemas de falsos positivos y Cómo ajustar el conjunto de reglas a diferentes niveles de sensibilidad.
Para ataques de inserción que no sean de SQL o PHP, puedes crear reglas personalizadas que bloqueen solicitudes cuando se usen palabras clave o patrones de escape específicos en esos protocolos en la ruta de la solicitud o consulta. Asegúrate de que estos patrones no aparezcan en las solicitudes válidas. También puedes limitar estas reglas para que solo se usen en extremos o rutas específicos que podrían interpretar los datos que se les pasan.
Además, algunos ataques de inyección se pueden mitigar mediante el uso de las reglas preconfiguradas para la ejecución de código remoto y la inyección de archivos remotos.
Web Security Scanner
Caso de uso:
- Supervisión de las secuencias de comandos entre sitios
- Supervisión de la inserción de SQL
Web Security Scanner analiza tus aplicaciones web en busca de vulnerabilidades y proporciona detectores que supervisan por si ocurren ataques de secuencias de comandos entre sitios y de inserción de SQL.
A04: Diseño no seguro
El diseño no seguro ocurre cuando las organizaciones no implementan los medios para evaluar y abordar las amenazas durante el ciclo de vida de desarrollo. El modelado de amenazas, cuando se realiza al comienzo de las fases de diseño y perfeccionamiento, y continúa durante las fases de desarrollo y prueba, ayuda a las organizaciones a analizar las suposiciones y defectos de falla. Una cultura libre de culpas para aprender de los errores es clave en el diseño seguro.
Apigee
Casos de uso:
- Validación de entradas
- Controles de acceso
- Solución de errores
- Políticas de protección de contenido
- Administración de contraseñas
Apigee te permite validar las solicitudes y respuestas entrantes en tu aplicación mediante la política OASValidation. Además, para proteger el acceso, puedes configurar el inicio de sesión único (SSO) y el control de acceso basado en roles (RBAC), limitar el acceso a las API (mediante Auth0, por ejemplo) y restringir qué direcciones IP tienen acceso a tu entorno Con las reglas de control de fallas, puedes personalizar la forma en que el proxy de API reacciona a los errores.
A fin de protegerse de las contraseñas no seguras para usuarios globales de Apigee, Apigee proporciona una funcionalidad de vencimiento, bloqueo y restablecimiento de contraseñas. Además, puedes habilitar la autenticación de dos factores (2FA).
API de Cloud Data Loss Prevention (parte de Sensitive Data Protection)
Caso de uso:
- Identifica y oculta datos confidenciales
Con la API de Cloud Data Loss Prevention, puedes identificar datos confidenciales y asignarles tokens. La API de DLP puede ayudarte a limitar la exposición de datos confidenciales, ya que después de almacenar datos y asignarles tokens, puedes configurar controles de acceso para restringir quién puede ver los datos. Para obtener más información, consulta Automatiza la clasificación de los datos subidos a Cloud Storage y Desidentificación y reidentificación de PII en conjuntos de datos a gran escala con Sensitive Data Protection.
Secret Manager
Caso de uso:
- Protege el almacenamiento de credenciales
Secret Manager permite que las aplicaciones y las canalizaciones accedan a los valores de los secretos con nombre en función de los permisos otorgados con IAM. También proporciona acceso programático a los secretos para que los procesos automatizados puedan acceder a los valores de estos. Cuando están habilitadas, las interacciones con Secret Manager proporciona un registro de auditoría. Usa estos registros de auditoría para ayudarte con las necesidades de detección de intrusiones y cumplimiento.
Web Security Scanner
Caso de uso:
- Identifica vulnerabilidades de seguridad en tus aplicaciones.
Web Security Scanner analiza las aplicaciones web en busca de vulnerabilidades. Sigue los vínculos y trata de ejecutar la mayor cantidad posible de controladores de eventos y entradas del usuario. El detector CACHEABLE_PASSWORD_INPUT
genera un hallazgo si las contraseñas ingresadas en la aplicación web se pueden almacenar en la caché de un navegador normal en lugar de un almacenamiento de contraseñas seguro.
A05: Configuración incorrecta de seguridad
La configuración incorrecta de seguridad hace referencia a fallas de aplicación sin parche, cuentas predeterminadas abiertas, y archivos y directorios desprotegidos que generalmente se pueden evitar con el endurecimiento de la aplicación. La configuración incorrecta de seguridad puede ocurrir de muchas maneras, como confiar en configuraciones predeterminadas, hacer configuraciones parciales que podrían ser no seguras, permitir mensajes de error que contengan datos sensibles, almacenar datos en la nube sin controles de seguridad adecuados o configurar de forma incorrecta encabezados HTTP.
Apigee
Caso de uso:
- Administra las configuraciones de seguridad
- Supervisa las configuraciones de seguridad
Un flujo compartido permite que los desarrolladores de API combinen políticas y recursos en un grupo reutilizable. Debido a que captura la funcionalidad reutilizable en un solo lugar, un flujo compartido te ayuda a garantizar la coherencia, acortar el tiempo de desarrollo y administrar el código con mayor facilidad. Puedes incluir un flujo compartido dentro de proxies de API individuales mediante una política de FlowFlow o puedes colocar flujos compartidos en hooks de flujo a fin de ejecutar automáticamente la lógica de flujo compartido para cada proxy de API implementado en el mismo entorno.
Cloud Asset Inventory
Caso de uso:
- Servicio de notificaciones en tiempo real
Las notificaciones en tiempo real pueden alertarte sobre el aprovisionamiento inesperado de recursos que pueden estar protegidos de forma inadecuada o no autorizados.
Cloud Load Balancing
Caso de uso:
- Control precios de algoritmo de cifrado SSL y TLS
Evita el uso de cifrados SSL o TLS conocidos y vulnerables mediante la asignación de un grupo predefinido o una lista personalizada de algoritmos de cifrado que puede usar un balanceador de cargas.
Google Cloud Armor
Caso de uso:
- Filtra extremos no seguros
- Filtra ataques de inclusión de archivos locales o remotos
- Filtra ataques de protocolos
Debido a que la configuración incorrecta de la seguridad puede ocurrir a nivel de la aplicación, la Fundación OWASP recomienda endurecer y aplicar parches a tu aplicación directamente y quitar todas las funciones innecesarias.
Aunque un firewall de aplicación web (WAF), como Google Cloud Armor, no puede ayudarte a corregir la configuración incorrecta subyacente, puedes bloquear el acceso a partes de la aplicación por completo o para todos, excepto direcciones IP o países específicos. Restringir el acceso puede reducir el riesgo de que se exploten esas configuraciones incorrectas.
Por ejemplo, si tu aplicación expone una interfaz administrativa con una URL común como /admin
, puedes restringir el acceso a esta interfaz incluso si está autenticada. Puedes hacer esto con una regla de denegación, por ejemplo:
request.path.contains("/admin") && !(inIpRange(origin.ip, '1.2.3.4/32')
Reemplaza 1.2.3.4/32
por el rango de direcciones IP que debe tener acceso a la interfaz de administrador.
Algunas opciones de configuración incorrectas se pueden mitigar de forma parcial mediante el uso de conjuntos de reglas predefinidas de inclusión de archivos locales (LFI) o inclusión de archivos remotos (RFI). Por ejemplo, aprovechar el desafío de las imágenes de sitios cruzados de Juice Shop no tiene éxito cuando se aplica el conjunto de reglas de LFI. Usa la regla evaluatePreconfiguredExpr('lfi-stable') ||
evaluatePreconfiguredExpr('rfi-stable')
para bloquear las solicitudes mediante los conjuntos de reglas LFI y RFI, y ajusta las reglas según sea necesario. Puedes verificar que la solución de desafío ya no tenga éxito.
Algunos ataques HTTP también se pueden mitigar mediante el uso de conjuntos de reglas preconfigurados:
- Para evitar la manipulación de verbos HTTP, usa el conjunto de reglas de aplicación de métodos (en vista previa). Usa la regla
evaluatePreconfiguredExpr('methodenforcement-stable')
para inhabilitar los métodos de solicitud HTTP que no sean los métodosGET
,HEAD
,POST
yOPTIONS
. - Para bloquear ataques comunes contra el análisis y los proxies HTTP, como el tráfico de solicitudes HTTP, la división de respuestas HTTP y la inyección de encabezado HTTP, usa el conjunto de reglas de ataque de protocolo mediante la regla
evaluatePreconfiguredExpr('protocolattack-stable')
.
Security Health Analytics
Caso de uso:
- Supervisión y alertas de control de seguridad
Supervisa decenas de indicadores a través de una única interfaz para asegurarte de que la aplicación mantenga las prácticas recomendadas de seguridad.
Web Security Scanner
Caso de uso:
- Analizador de aplicaciones web adaptado para el documento OWASP Top 10
- Errores de configuración del servidor HTTP
- Contenido HTTP/HTTPS mixto
- Entidad externa XML (XXE)
Web Security Scanner supervisa en busca de errores de seguridad comunes, como las discrepancias de tipo de contenido, los encabezados de seguridad no válidos y la entrega de contenido mixto. Web Security Scanner también supervisa en busca de vulnerabilidades, como las de XXE. Estos análisis están diseñados para abarcar los controles de OWASP Top 10. Los siguientes detectores analizan parámetros de configuración de seguridad incorrectos:
INVALID_CONTENT_TYPE
INVALID_HEADER
MISMATCHING_SECURITY_HEADER_VALUES
MISSPELLED_SECURITY_HEADER_NAME
MIXED_CONTENT
XXE_REFLECTED_FILE_LEAKAGE
Para obtener más información sobre estos y otros detectores, consulta Descripción general de Web Security Scanner.
A06: Componentes vulnerables y desactualizados
Los componentes con vulnerabilidades conocidas son una categoría de vectores de ataque genéricos y esas vulnerabilidades se mitigan mejor mediante la supervisión y la actualización rápida de todos los componentes de la aplicación.
Autorización binaria
Caso de uso:
- Restringe los clústeres de GKE a contenedores de confianza
La autorización binaria es un control de seguridad de tiempo de implementación que ayuda a garantizar que solo se implementen imágenes de contenedor confiables en Google Kubernetes Engine (GKE). Con la autorización binaria, puedes solicitar que las imágenes estén firmadas por autoridades de confianza durante el proceso de desarrollo y, luego, aplicar la validación de firma en el momento de la implementación. Cuando se aplica la validación, puedes estar seguro de que el proceso de compilación y lanzamiento solo usa imágenes verificadas.
Cloud Load Balancing
Caso de uso:
- Control precios de algoritmo de cifrado SSL y TLS
Evita el uso de algoritmos de cifrado SSL o TLS vulnerables conocidos mediante la asignación de un grupo predefinido o una lista personalizada de algoritmos de cifrado que Cloud Load Balancing puede usar.
Detección de amenazas a contenedores
Caso de uso:
- Detección de secuencias de comandos maliciosas
- Detección de shells inversas
- Detección de instalación de software malicioso
Si un atacante explota un componente vulnerable y ejecuta una secuencia de comandos maliciosa, el detector Malicious Script Executed
de Container Threat Detection genera un hallazgo.
Si un atacante genera una shell inversa, el detector Reverse Shell
genera un hallazgo.
Si un atacante instala software malicioso, los detectores Added Binary Executed
y Added Library Loaded
generan hallazgos.
Event Threat Detection
Caso de uso:
- Detección de criptominería
- Detección de software malicioso
- Robo de datos
- DoS Salientes
Event Threat Detection supervisa la transmisión de Cloud Logging y aplica la lógica de detección y la inteligencia de amenazas a un nivel detallado. Cuando Event Threat Detection detecta una amenaza, escribe un resultado en Security Command Center y en un proyecto de Cloud Logging. Las siguientes reglas de detección son útiles para detectar los efectos de usar componentes con vulnerabilidades conocidas:
- Criptominería. Detecta la criptominería basada en solicitudes de DNS o conexiones a direcciones de minería conocidas.
- Software malicioso. Detecta solicitudes de DNS basadas en software malicioso o conexiones a direcciones incorrectas conocidas.
- Robo de datos a tabla externa. Detecta recursos que se guardan fuera de la organización, incluidas las operaciones de copia o transferencia.
- DoS Salientes. Detecta vulnerabilidades explotadas que intenten ataques de denegación del servicio
Google Cloud Armor
Caso de uso:
- Bloquear el acceso a los extremos de la aplicación sin usar
- Bloquear los vectores de ataque comunes
Un firewall de aplicación web (WAF) como Google Cloud Armor no debe usarse como una estrategia de mitigación única para bloquear ataques contra esta categoría, ya que los ataques suelen ser específicos de la biblioteca y no se pueden bloquear mediante conjuntos de reglas preconfigurados o no se puede aplicar un parche en el lado del servidor. Supervisar y actualizar con regularidad todos los componentes de la aplicación es la única opción para mitigar este tipo de vulnerabilidades.
Sin embargo, Google Cloud Armor puede ayudar a mitigar algunos ataques comunes contra aplicaciones vulnerables por medio de sus reglas preconfiguradas para la ejecución de código remoto, la inclusión de archivos locales o la inclusión de archivos remotos.
Si conoces los componentes vulnerables de tu aplicación, pero no puedes aplicar un parche en la aplicación de inmediato, puedes bloquear el acceso a estas partes para disminuir temporalmente el riesgo de un ataque a estos componentes. Compila una regla personalizada que coincida con la ruta de URL o las consultas que acceden a estos componentes vulnerables y rechazan el acceso. Si necesitas acceso a estos componentes desde usuarios o ubicaciones específicos, puedes permitir que ciertas direcciones IP de origen de confianza accedan a estos componentes. Una regla que usa la ruta de URL es similar a la siguiente:
`request.path.contains("/component") && !(inIpRange(origin.ip, '1.2.3.4/32')
Reemplaza lo siguiente:
/component
: la ruta de acceso al componente con vulnerabilidades conocidas1.2.3.4/32
: El rango de direcciones IP que debe conservar el acceso a la interfaz.
Si hay partes de tu aplicación, por ejemplo, ciertos directorios o tipos de archivo a los que los usuarios finales nunca necesitan acceder, también puedes bloquear o restringir el acceso a estos recursos con una regla personalizada, lo que mitiga de forma proactiva el riesgo si estos componentes se vuelven vulnerables en el futuro.
Boletines de seguridad de Google Cloud
Caso de uso:
- Supervisión del boletín de seguridad
- CVE para productos de Google Cloud
Los boletines de seguridad de Google Cloud son una fuente autorizada para los boletines de seguridad que afectan a Google Cloud. Las publicaciones incluyen información básica, vínculos de CVE y recomendaciones para tomar medidas adicionales.
Web Security Scanner
Caso de uso:
- Bibliotecas desactualizadas
- Paneles de vulnerabilidades y hallazgos
Supervisa si hay bibliotecas desactualizadas incluidas en la aplicación web. Supervisa estos hallazgos en el panel de Security Command Center.
A07: Fallas de identificación y autenticación
Las fallas de identificación y autenticación son riesgos comunes porque la autenticación de la aplicación y la administración de la sesión a menudo se implementan de forma incorrecta. Los atacantes pueden explotar fallas de implementación, como contraseñas, claves y tokens de sesión vulnerados, para asumir de forma temporal o permanente las identidades de otros usuarios.
Transparencia de acceso
Caso de uso:
- Supervisión del proveedor de servicios
- Justificaciones de acceso
Por lo general, si necesitabas asistencia práctica de proveedores externos, tenías que otorgar y compartir credenciales temporales, lo que crea la posibilidad de credenciales huérfanas o filtradas. Aprobación de acceso es un servicio integrado que te permite aprobar o descartar las solicitudes de acceso de los empleados de Google que trabajan para brindar asistencia a tu cuenta. Cada solicitud de acceso incluye una justificación de acceso para que puedas ver el motivo de cada acceso, incluidas las referencias a tickets de asistencia.
Apigee
Caso de uso:
- Validación de claves
- Validación de tokens
- Políticas de OAuth
Apigee proporciona políticas de VerifyApiKey, OAuth y JSON Web Token (JWT), que ayudan a proteger contra este riesgo.
La validación de la clave de API es la forma más simple de seguridad basada en aplicaciones que se puede configurar para una API. Una aplicación cliente presenta una clave de API con su solicitud. A través de una política adjunta a un proxy de API, Apigee Edge verifica que la clave de API esté en un estado aprobado para el recurso que se solicita.
El marco de trabajo de autorización de OAuth 2.0 permite que una aplicación de terceros obtenga acceso limitado a un servicio HTTP, ya sea en nombre de un propietario de recurso mediante la organización de una interacción de aprobación entre el propietario del recurso y el servicio HTTP, o en su nombre, al permitir que la aplicación de terceros obtenga acceso.
Los tokens JSON Web Token (o JWT) se usan comúnmente para compartir reclamaciones o confirmaciones entre aplicaciones conectadas. Apigee proporciona compatibilidad con JWT mediante tres políticas.
Event Threat Detection
Caso de uso:
- Detección de fuerza bruta
- Detección de abuso de IAM
Event Threat Detection supervisa la transmisión de Cloud Logging y aplica la lógica de detección y la inteligencia de amenazas patentadas a un nivel detallado. Cuando Event Threat Detection detecta una amenaza, escribe un resultado en Security Command Center y en Cloud Logging en el proyecto que elijas. Los siguientes tipos de eventos son útiles para identificar la autenticación dañada:
- Ataques de fuerza bruta a SSH. Detecta con éxito la fuerza bruta de SSH en un host.
- Otorgamiento anómalo. Detecta privilegios otorgados a usuarios de la administración de identidades y accesos (IAM) fuera de la organización de Google Cloud.
Google Cloud Armor
Caso de uso:
- Limita el acceso al extremo de autenticación
- Restringe el uso de tokens no autorizados
Los ataques contra vulnerabilidades clasificados según el riesgo de autenticación dañada se mitigan mejor a nivel de la aplicación o mediante otros controles. Sin embargo, Google Cloud Armor puede ayudar a limitar la superficie de ataque o bloquear los vectores de ataque conocidos.
Por ejemplo, si tu aplicación tiene una base de usuarios limitada y esos usuarios provienen de un conjunto conocido de direcciones IP o países, puedes crear una política de seguridad que limite el acceso a tu aplicación para los usuarios de esos bloques de direcciones IP o países. Esta política puede ayudar a mitigar el análisis automatizado desde extremos fuera de estas áreas.
Si otros mecanismos de seguridad detectan que se vulneraron las contraseñas, las claves o los tokens de sesión, puedes bloquear el acceso a las solicitudes que contienen esos parámetros en una cadena de consulta mediante una regla personalizada.
Puedes actualizar las reglas que definiste con anterioridad mediante el método securityPolicy.patchRule
. Es posible que puedas identificar posibles tokens robados mediante mecanismos de detección de anomalías en los registros de balanceo de cargas HTTP.
También puedes detectar posibles adversarios mediante el análisis de contraseñas comunes en esos registros.
Puedes bloquear ataques comunes de corrección de sesiones mediante el conjunto de reglas de ModSecurity preconfiguradas para la corrección de sesiones.
Para usar el conjunto de reglas, agrega la regla predefinida evaluatePreconfiguredExpr('sessionfixation-stable')
a tu política de seguridad.
Si la aplicación incluye cambios de contraseña en la cadena de consulta, también puedes bloquear el uso de contraseñas comunes mediante una regla personalizada que coincida con el atributo request.query
. Sin embargo, esas verificaciones se implementan mucho mejor en el lado de la aplicación, si es posible.
Identity-Aware Proxy (IAP)
Caso de uso:
- Control de acceso centralizado
- Funciona con la nube y de forma local
- Protege las conexiones HTTP y TCP
- Acceso adaptado al contexto
IAP se integra con el balanceo de cargas de HTTP(S) para que puedas usar la identidad y el contexto a fin de formar un muro de autenticación y autorización seguro en torno a tu aplicación. Para evitar la autenticación dañada en tu aplicación pública, aprovisiona usuarios externos en Identity Platform (obtén más información en la siguiente sección).
También puedes evitar la autenticación dañada en las interfaces administrativas si las proteges con Identity-Aware Proxy y autenticas a los usuarios aprovisionados con Identity and Access Management o Cloud Identity. Cualquier intento de acceder a la herramienta da como resultado un intento de autenticación registrado seguido de una verificación de autorización para garantizar que el usuario autenticado tenga acceso al recurso solicitado.
Identity Platform
Caso de uso:
- Autenticación como servicio
- Autenticación de varios factores
- ANS de empresas
- Amplia compatibilidad con protocolos
- Inteligencia de protección de la Cuenta de Google
Identity Platform es la plataforma de administración de identidades y accesos (CIAM) para los clientes de Google Cloud. Identity Platform ayuda a proporcionar autenticación segura como servicio con compatibilidad de varios protocolos mediante SDK y API. Ofrece autenticación de varios factores, integración en servicios de autenticación de terceros y seguimiento de actividades auditables.
reCAPTCHA Enterprise
Caso de uso:
- Intentos automatizados de acceso
- Recopilación de contenido
- Uso excesivo de credenciales
- Transacciones fraudulentas
- Apropiación de cuentas
- Cuentas falsas
- Lavado de dinero
reCAPTCHA Enterprise proporciona un filtrado altamente efectivo contra bots y otras formas de automatización y tráfico masivo mediante la puntuación del nivel de riesgo de los intentos de acceso. Puedes ajustar el modelo específico de tu sitio con comentarios automáticos. reCAPTCHA adapta las puntuaciones futuras para que se ajusten a tu sitio.
Security Health Analytics
Caso de uso:
- Aplicación de los lineamientos de MFA y 2FA
- Protección de la clave de API
- Aplicación de rotación de claves de API
Security Command Center ayuda a evitar la autenticación dañada mediante la supervisión del cumplimiento de la autenticación de varios factores y del estado de tus claves de API. Puedes identificar solicitudes sospechosas y bloquearlas o marcarlas para un manejo especial.
Llaves de seguridad Titan
Caso de uso:
- 2FA resistente a la suplantación de identidad (phishing)
- Autenticación para dispositivos móviles y computadoras de escritorio
Las llaves de seguridad Titan usan criptografía de clave pública para verificar la identidad de un usuario y la URL de la página de acceso a fin de garantizar que los atacantes no puedan acceder a tu cuenta, aunque te engañen para que proporciones tu nombre de usuario y contraseña.
Web Security Scanner
Caso de uso:
- Filtraciones de identificadores de sesión
Web Security Scanner analiza tus aplicaciones web en busca de vulnerabilidades, como filtraciones de ID de sesión, que permiten que terceros actúen en nombre de un usuario o lo identifiquen de forma única.
A08: Fallas de integridad de software y datos
Las fallas de integridad de software y datos pueden ocurrir cuando no se producen verificaciones de integridad durante las actualizaciones de software, el procesamiento de datos confidenciales o cualquier proceso en la canalización de CI/CD.
Artifact Registry
Caso de uso:
- Centralizar los artefactos en una sola ubicación de confianza
- Usar la administración de versiones, el análisis de vulnerabilidades y los flujos de trabajo de aprobación
Artifact Registry es un único lugar para que tu organización administre imágenes de contenedores y paquetes de lenguajes (como Maven y npm). Se puede integrar en tus herramientas de desarrollo existentes y proporciona un análisis de vulnerabilidades para tus contenedores mediante Artifact Analysis.
Autorización binaria
Caso de uso:
- Asegúrate de que solo se implementen contenedores de confianza
La autorización binaria verifica la integridad de los contenedores para que solo se implementen imágenes de contenedor confiables. Puedes crear políticas para permitir o denegar la implementación en función de la presencia o ausencia de certificaciones. La autorización binaria aplica políticas a nivel de clúster, por lo que puedes configurar políticas diferentes para entornos diferentes. Esta distinción permite requisitos de certificación progresiva a medida que los entornos se acercan a la producción.
Cloud Asset Inventory
Caso de uso:
Servicio de búsqueda
Analizador de acceso
Uno de los vectores más comunes para la exposición de datos es la infraestructura de TI huérfana o no autorizada. Puedes identificar los servidores que nadie mantiene y los buckets con reglas de uso compartido demasiado amplias mediante el análisis de los datos de series temporales de elementos en la nube.
Configura las notificaciones en tiempo real para recibir alertas del aprovisionamiento inesperado de recursos que podrían estar protegidos de forma inadecuada o no autorizados.
Cloud Build
Caso de uso:
Revisa los cambios de código
Ejecuta pruebas
Estandariza las implementaciones de compilación
Cloud Build te permite crear una configuración de compilación para proporcionar instrucciones sobre tu implementación de compilación, incluida la ejecución de análisis estáticos, pruebas de integración y demás.
Google Cloud Armor
Caso de uso:
- Bloquea la ejecución de código remoto
Debido a que la mayoría de los ataques contra la integridad de software y datos son específicos de la aplicación, solo hay algunas formas de mitigar estos ataques, por ejemplo, el uso de un firewall de aplicación web (WAF), como Google Cloud Armor. OWASP recomienda que no aceptes objetos serializados de fuentes no confiables. Si es posible, puedes restringir los extremos que aceptan esos objetos a un conjunto de direcciones IP de confianza con una regla de denegación similar a la siguiente:
request.path.contains("/endpoint") && !(inIpRange(origin.ip, '1.2.3.4/32')
Reemplaza lo siguiente:
/endpoint
: la ruta de acceso del extremo que acepta objetos serializados1.2.3.4/32
: El rango de direcciones IP que debe conservar el acceso a la interfaz.
Para mitigar los ataques típicos contra la integridad de datos y software que usan la ejecución de código remoto (RCE), usa la regla predefinida establecida contra los ataques de RCE. Puedes usar la regla evaluatePreconfiguredExpr('rce-stable')
para bloquear ataques de RCE comunes en shells de UNIX y Windows.
Los ataques de RCE descritos en los desafíos de Juice Shop para deserializaciones inseguras ejecutan funciones y expresiones regulares en Node.js en el servidor. Estos tipos de ataques no están bloqueados por el conjunto de reglas predefinidas de RCE y la regla de Modsecurity de OWASP correspondiente, y deben mitigarse mediante parches en el lado del servidor o reglas personalizadas.
VirusTotal
Caso de uso:
- Análisis de datos no confiables
La API de VirusTotal te permite subir y analizar archivos en busca de software malicioso. Puedes analizar imágenes, documentos, objetos binarios y otros datos no confiables antes de que se procesen para eliminar ciertas categorías de entrada maliciosa.
Web Security Scanner
Caso de uso:
- Deserialización no segura
Web Security Scanner analiza las aplicaciones web en busca de vulnerabilidades. Por ejemplo, si usas una versión de Apache Struts que hace que tu aplicación sea vulnerable a los ataques de inserción de comandos remotos, Web Security Scanner genera un hallazgo STRUTS_INSECURE_DESERIALIZATION
.
A09: Errores de registro y supervisión de seguridad
Si no registras, supervisas ni administras incidentes de forma adecuada en tus sistemas, los atacantes pueden realizar ataques más profundos y prolongados en los datos y el software.
Transparencia de acceso
Caso de uso:
- Supervisión y auditoría de acceso de los proveedores de servicios
- Justificaciones de acceso
- Identificación de métodos y recursos
La incapacidad de auditar los accesos de los proveedores de servicios en la nube puede ser un obstáculo en la migración de las instalaciones locales a la nube. Transparencia de acceso permite verificar el acceso de los proveedores de servicios en la nube para que los controles de auditoría se asemejen a las condiciones locales. Puedes registrar el motivo de cada acceso, incluidas las referencias a tickets de asistencia relevantes. Los nombres de identificación de recursos y métodos, los recursos a los que se accede y los métodos que ejecutó cada administrador. Aprobación de acceso te permite aprobar o descartar las solicitudes de acceso de los empleados de Google que trabajan para brindar asistencia a tu servicio.
Apigee
Caso de uso:
- Exporta registros de Apigee a SIEM
- Usa la IU de supervisión de Apigee
- Sigue las prácticas recomendadas de supervisión
Apigee tiene varias formas de realizar el registro, la supervisión, el manejo de errores y el registro de auditoría:
- Logging
- Los mensajes de registro se pueden enviar a Splunk o a otros extremos de syslog mediante la política MessageLogging.
- Los datos de estadísticas de API se pueden extraer mediante la API de estadísticas y se pueden importar o exportar a otros sistemas.
- En Edge para la nube privada, puedes usar la política de MessageLogging a fin de escribir en los archivos de registro locales. También están disponibles los archivos de registro de cada uno de los componentes en ejecución.
- La política de JavaScript se puede usar para enviar mensajes de registro a un extremo de registro de REST de forma síncrona o asíncrona.
- Monitoring
- Usa la IU de API de Monitoring o la API para supervisar las API y los backends con regularidad y activar alertas.
- Usa la supervisión de estado para supervisar los backends del servidor de destino con regularidad.
- Apigee proporciona recomendaciones a fin de supervisar Edge para la nube privada.
- Apigee también brinda prácticas recomendadas que tu equipo puede aprovechar para supervisar tu programa de API.
- Soluciona errores
- Apigee ofrece un mecanismo de control de fallas potente y versátil para los proxies de API. De manera similar a cómo un programa de Java detectaría excepciones, los proxies de API pueden detectar fallas y determinar cómo mostrar las respuestas adecuadas a los clientes.
- El control de errores personalizado de Apigee te permite agregar funciones como el registro de mensajes cada vez que se produce un error.
- Registros de auditoría
- La plataforma de Apigee mantiene un registro de auditoría que realiza un seguimiento de los cambios en los proxies de API, los productos y el historial de la organización.
- Este registro está disponible a través de la IU o a través de la API de Management.
Chronicle
Caso de uso:
- Detección de amenazas
- Advertencia temprana
Los equipos de seguridad pueden enviar su telemetría de seguridad a Chronicle para que puedas aplicar reglas de detección potentes a un conjunto unificado de datos.
Protección de datos sensibles
Caso de uso:
- Enmascaramiento automático de datos sensibles
Identifica la información sensible de cumplimiento en tus transmisiones de registro y enmascara o transforma la información de manera adecuada antes de archivarla en los registros. Por ejemplo, un mensaje de error o un volcado de núcleo pueden contener información sensible, como números de tarjetas de crédito o información de identificación personal que debe enmascararse.
Cloud Key Management Service
Caso de uso:
- Registro de eventos de solicitud de clave criptográfica
- Justificaciones de acceso
Key Access Justifications te brinda visibilidad histórica de todas las solicitudes de una clave de encriptación; para ello, registra la justificación establecida y un registro de aprobación o denegación de esa solicitud.
Cloud Logging
Caso de uso:
- Agregación de registros
- Almacenamiento de registros
- Búsqueda de registros
- Análisis de registros
Cloud Logging te permite almacenar, buscar, analizar, supervisar y generar alertas sobre los datos y los eventos de registro de Google Cloud y Amazon Web Services. Incluye acceso al servicio de BindPlane, que puedes usar para recopilar datos de registro de más de 150 componentes de aplicaciones comunes, sistemas locales y sistemas de nube híbrida.
Cloud Monitoring
Caso de uso:
- Supervisión de registros
- Alertas de eventos
Cloud Monitoring proporciona visibilidad del rendimiento, el tiempo de actividad y el estado general de las aplicaciones en la nube. Proporciona un panel de supervisión, supervisión de eventos y alertas a través de varios canales.
Cloud Source Repositories
Caso de uso:
- Atribución de cambio de código
- Accede al registro de auditoría
Obtén estadísticas sobre las acciones que se realizaron en tu repositorio, además de dónde y cuándo se llevaron a cabo, con los registros de auditoría de Cloud que generó Cloud Source Repositories.
Error Reporting
Caso de uso:
- Captura errores internos de las aplicaciones en Cloud Logging
- Recopila informes de fallas fuera de la instancia de procesamiento con fallas
Los errores internos de la aplicación pueden ser un indicador de un problema de seguridad, una funcionalidad dañada o intentos de eludir la seguridad. Error Reporting cuenta, analiza y recopila las fallas de los servicios de nube en ejecución. Los resultados se muestran en una interfaz centralizada de administración de errores que permite filtrarlos y ordenarlos. Una vista dedicada muestra los detalles de los errores, por ejemplo, el gráfico de tiempo, los casos, las cantidad de usuarios afectados, las fechas del primer y el último caso, y el seguimiento limpio de la pila de excepciones. Se puede habilitar la recepción de alertas móviles y por correo electrónico de los errores nuevos.
Event Threat Detection
Caso de uso:
- Ataques de fuerza bruta
- Criptominería
- Abuso de IAM
- Software malicioso
- Suplantación de identidad (phishing)
Event Threat Detection supervisa la transmisión de Cloud Logging y aplica la lógica de detección y la inteligencia de amenazas patentadas a un nivel detallado. Event Threat Detection identifica entradas notables en tus registros y las eleva para su revisión. Cuando Event Threat Detection detecta una amenaza, escribe un resultado en Security Command Center y en un proyecto de Cloud Logging.
Forseti Inventory
Caso de uso:
- Supervisión y alertas de cambios de inventario
Forseti Inventory guarda una instantánea de inventario de tus recursos de Google Cloud en una base de datos, por lo que tienes un registro histórico de los recursos. Con esta información, puedes comprender todos los recursos que tienes en Google Cloud y tomar medidas para conservar los recursos, reducir los costos y minimizar la exposición de seguridad. El inventario se puede configurar para que se ejecute con la frecuencia que desees y envía notificaciones por correo electrónico cuando actualiza la instantánea de recursos.
Google Cloud Armor
Caso de uso:
- Registro de políticas de seguridad
- Paneles de supervisión
- Alertas sobre anomalías de tráfico
Los registros de solicitudes de Google Cloud Armor forman parte de Cloud Logging para los balanceadores de cargas de aplicaciones externos. A fin de tener acceso a la información de registro, como qué regla de política de seguridad coincidió con el tráfico, habilita los registros en todos los servicios de backend que tienen políticas de seguridad adjuntas. Usa reglas en modo de vista previa para probarlas y registrar los resultados sin aplicar los efectos.
Google Cloud Armor también ofrece paneles de supervisión para políticas de seguridad que te permiten obtener una descripción general de la cantidad de tráfico que aprobó o rechazó alguna de tus políticas de seguridad. Google Cloud Armor publica hallazgos sobre las anomalías del tráfico, como los aumentos repentinos del tráfico permitido o el aumento del tráfico denegado, en Security Command Center.
Google Cloud Armor escribe automáticamente registros de auditoría de la actividad del administrador, en los que se registran las operaciones que modifican la configuración o los metadatos de un recurso. Este servicio también se puede configurar para escribir registros de auditoría de acceso a los datos que contengan llamadas a la API que leen la configuración o los metadatos de los recursos, así como las llamadas a la API que orientadas al usuario y que pueden crear, modificar o leer datos de recursos proporcionados por el usuario.
Identity Platform
Caso de uso:
- Registros de auditoría de actividad del administrador
- Registros de auditoría de acceso a los datos
- Registros de auditoría de eventos del sistema
- Registros de auditoría de política denegada
- Registros de actividad de autenticación
Identity Platform es la plataforma de administración de identidades y accesos de Google Cloud para el usuario que registra la actividad de autenticación de forma predeterminada.
Habilita varios registros de auditoría potentes que incluyan actividad del administrador, acceso a los datos, eventos del sistema e intentos de autenticación denegados.
Security Command Center
Caso de uso:
- Supervisión de alertas
- Administración de amenazas
- Informes de análisis de vulnerabilidades
- Supervisión del cumplimiento
- Supervisión de recursos
- Hallazgos de análisis de seguridad
Consulta la cantidad total de hallazgos de tu organización por nivel de gravedad en el panel de descripción general. Usa el panel de amenazas para revisar los eventos potencialmente dañinos en los recursos de Google Cloud de tu organización. Visualiza los hallazgos y las recomendaciones de las estadísticas del estado de seguridad en la pestaña de vulnerabilidades.
Con el panel de cumplimiento, puedes supervisar de forma continua el cumplimiento con los controles de PCI-DSS, CIS Google Cloud Computing Foundations Benchmark y más. En la vista Recursos, se muestra una vista detallada de todos los recursos de Google Cloud, llamados elementos, en tu organización. La pestaña Recursos te permite ver los recursos de toda tu organización o puedes filtrarlos dentro de un proyecto específico, por tipo de recurso o por tipo de cambio. Por último, en la pestaña de resultados, se muestra un inventario de resultados detallado de todos los elementos de la organización a fin de que puedas ver los posibles riesgos de seguridad.
A10: Falsificación de solicitudes del servidor (SSRF)
Un ataque de SSRF ocurre cuando un atacante fuerza a un servidor vulnerable a activar solicitudes maliciosas no deseadas a servidores de terceros o recursos internos. Las fallas de SSRF pueden ocurrir cuando una aplicación web recupera un recurso remoto sin validar la URL proporcionada por el usuario.
Apigee
Caso de uso:
- Bloquea los ataques de SSRF mediante LFI o RFI
Apigee tiene analizadores de XML y JSON integrados que usan XPath o JSONPath para extraer datos. Tiene una política XMLThreatProtection para protegerte contra cargas útiles de XML maliciosas y una política JSONThreatProtection para protegerte contra cargas útiles de JSON maliciosas.
La política de ExtractVariables de Apigee te permite extraer el contenido de una solicitud o respuesta y asignar ese contenido a una variable. Puedes extraer cualquier parte del mensaje, incluidos los encabezados, las rutas de URI, las cargas útiles de JSON y XML, los parámetros de formulario y los parámetros de búsqueda. La política funciona mediante la aplicación de un patrón de texto en el contenido del mensaje y, cuando se encuentra una coincidencia, establece una variable con el contenido del mensaje especificado.
Google Cloud Armor
Caso de uso:
- Filtrar ataques de SSRF mediante LFI o RFI
Debido a que los ataques de SSRF pueden ser complejas y vienen en diferentes formas, las posibilidades de mitigación por parte de los firewalls de aplicaciones web son limitadas. Los ataques se mitigan mejor mediante la aplicación de parches a los analizadores XML o JSON, la inhabilitación de entidades externas y la limitación de las transferencias de datos XML o JSON en servidores web públicos al mínimo. Sin embargo, según la aplicación y el tipo de ataque, Google Cloud Armor aún puede ayudar a protegerse contra el robo de datos y otros impactos.
Aunque ninguna regla en el conjunto de reglas principales de ModeSecurity de OWASP protege en particular contra los ataques de SSRF, las reglas de inclusión de archivos locales (LFI) y de inclusión de archivos remotos (RFI) pueden ayudar en algunos de estos ataques. Para evitar que un atacante recupere archivos locales en el servidor, usa la regla evaluatePreconfiguredExpr('lfi-stable')
en una política de seguridad de Google Cloud Armor.
El desafío SSRF Juice Shop usa los conjuntos de reglas de inclusión de archivos remotos (RFI) o de inclusión de archivos locales (LFI) preconfiguradas para ayudar a mitigar algunos de estos ataques porque bloquean la inclusión de URLs o el salto de directorio. Por ejemplo, la siguiente regla habilita ambos conjuntos de reglas:
evaluatePreconfiguredExpr('lfi-stable') ||
evaluatePreconfiguredExpr('rfi-stable')
Cuando se implementa esta regla, la solución para el desafío de SSRF también deja de funcionar.
Controles del servicio de VPC
Caso de uso:
- Perímetros de red para segmentar los servidores
A fin de reducir el impacto de los ataques de SSRF, puedes usar los Controles del servicio de VPC para crear perímetros que segmenten los servidores de otros recursos en tu organización. Estos perímetros proporcionan protección contra el robo de datos. Cuando se ejecutan en modo de aplicación forzosa, las solicitudes a la API a servicios restringidos no cruzan el límite del perímetro, a menos que se cumplan las condiciones de las reglas de entrada y salida necesarias del perímetro.
Firewall de nube privada virtual (VPC)
Caso de uso:
- Aplicar políticas de firewall “denegadas de forma predeterminada” o reglas de control de acceso a la red para bloquear todo el tráfico de intranet, excepto el esencial
Los firewalls de VPC se aplican al tráfico entrante y saliente de tus proyectos y red de VPC. Puedes crear reglas de firewall que bloqueen todo el tráfico, excepto el que deseas permitir. Para obtener más información, consulta la Descripción general de las reglas de firewall de VPC.
Web Security Scanner
Caso de uso:
- Supervisión de aplicaciones web
Web Security Scanner analiza las aplicaciones web en busca de vulnerabilidades. Por ejemplo, si tu aplicación es vulnerable a la falsificación de solicitudes del servidor, Web Security Scanner genera un hallazgo SERVER_SIDE_REQUEST_FORGERY
.
¿Qué sigue?
- Protección de aplicaciones web y API en Google Cloud
- Los 10 mejores de OWASP
- Boletines de seguridad de Google Cloud
- Centro de prácticas recomendadas para la seguridad de Google Cloud
- Ofertas de cumplimiento
- CIS Benchmark para Google Cloud
- Security Command Center
- Apigee
- Google Cloud Armor
- Todos los productos de seguridad de Google Cloud
- Explora arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Consulta nuestro Cloud Architecture Center.