Logs

Los logs muestran la actividad de log y los detalles de cada evento registrado en un periodo concreto. Los logs permiten comprender las reglas y contramedidas que las solicitudes disparan y se utilizan como base para transferir el manejo de solicitudes al modo de bloqueo. Los logs pueden provenir de eventos de control de acceso, reglas de protección o bots.

Nota

Si tiene problemas con los requisitos del Reglamento General de Protección de Datos General (RGPD), puede desactivar la opción Logs para el servicio WAF. Puede utilizar My Oracle Support para tramitar una solicitud de servicio para desactivar Logs.

Al trabajar con el servicio WAF, tenga en cuenta la siguiente información:

  • La política de retención de logs para el servicio WAF es de siete días; sin embargo, puede solicitar la configuración de un cubo S3 y que se le entregue más logs. Los logs del cubo se pueden mantener siempre que lo desee.
  • Solo están soportados los cubos OCI "estándar". El nivel de almacenamiento "Archivo" no está soportado.
  • La entrega de logs a la pila ELK solo está soportada para los cubos OCI y S3. Los logs no procesados se envían a los cubos. Desde los cubos, puede implantarlos en una búsqueda elástica.

Visualización de logs

Describe los diferentes métodos para ver logs de una política de perímetro.

Puede filtrar los logs mediante los siguientes tipos de log:

  • Reglas de acceso

  • Comprobación de CAPTCHA

  • Comprobación de JavaScript

  • Reglas de protección

  • Comprobación de interacción humana

  • Comprobación de huella de dispositivo

  • Fuentes de información sobre amenazas

  • Limitación de frecuencia de dirección

  • Acceso

Utilice uno de los siguientes métodos para ver logs de una política de perímetro.

    1. Abra el menú de navegación y haga clic en Identidad y seguridad. En Web Application Firewall, haga clic en Políticas.

      También puede abrir la página Web Application Firewall y hacer clic en Políticas en Recursos.

      Aparece la página Políticas de WAF.

    2. Seleccione el Compartimento en la lista.

      Todas las políticas de WAF de ese compartimento se muestran en formato tabular.

    3. (Opcional) Aplique uno o más de los siguientes filtros para limitar las políticas de WAF que se muestran:
      • Nombre

      • Tipo de política

      • Estado

    4. Seleccione la política de perímetro cuyos logs desea ver.
      Aparece el cuadro de diálogo Detalles de política de perímetro.
    5. Haga clic en Logs en Recursos.

      Aparece la lista Logs.

    6. (Opcional) Complete uno o más de los siguientes filtros para limitar la información de log a los valores que introduzca:
      • Fecha de inicio

      • Hora de inicio

      • Fecha de finalización

      • Hora de finalización

      • URL de Solicitud

      • Dirección IP del cliente

      • Nombre de país

    7. (Opcional) Seleccione uno o más de los siguientes filtros de acción para limitar la información del log a las opciones seleccionadas:
      • Detectar

      • Bloquear

      • Omitir

      • Registro

      • Redireccionado

    8. (Opcional) Seleccione uno o más de los siguientes filtros de tipo de log para limitar la información del log a las opciones seleccionadas:
      • Reglas de acceso

      • Comprobación de CAPTCHA

      • JavaScript desafío

      • Reglas de protección

      • Desafío de interacción humana

      • Comprobación de huella de dispositivo

      • Fuentes de información sobre amenazas

      • Limitación de velocidad de dirección

      • Acceso

      Solo se muestra información de log que contiene las acciones seleccionadas.

    9. Haga clic en el signo más que hay junto al tipo de alerta que desea ver.
    Las entradas de log se muestran según las opciones seleccionadas.
  • Esta tarea no se puede realizar mediante la CLI.

  • Ejecute la operación ListWafLogs para ver la actividad del log.

    Puede filtrar los logs mediante las siguientes opciones de logType:

    • ACCESS_RULES

    • CAPTCHA_CHALLENGE

    • JAVASCRIPT_CHALLENGE

    • PROTECTION_RULES

    • HUMAN_INTERACTION_CHALLENGE

    • DEVICE_FINGERPRINT_CHALLENGE

    • THREAT_INTELLIGENCE_FEEDS

    • ADDRESS_RATE_LIMITING

    • ACCESS

    Los logs se pueden filtrar por logType mediante la siguiente solicitud:

    GET /20181116/waasPolicies/unique_ID/wafLogs?logType=logType&timeObservedGreaterThanOrEqualTo=timestamp&timeObservedLessThan=timestamp&compartmentId=unique_ID

    Por ejemplo:

    GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafLogs?logType=PROTECTION_RULES&timeObservedGreaterThanOrEqualTo=2019-10-24T13:00:00+00:00&timeObservedLessThan=2019-10-24T13:47:00+00:00&compartmentId=ocid1.compartment.oc1..

    Se devuelve la siguiente salida de respuesta para los logs filtrados:

    [
        {
            "action": "BLOCK",
            "clientAddress": "192.0.2.0",
            "countryCode": "US",
            "countryName": "United States",
            "domain": "example.com",
            "httpHeaders": {
                "Accept": "*/*",
                "Host": "example.com",
                "Referer": "",
                "Request-Id": "2019-10-24T13:46:25Z|fa68cab479|192.0.2.0|uwDPcqR0Qt",
                "User-Agent": "curl/7.54.0",
                "X-Client-Ip": "192.0.2.0",
                "X-Country-Code": "US",
                "X-Forwarded-For": "192.0.2.0, 192.0.2.0"
            },
            "httpMethod": "GET",
            "httpVersion": "HTTP/1.1",
            "incidentKey": "2019-10-24T13:46:25Z|fa68cab479|192.0.2.0|uwDPcqR0Qt",
            "logType": "PROTECTION_RULES",
            "protectionRuleDetections": {
                "950002": {
                    "Message": "System Command Access. Matched Data: cmd.exe found within ARGS:abc: cmd.exe",
                    "Message details": "Access denied with code 403 (phase 2). Pattern match \"\\\\b(?:(?:n(?:map|et|c)|w(?:guest|sh)|telnet|rcmd|ftp)\\\\.exe\\\\b|cmd(?:(?:32)?\\\\.exe\\\\b|\\\\b\\\\W*?\\\\/c))\" at ARGS:abc."
                }
            },
            "requestUrl": "/?abc=cmd.exe",
            "timestamp": "Thu, 24 Oct 2019 13:46:25 GMT",
            "userAgent": "curl/7.54.0"
        },
        {
            "action": "BLOCK",
            "clientAddress": "192.0.2.0",
            "countryCode": "US",
            "countryName": "United States",
            "domain": "example.com",
            "httpHeaders": {
                "Accept": "*/*",
                "Host": "example.com",
                "Referer": "",
                "Request-Id": "2019-10-24T13:46:25Z|43bd96b710|192.0.2.0|E04WECJbcY",
                "User-Agent": "curl/7.54.0",
                "X-Client-Ip": "192.0.2.0",
                "X-Country-Code": "US",
                "X-Forwarded-For": "192.0.2.0, 192.0.2.0"
            },
            "httpMethod": "GET",
            "httpVersion": "HTTP/1.1",
            "incidentKey": "2019-10-24T13:46:25Z|43bd96b710|192.0.2.0|E04WECJbcY",
            "logType": "PROTECTION_RULES",
            "protectionRuleDetections": {
                "950002": {
                    "Message": "System Command Access. Matched Data: cmd.exe found within ARGS:abc: cmd.exe",
                    "Message details": "Access denied with code 403 (phase 2). Pattern match \"\\\\b(?:(?:n(?:map|et|c)|w(?:guest|sh)|telnet|rcmd|ftp)\\\\.exe\\\\b|cmd(?:(?:32)?\\\\.exe\\\\b|\\\\b\\\\W*?\\\\/c))\" at ARGS:abc."
                }
            },
            "requestUrl": "/?abc=cmd.exe",
            "timestamp": "Thu, 24 Oct 2019 13:46:25 GMT",
            "userAgent": "curl/7.54.0"
        }
    ]
    

Entrega de logs de WAF al almacenamiento de objetos

Describe cómo entregar logs de WAF a un cubo de almacenamiento de objetos para un acceso y almacenamiento a largo plazo.

Esta tarea requiere la creación de un cubo de almacenamiento de objetos o el uso de uno existente. Familiarícese con los cubos de almacenamiento de objetos y cómo crearlos y gestionarlos antes de continuar con la entrega de datos de log de WAF. Consulte Cubos de almacenamiento de objetos.

Los logs de WAF tienen un ratio de retención limitado. Puede guardarlos de forma indefinida entregando los datos de log de WAF a un cubo de almacenamiento de objetos de su arrendamiento. Primero, cree y configure el cubo de almacenamiento de objetos y, a continuación, envíe una solicitud de soporte a Oracle con la información necesaria para que los logs de WAF se entreguen al cubo.

  1. Acceda al servicio de almacenamiento de objetos y cree un cubo con permisos manage-object-family.

    Solo están soportados los cubos de almacenamiento de objetos estándar. El nivel de almacenamiento de archivo no está soportado. Decida si las claves deben estar gestionadas por el usuario o por Oracle. Las claves gestionadas por el usuario deben estar en KMS. Consulte Cubos de Object Storage para obtener más información.

  2. Defina la visibilidad del cubo en pública.
  3. Cree o configure un usuario con una clave secreta de cliente.

    El WAF necesita una clave y un secreto para autenticarse en el cubo de OCI para escritura. Esta clave está asociada a un usuario. Este usuario debe tener permiso de escritura en el cubo para los logs de WAF. Registre la clave de acceso y el secreto para el usuario y almacénelos en una ubicación de almacenamiento.

  4. Agregue un usuario a un grupo y cree una política de identidad para otorgar permiso para que ese grupo pueda escribir en el cubo.

    Por ejemplo, si el cubo está en el compartimento MSSpoc y el nombre de grupo es wafBucketLogGroup, la sentencia de identidad sería:

    allow group wafBucketLogGroup to manage object-family in compartment MSSpoc

    La política se crea en el compartimento MSSpoc.

  5. Cree un archivo en el cubo que incluya las siguientes credenciales:
    • Aplicación web (nombre de dominio para la política de WAF):

    • SecretKey:

    • AccessKey:

    • bucket_region del almacenamiento de objetos:

    • bucket_name del almacenamiento de objetos:

    • Espacio de nombres:

    • URL de punto final: https://namespace.compat.objectstorage.region.oraclecloud.com

    • Prefijo de carga (formato de archivo para los logs. El valor por defecto es %{[webapp_domain]}_/%{+YYYY}/%{+MM}/%{+dd}):

    Nota

    Todos los logs de la aplicación web (incluidos otros dominios) van a una única carpeta denominada según el dominio principal. No puede definir la entrega de log solo para el dominio principal o solo para el dominio adicional.

  6. Cree una solicitud autenticada previamente para un objeto específico de la siguiente manera:
    1. Abra el menú de navegación y haga clic en Almacenamiento. En Almacenamiento de objetos y de archivo, haga clic en Cubos.
    2. Seleccione el compartimento donde está ubicado el cubo.
    3. Haga clic en el nombre del cubo.
    4. Haga clic en Objetos en Recursos para mostrar la lista de objetos.
    5. Seleccione el archivo que contiene credenciales de cubo y, a continuación, haga clic en Solicitudes autenticadas previamente en Recursos.
    6. Haga clic en Crear solicitud autenticada previamente.
  7. Cree una solicitud de los Servicios de Soporte Oracle (My Oracle Support) para que los logs de WAF se entreguen al cubo de almacenamiento de objetos. La solicitud de soporte debe contener la URL de solicitud autenticada previamente con el archivo creado que contiene las credenciales del cubo.

    Solo están soportados los cubos OCI "estándar". El nivel de almacenamiento "Archivo" no está soportado.