
Kubernetes Falco运行时安全
简介
Falco,云原生运行时安全项目,是事实上是 Kubernetes 威胁检测引擎。
通过观察应用程序和容器的行为在运行时检测威胁。
使用 Falco 插件跨云环境扩展威胁检测。
安装与启动
Debian/Ubuntu
# 信任密钥
curl -s https://falco.org/repo/falcosecurity-3672BA8F.asc | apt-key add -
echo "deb https://download.falco.org/packages/deb stable main" | tee -a /etc/apt/sources.list.d/falcosecurity.list
apt-get update -y
# 安装内核头文件
apt-get -y install linux-headers-$(uname -r)
# 安装 Falco
apt-get install -y falco
# 卸载也很简单
apt-get remove falco
Centos7
# 信任密钥
curl -s https://falco.org/repo/falcosecurity-3672BA8F.asc | apt-key add -
echo "deb https://download.falco.org/packages/deb stable main" | tee -a /etc/apt/sources.list.d/falcosecurity.list
apt-get update -y
# 安装内核头文件
apt-get -y install linux-headers-$(uname -r)
# 安装 Falco
apt-get install -y falco
# 卸载也很简单
apt-get remove falco
启动
systemctl enable falco
systemctl start falco
# 查看falco状态
service falco status
还可通过使用以下命令,查看Falco 日志
journalctl -fu falco
也会将日志记录到/var/log/syslog
中
cat /var/log/syslog | grep falco
Demo
打开单独的一个窗口,我们可以通过创建pod,并通过exec
连接到容器里面,将触发Falco的shell in a container
规则,并且会记录下来。
然后在以前的端口进行日志shell的检查。
# 第二个窗口
kuberctl run pod --image=nginx:alpine
kuberctl exec -it pod -- sh
# 第一个窗口
cat /var/log/syslog | grep falco | grep shell
自定义日志输出格式
这个格式可能看着没那么好看,我们可以自定义一个自己的格式。
首先规则在/etc/falco/
目录下,我们先备份,在修改日志记录的规则。
cd /etc/falco/
cp falco_rules.yaml falco_rules.local.yaml
# 修改日志记录
vim falco_rules.local.yaml
首先我们找到Terminal shell in container
规则,更改output
输出格式。
- rule: Terminal shell in container
desc: A shell was used as the entrypoint/exec point into a container with an attached terminal.
condition: >
spawned_process and container
and shell_procs and proc.tty != 0
and container_entrypoint
and not user_expected_terminal_shell_in_container_conditions
output: >
Bob NEW SHELL!!! (user_id=%user.uid repo=%container.image.repository %user.uiduser=%user.name user_loginuid=%user.loginuid %container.info
shell=%proc.name parent=%proc.pname cmdline=%proc.cmdline terminal=%proc.tty container_id=%container.id image=%container.image.repository)
priority: NOTICE
tags: [container, shell, mitre_execution]
然后我们重启falco,然后再次打开一个pod的shell。
# 重启falco
service falco restart
# 远程连接
k exec -it pod -- sh
# 再次查询日志
cat /var/log/syslog | grep Bob
关于更多字段的设置请参考:
https://falco.org/docs/rules/supported-fields/
官网请参考:
https://falco.org/
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
评价
排名
2
文章
657
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 :
好是好,这个对效率影响大不大哇,效率高不高
一个bug让程序员走上法庭 索赔金额达400亿日元
剑轩 : 有点可怕
ASP.NET Core 服务注册生命周期
剑轩 :
http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术