With Application Security Management (ASM) enabled, the Datadog tracing library actively monitors all web services and API requests for suspicious security activity.
An In-App WAF rule specifies conditions on the incoming request to define what the library considers suspicious. The Datadog tracing library includes hundreds of out-of-the-box ASM In-App WAF rules, which are used to display security traces in the trace explorer and in the default signal rules.
You can add to the In-App WAF rules without upgrading the tracing library.
An In-App WAF rule is a JSON object composed of a category, a name, tags, and conditions. When a security trace is detected, tags from the rules are propagated onto the security trace, and can be used to build detection rules.
Custom in-app WAF rules enable users to log or block specific types of requests to their applications. For example, you can use custom rules to monitor login success or failure. To get started, navigate to Security -> Application Security -> Protection -> In-App WAF -> Custom Rules.
Note: Default rules in in-app WAF are read-only. To refine your in-app WAF behavior, modify the in-app WAF rules. Default rules cannot be modified, however, you can create a custom rule based on one of the default rules, and modify the match conditions to your needs. Be sure to disable the default rule so that you don’t have two similar rules evaluating the same requests.
Blocking on a service is defined through the policy rules. Three Datadog default policies are included in the in-app WAF: Datadog Recommended, Datadog Monitoring-only, which monitors attacks only, and Datadog Block Attack tools, which blocks attack tools and monitors all other attacks.
Services using a policy are visible directly in the policy management page.
Click on the three dots to the right of one of the policies, and select Download Configuration of this Policy to download the configuration file to your local machine.
Optionally, select Apply this Policy to Services to apply a default policy to one or more of your protection enabled ASM services.
Note: A policy can be applied to one or more services, but a service can only contain one policy.
Update the file to include the JSON definition of your new rule, following the specification above. For example:
Using a utility such as SCP or FTP, copy the appsec-rules.json file to your application server, for example, /home/asm/appsec-rules.json.
Following the instructions in Enabling ASM for adding application variables in your environment, add the DD_APPSEC_RULES environment variable to your service with the full path to the file:
Next, configure detection rules to create security signals based on those security traces defined by the In-App WAF rules you created. You can modify the provided out-of-the-box ASM detection rules or create new ones.