[Auditbeat] Add user information to processes#9963
Conversation
|
Pinging @elastic/secops |
webmat
left a comment
There was a problem hiding this comment.
One minor nit that I'm ok if we fix subsequently (you decide).
Otherwise LGTM.
Thanks for the ping, btw, I created elastic/ecs#299
There was a problem hiding this comment.
Note that ECS now defines the group field set as well. So you should also copy system.audit.process.gid to group.id.
Other than that, this event looks good
There was a problem hiding this comment.
Great, I've added group.id and group.name. I'm less comfortable having two duplicated fields (probably shouldn't even had one in the first place since we don't have those in other places either), so I've removed system.audit.process.uid and system.audit.process.gid.
webmat
left a comment
There was a problem hiding this comment.
Yes, this works for me. LGTM
|
Auditbeat's auditd module already defines fields like |
|
@andrewkroh You mean extend the top-level I took a look at the auditd module's sample data - it does not look ECS compliant to me? Fields like |
I could see how they would be part of the If we follow Auditd, it would probably be: But I wonder, what if we ever wanted add more information than the name? Would we need more maps? Maybe it could allow nesting, e.g.: The Anyway, if this is a change to the ECS user object, maybe this discussion has to happen in the ECS repo? |
|
Yeah I addressed these fields under Waiting on input from Nic on it before bugging you guys. But my conclusion over in that issue is that despite not being in ECS (yet?), I don't think it's a problem. Read up over there for my thinking on this. |
|
@webmat I see that in #10111 we have the group IDs under Whereas here we concluded to have them under I'm confused now - I think we should have one or the other, and ECS should specify which. Personally, I like the idea of having all user information under |
|
To follow up on the discussion we've had elsewhere, I would also recommend populating I agree that ECS will need to:
@cwurm I also think you mentioned that the sets of IDs represented here for privilege escalation is different than what has been happening in the new Although you made the point that these details may make more sense under |
|
Oops that first paragraph was meant as a recommendation for #10111. You're already doing this here :-) I have too many PRs to review LOL |
|
Actually this whole comment was written for #10111 :-) |
9804719 to
b5319d7
Compare
|
I've updated to the nested user format proposed in #10111 (comment) and rebased on master. It would be nice to have resolved user and group names for effective and saved UIDs and GIDs ( |
webmat
left a comment
There was a problem hiding this comment.
Loving this representation of all the considered users, in determining the effective rights.
Let's wait for people's input tomorrow, when the US isn't on holiday. But I think this is good to go :-)
LGTM
andrewkroh
left a comment
There was a problem hiding this comment.
LGTM. Can you please update the PR description to reflect the final format used in the PR.
|
Agree with @andrewkroh. However this PR depends on #10275 |
b5319d7 to
f92d87e
Compare
webmat
left a comment
There was a problem hiding this comment.
LGTM, but a few points:
- A rebase will get you green again
- Please adjust the PR description with the final outcome
- I think we're fine like this, wrt field definitions. ECS change was only adding
user.group.idanduser.group.name. You're defining everything you need here already. I'm defining them locally to Filebeat for the Fb auditd module.
This reverts commit eb8f7bfbc38d5d4e7a6cca9e867105f51991457c.
0397c47 to
1c0d8f1
Compare
|
jenkins, test this |
1 similar comment
|
jenkins, test this |
Adds real, effective, and saved UID and GID information to the process dataset. (cherry picked from commit fa40a54)
Since
go-sysinfocan now report the UIDs and GIDs of a process, this adds this information to theprocessmetricset.The added fields are:
user.id(UID or SID)user.nameuser.group.id(GID or SID of primary group)user.group.nameuser.effective.id(EUID)user.effective.group.id(EGID)user.saved.id(SUID)user.saved.group.id(SGID)Also adds some unit tests and tightens the system test.