Enabling Application & API Protection for Java
Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel,
n'hésitez pas à nous contacter.
You can monitor App and API Protection for Java apps running in Docker, Kubernetes, Amazon ECS, and AWS Fargate.
Prerequisites
Enabling Application & API Protection
Get started
Update your Datadog Java library to at least version 0.94.0 (at least version 1.1.4 for Software Composition Analysis detection features):
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
To check that your service’s language and framework versions are supported for Application & API Protection capabilities, see Compatibility.
Run your Java application with Application & API Protection enabled. From the command line:
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
Or one of the following methods, depending on where your application runs:
Note: Read-only file systems are not currently supported. The application must have access to a writable /tmp
directory.
Update your configuration container for APM by adding the following arguments in your docker run
command:
docker run [...] -e DD_APPSEC_ENABLED=true -e DD_APM_TRACING_ENABLED=false [...]
Add the following environment variable values to your container Dockerfile:
ENV DD_APPSEC_ENABLED=true
ENV DD_APM_TRACING_ENABLED=false
Update your deployment configuration file for APM and add the Application & API Protection environment variables:
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"
Update your ECS task definition JSON file, by adding these in the environment section:
"environment": [
...,
{
"name": "DD_APPSEC_ENABLED",
"value": "true"
},
{
"name": "DD_APM_TRACING_ENABLED",
"value": "false"
}
]
Set the appropriate flags or environment variables in your service invocation:
java -javaagent:dd-java-agent.jar \
-Ddd.appsec.enabled=true \
-Ddd.trace.enabled=false \
-jar <YOUR_SERVICE>.jar \
<YOUR_SERVICE_FLAGS>
Une fois cette configuration terminée, la bibliothèque recueille des données de sécurité à partir de votre application et les envoie à l’Agent, qui les transmet à son tour à Datadog. Les règles de détection prêtes à l’emploi signalent alors les attaques et les problèmes potentiels de configuration, afin que vous puissiez agir en conséquence.
Pour tester la détection des menaces Application Security Management, envoyez des patterns d’attaque connus à votre application. Par exemple, exécutez un fichier contenant le script curl suivant afin de déclencher la règle de détection de scanner de sécurité :
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
Remarque : la plupart des versions récentes prennent en charge la valeur dd-test-scanner-log
.
Quelques minutes après avoir activé votre application et envoyé les patterns d’attaque, des informations sur les menaces s’affichent dans l’Application Signals Explorer. Des informations sur les vulnérabilités apparaissent également dans le Vulnerability Explorer.
If you need additional assistance, contact Datadog support.
Further Reading
Documentation, liens et articles supplémentaires utiles: