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 で生成した証明...

Vault の TOTP Secrets Engine を使う

Vault には TOTP Secrets Engine があり、TOTP コードの生成や検証が可能になっている。 ここでは、TOTP Secrets Engine を利用し、Go からそれを利用する方法についてメモ程度に書く。 TOTP Secrets Engine を有効にする $ vault secrets enable totp デフォルトでは totp/ という Path になるので、...

How to Bypass Falco

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

Wazuh API の Ruby クライアントを作った

作りました。https://github.com/mrtc0/wazuh-ruby-client 使い方は README や YARD に書いてあるとおりで、こんな感じで使えます。 Wazuh.configure do |config| config.endpoint = "https://wazuh.local:55000" config.basic_user = &quot...

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

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

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

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

Semaphore CI で BPF を使ったプログラムのテストをする

BPF を使うプログラムはコンテナで動かすには特権が必要であったり、Linux カーネルの特定のコンフィグが ON になっていないと(CONFIG_BPF=yとか)動かないなどあり、Circle CI や Travis CI のような有名どころの CI では十分にテストすることができない。 Semaphore CI は CI 環境として VM が提供されるので、Docker などの実行が可能である...

Information Leak from Browser Cache with Fetch API

CORS の設定ミスとブラウザへのキャッシュの設定によって、Information Leak するというテクニックのメモ。 対象の API レスポンスヘッダに Access-Control-Allow-Origin: * がついているとする。 また、Access-Control-Allow-Credentials が false なので、セッションが有効な状態での Cross Origin からの...