elastic / elastic/apm

[SIEM integration] Collect authentication related information

Open
#128 0 comments 0 reactions 0 assignees View on GitHub
meta
Dominant language
Gherkin
Stars
427
Forks
125
PR merge metrics
No merged PRs in 30d

Description

As layed out in the [design doc](https://docs.google.com/document/d/1FoQRJkRQ1EhdZDGYnGNhCj4SKiY1quF9jII-XsWVOyA/edit#heading=h.jvh2iid8rap) authentication related APM data should be integrated with SIEM visualizations.

Necessary ECS Information is:
- [x] `@timestamp`: already available
- [ ] `host.name`: https://github.com/elastic/apm-server/issues/2502

- [ ] `host.id`: https://github.com/elastic/apm-server/issues/2608
> Unique host id. As hostname is not always unique, use values that are meaningful in your environment.
> Example: The current usage of beat.name.
> type: keyword

- [ ] `host.os.name`: not collected
> Operating system name, without the version.
> type: keyword
> example: Mac OS X

- [ ] `host.os.version`: not collected
> Operating system version as a raw string.
> type: keyword
> example: 10.14.1

- [ ] `user.name`: already defined and collected, ensure to also collect field on authentication errors

- [ ] `event.category`: should be set to `authentication`
- [ ] `event.outcome`: should be set to `success, failure, unknown`
- [ ] `source.ip`: mapping `http.request.socket.remote_address` (backend) and `client.ip` (RUM) for http events, but not collected and sent for other protocols.
>IP address of the source.
> Can be one or multiple IPv4 or IPv6 addresses.
> type: ip

- [ ] `destination.ip`: ongoing discussions in https://github.com/elastic/apm/issues/115

Above field definitions are copied from [ECS definitions](https://github.com/elastic/ecs/blob/master/docs/field-details.asciidoc)

TODO:
- [ ] investigate how to collect missing information in the agents (@SergeyKleyman) - Opened https://github.com/elastic/apm/issues/136 to gather feedback from the agents teams
- [ ] define scope for which authentication information can be collected (e.g. auth requests over http via username, no token based authentication yet) - Scope defined in https://github.com/elastic/apm/issues/136
- [ ] define Intake API for additional information (apm-server , apm-agent-devs )
- [ ] implement server side processing of agent collected fields to ES fields (apm-server)
- [ ] Define event types eligible for storing authentication related information, most probably ~`span`~ `transaction`. Figure out if agents always create a dedicated event for authentication requests, even when failing and there is an additional error object? Ensure every authentication attempt is only counted once.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.