mirror of
https://github.com/falcosecurity/falco.git
synced 2025-10-21 11:29:26 +00:00
* Fix mistake in always_true macro comparison operator was wrong. * Whitespace diffs * Add opt-in rules for interp procs + networking New rules "Interpreted procs inbound network activity" and "Interpreted procs outbound network activity" check for any network activity being done by interpreted programs like ruby, python, etc. They aren't enabled by default, as there are many legitimate cases where these programs might perform inbound or outbound networking. Macros "consider_interpreted_inbound" and "consider_interpreted_outbound" can be used to enable them. * Opt-in rule for running network tools on host New rule Lauch Suspicious Network Tool on Host is similar to "Lauch Suspicious Network Tool in Container" [sic] but works on the host. It's not enabled by default, but can be enabled using the macro consider_network_tools_on_host. * Add parens around container macro * Make Modify User Context generic to shell configs Rename Modify User Context to Modify Shell Configuration File to note that it's limited to shell configuration files, and expand the set of files to cover a collection of file names and files for zsh, csh, and bash. * Also prevent shells from directly opening conns Bash can directly open network connections by writing to /dev/{tcp,udp}/<addr>/<port>. These aren't actual files, but are interpreted by bash as instructions to open network connections. * Add rule to detect shell config reads New rule Read Shell Configuration File is analogous to Write Shell Configuration File, but handles reads by programs other than shell programs. It's also disabled by default using consider_shell_config_reads. * Add rule to check ssh directory/file reads New rule Read ssh information looks for any open of a file or directory below /root/.ssh or a user ssh directory. ssh binaries (new list ssh_binaries) are excluded. The rule is also opt-in via the macro consider_ssh_reads. * Rule to check for disallowed ssh proxies New rule "Program run with disallowed http proxy env" looks for spawned programs that have a HTTP_PROXY environment variable, but the value of the HTTP_PROXY is not an expected value. This handles attempts to redirect traffic to unexpected locations. * Add rules showing how to categorize outbound conns New rules Unexpected outbound connection destination and Unexpected outbound connection source show how to categorize network connections by either destination or source ip address, netmask, or domain name. In order to be effective, they require a comprehensive set of allowed sources and/or destinations, so they both require customization and are gated by the macro consider_all_outbound_conns. * Add .bash_history to bash config files * Restrict http proxy rule to specific procs Only considering wget, curl for now. * Shell programs can directly modify config Most notably .bash_history. * Use right system_procs/binaries system_binaries doesn't exist, so use system_procs + an additional test for shell_binaries.