Configurar análisis personalizados mediante Web Security Scanner

Programa y ejecuta análisis personalizados en una aplicación implementada mediante Web Security Scanner en la Google Cloud consola. Web Security Scanner admite análisis de URLs e IPs públicas que no estén protegidas por un cortafuegos.

Antes de empezar

Para configurar análisis personalizados mediante Web Security Scanner, sigue estos pasos:

  • Debes tener una aplicación implementada en una URL o IP pública. Web Security Scanner solo admite sitios web que usen IPv4. No se analizan los sitios web que usan IPv6.
  • Debes tener habilitado Security Command Center.

Antes de analizar, audita cuidadosamente tu aplicación para detectar cualquier función que pueda afectar a los datos, los usuarios o los sistemas más allá del ámbito elegido para el análisis.

Como Web Security Scanner rellena campos, pulsa botones, hace clic en enlaces y realiza otras interacciones, debes usarlo con precaución. Web Security Scanner puede activar funciones que cambien el estado de tus datos o de tu sistema, lo que podría dar lugar a resultados no deseados. Por ejemplo:

  • En una aplicación de blog que permita comentarios públicos, Web Security Scanner puede publicar cadenas de prueba como comentarios en todos tus artículos del blog.
  • En una página de registro por correo electrónico, Web Security Scanner puede generar un gran número de correos de prueba.

Para obtener consejos sobre cómo minimizar los riesgos, consulta las prácticas recomendadas para evitar consecuencias no deseadas.

Habilitar Web Security Scanner

Habilita Web Security Scanner en Security Command Center para crear y ejecutar análisis personalizados.

Si Security Command Center está activo, puedes habilitar Web Security Scanner en la Google Cloud consola en la página Configuración de Security Command Center.

Paso 1: Desplegar una aplicación de prueba

Para completar la configuración de Web Security Scanner para análisis personalizados, necesitas la URL de una aplicación de Compute Engine, Google Kubernetes Engine (GKE) o App Engine que ya esté implementada. Si no tienes ninguna aplicación desplegada o quieres probar Web Security Scanner con una aplicación de prueba, despliega la aplicación de prueba de App Engine. Usa el idioma que quieras:

Paso 2: Asigna los roles de gestión de identidades y accesos

Para ejecutar un análisis de Web Security Scanner, debes tener uno de los siguientes roles de Gestión de Identidades y Accesos (IAM) en el proyecto que quieras analizar:

  • Editor
  • Propietario

Para añadir uno de estos roles, sigue estos pasos:

  1. Ve a la página IAM y administración de laGoogle Cloud consola.

    Ve a la página IAM y administración.

  2. Haga clic en la lista desplegable Selector de proyectos.

  3. En el cuadro de diálogo Seleccionar de que aparece, selecciona el proyecto que quieras analizar con Web Security Scanner.

  4. En la página IAM, junto a tu nombre de usuario, haz clic en Editar.

  5. En el panel Editar permisos que aparece, haz clic en Añadir otro rol y, a continuación, selecciona uno de los siguientes roles:

    • Proyecto > Propietario
    • Proyecto > Editor
  6. Cuando termines de añadir roles, haz clic en Guardar.

Más información sobre los roles de Web Security Scanner

Paso 3: Ejecuta un análisis

Cuando configuras un análisis, se pone en cola para ejecutarse más tarde. En función de la carga actual, pueden pasar varias horas antes de que se ejecute un análisis. Para crear, guardar y ejecutar un análisis, sigue estos pasos:

  1. Ve a la página Web Security Scanner de la Google Cloud consola.

    Ir a Web Security Scanner

  2. Selecciona el proyecto que contiene la aplicación desplegada que quieres analizar.

  3. Para configurar un nuevo análisis, haz clic en Nuevo análisis:

  4. En la página Crear un análisis que se carga, defina los siguientes valores:

    1. En URLs de inicio, introduce la URL de la aplicación que quieras analizar.
    2. En Programación, selecciona Semanal.
    3. En Próxima ejecución el, selecciona una fecha.

    La casilla Exportar a Security Command Center está marcada automáticamente. Si has habilitado Web Security Scanner como fuente de seguridad de Security Command Center, los resultados de los análisis aparecerán en la página Resultados de la consola. Google Cloud

    En este primer análisis, usa el análisis predeterminado sin cambiar ningún otro valor de la página Crear un análisis. Para obtener más información sobre los ajustes de escaneo, consulta Escanear una aplicación.

  5. Para crear el análisis, haz clic en Guardar.

  6. En la página Web Security Scanner, haga clic en el nombre del análisis para cargar su página de resumen y, a continuación, haga clic en Ejecutar análisis.

    El análisis se pondrá en cola y se ejecutará más adelante. El análisis puede tardar varias horas en ejecutarse.

  7. La página de resumen del análisis muestra una sección de resultados cuando se completa el análisis. En la siguiente imagen se muestran resultados de análisis de ejemplo cuando no se detectan vulnerabilidades:

    Si has habilitado Web Security Scanner como fuente de seguridad de Web Security Scanner, los resultados del análisis también se mostrarán en la Google Cloud consola.

    Para ver los detalles de un resultado específico, haz clic en su nombre en los resultados del análisis.

Ya has completado un análisis básico de Web Security Scanner. Si has analizado tu propia aplicación, consulta cómo personalizar el análisis en la sección Analizar una aplicación de esta página.

Si has desplegado una aplicación de prueba para ejecutar el análisis, completa el siguiente paso de limpieza de esta página para evitar que se te cobren cargos de App Engine por la aplicación.

Paso 4: Limpieza

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Analizar una aplicación

Configura un análisis personalizado para tu aplicación con una cuenta de prueba.

Paso 1: Crear una cuenta de prueba

Cuando analices tu aplicación, es mejor que uses una cuenta de prueba que no tenga acceso a datos sensibles ni a operaciones dañinas. Crea una cuenta de prueba que pueda iniciar sesión en tu aplicación. Anota las credenciales de inicio de sesión para proporcionarlas como autenticación al crear un análisis. Las credenciales te permiten usar la cuenta de prueba para analizar datos.

Paso 2: Crear un análisis

  1. Ve a la página Web Security Scanner de la Google Cloud consola.

    Ir a Web Security Scanner

  2. Haz clic en Seleccionar y, a continuación, selecciona un proyecto que ya tenga una aplicación de App Engine, Compute Engine o GKE implementada.

  3. Para mostrar el nuevo formulario de análisis, haz clic en Crear análisis o Nuevo análisis.

  4. Para añadir valores al nuevo formulario de análisis, usa la siguiente tabla como guía:

    Campo Descripción
    URL iniciales

    Por lo general, un sitio básico solo requiere una URL inicial, como la página principal o de destino del sitio, desde la que Web Security Scanner puede encontrar todas las demás páginas del sitio. Sin embargo, es posible que Web Security Scanner no encuentre todas las páginas si un sitio tiene lo siguiente:

    • Muchas páginas
    • Islas de páginas no conectadas
    • Navegación que requiere JavaScript complejo, como un menú multinivel controlado por el cursor

    En estos casos, especifica más URLs de inicio para aumentar la cobertura del análisis.

    URL excluidas Para reducir la complejidad, las exclusiones se definen mediante un lenguaje proto simplificado que usa uno o varios comodines * en lugar de una expresión regular válida. Para obtener información detallada y ejemplos de patrones válidos, consulta la sección Excluir URLs más adelante en esta página.
    Autenticación > Cuenta de Google

    Puedes crear una cuenta de prueba en Gmail y, a continuación, usarla para escanear tu producto. Si eres cliente de Google Workspace, puedes crear cuentas de prueba en tu dominio, por ejemplo, test-account@yourdomain.com. En Web Security Scanner, estas cuentas funcionan como cuentas de Gmail. No se admite la autenticación de dos factores.

    Google aplica una política de nombres reales en las cuentas de Google. Si el nombre de tu cuenta de prueba no parece real, es posible que se bloquee la cuenta.

    Autenticación > Versión alfa de Identity-Aware Proxy

    Para proteger los recursos con Identity-Aware Proxy, consulta la guía de IAP.

    Para usar Web Security Scanner con un recurso protegido por IAP, primero debes conceder acceso a la cuenta de servicio de Web Security Scanner:

    1. Ve a la página de IAP de la Google Cloud consola.
    2. Selecciona el proyecto que quieras usar con Web Security Scanner.
    3. Seleccione el recurso de aplicación que quiera analizar y, a continuación, haga clic en Añadir principal en el panel de información.
    4. En el cuadro Principales nuevas del panel Añadir principales, introduce la cuenta de servicio de Web Security Scanner con el formato service-project-number@gcp-sa-websecurityscanner.iam.gserviceaccount.com.
    5. En la lista desplegable Seleccionar un rol, selecciona Cloud IAP > Usuario de aplicación web protegida por IAP.
    6. Cuando termines de añadir roles, haz clic en Guardar.

    A continuación, añade el ID de cliente de OAuth al análisis. Web Security Scanner solo puede analizar aplicaciones protegidas por un único ID de cliente de OAuth. Para añadir el ID de cliente de OAuth, sigue estos pasos:

    1. Ve a la página de IAP de la Google Cloud consola.
    2. Selecciona el proyecto que quieras usar con Web Security Scanner.
    3. En el menú adicional, selecciona Editar cliente de OAuth.
    4. En la ventana ID de cliente para aplicación web que aparece, copia el ID de cliente.
    5. Ve a la página Web Security Scanner en la consola de Google Cloud .
    6. En Autenticación, selecciona Identity-Aware Proxy (alfa).
    7. En el cuadro ID de cliente de OAuth2, pega el ID de cliente de OAuth que has copiado y, a continuación, haz clic en Guardar.
    Autenticación > Cuenta que no es de Google

    Seleccione esta opción si ha creado su propio sistema de autenticación y no utiliza los servicios de cuentas de Google. Especifica la URL del formulario de inicio de sesión, el nombre de usuario y la contraseña. Estas credenciales se usan para iniciar sesión en tu aplicación y analizarla.

    Web Security Scanner intenta usar heurísticas para iniciar sesión en tu aplicación y analizarla. En concreto, este método busca un formulario de inicio de sesión de dos campos que incluya un campo username y un campo password. La acción de inicio de sesión debe dar como resultado una cookie de autenticación para que el escáner pueda continuar con el análisis.

    Estos son algunos de los problemas habituales que pueden provocar que falle el inicio de sesión personalizado:

    • Usar campos de formulario HTML no estándar, por ejemplo, no usar el tipo password.
    • Usar un formulario de inicio de sesión complicado, por ejemplo, un formulario que tenga más de un campo username y password.
    • No se guarda una cookie de autenticación cuando el inicio de sesión se realiza correctamente.
    • En algunas situaciones, el escáner se deniega mediante contramedidas que tienen como objetivo protegerse frente a robots, ataques DDoS y otros ataques.

    Recomendamos usar la integración de Identity-Aware Proxy para disfrutar de una experiencia más coherente con el análisis autenticado de aplicaciones.

    Programar Puedes configurar el análisis para que se ejecute a diario, semanalmente, cada dos semanas o cada cuatro semanas. Lo más recomendable es crear un análisis programado para asegurarse de que se prueben las versiones futuras de la aplicación. Además, como de vez en cuando lanzamos nuevos analizadores que detectan nuevos tipos de errores, programar un análisis ofrece más cobertura sin tener que hacer nada manualmente.
    Ejecutar análisis a partir de un conjunto predefinido de IPs de origen (vista previa) Selecciona esta opción para restringir el tráfico de análisis a un conjunto predefinido de direcciones IP. De esta forma, puedes permitir que el escáner acceda a las aplicaciones que se encuentran detrás de un cortafuegos, aunque el alcance del análisis podría verse limitado. Para modificar las reglas de cortafuegos y permitir el tráfico de Web Security Scanner, consulta la sección Configurar el cortafuegos más adelante en esta página.
    Opciones de exportación Seleccione esta opción para exportar automáticamente las configuraciones y los resultados de los análisis a Security Command Center.
    Ignorar errores de estado HTTP Esta opción controla si un número elevado de errores de estado HTTP (por ejemplo, **400 Bad Request**) durante un análisis provocará que se informe de que el análisis ha fallado. Si se selecciona esta opción, se ignorarán los errores de estado. Si no se selecciona esta opción y el porcentaje de errores de estado supera un umbral predeterminado, el análisis se notificará como un error.
  5. Cuando hayas terminado de añadir valores, haz clic en Guardar. Ahora puedes ejecutar el nuevo análisis.

De forma predeterminada, Web Security Scanner usa direcciones IP asignadas aleatoriamente durante cada ejecución. Para que las direcciones IP de Web Security Scanner sean predecibles, sigue los pasos para habilitar los análisis desde IPs estáticas que se indican más adelante en esta página.

Paso 3: Ejecutar un análisis

Para ejecutar un análisis, sigue estos pasos:

  1. Inicia sesión en la cuenta de prueba que usaste para crear el análisis.
  2. Ve a la página Web Security Scanner de la Google Cloud consola.

    Ir a Web Security Scanner

  3. Haz clic en Seleccionar y, a continuación, selecciona el proyecto en el que has creado el análisis.

  4. En Configuraciones de análisis, haz clic en el nombre del análisis que quieras ejecutar.

  5. En la página de detalles del análisis, haz clic en Ejecutar.

El análisis se coloca en una cola y puede que tarde en ejecutarse. Puede tardar varios minutos o muchas horas en ejecutarse, dependiendo de la carga del sistema y de funciones como las siguientes:

  • Complejidad del sitio
  • Número de elementos interactivos por página
  • Número de enlaces
  • La cantidad de JavaScript del sitio, incluida la navegación

Puedes configurar y ejecutar hasta 10 análisis diferentes antes de tener que eliminar o limpiar los resultados guardados anteriormente.

Ver los resultados de análisis personalizados

El estado y los resultados de un análisis personalizado se muestran en la página de detalles del análisis de la consola Google Cloud . Para ver los resultados del análisis, sigue estos pasos:

  1. Inicia sesión en la cuenta de prueba que usaste para crear el análisis.
  2. Ve a la página Web Security Scanner de la Google Cloud consola.

    Ir a Web Security Scanner

  3. Haz clic en Seleccionar y, a continuación, selecciona el proyecto que contenga el análisis que quieras revisar.

  4. En Configuraciones de análisis, haga clic en el nombre del análisis que quiera revisar.

Se carga la página de detalles del análisis y se muestran los resultados del análisis más reciente. Si se está realizando un análisis, en la pestaña Resultados se muestra el porcentaje de finalización actual. Para mostrar los resultados de análisis anteriores, seleccione la fecha y la hora del análisis en la lista desplegable.

Los detalles de los análisis personalizados completados incluyen lo siguiente:

  • En la pestaña Resultados se muestra una lista de las vulnerabilidades que ha encontrado el análisis, si las hay.
  • En la pestaña URLs rastreadas se muestra una lista de las URLs que se han comprobado en el análisis.
  • La pestaña Detalles incluye lo siguiente:

    • URL iniciales
    • Autenticación
    • User-agent
    • Velocidad de análisis máxima en consultas por segundo (CPS)

Puedes consultar más información sobre el análisis en la página de registros del proyecto.

Editar una búsqueda personalizada

Para editar un análisis personalizado, sigue estos pasos:

  1. Inicia sesión en la cuenta de prueba que usaste para crear el análisis.
  2. Ve a la página Web Security Scanner de la Google Cloud consola.

    Ir a Web Security Scanner

  3. Haz clic en Seleccionar y, a continuación, selecciona el proyecto que contiene la exploración que quieres editar.

  4. En Configuraciones de análisis, haz clic en el nombre del análisis que quieras editar.

  5. En la página de detalles del análisis que aparece, haz clic en Editar.

  6. En la página Editar [nombre del análisis] que aparece, haz los cambios que quieras y, a continuación, haz clic en Guardar.

La exploración personalizada editada se ejecuta la próxima vez que esté programada o puedes ejecutarla manualmente para obtener resultados actualizados.

Eliminar un análisis personalizado

Para eliminar uno o varios análisis personalizados, sigue estos pasos:

  1. Inicia sesión en la cuenta de prueba que usaste para crear el análisis.
  2. Ve a la página Web Security Scanner de la Google Cloud consola.

    Ir a Web Security Scanner

  3. Haz clic en Seleccionar y, a continuación, selecciona el proyecto que contiene la exploración que quieres editar.

  4. En Configuraciones de análisis, marque la casilla situada junto a uno o varios análisis que quiera eliminar.

  5. Haz clic en Eliminar y, a continuación, en Aceptar.

Se eliminarán todos los análisis que hayas seleccionado.

Configurar un análisis desde IPs estáticas

En esta sección se describe cómo habilitar los análisis personalizados de Web Security Scanner desde direcciones IP estáticas. Cuando habilitas esta función, Web Security Scanner usa direcciones IP predecibles para analizar tus aplicaciones públicas de Compute Engine y Google Kubernetes Engine. Esta función está en versión preliminar y las direcciones IP de Web Security Scanner pueden cambiar en una versión futura.

Antes de empezar

Para usar la función de análisis personalizados de Web Security Scanner desde IPs estáticas, necesitas lo siguiente:

  • Una aplicación pública de Compute Engine o GKE. Esta función no es compatible con las aplicaciones de App Engine.
  • Una digitalización creada sin autenticación o con autenticación de cuenta de Google. Esta función no admite análisis que usen la autenticación de cuentas que no sean de Google.

Paso 1: Configurar el cortafuegos

  1. Ve a la página Reglas de cortafuegos de la Google Cloud consola.

    Ir a reglas de cortafuegos

  2. Haz clic en Seleccionar y, a continuación, selecciona tu proyecto.

  3. En la página Reglas de cortafuegos que aparece, haga clic en Crear regla de cortafuegos.

  4. En la página Crear una regla de cortafuegos, defina los siguientes valores:

    1. Nombre: introduce web-security-scanner o un nombre similar.
    2. Prioridad: seleccione una prioridad más alta (un valor numérico más bajo) que todas las reglas que deniegan el tráfico de salida a su aplicación.
    3. Intervalos de IPs de origen: introduzca 34.66.18.0/26 y 34.66.114.64/26.
    4. Protocolos y puertos: selecciona Permitir todo o especifica los protocolos y puertos de tu aplicación. Normalmente, puedes seleccionar la casilla tcp y, a continuación, introducir 80 y 443 en los puertos.
  5. Cuando hayas terminado de definir los valores, haz clic en Crear.

Paso 2: Configurar el análisis

Una vez que hayas configurado el cortafuegos para que permita las direcciones IP predecibles de Web Security Scanner, configura el análisis para que use las IPs predefinidas:

  1. Ve a la página Web Security Scanner de la Google Cloud consola.

    Ir a Web Security Scanner

  2. Haz clic en Seleccionar y, a continuación, selecciona tu proyecto.

  3. Crea un análisis o edita uno que ya tengas.

  4. Seleccione la casilla Ejecutar análisis a partir de un conjunto predefinido de direcciones IP de origen.

  5. Guarda el análisis.

La próxima vez que se ejecute el análisis, se analizarán las aplicaciones públicas de Compute Engine y GKE que estén protegidas por el cortafuegos.

Excluir URLs

Puedes especificar hasta 100 patrones de URL excluidos para evitar que se analicen secciones de un sitio durante un análisis personalizado. Web Security Scanner no solicita recursos que coincidan con ninguna de las exclusiones. En las siguientes secciones se describe la coincidencia de patrones que usa Web Security Scanner.

Coincidencia de patrones de URL

La coincidencia de URLs excluidas se basa en un conjunto de URLs definidas por patrones de coincidencia. Un patrón de coincidencia es una URL con cinco segmentos:

  • scheme: por ejemplo, http o *
  • host: por ejemplo, www.google.com, *.google.com o *
  • path: por ejemplo, /*, /foo* o /foo/bar. *
  • query: por ejemplo, ?*, ?*foo=bar*
  • fragment: por ejemplo, #*, #access

A continuación, se muestra la sintaxis básica:

<exclude-pattern> := <scheme>://<host><path><query><fragment>
<scheme> := '*' | 'http' | 'https'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars except '?' or '#'>
<query> := '?' <any chars except '#'>
<fragment> := '#' <any chars>

El * de cada parte tiene la siguiente función:

  • scheme: * coincide con HTTP o HTTPS.
  • host:

    • * coincide con cualquier host
    • *.hostname coincide con el host especificado y con cualquiera de sus subdominios.
  • path: * coincide con 0 o más caracteres.

No es necesario que todos los segmentos de un patrón excluido sean obligatorios.

  • Si no se especifica el segmento scheme, se utiliza *:// de forma predeterminada.
  • El segmento host siempre debe especificarse.
  • Si no se especifica el segmento path, se utiliza el siguiente valor predeterminado:

    • /*, si no se especifican los segmentos query y fragment. Este valor coincide con cualquier path o con ningún path.
    • / o un path vacío si se especifica el segmento query o fragment.
  • Si no se especifica el segmento query, se utiliza el siguiente valor predeterminado:

    • ?*, si no se especifica el segmento fragment. Este valor coincide con cualquier query o con ningún query.
    • ? o un query vacío, si se especifica fragment.
  • Si no se especifica el segmento fragment, se utiliza #* de forma predeterminada, lo que coincide con cualquier fragment o con ningún fragment.

Coincidencias de patrones válidas

En la siguiente tabla se muestran ejemplos de patrones válidos:

Patrón Comportamiento URLs coincidentes de ejemplo
http://*/* Busca coincidencias en cualquier URL que use el esquema HTTP.

http://www.google.com/

http://example.org/foo/bar.html

http://*/foo* Coincide con cualquier URL que use el esquema HTTP en cualquier host, si la ruta empieza por /foo.

http://example.com/foo/bar.html

http://www.google.com/foo

https://*.google.com/foo*bar Coincide con cualquier URL que use el esquema HTTPS y esté en un host google.com, como www.google.com, docs.google.com o google.com, si la ruta empieza por /foo y termina por bar.

http://www.google.com/foo/baz/bar

http://docs.google.com/foobar

http://example.org/foo/bar.html Coincide con la URL especificada. http://example.org/foo/bar.html
http://127.0.0.1/* Coincide con cualquier URL que use el esquema HTTP y esté en el host 127.0.0.1.

http://127.0.0.1/

http://127.0.0.1/foo/bar.html

*://mail.google.com/* Coincide con cualquier URL que empiece por http://mail.google.com o https://mail.google.com.

http://mail.google.com/foo/baz/bar

https://mail.google.com/foobar

*://*/foo*?*bar=baz* Coincide con cualquier URL cuya ruta empiece por /foo y tenga el parámetro de consulta bar=baz. https://www.google.com/foo/example?bar=baz
google.com/app#*open* Coincide con cualquier URL con un host google.com en el que la ruta empieza por /app y tiene el fragmento open. https://www.google.com/app/example#open

Coincidencias de patrón no válidas

En la siguiente tabla se muestran ejemplos de patrones no válidos:

Patrón Motivo
http://www.google.com La URL no incluye una ruta.
http://*foo/bar * en el host debe ir seguido de un . o un /.
http://foo.*.bar/baz Si * está en el host, debe ser el primer carácter.
http:/bar El separador de esquema de la URL no tiene el formato correcto. El valor de "/" debe ser "//".
foo://* El esquema de la URL no es válido.

Siguientes pasos