tnblog
首页
视频
资源
登录

Kubernetes Falco运行时安全

7534人阅读 2022/6/28 21:29 总访问:3662933 评论:0 收藏:0 手机
分类: 容器编排

Kubernetes Falco运行时安全

简介


Falco,云原生运行时安全项目,是事实上是 Kubernetes 威胁检测引擎。
通过观察应用程序和容器的行为在运行时检测威胁。
使用 Falco 插件跨云环境扩展威胁检测。

安装与启动

Debian/Ubuntu

  1. # 信任密钥
  2. curl -s https://falco.org/repo/falcosecurity-3672BA8F.asc | apt-key add -
  3. echo "deb https://download.falco.org/packages/deb stable main" | tee -a /etc/apt/sources.list.d/falcosecurity.list
  4. apt-get update -y
  5. # 安装内核头文件
  6. apt-get -y install linux-headers-$(uname -r)
  7. # 安装 Falco
  8. apt-get install -y falco
  9. # 卸载也很简单
  10. apt-get remove falco

Centos7

  1. # 信任密钥
  2. curl -s https://falco.org/repo/falcosecurity-3672BA8F.asc | apt-key add -
  3. echo "deb https://download.falco.org/packages/deb stable main" | tee -a /etc/apt/sources.list.d/falcosecurity.list
  4. apt-get update -y
  5. # 安装内核头文件
  6. apt-get -y install linux-headers-$(uname -r)
  7. # 安装 Falco
  8. apt-get install -y falco
  9. # 卸载也很简单
  10. apt-get remove falco

启动

  1. systemctl enable falco
  2. systemctl start falco
  3. # 查看falco状态
  4. service falco status


还可通过使用以下命令,查看Falco 日志

  1. journalctl -fu falco


也会将日志记录到/var/log/syslog

  1. cat /var/log/syslog | grep falco

Demo


打开单独的一个窗口,我们可以通过创建pod,并通过exec连接到容器里面,将触发Falco的shell in a container规则,并且会记录下来。
然后在以前的端口进行日志shell的检查。

  1. # 第二个窗口
  2. kuberctl run pod --image=nginx:alpine
  3. kuberctl exec -it pod -- sh
  4. # 第一个窗口
  5. cat /var/log/syslog | grep falco | grep shell

自定义日志输出格式


这个格式可能看着没那么好看,我们可以自定义一个自己的格式。
首先规则在/etc/falco/目录下,我们先备份,在修改日志记录的规则。

  1. cd /etc/falco/
  2. cp falco_rules.yaml falco_rules.local.yaml
  3. # 修改日志记录
  4. vim falco_rules.local.yaml


首先我们找到Terminal shell in container规则,更改output输出格式。

  1. - rule: Terminal shell in container
  2. desc: A shell was used as the entrypoint/exec point into a container with an attached terminal.
  3. condition: >
  4. spawned_process and container
  5. and shell_procs and proc.tty != 0
  6. and container_entrypoint
  7. and not user_expected_terminal_shell_in_container_conditions
  8. output: >
  9. Bob NEW SHELL!!! (user_id=%user.uid repo=%container.image.repository %user.uiduser=%user.name user_loginuid=%user.loginuid %container.info
  10. shell=%proc.name parent=%proc.pname cmdline=%proc.cmdline terminal=%proc.tty container_id=%container.id image=%container.image.repository)
  11. priority: NOTICE
  12. tags: [container, shell, mitre_execution]


然后我们重启falco,然后再次打开一个pod的shell。

  1. # 重启falco
  2. service falco restart
  3. # 远程连接
  4. k exec -it pod -- sh
  5. # 再次查询日志
  6. cat /var/log/syslog | grep Bob


关于更多字段的设置请参考:
https://falco.org/docs/rules/supported-fields/
官网请参考:
https://falco.org/


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

net core 使用 EF Code First

下面这些内容很老了看这篇:https://www.tnblog.net/aojiancc2/article/details/5365 项目使用多层,把数据库访问...

cAPS.net 保存base64位格式的图片

publicvoidUpload() { //取出图片对应的base64位字符 stringimgBase=Request["imgBase"]; //c#里边的base6...

Quartz.net实例动态改变周期调度。misfire、Cron

Quartz:Java编写的开源的任务调度作业框架 类似Timer之类定时执行的功能,但是更强大Quartz.NET:是把Quartz转成C# NuGet...

.net Windows服务发布、安装、卸载、监听脚本。服务调试

一、脚本 为方便不用每次都去写安装卸载的脚本1.安装脚本@echooff @echo开始安装【服务】 %SystemRoot%\Microsoft.NET\Fr...

c、VB.net中全角半角转换方法

///<summary> ///转全角的函数(SBCcase) ///</summary> ///<paramname="input">任意字符串...

.net mvc分部页,.net core分部页

.net分部页的三种方式第一种:@Html.Partial("_分部页")第二种:@{ Html.RenderPartial("分部页");}...

.net实现QQ邮箱发送邮件功能

1、微软已经帮我们封装好了发送邮件的类MailMessage,MailMessage类构造一些邮件信息,然后通过SmtpClient进行邮件发送。Mai...

StackExchange.Redis操作redis(net core支持)

官方git开源地址https://github.com/StackExchange/StackExchange.Redis官方文档在docs里边都是官方的文档通过nuget命令下...

windows 自带的netsh进行端口映射

使用netsh 把本地任意ip的25566端口 映射到192.168.81.234的25565端口netshinterfaceportproxyaddv4tov4listenaddress=0.0....

确保.net程序始终以管理员身份运行

usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; ...

ASP.net Timer细节处理

Timer的用法:1:本人称之为计时器,是asp.net官方的一种。用法即是计时所用 2:关于计时有很多中方式,本人学识有限,暂...

.net core 使用session

tip:net core 2.2后可以直接启用session了,不用在自己添加一次session依赖,本身就添加了使用nuget添加引用Microsoft.AspN...

通俗易懂,什么是.net?什么是.net Framework?什么是.net core?

朋友圈@蓝羽 看到一篇文章写的太详细太通俗了,搬过来细细看完,保证你对.NET有个新的认识理解原文地址:https://www.cnblo...

asp.net core2.0 依赖注入 AddTransient与AddScoped的区别

asp.net core主要提供了三种依赖注入的方式其中AddTransient与AddSingleton比较好区别AddTransient瞬时模式:每次都获取一...

asp.net主动推送百度seo

虽然可以使用百度提供的js自动推送,但是估计度娘还是希望主动推送一点。哈哈^_^,女孩子嘛大多都喜欢被动一点。publicclass...
这一世以无限游戏为使命!
排名
2
文章
657
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术