After you enable and configure Runtime Application Protection, Dynatrace starts detecting attacks on all monitored applications in your environment. An attack is any request (call) from a certain client IP to your application code with malicious intent (for example, to access or delete protected information with SQL injection) targeting a code-level vulnerability.
To see the list of attacks in your environment, go to Attacks. The following information is displayed.
A general overview of how many attacks happened, according to your selected timeframe and management zone. There are three types of attacks, select any of them for a shortcut to attacks filtered by the respective type:
Your current global attack control mode (Monitoring
, Blocking
, Off
). Selecting it takes you to the Application Protection: General settings page, where you can change your configuration. For details, see Configure Runtime Application Protection.
Attack source locations: A map of the countries from which attacks originated, based on the selected timeframe.
The map is colored to indicate the number of attacks coming from certain countries; see the map legend for details. Select a country to view more information about the attacks from that country:
To filter the attacks list by the selected country, select Filter for attacks from this country.
Attacks over time: A graph of the number of attacks (exploited, blocked, allowlisted) over the selected timeframe. The default timeframe is Last two hours
. You can set a different filter in the global timeframe.
A list of detected attacks in your environment. For optimized performance, a maximum of 500 attacks are displayed at a time. You can narrow down the results by applying filters. To sort the list by any item, select the corresponding column heading. To add or remove column headings, select Format table.
A-2JPGJXQF
)org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate():135
).BloatedJavaSoftwareGroup-IG-1
)The HTTP path of the request (example: /image
).
The IPv4 or IPv6 address of the attacker.
The country from which the attack originated.
The exploit type:
How the attack is controlled, based on your configuration settings:
The time when the attack happened.
Expand attack rows for details, or to perform the following actions:
To see details about an attack, go to Attacks and select an attack. The following information is displayed.
Example title:
SQL injection
, Command injection
, or JNDI injection
)A-2JPGJXQF
)MembershipService.dll unguard-membership-service-*
)Type of attack (Exploited
, blocked
, allowlisted
)
Public internet exposure: If there's any public internet exposure. Possible states are:
Reachable data assets: If there are any reachable data assets affected. Possible states are:
Process group instance: The name of the affected process.
Vulnerability: The type of injection and location of the vulnerable code.
Timestamp: The time when the attack happened.
Source IP: The IP from which the attack originated.
The following actions are available:
The attack path is a visual representation of the attack and contains the following steps:
Name: The code-level vulnerability used.
Code location: The location in the code where the entry point function is called.
If the location is unavailable, Code location isn't displayed.
Vulnerable function: The function that used a part of the attacker's payload, which resulted in the exploitation of the vulnerability.
Depending on the injection type
The user-controlled input is highlighted.
Select View vulnerability to navigate to the details page of the respective code-level vulnerability.
This option is only available if code-level vulnerability detection is enabled.
Process logs that happened around the same time as the attack (+/- 5 min), and which might be related to the attack. To view this information, you need to configure Log Monitoring.
Select View all process-related logs to navigate to the Log viewer page for a list of all process-related logs.
Details about the malicious request, such as the request, host, user agent, HTTP headers, and parameters.
The following actions are available:
Details about the attacker, such as:
When web requests are directly sent to a monitored server, Dynatrace identifies the IP addresses of the end users' devices via socket connections. However, when unmonitored components such as load balancers, CDNs, or proxies are used, the remote IP address is different from the original IP address. For such cases, Dynatrace also considers certain HTTP headers. These headers are most frequently used to identify the originating IP address when a client connects to a web server through an HTTP proxy, a CDN, or a load balancer, and are not configurable.
There are several ways you can filter attacks, as shown below.
You can use the global timeframe selector to filter for attacks that happened during a specific timeframe.
If you filter by a specific management zone, only attacks from that management zone will be displayed. This restriction also affects the Attack source locations map, the Attacks over time chart, as well as the attack list itself.
Once they occur, attacks are assigned to existing management zones. They can only be part of management zones that exist at the moment of the attack. Creating a management zone for an attack that already happened will not affect it, and the attack won't be part of it.
For information on how to set up and apply management zones, and about the rules that define and limit the entities that can be accessed within a management zone, see Management zones.
In the filter bar, the following filters are available.
Java
, .NET
).blocked
, allowlisted
, or exploited
). For details, see the configuration settings.You can also filter for attack status by selecting any type of attack from the general overview bar on top of the Attacks page.
On the Attack source locations map, select any location from which attacks were generated, and then select Filter for attacks from this country.