Configura análisis personalizados con Web Security Scanner

Programa y ejecuta análisis personalizados en una aplicación implementada con Web Security Scanner en la consola de Google Cloud. Web Security Scanner admite análisis de IP y URLs públicas que no están detrás de un firewall.

Antes de comenzar

Para configurar los análisis personalizados mediante Web Security Scanner, necesitas lo siguiente:

  • Debes tener una aplicación implementada en una URL o IP pública.
  • Debes tener habilitado Security Command Center.

Antes de realizar un análisis, revisa cuidadosamente 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.

Debido a que Web Security Scanner propaga campos, presiona los botones, hace clic en vínculos y otras interacciones, debes usarlo con precaución. Es posible que Web Security Scanner active funciones que cambien el estado de tus datos o sistema, y provoquen 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.

Para obtener sugerencias sobre cómo minimizar el riesgo, consulta las prácticas recomendadas a fin de evitar consecuencias no deseadas.

Habilitar Web Security Scanner

Habilitar 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 consola de Google Cloud en la página Configuración de Security Command Center.

Paso 1: Implementa una aplicación de prueba

A fin de completar la configuración de Web Security Scanner para los análisis personalizados, necesitas la URL de una aplicación de Compute Engine, Google Kubernetes Engine (GKE) o App Engine que ya se implementó. Si no tienes una aplicación implementada o deseas probar Web Security Scanner con una aplicación de prueba, implementa la aplicación de prueba de App Engine. Usa el lenguaje que prefieras:

Paso 2: Asigna roles de IAM

Para ejecutar un análisis de Web Security Scanner, debes tener una de las siguientes funciones de administración de identidades y accesos (IAM) en el proyecto que deseas analizar:

  • Editor
  • Propietario

Para agregar una de estos roles, haz lo siguiente:

  1. Ve a la página IAM y administración en la consola de Google Cloud.
    Ir a la página de IAM y administración
  2. Haz clic en la lista desplegable Selector de proyectos.
  3. En el cuadro de diálogo Seleccionar de que aparece, selecciona el proyecto que deseas 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 Agregar otro rol y, luego, selecciona uno de los siguientes roles:
    • Proyecto > Propietario
    • Proyecto > Editor
  6. Cuando hayas agregado todas las funciones que necesitas, haz clic en Guardar.

Obtén más información sobre las funciones de Web Security Scanner.

Paso 3: Ejecuta un análisis

Cuando configuras un análisis, este queda en cola para ejecutarse más tarde. Según la carga actual, es posible que transcurran varias horas antes de que se ejecute un análisis. Para crear, guardar y ejecutar un análisis, haz lo siguiente:

  1. Ve a la página Web Security Scanner en la consola de Google Cloud.
    Ir a la página de Web Security Scanner
  2. Selecciona el proyecto que contenga la aplicación implementada que deseas analizar.
  3. Para configurar un análisis nuevo, haz clic en Análisis nuevo:
  4. En la página Crear un nuevo análisis que se carga, configura los siguientes valores:

    1. En URL de inicio, ingresa la URL de la aplicación que desea analizar.
    2. En Programa, selecciona Semanalmente.
    3. En Siguiente ejecución, selecciona una fecha.

    La casilla Exportar a Security Command Center está marcada de forma automática. Si habilitaste Web Security Scanner como una fuente de seguridad de Security Command Center, los resultados del análisis se pueden mostrar en la consola de Google Cloud.

    Para este primer análisis, usa el análisis predeterminado sin cambiar ningún otro valor en la página Crear un nuevo análisis. Para obtener más información sobre la configuración del análisis, consulta Analiza una app.

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

  6. En la página de Web Security Scanner, haz clic en el nombre del análisis para cargar la página de descripción general y, luego, haz clic en Ejecutar análisis.

    El análisis se pondrá en cola y se ejecutará más adelante. Pueden pasar varias horas antes de que se ejecute el análisis.

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

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

    Para mostrar los detalles sobre un resultado específico, haz clic en el nombre del resultado en los resultados del análisis.

Completaste un análisis básico de Web Security Scanner. Si analizaste tu propia aplicación, obtén información sobre cómo personalizar el análisis en la sección Analiza una app en esta página.

Si implementaste una aplicación de prueba para ejecutar el análisis, completa el siguiente paso de limpieza en esta página a fin de evitar incurrir en cargos por App Engine para la aplicación.

Paso 4: Limpia

  1. En la consola de Google Cloud, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
  3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

Escanea una app

Configura un análisis personalizado para tu app con una cuenta de prueba.

Paso 1: Crea una cuenta de prueba

Cuando analizas tu app, es mejor usar una cuenta de prueba que no tenga acceso a datos sensibles ni a operaciones dañinas. Crea una cuenta de prueba que pueda acceder a tu app. Toma nota de las credenciales de acceso para la autenticación cuando crees un análisis. Las credenciales te permiten usar la cuenta de prueba para analizar datos.

Paso 2: Crea un análisis

  1. Ve a la página Web Security Scanner en la consola de Google Cloud.
    Ir a la página de Web Security Scanner
  2. Haz clic en Seleccionar y, luego, selecciona un proyecto que ya tenga una aplicación de App Engine, Compute Engine o GKE implementada.
  3. Para mostrar el formulario de análisis nuevo, haz clic en Crear análisis o Nuevo análisis.
  4. Para agregar valores al formulario de análisis nuevo, usa la siguiente tabla como guía:
    Campo Descripción
    URL de inicio

    Un sitio simple suele requerir solo una URL de inicio, como la página principal, o de destino del sitio, desde la cual 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 código JavaScript complejo, como un menú de varios niveles controlado por el desplazamiento del mouse

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

    URL excluidas Para reducir la complejidad, las exclusiones se definen mediante un protolenguaje simplificado que use uno o más comodines *, en lugar de requerir una expresión regular válida. Para obtener detalles y muestras de patrones válidos, consulta Cómo excluir URL más adelante en esta página.
    Autenticación > Cuenta de Google

    Puedes crear una cuenta de prueba en Gmail y, luego, usarla para analizar tu producto. Si eres cliente de Google Workspace, puedes crear cuentas de prueba dentro del dominio, por ejemplo, test-account@yourdomain.com. En Web Security Scanner, estas cuentas funcionan como las cuentas de Gmail. La autenticación de dos factores no es compatible.

    Google aplica una política de nombre real en las Cuentas de Google. Si el nombre de tu cuenta de prueba no parece real, la cuenta podría estar bloqueada.

    Autenticación > Identity-Aware Proxy Alfa

    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 otorga acceso a la cuenta de servicio de Web Security Scanner:

    1. Ve a la página de IAP en la consola de Google Cloud.
    2. Selecciona el proyecto que quieres usar con Web Security Scanner.
    3. Selecciona el recurso de aplicación que deseas analizar y, luego, haz clic en Agregar Principal en el panel de información.
    4. En el cuadro Nuevas principales del panel Agregar principales, ingresa la cuenta de servicio de Web Security Scanner en el formato de

      service-project-number@gcp-sa-websecurityscanner.iam.gserviceaccount.com.

    5. En la lista desplegable Selecciona un rol, elige Cloud IAP > Usuario de aplicación web protegida con IAP.
    6. Cuando hayas agregado todas las funciones que necesitas, haz clic en Guardar.

    A continuación, agrega 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 agregar el ID de cliente de OAuth, haz lo siguiente:

    1. Ve a la página de IAP en la consola de Google Cloud.
    2. Selecciona el proyecto que quieres usar con Web Security Scanner.
    3. En el Menú de desbordamiento, selecciona Editar cliente de OAuth.
    4. En la ventana ID de cliente para la 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 OAuth2, pega el ID de cliente de OAuth que copiaste y, luego, haz clic en Guardar.
    Autenticación > Cuenta ajena a Google

    Selecciona esta opción si creaste tu propio sistema de autenticación y no usas los servicios de la Cuenta 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 aplicar heurísticas para acceder a tu aplicación y analizarla. En este método, se busca un formulario de acceso de dos campos que incluya un campo username y password. La acción de acceso debe generar una cookie de autenticación para que el escáner continúe su análisis.

    Algunos problemas comunes pueden hacer que un acceso personalizado falle:

    • Usar campos de formulario HTML no estándar, por ejemplo, sin usar un tipo password
    • Usar un formulario de acceso complicado, por ejemplo, un formulario que tenga más de un único campo username y password
    • No guardar una cookie de autenticación cuando se accede correctamente.
    • En algunas situaciones, no se puede realizar el análisis mediante contramedidas diseñadas para proteger contra bots, DDoS y otros ataques.

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

    Programa Puedes configurar el análisis para que se ejecute a diario, de forma semanal, cada dos semanas o cada cuatro semanas. Es mejor crear un análisis programado para garantizar que se prueben las versiones futuras de tu aplicación. Además, dado que ocasionalmente lanzamos nuevos analizadores que encuentran nuevos tipos de errores, la ejecución de un análisis programado ofrece una mayor cobertura sin esfuerzo manual.
    Ejecuta análisis a partir de un conjunto predefinido de IP de origen
    Vista previa
    Selecciona esta opción para restringir el tráfico de análisis a un conjunto predefinido de direcciones IP. Esto te da la posibilidad de habilitar el escáner para acceder a las aplicaciones que se encuentran tras un firewall, pero puede limitar el alcance del análisis. Para modificar las reglas de firewall a fin de permitir el tráfico de Web Security Scanner, consulta Configura el firewall más adelante en esta página.
    Opciones de exportación Selecciona esta opción para exportar de forma automática la configuración del análisis y los resultados del análisis a Security Command Center.
    Ignorar errores de estado de HTTP Esta opción controla si una gran cantidad de errores de estado HTTP (por ejemplo, 400 Bad Request) durante un análisis hará que el análisis se informe como una falla. Si se selecciona la opción, se ignoran los errores de estado. Si no se selecciona la opción y el porcentaje de errores de estado excede un límite predeterminado, el análisis se informa como una falla.
  5. Cuando termines de agregar etiquetas, haz clic en Guardar. Ahora puedes ejecutar el análisis nuevo.

De forma predeterminada, Web Security Scanner usa direcciones IP asignadas de forma aleatoria durante cada ejecución. Si quieres que las direcciones IP de Web Security Scanner se completen, completa los pasos para habilitar los análisis desde IP estáticas más adelante en esta página.

Paso 3: Ejecuta un análisis

Para ejecutar un análisis:

  1. Accede a la cuenta de prueba que usaste para crear el análisis.
  2. Ve a la página Web Security Scanner en la consola de Google Cloud.
    Ir a la página de Web Security Scanner
  3. Haz clic en Seleccionar y, luego, selecciona el proyecto en el que creaste el análisis.
  4. En Configuraciones de análisis, haz clic en el nombre del análisis que deseas 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 haber un retraso antes de que se ejecute. Puede tardar varios minutos o muchas horas en ejecutarse, según la carga del sistema y características como las siguientes:

  • Complejidad del sitio
  • Cantidad de elementos prácticos por página
  • Cantidad de vínculos
  • Cantidad de JavaScript en el sitio, incluida la navegación

Puedes configurar y ejecutar hasta 10 análisis diferentes antes de que debas borrar o limpiar los resultados guardados antes.

Visualiza 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 en la consola de Google Cloud. Para ver los resultados del análisis, sigue estos pasos:

  1. Accede a la cuenta de prueba que usaste para crear el análisis.
  2. Ve a la página Web Security Scanner en la consola de Google Cloud.
    Ir a la página de Web Security Scanner
  3. Haz clic en Seleccionar y, luego, selecciona el proyecto que contiene el análisis que deseas revisar.
  4. En Configuraciones de análisis, haz clic en el nombre del análisis que deseas revisar.

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

Entre los detalles de los análisis personalizados completados, se incluyen los siguientes:

  • La pestaña Resultados muestra una lista de vulnerabilidades que encontró el análisis, si existe alguno.
  • La pestaña URL rastreadas muestra una lista de las URL que el análisis verificó.
  • En la pestaña Detalles, se incluye lo siguiente:
    • URL de inicio
    • Autenticación
    • Usuario-agente
    • Velocidad máxima de análisis como consultas por segundo (QPS)

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

Edita un análisis personalizado

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

  1. Accede a la cuenta de prueba que usaste para crear el análisis.
  2. Ve a la página Web Security Scanner en la consola de Google Cloud.
    Ir a la página de Web Security Scanner
  3. Haz clic en Seleccionar y, luego, selecciona el proyecto que contiene el análisis que deseas editar.
  4. En Configuraciones de análisis, haz clic en el nombre del análisis que deseas editar.
  5. En la página de detalles de análisis que aparece, haz clic en Editar.
  6. En la página Editar [nombre del análisis] que aparecerá, realiza los cambios que deseas y, luego, haz clic en Guardar.

El análisis personalizado editado se ejecuta la próxima vez que se programa o puedes ejecutarlo de forma manual para obtener los resultados actualizados.

Borra un análisis personalizado

Para borrar uno o más análisis personalizados, sigue estos pasos:

  1. Accede a la cuenta de prueba que usaste para crear el análisis.
  2. Ve a la página Web Security Scanner en la consola de Google Cloud.
    Ir a la página de Web Security Scanner
  3. Haz clic en Seleccionar y, luego, selecciona el proyecto que contiene el análisis que deseas editar.
  4. En Configuraciones de análisis, selecciona la casilla de verificación junto a uno o más análisis que deseas borrar.
  5. Haz clic en Borrar y, luego, en Aceptar.

Se borrarán todos los análisis que seleccionaste.

Configura un análisis desde IP estáticas

En esta sección, se describe cómo habilitar los análisis personalizados de Web Security Scanner desde las 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 vista previa y las direcciones IP de Web Security Scanner podrían cambiar en una versión futura.

Antes de comenzar

Para usar el análisis personalizado de Web Security Scanner desde la característica de IP estáticas, necesitas lo siguiente:

  • Una aplicación pública de Compute Engine o GKE. Por el momento, esta característica no es compatible con aplicaciones de App Engine.
  • Es un análisis creado sin autenticación o con autenticación de Cuentas de Google. Por el momento, esta función no admite análisis que usan autenticación de una cuenta que no es de Google.

Paso 1: Configura el firewall

  1. Ve a la página Reglas de Firewall en la consola de Google Cloud.
    Ir a la página Reglas de firewall
  2. Haz clic en Seleccionar y, luego, selecciona tu proyecto.
  3. En la página Reglas de firewall que aparecerá, haz clic en Crear regla de firewall.
  4. En la página Crear una regla de firewall, configura los siguientes valores:
    1. Nombre: ingresa web-security-scanner o un nombre similar.
    2. Prioridad: selecciona una prioridad más alta (valor inferior) que todas las reglas que rechazan el tráfico de salida a tu aplicación.
    3. Rangos de IP de origen: ingresa 34.66.18.0/2634.66.114.64/26.
    4. Protocolos y puertos: Selecciona Permitir todo o especifica los protocolos y puertos de tu aplicación. Por lo general, puedes seleccionar la casilla de verificación tcp y, luego, ingresar 80 y 443 para los puertos.
  5. Cuando hayas terminado de configurar los valores, haz clic en Crear.

Paso 2: Configura el análisis

Después de configurar tu firewall a fin de permitir que el Web Security Scanner se pueda predecir, configura el análisis para que use IP predefinidas:

  1. Ve a la página Web Security Scanner en la consola de Google Cloud.
    Ir a la página de Web Security Scanner
  2. Haz clic en Seleccionar y, luego, selecciona tu proyecto.
  3. Crea un análisis nuevo o edita uno existente.
  4. Selecciona la casilla de verificación Ejecutar análisis a partir de un conjunto predefinido de IP de origen.
  5. Guarda el análisis.

La próxima vez que el análisis se ejecute, analizará las aplicaciones públicas de Compute Engine y GKE detrás del firewall.

Excluye URL

Puedes especificar hasta 100 patrones de URL excluidos para evitar probar 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 el patrón que coincide con Web Security Scanner.

Coincidencia con el patrón de URL

La coincidencia de URL excluidas se basa en un conjunto de URL 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 o *.google.com*
  • path: por ejemplo, /*, /foo* o /foo/bar. *
  • query: por ejemplo, ?* y ?*foo=bar*
  • fragment: por ejemplo, #* y #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 * en 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 se requieren todos los segmentos en un patrón excluido.

  • Si no se especifica el segmento scheme, el valor predeterminado es *://.
  • Siempre se debe especificar el segmento host.
  • Si no se especifica el segmento path, la configuración predeterminada es:
    • /* si no se especifican los segmentos query y fragment. Este valor coincide con cualquier path o ninguna path.
    • /, o una path vacío, si se especifica el segmento query o fragment.
  • Si no se especifica el segmento query, la configuración predeterminada es:
    • ?*, si no se especifica el segmento fragment. Este valor coincide con cualquier query o ninguna query.
    • ?, o una query vacío, si se especifica el fragment.
  • Si no se especifica el segmento fragment, el valor predeterminado es #*, que coincide con fragment o sin fragment.

Coincidencias de patrones válidos

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

Patrón Comportamiento URL de muestra coincidentes
http://*/* Coincide con cualquier URL que utilice 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 de acceso comienza con /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 de acceso comienza con /foo y termina con 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 127.0.0.1 del host.

http://127.0.0.1/

http://127.0.0.1/foo/bar.html

*://mail.google.com/* Coincide con cualquier URL que comience con 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 en la que la ruta comience con /foo y tenga el parámetro de búsqueda 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 comience con /app y tenga el fragmento open. https://www.google.com/app/example#open

Coincidencias de patrones no válidos

En la siguiente tabla, se proporcionan 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 estar seguido por una . o una /.
http://foo.*.bar/baz Si * está en el host, debe ser el primer carácter.
http:/bar La URL es el separador de esquema, no tiene el formato correcto. El "/" debe ser "//".
foo://* El esquema de URL no es válido.

¿Qué sigue?