This page is not yet available in Spanish. We are working on its translation. If you have any questions or feedback about our current translation project, feel free to reach out to us!
You can monitor application security for Node.js apps running in Docker, Kubernetes, Amazon ECS, and AWS Fargate.
Update your Datadog Node.js library package to at least version 5.0.0 (for Node 18+) or 4.0.0 (for Node 16+) or 3.10.0 (for Node.js 14+), by running one of these commands:
Use this migration guide to assess any breaking changes if you upgraded your library.
Application Security Management is compatible with Express v4+ and Node.js v14+. For additional information, see Compatibility.
Where you import and initialize the Node.js library for APM, also enable ASM. This might be either in your code or with environment variables. If you initialized APM in code, add {appsec: true} to your init statement:
// This line must come before importing any instrumented module.
consttracer=require('dd-trace').init({appsec:true})
For TypeScript and bundlers that support EcmaScript Module syntax, initialize the tracer in a separate file in order to maintain correct load order.
// server.ts
import'./tracer';// must come before importing any instrumented module.
// tracer.ts
importtracerfrom'dd-trace';tracer.init({appsec: true});// initialized in a different file to avoid hoisting.
exportdefaulttracer;
If the default config is sufficient, or all configuration is done through environment variables, you can also use dd-trace/init, which loads and initializes in one step.
import`dd-trace/init`;
Or if you initialize the APM library on the command line using the --require option to Node.js:
node --require dd-trace/init app.js
Then use environment variables to enable ASM:
DD_APPSEC_ENABLED=true node app.js
How you do this varies depending on where your service runs:
Initialize ASM in your code or set DD_APPSEC_ENABLED environment variable to true in your service invocation:
DD_APPSEC_ENABLED=true node app.js
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.
To see Application Security Management 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 Vulnerability Explorer.