Descripción general de Web Security Scanner

>

En esta página, se proporciona una descripción general de Web Security Scanner.

Introducción

Web Security Scanner identifica las vulnerabilidades de seguridad en tus aplicaciones web de App Engine, Google Kubernetes Engine (GKE) y Compute Engine. Rastrea la aplicación, para lo cual sigue todos los vínculos dentro del alcance de las URL de inicio, y trata de ejecutar la mayor cantidad posible de controladores de eventos y entradas del usuario. Actualmente, Web Security Scanner solo es compatible con URL públicas y IP que no están detrás de un firewall.

Por el momento, Web Security Scanner es compatible con el entorno estándar de App Engine y los entornos flexibles de App Engine, las instancias de Compute Engine y los recursos de GKE.

Web Security Scanner está diseñado para complementar tus procesos de diseño y desarrollo seguros y existentes. Para evitar distracciones con falsos positivos, el Web Security Scanner protege tu trabajo y no muestra alertas de confianza bajas. Esta herramienta no reemplaza una revisión manual de seguridad y no garantiza que tu aplicación no tenga vulnerabilidades. Para obtener más información sobre la seguridad web, consulta el proyecto OWASP Top Ten.

Más información sobre la seguridad de Google Cloud

Tipos de análisis

Web Security Scanner proporciona análisis de vulnerabilidades web administradas y personalizadas para aplicaciones web públicas de App Engine, GKE y Compute Engine.

Análisis administrados

Security Command Center configura y administra los análisis administrados de Web Security Scanner. Los análisis administrados se ejecutan automáticamente una vez por semana para detectar y analizar extremos web públicas. Estos análisis no usan la autenticación y envían solicitudes solo de GET para que no envíen formularios en sitios web activos.

Los análisis administrados se ejecutan de forma separada de los análisis personalizados que defines a nivel de proyecto. Puedes usar los análisis administrados para gestionar de forma centralizada la detección de vulnerabilidades de las aplicaciones web básicas en los proyectos de tu organización, sin necesidad de incluir equipos de proyectos individuales. Cuando se detectan los resultados, puedes trabajar con esos equipos para configurar análisis personalizados más completos.

Cuando habilitas el Web Security Scanner como un servicio, los resultados de análisis administrados quedan disponibles automáticamente en la pestaña de vulnerabilidades de Security Command Center y en los informes relacionados. Para obtener información sobre cómo habilitar los análisis administrados de Web Security Scanner, consulta cómo configurar el Security Command Center.

Análisis personalizados

Los análisis personalizados de Web Security Scanner proporcionan información detallada sobre los resultados de vulnerabilidades de la aplicación, como las bibliotecas desactualizadas, las secuencias de comandos entre sitios o el uso de contenido mixto. Los resultados de análisis personalizados están disponibles en Security Command Center después de completar la guía para configurar análisis personalizados de Web Security Scanner.

Resultados del análisis

En estas tablas, se incluye una descripción de la asignación entre los detectores admitidos y la mejor asignación a los regímenes de cumplimiento relevantes.

Las asignaciones del CIS para la Google Cloud Foundation 1.0 han sido certificadas y certificadas por el Centro para la Seguridad de Internet a fin de alinearlas con las comparativas de CIS para Google Cloud Computing Foundations v1.0.0. Las asignaciones de cumplimiento adicionales se incluyen como referencia y no se proporcionan ni revisan mediante el Estándar de Seguridad de Datos de la Industria de Tarjeta de Pago o OWASP Foundation. Debes consultar las comparativas de CIS para Google Cloud Computing Foundation v1.0.0 (CIS para Google Cloud Foundation 1.0), el Estándar de Seguridad de Datos de la Industria de Tarjeta de Pago 3.2.1 (PCI-DSS v3.2.1), los 10 mejores de OWASP, Instituto Nacional de Estándares y Tecnología 800-53 (NIST 800-53) y Organización Internacional de Normalización 27001 (ISO 27001) a fin de verificar estos incumplimientos de forma manual.

Esta funcionalidad solo está diseñada para que supervises las infracciones de los controles de cumplimiento. Las asignaciones no se proporcionan a fin de usarlas como base, o como sustituto de la auditoría, certificación o informe de cumplimiento de los productos o servicios con cualquier comparativa o estándar regulatoria o industrial.

Los análisis administrados y personalizados de Web Security Scanner identifican los siguientes tipos de hallazgos. En el nivel Estándar, Web Security Scanner admite los análisis personalizados de aplicaciones implementadas con URL e IP públicas que no están detrás de un firewall.

Tabla 18.Resultados de Web Security Scanner
Categoría Descripción de los resultados CIS para GCP Foundation 1.0 PCI-DSS v3.2.1 Los 10 mejores de OWASP NIST 800-53 ISO-27001
ACCESSIBLE_GIT_REPOSITORY Un repositorio de Git se expone públicamente. Para resolver este descubrimiento, quita el acceso público no intencional al repositorio de GIT. A3
ACCESSIBLE_SVN_REPOSITORY Un repositorio de SVN se expone públicamente. Para resolver este resultado, quita el acceso público no intencional al repositorio de SVN. A3
CLEAR_TEXT_PASSWORD Las contraseñas se transmiten en texto claro y se pueden interceptar. Para resolver este descubrimiento, encripta la contraseña transmitida a través de la red. A3
INVALID_CONTENT_TYPE Se cargó un recurso que no coincide con el encabezado HTTP de tipo de contenido de la respuesta Para resolver este hallazgo, configura el encabezado HTTP `X-Content-Type-Options` con el valor correcto. A6
INVALID_HEADER Un encabezado de seguridad tiene un error de sintaxis y los navegadores lo ignoran. Para resolver este resultado, configura los encabezados de seguridad HTTP de forma correcta. A6
MISMATCHING_SECURITY_HEADER_VALUES Un encabezado de seguridad tiene valores duplicados y no coincidentes, lo que da como resultado un comportamiento indefinido. Para resolver este resultado, configura los encabezados de seguridad HTTP de forma correcta. A6
MISSPELLED_SECURITY_HEADER_NAME Un encabezado de seguridad está mal escrito y se ignora. Para resolver este resultado, configura los encabezados de seguridad HTTP de forma correcta. A6
MIXED_CONTENT Los recursos se envían a través de HTTP en una página HTTPS. Para resolver este resultado, asegúrate de que todos los recursos se entreguen a través de HTTPS. A6
OUTDATED_LIBRARY Se detectó una biblioteca que tiene vulnerabilidades conocidas. Para resolver este resultado, actualiza las bibliotecas a una versión más reciente. A9
XSS Un campo en esta aplicación web es vulnerable a un ataque de secuencias de comandos entre sitios (XSS). Para resolver este resultado, valida y reemplaza los datos no proporcionados que son proporcionados por el usuario. A7
XSS_ANGULAR_CALLBACK No se debe escapar de una string proporcionada por el usuario y AngularJS puede interpolarla. Para solucionar este problema, valida y reemplaza los datos que no son de confianza proporcionados por los usuarios y que son controlados por el marco de trabajo de Angular. A7
XSS_ERROR Un campo en esta aplicación web es vulnerable a un ataque de secuencia de comandos entre sitios. Para solucionar este problema, valida y reemplaza los datos que no son de confianza proporcionados por los usuarios. A7

Advertencias de uso

Algunos aspectos importantes que debes tener en cuenta cuando usas Web Security Scanner:

  • Dado que Web Security Scanner experimenta mejoras continuas, un análisis futuro podría reportar problemas que el análisis actual no informa.
  • Algunas características o secciones de tu aplicación se podrían omitir en las pruebas.
  • Web Security Scanner intenta activar cada control y entrada que encuentra.
  • Si expones acciones que cambian de estado para las que la cuenta de prueba tiene permiso, es probable que Web Security Scanner las active. Esto puede provocar resultados no deseados.

¿Quién puede ejecutar un análisis de seguridad?

A fin de obtener información sobre las funciones y accesos de administración de identidades (IAM) que están disponibles para Web Security Scanner, consulta Control de acceso.

¿Cuánto tiempo se requiere para un análisis de seguridad?

El análisis de seguridad no se ejecuta inmediatamente. Se pone en cola y probablemente se ejecuta horas más tarde, según la carga del sistema. Una vez que el análisis comienza a ejecutarse, el tiempo que tome dependerá del tamaño de tu aplicación. Las aplicaciones grandes con varias URL pueden tardar varias horas en completarse.

Restricciones de destino

Web Security Scanner tiene filtros que restringen los objetivos del análisis a la instancia específica de App Engine para la que este se creó. La introducción de direcciones URL para otro proyecto de App Engine o para un dominio externo generará un mensaje de error.

Los análisis para Compute Engine y GKE se restringen a los dominios que se asignan a direcciones IP reservadas para tus proyectos. Si quieres obtener instrucciones a fin de reservar direcciones IP para proyectos, consulta los siguientes vínculos:

App Engine no proporciona una forma de asignar direcciones IP estáticas a una aplicación. Sin embargo, puedes usar Cloud Load Balancing y los grupos de extremos de red sin servidores a fin de reservar una dirección IP estática para tu balanceador de cargas, que luego dirige el tráfico a tu aplicación. Para obtener información sobre los precios, consulta los precios de las direcciones IP externas.

Dentro de tu proyecto, Web Security Scanner intenta automáticamente evitar las URL de cierre de sesión y otras ubicaciones genéricas que pudiesen afectar de forma negativa un análisis. Sin embargo, para asegurarte, puedes usar la configuración del análisis a fin de excluir las URL de forma manual.

Validación

Las configuraciones de análisis se validan cuando se crean y antes de cada análisis. Web Security Scanner revisa la configuración de Security Command Center y las credenciales de autenticación de tu aplicación para garantizar que los análisis se configuren de forma correcta y puedan acceder a tu aplicación de forma correcta. También se verifican los parámetros de configuración, incluida la velocidad máxima de análisis, para garantizar que estén dentro de los rangos admitidos.

Debes resolver errores antes de crear o actualizar un análisis. Las aplicaciones que se cambian después de la configuración inicial pueden producir errores durante los análisis. Por ejemplo, si un dominio ya no apunta a una dirección IP que pertenece al proyecto, el recurso no se analiza y se informa un error en la página de configuración de análisis.

Prácticas recomendadas

Debido a que Web Security Scanner propaga campos, presiona botones, hace clic en vínculos y realiza otras acciones de usuario, debes usarlo con precaución, en especial si analizas recursos de producción. Web Security Scanner podría potencialmente activar funciones que cambien el estado de tus datos o sistema, lo que podría generar resultados no deseados.

Por ejemplo:

  • En una aplicación de blog que permite comentarios públicos, Web Security Scanner podría publicar strings de prueba como comentarios en todos los artículos de tu blog.
  • En una página de registro de correo electrónico, Web Security Scanner podría generar una gran cantidad de correos electrónicos de prueba.

A continuación, se muestran algunas técnicas que puedes usar por separado o en combinación para evitar resultados no deseados:

  1. Ejecuta análisis en un entorno de prueba. Configura un entorno de prueba mediante la creación de un proyecto de App Engine por separado, y carga allí tu aplicación y tus datos. Si usas la herramienta de línea de comandos de gcloud, puedes especificar el proyecto de destino como una opción de la línea de comandos cuando subes tu app.
  2. Utiliza una cuenta de prueba. Crea una cuenta de usuario que no tenga acceso a datos sensibles ni a operaciones dañinas, y úsala cuando analices tu app. Muchas aplicaciones presentan un flujo de trabajo especial durante el primer acceso de un usuario, como aceptar términos y crear un perfil. Debido a los diferentes flujos de trabajo, una cuenta de prueba para un usuario inicial puede tener resultados de análisis diferentes a los de una cuenta de usuario establecida. Es mejor realizar el análisis con una cuenta que se encuentre en el estado de usuario normal, después de que se complete el flujo por primera vez.
  3. Bloquea los elementos individuales de la interfaz de usuario que no deseas que se activen mediante la aplicación de la clase CSS inq-no-click. Los controladores de eventos que están adjuntos a este elemento no se activan durante el rastreo y la prueba, independientemente de si se trata de JavaScript intercalado, si se adjuntan mediante addEventListener o si se adjuntan al configurar el controlador de eventos adecuado. .
  4. Utiliza datos de copia de seguridad. Considera hacer una copia de seguridad de tus datos antes de realizar análisis.
  5. URL excluidas. Puedes especificar patrones de URL que no se rastrearán ni se probarán. Para obtener información sobre la sintaxis, consulta Excluye URL.

Antes de realizar un análisis, revisa con cuidado tu aplicación para detectar cualquier característica que pueda afectar los datos, usuarios o sistemas más allá del alcance deseado de tu análisis.

¿Qué sigue?