K3s+Sysdig,8分钟部署并保护集群安全!

K3s因其易于部署、小型二进制文件以及能够用于特定用例,如边缘环境(在这些场景下使用K8S会过于复杂)而在全球开发者社区中备受欢迎。K3s是一个通过CNCF认证的Kubernetes发行版,这意味着K3s集群上的工作方式与在Kubernetes上完全相同。

在本篇文章中,我们将介绍如何部署K3s,然后安装Falco OSS和Sysdig Essentials,以快速了解K3s的安全性和可见性。在本文中,我们将提供详细的步骤和脚本,告诉你如何在8分钟内创建一个安全且完全可观察的集群。

部署K3s集群

我们提供3个选项部署3个节点的K3s集群。你可以通过更新Terraform config添加更多节点或者在你的提供程序脚本里添加它们。

A.Rancher默认脚本

1、 下载最新版本的K3s,x86_64、ARMv7和ARM64架构均支持。请注意,Sysdig/Falco尚未支持ARM。

2、 运行server:

sudo k3s server &
# Kubeconfig is written to /etc/rancher/k3s/k3s.yaml
sudo k3s kubectl get node

在不同的节点上,运行以下内容。NODE_TOKEN来自

/var/lib/rancher/k3s/server/node-token

# on your server
sudo k3s agent --server https://myserver:6443 --token ${NODE_TOKEN}

B. k3sup

K3sup是一个轻量级的工具,可以在任何本地或远程虚拟机上使用。你需要的只是ssh访问来运行k3sup二进制文件,并立即获得kubectl访问权限。

我们准备了一些Terraform脚本,在GKE或AWS上提供3个节点,然后用k3sup在上面部署k3s。我们还创建了一个k3sup.sh脚本

https://github.com/danpopSD/s...

来使事情变得更加简单,尽管你需要根据节点IP和你的ssh密钥来调整它。

图片

C. 托管的K3s集群

Civo Cloud(https://www.civo.com/)是全球首个由K3s驱动的、托管的Kubernetes服务。你只需点击几下就可以准备好你的集群。

安装Falco

Falco是一款开源的运行时安全工具。它最初由Sysdig.Inc开发构建,目前已经捐献给CNCF,现在是CNCF的孵化项目。Falco在运行时解析来自内核的Linux系统调用,并针对强大的规则引擎声明流。如果违反了规则,就会触发Falco警报,并将其发送到许多方便的机制(本文后半部分会列出)。

下面是@krisnova整理的一张很棒的图,展示了Falco的工作原理,我们将其中一部分修改为K3s:

图片

Falco默认规则集

默认情况下,Falco在出厂时就有一套成熟的规则,会检查内核是否有异常行为,比如:

  • 使用特权容器的权限升级
  • 使用setns等工具更改命名空间
  • 读/写知名目录,如/etc、/usr/bin、/usr/sbin等。
  • 创建symlinks
  • 所有权和模式更改
  • 意外的网络连接或插座突变
  • 使用execve生成的进程
  • 执行shell二进制文件,如sh、bash、csh、zsh等。
  • 执行SSH二进制文件,如ssh、scp、sftp等。变更Linux coreutils可执行文件
  • 变更登录二进制文件
  • 变更shadowutil或passwd可执行文件。
  • Shadowconfig
  • pwck
  • chpasswd
  • getpasswd
  • change
  • useradd

Falco 告警

Falco可以给一个或多个频道发送告警:

  • 标准输出
  • 文件
  • Syslog
  • spawned program
  • HTTP[s] end point
  • 通过gPRC API的客户端

安装Falco

既然我们已经了解了Falco是什么以及它能够实现什么功能,那么我们将开始在K3s集群上运行Falco:

1、 选择上述其中一种方法来部署K3s。

图片

2、(可选)使用命令创建命名空间:kubectl create ns falco

3、运行命令helm install falco falcosecurity/falco。如果你正在使用GCP或later kernel,则尝试这一命令:helm install falco falcosecurity/falco --set ebpf.enabled=true


 1\. helm repo add falcosecurity
 2\. https://falcosecurity.github.io/charts
 3\. helm repo update
 4\. helm install falco falcosecurity/falco

图片

Falco运行状态

下面是一个违反规则的例子和Falco的结果输出(标准输出)。

Falco规则:网络工具在容器中启动。

图片
图片

攻击行为:

图片

结果:在STDOUT中以内核的速度发出通知,可以以JSON和其他格式发送。

关于Falco规则和安装细节的更多信息,请访问falco.org。

安装Sysdig

有了新的Sysdig onboarding,你将在5分钟内完成设置。

1、注册免费试用版本:

https://sysdig.com/company/fr...

2、 通过“Get started”curl脚本进行安装

你会得到一个访问密钥和一个需要集群名称的 curl 语句。在这种情况下,我们使用sysdg-k3s。

K3s使用containerd作为运行时。你需要将其添加到你的curl语句的末尾:

-cd unix:///run/k3s/containerd/containerd.sock -cv /run/k3s/containerd

Sysdig for k3s:5个基本工作流程

既然我们已经完成安装,让我们看看Sysdig可以干什么。

现在,让我们看看最近创建的k3s集群上的五个基本工作流程。我们将从镜像扫描开始,一直到整体可见性。了解安全事件期间发生的情况至关重要。

1、 镜像扫描

在本例中,我们已经将一个busybox镜像部署为k3s pod。Sysdig镜像扫描器既可以在线分析镜像,也可以从镜像仓库中获取镜像。

Sysdig帮助你遵循镜像扫描的最佳实践。例如,你可以通过在线扫描转移left security,在流水线上更早地检测安全问题,并阻止脆弱的镜像被推动到镜像仓库中。

2、 运行时安全:Falco规则引擎

我们在Falco中使用的相同规则也可以在Sysdig Secure中使用。然而,这次我们能够停止容器并留下审计线索。

Sysdig Activity Audit显示了ncat命令的执行情况,以及k3s cluster/pod/process/container中运行的所有其他命令。

你在我们的UI中看到的所有丰富的上下文都可以被提取到下游的SIEM中,为你的Kubernetes嵌入式安全提供强大的动力

3、 合规性

虽然目前还没有针对k3s的CIS基准,但正常的Kubernetes主机或linux主机的CIS基准也适用。这将允许你调整并确保你的k3s集群在实例层面的合规性。

你可以在Sysdig内以仪表板的形式可视化你的环境的合规性分数。

4、 Kubernetes及容器监控

了解K3s集群的利用率、可用性和整体容量极为重要,这些关键信息将帮助你增加或删除资源,并相应地调整大小。更好地管理你的资源,为你节省成本。

5、 应用程序和云服务监控

Sysdig提供的开箱即用的仪表盘将帮助你监控最常见的云服务。它们遵循黄金信号原则,让你很好地了解你的应用程序的健康和性能,正如你的最终用户所看到的那样。

Sysdig也完全兼容Prometheus,这是Kubernetes监控的事实标准。这意味着你的开发人员可以继续使用他们所熟悉和喜爱的工具,同时从PromCat等资源库中访问各种各样的资源。

总 结

在本文中,我们了解到通过K3s可以在一个简单的二进制文件中轻松部署Kubernetes及其功能。再加上Sysdig,你的集群安全将不费吹灰之力得到保障。在你的实例上运行K3s以及DevOps的5基本工作流程,都可以在8分钟内完成。

K3s还有更多的应用场景和使用方式,我们在过去的文章中也探索了许多K3s与其他工具的组合,进而发挥出意想不到的作用。希望读到这里的你,也能在日常的工作中多多探索K3s的隐藏用法,帮助你进一步提升效率。

作者:Dan Papandrea
原文链接:
https://sysdig.com/blog/k3s-s...

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容