老 宋

人生最难是相逢,各位珍重!

0%

Falco :云原生安全运行时项目

kube-sec

  • CNCF 官方继 CKA 之后推出了含金量更高的 CKS 考试,聚焦于 Kubernetes 供应链安全。
  • k8s 整体的供应链安全大致分为以下几个方面,有时间会一一更新:
    • 集群安全:TLS 证书认证、RBAC
    • Security Context:限制容器的行为,例如只读文 件系统、特权、运行用户等 ;
    • Pod Security Policy:集群级的 Pod安全策略, 自动为集群内的 Pod 配置安全策略 ;
    • Sysctls:允许容器设置内核参数 ;
    • AppArmor:限制容器中应用对资源的访问权限 ;
    • Network Policies:控制集群中网络通信 ;
    • Seccomp:限制容器内进程的系统调用;
  • 这次我们介绍和系统调用相关的,谈如何监控容器的系统调用;
阅读全文 »

APISERVERLDAP 集成进行权限控制

Kubernetes 中,APIServer是整个集群的中枢神经,它不仅连接了各个模块,更是为整个集群提供了访问控制能力。为了方便进行用户的统一管理和鉴权,KubernetesSSO 单点登录,企业推荐的认证集成方式是通过 OIDC对接企业已有的统一身份认证系统。但是企业的认证系统可能并不支持 OIDC 认证协议,企业大多数认证系统都是基于 LDAP协议的,那么就需要我们开发相应的 Webhook

阅读全文 »

使用 localstack 来测试 terraform

terraform 作为基础设置即代码的首选工具,为基础设施的自动化提供了极大便利。但是 terraform 资源清单的测试却一直没有好的办法,能 plan 成功不代表能 apply 成功。

LocalStack 是开发 JIRA 的公司 Atlassian 开发的, 用 Python “山寨”了 AWSAPI, 通过 REST API提供跟 AWS 一模一样的服务。

那么意味着我们可用利用 lcoalstack 作为 terraform 编排 aws 的测试工具。

阅读全文 »

Terraform provider 开发

TerraformIAC (基础设施即代码) 的最佳开源工具之一,几乎所有的云平台都会提供 Terraform Provider 来供使用者能自动化的创建各种云资源。 同时 Terraform 是一个高度可扩展的工具,通过 Provider 来支持新的基础架构,我们可以通过自己开发 Provider 对大多数资源进行管理。下面就展示一个 和Elasticsearc 相关的 Terraform Providerdemo

阅读全文 »

使用 OPA 设置 kubernetes emptyDir 策略

前一阵子,集群的一个节点因为日志卷设置为 emptyDir 导致了驱逐,经过排查有一些 podemptyDir 没有设置容量限制(sizeLimit)。之前的文章里介绍了 kuebernetes的策略控制器 OPA Gatekeeper ,但由于都是使用官方维护的策略库,并没有时间学习rego 的语法,因此我们先开发开发了一个准入控制器(admission webhook)来控制 emptyDir 的设置 。春节后这两天看了一下 rego ,参考官方的策略库做了emptyDir 的相关策略。

阅读全文 »

prometheus exporter 开发

Exporter 本身是一个 http 服务,其指标结果只要符合 Prometheus 规范就可以被 Prometheus 使用。而 prometheus 提供了一个go语言的包来简化开发工作。

client_golang

Prometheusclient库提供了实现自定义Exportor的接口,Collector接口定义了两个方法 DescribeCollect,实现这两个方法就可以暴露自定义的数据:

阅读全文 »

django drf框架重写CMDB模块

目前使用的CMDB是开源的工具,某些功能缺失。其他开源工具有类似模块,但框架不同,所以用Django REST framework 重写了故障管理和事件管理模块,同时增加了https证书管理和加密功能的模块,同时做了一个用户RBAC管理的功能。

项目地址: https://github.com/SongJLG/domain-cert

阅读全文 »