Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Web Application Firewall/ Guía del usuario/ Configuración de regla/ Configuración de las reglas de anti-crawler
Actualización más reciente 2023-09-21 GMT+08:00

Configuración de las reglas de anti-crawler

Puede configurar reglas de protección contra anti-crawler de sitios web para protegerse contra motores de búsqueda, escáneres, herramientas de script y otros rastreadores, y usar JavaScript para crear reglas de protección contra rastreadores personalizadas.

Si ha habilitado proyectos de empresa, asegúrese de que tiene todos los permisos de operación para el proyecto en el que se encuentra la instancia WAF. A continuación, puede seleccionar el proyecto de la lista desplegable Enterprise Project y configurar políticas de protección para los nombres de dominio del proyecto.

Prerrequisitos

Se ha agregado un sitio web a WAF.

Restricciones

  • Las cookies deben estar habilitadas y JavaScript es compatible con cualquier navegador utilizado para acceder a un sitio web protegido por reglas de protección contra rastreadores.
  • Si su servicio está conectado a CDN, tenga cuidado al usar la función anti-crawler de JS.

    El almacenamiento en caché de CDN puede afectar el rendimiento anti-crawler de JS y la accesibilidad de la página.

  • La función anti-crawler de JavaScript no está disponible para instancias WAF de pago por uso.
  • Esta función no está disponible en la edición estándar, anteriormente edición profesional.
  • Actualmente, el JavaScript anti-rawler es apoyado en CN-Hong Kong and AP-Bangkok regions.
  • Si no hay registros de bloqueo disponibles después de habilitar las reglas anti-crawler basadas en JavaScript, maneje el problema consultando ¿Por qué no se encuentran registros para algunas solicitudes bloqueadas por WAF después de activar el anti-Crawler?
  • WAF solo registra el desafío de JavaScript y los eventos de autenticación de JavaScript. No se pueden configurar otras acciones de protección para el desafío y la autenticación de JavaScript.
  • WAF Las reglas anti-crawler basadas en JavaScript solo verifican las solicitudes GET y no verifican las solicitudes POST.

Cómo Funciona la Protección Anti-Crawler JavaScript

Figura 1 muestra cómo funciona la detección anti-crawler de JavaScript, que incluye desafíos de JavaScript (paso 1 y paso 2) y autenticación de JavaScript (paso 3).

Figura 1 Proceso de protección Anti-Crawler de JavaScript

Si el anti-crawler JavaScript está habilitado cuando un cliente envía una solicitud, WAF devuelve un fragmento de código JavaScript al cliente.

  • Si el cliente envía una solicitud normal al sitio web, activada por el código JavaScript recibido, el cliente enviará automáticamente la solicitud a WAF de nuevo. A continuación, WAF reenvía la solicitud al servidor de origen. Este proceso se llama verificación de JavaScript.
  • Si el cliente es un rastreador, no puede ser activado por el código JavaScript recibido y no enviará una solicitud a WAF de nuevo. El cliente falla la autenticación de JavaScript.
  • Si un rastreador de cliente fabrica una solicitud de autenticación WAF y envía la solicitud a WAF, WAF bloqueará la solicitud. El cliente falla la autenticación de JavaScript.

Mediante la recopilación de estadísticas sobre el número de desafíos de JavaScript y respuestas de autenticación, el sistema calcula cuántas solicitudes defiende el anti-crawler JavaScript. En Figura 2, el anti-crawler de JavaScript ha registrado 18 eventos, 16 de los cuales son respuestas de desafío de JavaScript, y 2 de los cuales son respuestas de autenticación de JavaScript. Others es el número de solicitudes de autenticación WAF fabricadas por el rastreador.

Figura 2 Parámetros de una regla de protección contra anti-crawler JavaScript

WAF solo registra el desafío de JavaScript y los eventos de autenticación de JavaScript. No se pueden configurar otras acciones de protección para el desafío y la autenticación de JavaScript.

Procedimiento

  1. Inicie sesión en la consola de gestión
  2. Haga clic en la esquina superior izquierda de la consola de gestión y seleccione una región o proyecto.
  3. Haga clic en la esquina superior izquierda y elija Web Application Firewall en Security & Compliance.
  4. In the navigation pane, choose Website Settings.
  5. En la columna Policy de la fila que contiene el nombre de dominio, haga clic en Configure Policy.
  6. En el área de configuración Anti-Crawler, habilite anti-Crawler usando el interruptor de la derecha, como se muestra en Figura 3. Si habilita esta función, haga clic en Configure Bot Mitigation.

    Figura 3 Área de configuración Anti-Crawler

  7. Seleccione la pestaña Feature Library y habilite la protección haciendo referencia a Tabla 1. Figura 4 muestra un ejemplo.

    Una regla anti-explotación basada en características tiene dos acciones de protección:
    • Block

      WAF bloquea y registra los ataques detectados.

    • Log only

      Los ataques detectados solo se registran. Esta es la acción de protección predeterminada.

    Scanner está habilitado de forma predeterminada, pero puede habilitar otros tipos de protección si es necesario.
    Figura 4 Biblioteca de funciones

    Tabla 1 Características de detección anti-crawler

    Tipo

    Descripción

    Comentarios

    Motor de búsqueda

    Esta regla se utiliza para impedir que los rastreadores web, como Googlebot y Baiduspider, recopilen contenido de su sitio.

    Si habilita esta regla, WAF detecta y bloquea los rastreadores de motores de búsqueda.

    NOTA:

    Si Search Engine no está habilitado, WAF no bloquea las solicitudes POST de Googlebot o Baiduspider. Si desea bloquear las solicitudes POST de Baiduspider, utilice la configuración descrita en Ejemplo de configuración - Motor de búsqueda.

    Escáner

    Esta regla se utiliza para bloquear analizadores, como OpenVAS y Nmap. Un escáner analiza vulnerabilidades, virus y otros trabajos.

    Después de activar esta regla, WAF detecta y bloquea los rastreadores del escáner.

    Herramienta de script

    Esta regla se utiliza para bloquear herramientas de script. Una herramienta de script se utiliza a menudo para ejecutar tareas automáticas y scripts de programa, como los programas HttpClient y Python.

    Si habilita esta regla, WAF detecta y bloquea la ejecución de tareas automáticas y scripts de programa.

    NOTA:

    Si su aplicación utiliza scripts como HttpClient y Python, deshabilite Script Tool. De lo contrario, WAF identificará tales herramientas de script como rastreadores y bloqueará la aplicación.

    Otro

    Esta regla se utiliza para bloquear los rastreadores utilizados para otros fines, como el monitoreo de sitios, el uso de proxys de acceso y el análisis de páginas web.

    NOTA:

    Para evitar ser bloqueados por WAF, los rastreadores pueden usar un gran número de proxies de direcciones IP.

    Si habilita esta regla, WAF detecta y bloquea los rastreadores que se utilizan para diversos fines.

  8. Seleccione la pestaña JavaScript y configure Status y Protective Action.

    El anti-crawler de JavaScript está deshabilitado por defecto. Para habilitarlo, haga clic en y Confirm en el cuadro de diálogo mostrado. indica que el anti-crawler JavaScript está activado.

    • Las cookies deben estar habilitadas y JavaScript es compatible con cualquier navegador utilizado para acceder a un sitio web protegido por reglas de protección contra rastreadores.
    • Si su servicio está conectado a CDN, tenga cuidado al usar la función anti-crawler de JS.

      El almacenamiento en caché de CDN puede afectar el rendimiento anti-crawler de JS y la accesibilidad de la página.

  9. Configure una regla anti-crawler basada en JavaScript haciendo referencia a Tabla 2.

    Se proporcionan dos acciones de protección: Protect all paths y Protect a specified path.

    • Para proteger todas las rutas excepto una ruta especificada
      Seleccione Protect all paths, pero en la esquina superior izquierda de la página, haga clic en Exclude Path. Configure los parámetros necesarios en el cuadro de diálogo mostrado y haga clic en OK.
      Figura 5 Excluir ruta
    • Para proteger sólo una ruta de acceso especificada

      Seleccione Protect a specified path. En la esquina superior izquierda de la página, haga clic en Add Path. En el cuadro de diálogo que aparece, configure los parámetros necesarios y haga clic en OK.

      Figura 6 Agregar ruta
    Tabla 2 Parámetros de una regla de protección anti-crawler basada en JavaScript

    Parámetro

    Descripción

    Valor de ejemplo

    Rule Name

    Nombre de la regla

    wafjs

    Path

    Una parte de la URL, sin incluir el nombre de dominio

    Una URL se utiliza para definir la dirección de una página web. El formato básico de URL es el siguiente:

    Nombre de protocolo://Domain name or IP address[:Port]/[Path/.../File name].

    Por ejemplo, si la URL es http://www.example.com/admin, establezca Path en /admin.

    NOTA:
    • La ruta de acceso no admite expresiones regulares.
    • La ruta de acceso no puede contener dos o más barras diagonales consecutivas. Por ejemplo, ///admin. Si introduce///admin, WAF converts /// to /.

    /admin

    Logic

    Seleccione una relación lógica en la lista desplegable.

    Include

    Rule Description

    Una breve descripción de la regla.

    None

Otras operaciones

  • Para deshabilitar una regla, haga clic en Disable en la columna Operation de la regla. El Rule Status predeterminado es Enabled.
  • Para modificar una regla, haga clic en Modify en la fila que contiene la regla.
  • Para eliminar una regla, haga clic en Delete en la fila que contiene la regla.

Ejemplo de configuración - sólo rastreadores de secuencias de comandos de registro

Para verificar que WAF está protegiendo el nombre de dominio www.example.com contra una regla anti-crawler:

  1. Ejecute una herramienta de JavaScript para rastrear el contenido de la página web.
  2. En la pestaña Feature Library, habilite la Script Tool y seleccione Log only para Protective Action. (Si WAF detecta un ataque, solo registra el ataque.)

    Figura 7 Habilitación de la herramienta de script

  3. Habilite la protección de anti-crawler.

    Figura 8 Área de configuración Anti-Crawler

  4. En el panel de navegación de la izquierda, seleccione Events para ir a la página Events.

    Figura 9 Consulta de eventos - Rastreadores de scripts

Ejemplo de configuración - Motor de búsqueda

A continuación se muestra cómo permitir el motor de búsqueda de Baidu o Google y bloquear la solicitud POST de Baidu.

  1. Establezca Status de Search Engine en haciendo referencia a las instrucciones en Paso 6.
  2. Configure una regla de protección precisa haciendo referencia a Configuración de una regla de protección precisa, como se muestra en Figura 10.

    Figura 10 Bloqueo de solicitudes POST