-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Port the extended_attributes table to Linux, add support for Linux capabilities #6195
Port the extended_attributes table to Linux, add support for Linux capabilities #6195
Conversation
ff8e8d3
to
3a68b0e
Compare
4cb2859
to
6d4c33a
Compare
I have a suggestion for an alternate approach to managing source-based libraries in Buck. What do you think of changing the documentation such that Buck open source users first run CMake to setup the source checkouts and patching, then we update the expected paths in Buck to look for a |
Buck has since been removed from this version of osquery. How can we take a next step on this PR? |
The build becomes much easier since we are nearly 100% using the source layer in CMake. |
Ping @alessandrogario, are we still interested in merging these features? Is there a strong desire for this data? |
We did write this for one of our clients and would still like to see it merged. I was asking earlier about the next step. It looks like it hasn't been reviewed, but there was a Buck-related suggestion that is I assume no longer applicable. If we rebased this PR and removed the Buck files, would it be eligible for a PR review at that point? |
I am broadly interested in this work. The PR does need a refresh though. (sorry) |
6d4c33a
to
881901c
Compare
I believe the PR is refreshed and it was just not communicated well. If someone can review/approve, I think this PR is ready. |
9835aec
to
e136773
Compare
+1 on this feature. Of note, file capabilities and process capabilities can be different as a set of capabilities can be preserved across an execve. For this reason, I analyze process capabilities so that inheritable capabilities (CapInh) are collected by osquery.
An approach the parses out /proc table will also allow include NoNewPrivs as well as Seccomp process attributes. Perhaps, we can extend https://osquery.io/schema/4.5.0/#processes table to include additional attributes? Could someone point me to the https://osquery.io/schema/4.5.0/#processes Linux C/C++ code? Here's an example of a osquery-go-sdk extension ...
The PR LGTM aside from renaming extended_attributes to file_capabilties. |
I like the idea of another processes_ table for Linux security attributes vs further extending the processes table, but that is not a strong opinion. One user experience I like is having processes be as cross platform as possible, then each OS’s specific processes-related data shows up in nuanced and specific additional tables. In this scenario the overhead of joining those tables together should be minimal. |
A downside to using two joined tables, is you can get inconsistencies for rapidly changing data. (This is potentially an issue with processes, we've had customers bump into problems with other vendor solutions joining processes to open sockets) |
e136773
to
1459e63
Compare
1459e63
to
32430fe
Compare
32430fe
to
2207e72
Compare
2207e72
to
380e897
Compare
osquery/tables/system/tests/linux/extended_attributes_tests.cpp
Outdated
Show resolved
Hide resolved
Those changes are implemented now
This is a port of the following PR from 3.x to 4.x: #4505