建设地方性综合门户网站大致多少钱?要多大的流量?,中山精品网站建设流程,wordpress首页标题副标题,查询关键词排名工具目录 Falco介绍
Falco架构 Falco的安装
告警规则示列
威胁场景测试#xff1a;
监控容器创建的不可信任进程#xff08;自定义规则#xff09; Falco支持五种输出告警方式falco.yaml#xff1a;
Falco告警集中化展示#xff1a; Falco介绍
Falco是一个Linux安全工具…目录 Falco介绍
Falco架构 Falco的安装
告警规则示列
威胁场景测试
监控容器创建的不可信任进程自定义规则 Falco支持五种输出告警方式falco.yaml
Falco告警集中化展示 Falco介绍
Falco是一个Linux安全工具它使用系统调用来保护和监控系统。 Falco最初是由Sysdig开发的后来加入CNCF孵化器成为首个加入CNCF的运行时安全项目。 Falco提供了一组默认规则可以监控内核态的异常行为例如
对于系统目录/etc、/usr/bin、/usr/sbin的读写行为文件所有权、访问权限的变更从容器打开shell会话容器生成新进程特权容器启动
项目地址 https://github.com/falcosecurity/falco
Falco架构 rule engine角色引擎需要配置文件
通过内核中的模块检测系统调用满足则输出到目标或者设备手机和存储。支持对k8s审计日志的收集。 Falco的安装
【】rpm --import https://falco.org/repo/falcosecurity-3672BA8F.asc【】curl -s -o /etc/yum.repos.d/falcosecurity.repo https://falco.org/repo/falcosecurity-rpm.repo【】yum install epel-release -y#【】yum update #更新系统不更新系统会起不来。falco是一个守护进程【】yum install falco -y【】systemctl start falco【】systemctl enable falco【】lsmod|grep falco 报此错可以考虑升级内核3.10.0-1160.el7.x86_64
falco配置文件目录/etc/falco
falco.yaml falco配置于输出告警通知方式falco_rules.yaml 规则文件默认已经定义很多威胁场景falco_rules.loacl.yaml 自定义扩展规则文件k8s_audit_rules.yaml K8s审计日志规则
安装文档https://falco.org/zh/docs/installation
告警规则示列
falco_rules.local.yaml
- rule: The program sudo is run in a containerdesc: An event will trigger every time you run sudo in a containercondition: evt.type execve and evt.dir and container.id ! host and proc.name sudooutput: Sudo run in container (user%user.name %container.info parent%proc.pname
cmdline%proc.cmdline)priority: ERRORtags: [users, container]参数说明
rule规则名称唯一desc规则的描述condition条件表达式output符合条件事件的输出格式priority告警的优先级tags本条规则的tags分类
威胁场景测试 falco_rules.yaml(默认规则)里面的写法和标准写法不太一样好多是类似于变量的重复引用所以可以简写
1、监控系统二进制文件目录读写默认规则 $PATH目录
2、监控根目录或者/root目录写入文件默认规则
3、监控运行交互式Shell的容器默认规则进入容器会被监控
4、监控容器创建的不可信任进程自定义规则
验证tail -f /var/log/message 监控容器创建的不可信任进程自定义规则
监控容器创建的不可信任进程规则在falco_rules.local.yaml文件添加以nginx为例
- rule: Unauthorized process on nginx containerscondition: spawned_process and container and container.image
startswith nginx and not proc.name in (nginx)
#运行新镜像必须是容器并且容器镜像开头是nginx 并设置白名单desc: testoutput: Unauthorized process on nginx containers (user%user.name container_name%container.name container_id%container.id image%container.image.repository shell%proc.name parent%proc.pname cmdline%proc.cmdline terminal%proc.tty)priority: WARNINGcondition表达式解读
• spawned_process 运行新进程
• container 容器
• container.image startswith nginx 以nginx开头的容器镜像
• not proc.name in (nginx) 不属于nginx的进程名称允许进程名称列表
重启falco应用新配置文件
systemctl restart falco
测试 Falco支持五种输出告警方式falco.yaml
输出到标准输出默认启用输出到文件输出到Syslog默认启用输出到HTTP服务输出到其他程序命令行管道方式
告警配置文件/etc/falco/falco.yaml
例如输出到指定文件将上面的json_output: false改为true json方便后面的分析
file_output:enabled: truekeep_alive: false#改为true是持续写入保持打开状态false是有事件再打开写入 filename: /var/log/falco_events.log上下两个也可以关了没必要重复收集影响性能 Falco告警集中化展示 FalcoSideKick一个集中收集并指定输出支持大量方式输出例如influxdb、Elasticsearch等项目地址https://github.com/falcosecurity/falcosidekick
FalcoSideKick-UI告警通知集中图形展示系统项目地址 https://github.com/falcosecurity/falcosidekick-ui 部署Falco UI #输出给ui falcosidekick收集数据ui的容器端口为2802 数据接口是2801
docker run -d \
-p 2801:2801 \
--name falcosidekick \
-e WEBUI_URLhttp://11.0.1.21:2802 \
falcosecurity/falcosidekick【】docker run -d -p 6379:6379 redislabs/redisearch:2.2.4 docker run -d \
-p 2802:2802 \
-e FALCOSIDEKICK_UI_REDIS_URL11.0.1.21:6379 \
--name falcosidekick-ui \
falcosecurity/falcosidekick-ui修改falco配置文件指定http方式输出
json_output: true
json_include_output_property: true
http_output:enabled: trueurl: http://192.168.31.71:2801/UI访问地址http://192.168.31.71:2802/ui/