-
Notifications
You must be signed in to change notification settings - Fork 25k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Filter audit logs for transport layer authentication #32470
Comments
Pinging @elastic/es-security |
I think that the logging locus that can flood is Line 433 in a3b2729
The log message indicates populating the thread context with authn headers while handling ingress transport messages.
Right now there is no way to filter these because ignore policies filter on "fields", and there is no "field" denoting a rest or transport message, no field_name=[field_value]; it is a positional part in the log line. This will change in #31931 when all log line parts will be identified by a field name. But even then, post #31931, when it will be possible to enhance ignore policies to work with rest and transport messages it is not obvious if we should do it. Right now, ignore policies filter on who (users, realms, roles) and what (index). It is natural to devise ignore policies on these terms. These terms don't concern the inner working of the system, unlike the rest and transport labels. In a few words, I think the capacity to filter on arbitrary "fields" of the log line is dangerous because one has to know very well in which cases such log entries occur; they require inner system knowledge. |
My supposition about the logging locus generating the flood is probably wrong. @tvernum was right pointing to me that the line I have indicated is not executed when requests span nodes, as I supposed in my previous comment. A single authenticated request will not generate multiple similar authn success entries. Therefore I think we need some sample of the logging deluge to reason about the best way to filter it. |
It sounds like the feedback we're looking for here is an example of unhelpfully-verbose audit logging from @joshbressers - do I have that right @albertzaharovits? |
@andyb-elastic Yes we need an example to go forward, but instead of Josh I would think @mikeh-elastic, who opened the ER https://github.com/elastic/enhancements/issues/4448 pointing to this issue, would be more qualified to provide one. It's been some time, I'll be closing this in two weeks if no one fills us in with an example. |
@albertzaharovits |
@mikeh-elastic In other words we expect the audit log to be verbose. The question is if the verbosity the customer has come up against is unreasonable. If he had been fiddling with the logging settings and given a sample of the log file, we can answer if this is something we plan to change and eventually work on. Specifically, in this instance, I do not believe transport |
There hasn't been any progress on this issue for quite a while - should there be more discussions around it or can it be closed? |
I'm going to close this issue, but we can re-open it if we get more concrete requirements. As it stands, our view is:
We're definitely open to looking at ways to remove superfluous entries from the audit logs, but we're not convinced that protocol based filtering is the right tool. |
Today we have the ability for the audit log to record all authentication successes including authentication success on the REST and transport layer. There are use cases where we see a large number of authentication messages being logged due to transport layer authentication. These messages cannot be filtered today without disabling the filtering of all authentication success events.
Disabling all authentication success events isn't a reasonable solution. A possible option is to allow the filtering of transport authentication messages.
There are of course drawbacks to filtering transport authentication messages, it could give an attacker a way to view cluster data without leaving any log messages.
The text was updated successfully, but these errors were encountered: