Activar Application & API Protection para Java

Este producto no es compatible con el sitio Datadog seleccionado. ().

Puedes monitorizar la seguridad de las aplicaciones Java que se ejecutan en Docker, Kubernetes, Amazon ECS y AWS Fargate.

Prerequisites

Activar Application & API Protection

Para empezar

  1. Actualiza la biblioteca Java de Datadog al menos a la versión 0.94.0 (o a la versión 1.1.4 para las funciones de detección de Software Composition Analysis):

    wget -O dd-java-agent.jar 'https://dtdg.co/latest-java-tracer'
    
    curl -Lo dd-java-agent.jar 'https://dtdg.co/latest-java-tracer'
    
    ADD 'https://dtdg.co/latest-java-tracer' dd-java-agent.jar
    

    Para comprobar que las versiones del lenguaje y del marco de trabajo de tu servicio son compatibles con las funciones de Application & API Protection, consulta Compatibilidad.

  2. Ejecuta tu aplicación Java con Application & API Protection activada. Desde la línea de comando:

    java -javaagent:/path/to/dd-java-agent.jar -Ddd.appsec.enabled=true -Ddd.trace.enabled=false -Ddd.service=<MY SERVICE> -Ddd.env=<MY_ENV> -jar path/to/app.jar
    

    O uno de los siguientes métodos, dependiendo de dónde se ejecute la aplicación:

    Nota: Los sistemas de archivos de solo lectura no son compatibles actualmente. La aplicación debe tener acceso a un directorio /tmp en el que se pueda escribir.

    Actualiza tu contenedor de configuración para APM añadiendo los siguientes argumentos en tu comando docker run:

    docker run [...] -e DD_APPSEC_ENABLED=true -e DD_APM_TRACING_ENABLED=false [...]
    

    Añade los siguientes valores de variable de entorno a tu archivo de contenedor de Docker:

    ENV DD_APPSEC_ENABLED=true
    ENV DD_APM_TRACING_ENABLED=false
    

    Actualiza tu archivo de configuración de despliegue para APM y añade las variables de entorno de Application & API Protection:

    spec:
      template:
        spec:
          containers:
            - name: <CONTAINER_NAME>
              image: <CONTAINER_IMAGE>/<TAG>
              env:
                - name: DD_APPSEC_ENABLED
                  value: "true"
                - name: DD_APM_TRACING_ENABLED
                  value: "false"
    

    Actualiza tu archivo JSON de definición de tareas de ECS, añadiendo esto en la sección de entorno:

    "environment": [
      ...,
      {
        "name": "DD_APPSEC_ENABLED",
        "value": "true"
      },
      {
        "name": "DD_APM_TRACING_ENABLED",
        "value": "false"
      }
    ]
    

    Establece los indicadores apropiados o las variables de entorno en tu servicio de invocación:

    java -javaagent:dd-java-agent.jar \
         -Ddd.appsec.enabled=true \
         -Ddd.trace.enabled=false \
         -jar <YOUR_SERVICE>.jar \
         <YOUR_SERVICE_FLAGS>
    

    After this configuration is complete, the library collects security data from your application and sends it to the Agent. The Agent sends the data to Datadog, where out-of-the-box detection rules flag attacker techniques and potential misconfigurations so you can take steps to remediate.

  3. To see App and API Protection threat detection in action, send known attack patterns to your application. For example, trigger the Security Scanner Detected rule by running a file that contains the following curl script:

    for ((i=1;i<=250;i++)); 
    do
    # Target existing service's routes
    curl https://your-application-url/existing-route -A dd-test-scanner-log;
    # Target non existing service's routes
    curl https://your-application-url/non-existing-route -A dd-test-scanner-log;
    done

    Note: The dd-test-scanner-log value is supported in the most recent releases.

    A few minutes after you enable your application and send known attack patterns to it, threat information appears in the Application Signals Explorer and vulnerability information appears in the Vulnerabilities explorer.

Si necesitas ayuda adicional, ponte en contacto con el equipo de asistencia de Datadog.

Referencias adicionales