Vault の Agent Sidecar Injector を使う

Vault の Agent Sidecar Injector を使うと Vault に格納された Secret を Sidecar 経由で Pod に渡したりすることができます。 https://github.com/hashicorp/vault-k8s ここでは、Agent SIdecar Injector の概要を把握し、Vault の PKI Secret Engine で生成した証明...

How to Bypass Falco

falco のルールは、そこそこ柔軟に書けるのだが、故にバイパスできてしまうよという話。 1. /proc/self/root を使う falco のデフォルトルールに /etc/shadow などが開かれたことを検知するルールがある。 https://github.com/falcosecurity/falco/blob/dev/rules/falco_rules.yaml#L1405 抜粋...

kamus で Kubernetes の secrets や configMap を暗号化する

Kubernetes の secrets や configMap を管理する際に気をつけることがいくつかあります。 例えば manifests に base64 エンコードされた値が記載されてしまうため、GitOps の場合はリポジトリに平文同然の manifests が置かれることになり、あまりセキュアとは言えません。 この場合 sealed-secrets などを使って暗号化するという方法など...

cxray で falco のルールを生成する

以前 は BPF を使ってコンテナの中のイベントを取得する cxray を作った話を書いた。 cxray で現在取得できるイベントは次の4つ。 起動したプロセス 開かれたファイル TCPv4 での接続先 TCPv4 での network listener cxray のユースケースとして、生成されたイベントをホワイトリストとして定義し、別のモニタリングツールのルールなどに利用することを想定して...

Profiling Event in Container With Cxray

前回は bcc を使ってコンテナ内の execve を取得する方法について書きました。 最近 falco などを使い、Kubernetes の Pod の安全性を高めているのですが、そのルールを定義するのが難しいと感じていました。 例えば NIST の Application Container Security Guide の 4.4.4 節では次のイベントが発生することを検知できるようにしたほ...