[SIEM integration] Investigate if agents can capture authentication related information
- Dominant language
- Gherkin
- Stars
- 427
- Forks
- 125
- PR merge metrics
- No merged PRs in 30d
Description
## Description of the issue
We started to investigate possible ways to use APM collected information for SIEM purposes. One of proposals is to have APM capture authentication attempts and use captured data for SIEM analysis. See https://github.com/elastic/apm/issues/128 for more details.
For the first milestone we would like to limit the scope to [Form-based authentication](https://en.wikipedia.org/wiki/HTTP%2BHTML_form-based_authentication) - more advanced authentication protocols such as OpenID Connect or SAML are not part of the scope at this stage.
In this issue we would like to summarize which authentication related information APM agents can capture and what would be the effort to implement the missing pieces. The data we would like agents to capture is:
1. Detect transactions that are authentication attempts - that is the transactions that were invoked for authentication purposes. For example transaction for POST request to `/login` with form data containing user's credentials should be marked as "transaction for authentication purposes" while subsequent transactions (that probably check a cookie to ensure that user is already authenticated) should not be marked as "transaction for authentication purposes"
2. Capture authentication attempts outcome. Possible values are `success`,` failure` and `unknown` . `unknown` can be used for cases when authentication did not succeed but not because credentials were checked and found invalid but instead check procedure itself did not complete for some technical reason. For example some backend service on which application relies for authentication was not available.
3. Capture username supplied as part of user's credentials for authentication attempt. Please note that we would like to capture username even for authentication attempts with outcome other than `success`. It might be even more interesting from SIEM point of view to see username used for authentication attempts that did not succeed.
## What we ask agent teams to do
@elastic/apm-agent-devs Please leave a comment answering the question: can your agent capture authentication related information described above, namely: 1) Detect authentication attempts, 2) Authentication outcome and 3) Username and what would be approximate effort estimate to implement it?
In addition if you have any other suggestion or comment regarding the subject of SIEM-APM integration around authentication related information (for example maybe we should not use `transaction` events to transfer authentication related information from agents to APM Server - maybe we should use `span` events or introduce a new type of event, etc.) please leave a comment in this issue.
## Agents status summary
| Agent | Detect authentication attempts | Outcome | Username | Notes
| ---------|:---------------------------------------:|:----------:|:------------:|:----:|
| .NET | | | | |
| Go | | | | |
| Java | | | | |
| Node.js | | | | |
| Python | | | | |
| Ruby | | | | |
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.