Dynatrace Runtime Application Protection leverages code-level insights and transaction analysis to detect and block exploitation attempts on your applications automatically and in real time.
Runtime Application Protection (RAP) uses runtime instrumentation to detect and optionally block exploit attempts. When your application receives a web request, Dynatrace OneAgent tracks user input and analyzes how it interacts with sensitive code paths, such as SQL queries, OS commands, or JNDI lookups. If the behavior matches a known attack pattern, Dynatrace reports it as a security finding. If attack blocking is enabled, OneAgent throws an exception to stop the malicious request before it executes. RAP is lightweight and safe for use in production environments.
Before you begin, ensure your environment meets the necessary requirements:
You're using a supported version of Dynatrace. Review the release notes for currently supported versions.
For Runtime Application Protection to work properly, make sure deep monitoring is enabled in Settings > Processes and containers > Process group monitoring.
For .NET, Go, and Python technologies, for which automatic deep monitoring is disabled, you need to manually enable deep monitoring on each host. For more information, see Process deep monitoring.
This permissions section refers to the classic Attacks (previous Dynatrace) or
Attacks app, which is deprecated. If you're using the latest Dynatrace experience, refer to the
Threats & Exploits requirements instead.
For details on transitioning, see Upgrade to the latest Dynatrace.
You need to assign the Security admin group to users who will be allowed to view and manage attacks.
To assign Security admin permission
To add an existing user to the group
For more information on user permissions, see Manage user groups and permissions.
Dynatrace detects SQL injection, JNDI injection, command injection, and SSRF attacks in the following technologies.
| Technology | Minimum OneAgent version | SQL injection | Command injection | JNDI injection | SSRF |
|---|---|---|---|---|---|
| Java 8 or higher1 | 1.241 | ||||
| .NET2'3 | 1.289 | ||||
| Go3 | 1.311 |
Only supported on Windows x86 and Linux x86 systems.
Only .NET Framework 4.5, .NET Core 3.0 or higher, and 64-bit processes are supported.
For .NET and Go technologies, for which automatic deep monitoring is disabled, you need to manually enable deep monitoring on each host. For more information, see Process deep monitoring.
To set up Runtime Application Protection, follow the instructions below.
To use preview features, please contact a Dynatrace product expert via live chat to activate Runtime Application Protection before continuing.
To enable Runtime Application Protection globally on your environment
Go to Settings (New) > Analyze and alert > Application security > Application protection (New).
Enable Runtime Application Protection.
Select Enable.
To define the global attack control for all process groups
If you define custom monitoring rules based on certain process groups or vulnerability types, the custom rules override the global attack control for the selected technology, and Runtime Application Protection continues to monitor the attacks based on your rules.
Go to Settings (New) and select Collect and capture > General monitoring settings > OneAgent features.
Filter by code-level attack evaluation and enable the feature for the technologies you want to monitor.
Select Save changes.
Restart your processes.
OneAgent version 1.309 To detect SSRF attacks, you also need to enable SSRF attack evaluation. See below for instructions.
Go to Settings (New) and select Collect and capture > General monitoring settings > OneAgent features.
Find and enable Java SSRF code-level vulnerability and attack evaluation.
Select Save changes.
Restart your processes.
After you set up Runtime Application Protection, you can
Runtime Application Protection is licensed based on the consumption of GiB-hours if you're using the Dynatrace Platform Subscription (DPS) licensing model, or Application Security units (ASUs) if you're using the Dynatrace classic licensing.