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 bucket se pueden mantener siempre que lo desee.
  • Solo están soportados los buckets 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 buckets. Desde los buckets, 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 seleccione Identidad y seguridad. En Firewall de aplicaciones web, seleccione Recursos de política de perímetro.
      Se abre la lista Políticas. Todas las políticas de perímetro se muestran en una tabla.
    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. Seleccione 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. Seleccione el signo más que se encuentra junto al tipo de alarma 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 bucket de almacenamiento de objetos para un acceso y almacenamiento a largo plazo.

Esta tarea requiere la creación de un bucket de almacenamiento de objetos o el uso de uno existente. Familiarícese con los buckets 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 bucket de almacenamiento de objetos de su arrendamiento. Primero, cree y configure el bucket 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 bucket.

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

    Solo están soportados los buckets 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 bucket 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 bucket de OCI para escritura. Esta clave está asociada a un usuario. Este usuario debe tener permiso de escritura en el bucket 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 bucket.

    Por ejemplo, si el bucket 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 bucket 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 seleccione Storage. En Object Storage & Archive Storage, seleccione Buckets .
    2. Seleccione el compartimento donde está ubicado el cubo.
    3. Seleccione el nombre del cubo.
    4. Seleccione Objetos en Recursos para mostrar la lista de objetos.
    5. Select the file that contains bucket credentials, and then select Pre- Authenticated Requests under Resources.
    6. Seleccione 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 bucket 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 bucket.

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