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 elegido 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.
Habilita 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 consola de Google Cloud, en la página Configuración de Security Command Center.
Paso 1: Implementa 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 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:
Ve a la página IAM y administración en la consola de Google Cloud.
Haz clic en la lista desplegable Selector de proyectos.
En el cuadro de diálogo Seleccionar de que aparece, selecciona el proyecto que deseas analizar con Web Security Scanner.
En la página IAM, junto a tu nombre de usuario, haz clic en Editar.
En el panel Editar permisos que aparecerá, haz clic en Agregar otra función y, luego, selecciona una de las siguientes funciones:
- Proyecto > Propietario
- Proyecto > Editor
Cuando hayas agregado todas las funciones que necesitas, haz clic en Guardar.
Obtén más información sobre los roles 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:
Ve a la página Web Security Scanner en la consola de Google Cloud.
Selecciona el proyecto que contenga la aplicación implementada que deseas analizar.
Para configurar un análisis nuevo, haz clic en Análisis nuevo:
En la página Crear un nuevo análisis que se carga, configura los siguientes valores:
- En URL de inicio, ingresa la URL de la aplicación que desea analizar.
- En Programa, selecciona Semanalmente.
- 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 Cómo analizar una app.
Para crear el análisis, haz clic en Guardar.
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.
La página de descripción general del análisis muestra una sección de resultados cuando se completa el proceso. En la siguiente imagen, se muestran los resultados del análisis de ejemplo cuando no se detectan vulnerabilidades:
Si habilitaste Web Security Scanner como una 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
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
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
Ve a la página Web Security Scanner en la consola de Google Cloud.
Haz clic en Seleccionar y, luego, selecciona un proyecto que ya tenga una aplicación de App Engine, Compute Engine o GKE implementada.
Para mostrar el formulario de análisis nuevo, haz clic en Crear análisis o Nuevo análisis.
Para agregar valores al formulario de análisis nuevo, usa la siguiente tabla como guía:
Campo Descripción URL de inicio Un sitio básico 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 JavaScript complejo, como un menú de varios niveles basado en el desplazamiento del mouse
En tales casos, especifica URL de inicio adicionales 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 URLs 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 de tu 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, es posible que la cuenta esté bloqueada.
Autenticación > Identity-Aware Proxy Alfa Para proteger 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:
- Ve a la página de IAP en la consola de Google Cloud.
- Selecciona el proyecto que deseas usar con Web Security Scanner.
- Selecciona el recurso de aplicación que deseas analizar y, luego, haz clic en Agregar principal en el panel de información.
-
En el cuadro Principales nuevas 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
. - En la lista desplegable Seleccionar una función, selecciona Cloud IAP > Usuario de app web protegida con IAP.
- 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:
- Ve a la página de IAP en la consola de Google Cloud.
- Selecciona el proyecto que deseas usar con Web Security Scanner.
- En el menú de opciones, selecciona Editar cliente de OAuth.
- En la ventana ID de cliente para la aplicación web que aparece, copia el ID de cliente.
- Ve a la página de Web Security Scanner en la consola de Google Cloud.
- En Autenticación, selecciona Identity-Aware Proxy Alfa.
- En el cuadro ID de cliente de 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 acceso, 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
ypassword
. 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, no usar un tipo
password
-
Usar un formulario de acceso complicado, por ejemplo, un formulario que tenga más de un campo
username
ypassword
- No guardar una cookie de autenticación cuando se accede correctamente.
- En algunas situaciones, las contramedidas que están destinadas a proteger contra bots, DSD y otros ataques, pueden rechazar el análisis.
Recomendamos usar la integración de Identity-Aware Proxy para obtener la experiencia más coherente con el análisis autenticado de aplicaciones.
Programar 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 (Versión preliminar) 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 automáticamente 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. 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:
- Accede a la cuenta de prueba que usaste para crear el análisis.
Ve a la página Web Security Scanner en la consola de Google Cloud.
Haz clic en Seleccionar y, luego, selecciona el proyecto en el que creaste el análisis.
En Configuraciones de análisis, haz clic en el nombre del análisis que deseas ejecutar.
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:
- Accede a la cuenta de prueba que usaste para crear el análisis.
Ve a la página Web Security Scanner en la consola de Google Cloud.
Haz clic en Seleccionar y, luego, selecciona el proyecto que contiene el análisis que deseas revisar.
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ó.
La pestaña Detalles 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:
- Accede a la cuenta de prueba que usaste para crear el análisis.
Ve a la página Web Security Scanner en la consola de Google Cloud.
Haz clic en Seleccionar y, luego, selecciona el proyecto que contiene el análisis que deseas editar.
En Configuraciones de análisis, haz clic en el nombre del análisis que deseas editar.
En la página de detalles de análisis que aparece, haz clic en Editar.
En la página Editar [nombre del análisis] que aparece, 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:
- Accede a la cuenta de prueba que usaste para crear el análisis.
Ve a la página Web Security Scanner en la consola de Google Cloud.
Haz clic en Seleccionar y, luego, selecciona el proyecto que contiene el análisis que deseas editar.
En Configuraciones de análisis, selecciona la casilla de verificación junto a uno o más análisis que deseas borrar.
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 versión preliminar, 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. Esta función no es compatible con aplicaciones de App Engine.
- Es un análisis creado sin autenticación o con autenticación de Cuentas de Google. Esta función no admite análisis que usan autenticación de una cuenta que no es de Google.
Paso 1: Configura el firewall
Ve a la página Reglas de Firewall en la consola de Google Cloud.
Haz clic en Seleccionar y, luego, selecciona tu proyecto.
En la página Reglas de firewall que aparecerá, haz clic en Crear regla de firewall.
En la página Crear una regla de firewall, establece los siguientes valores:
- Nombre: ingresa
web-security-scanner
o un nombre similar. - Prioridad: selecciona una prioridad más alta (valor inferior) que todas las reglas que rechazan el tráfico de salida a tu aplicación.
- Rangos de IP de origen: ingresa
34.66.18.0/26
y34.66.114.64/26
. - 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
y443
para los puertos.
- Nombre: ingresa
Cuando hayas terminado de configurar los valores, haz clic en Crear.
Paso 2: Configura el análisis
Después de configurar tu firewall para permitir que el Web Security Scanner se pueda predecir, configura el análisis para que use IP predefinidas:
Ve a la página Web Security Scanner en la consola de Google Cloud.
Haz clic en Seleccionar y, luego, selecciona tu proyecto.
Crea un análisis nuevo o edita uno existente.
Selecciona la casilla de verificación Ejecutar análisis a partir de un conjunto predefinido de IP de origen.
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 las 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
o*
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 HTTPShost
:*
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
, el valor predeterminado es:/*
si no se especifican los segmentosquery
yfragment
. Este valor coincide con cualquierpath
o ningunapath
./
, o unapath
vacío, si se especifica el segmentoquery
ofragment
.
Si no se especifica el segmento
query
, el valor predeterminado es:?*
, si no se especifica el segmentofragment
. Este valor coincide con cualquierquery
o ningunaquery
.?
, o unaquery
vacío, si se especifica elfragment
.
Si no se especifica el segmento
fragment
, el valor predeterminado es#*
, que coincide confragment
o sinfragment
.
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://*/foo* |
Coincide con cualquier URL que use el esquema HTTP, en cualquier host, si la ruta comienza con /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 comienza con /foo y termina con bar . |
|
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 . |
|
*://mail.google.com/* |
Coincide con cualquier URL que comience con http://mail.google.com o https://mail.google.com . |
|
*://*/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 |
Los * del host deben estar seguidos de un . o / . |
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?
- Obtén información para solucionar los resultados de Web Security Scanner.