-
Notifications
You must be signed in to change notification settings - Fork 729
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for tagging falco rules.
Add support for tagging falco rules with tags, enabling/disabling sets of rules based on the tags they have, and having the ability to run a subset of loaded rules against a given event: - in sinsp_evttype_filter::add(), you now provide a set of tags for each filter (can be empty). - internal to sinsp_evttype_filter, m_filter_by_tag maintains a mapping from tag to list of filters having that tag. This is used for sinsp_evttype_filter::enable_tags, which allows enabling/disabling all filters having a given tag. - In sinsp_evttype_filter, rules are grouped into rulesets. All rules have a ruleset of 0 which reflects their original loaded status. - In ::enable/::enable_tags(), you can provide an optional ruleset id (number, defaults to 0) that lets you select sets of rules that are enabled given that ruleset id. - The filter_wrapper boolean is now a vector indexed by ruleset id. filter_wrapper is also now a class with a constructor that initializes the vector to one ruleset id (0) that is enabled. Having multiple rulesets lets you call enable/enable_tags multiple times with different rulesets. It's one set of rules, but the ruleset allows you to have different subsets of rules enabled/disabled. - ::run() also takes an optional ruleset argument. Once you find the matching set of filters given the event type, check the filter's enabled vector to see if the filter is enabled given the provided ruleset. If so, the filter runs against the event. - In sinsp_evttype_filter, clean up use of auto loops to use const references whenever possible and use std:: for stl objects in the header file.
- Loading branch information
Showing
4 changed files
with
102 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters