見出し画像

Sysdig secure を k8s audit と統合させる

『IT自動化の力でビジネス加速を全ての企業に』

”IT自動化の専門会社”、リアルグローブ・オートメーティッド(RGA)の技術ブログ編集部の水谷です。本日もRGAの技師がまとめた技術情報を読者の皆様にお届けしていきます!

前回前々回は Sysdig のインストール方法に関する記事をお送りしましたが、今回はその続編かつ最終回として、Podなどの監視機構を有効にするための設定方法に関する記事をお届けします。

この監視機構は強力で、Sysdig 導入の大きなメリットでもありますので、Sysdig をインストールする際には、是非本記事を参考にして設定していただければと思います。

――――――――――――――――――――――――――――――――――

Sysdig Secure と Kubernetes audit ログ

本記事では、Sysdig Secure と Kubernetes (以下k8s) の audit ログを統合する方法を書きたいと思います。Sysdig Secure と k8s audit ログを統合することによって、 k8s の audit ログを解析することが可能になり、ユーザーアクティビティや機密性の高い内容の変更、権限の更新を追跡できるようになります。また、Sysdig Secure で k8s audit ログを Falco ルールやアクティビティ監査に使用することや、Podセキュリティポリシーの影響をテストすることができます。

画像5

Sysdig Secure と k8s audit ログを統合することによって可能になる監視項目を簡単にまとめると、以下のようになります。

● Pod、Service、デプロイメント、デーモンセットなどの作成と破棄
● Config mapマップまたはSecretの作成/更新/削除
● エンドポイントへの変更をサブスクライブする

これらの監視が可能になることは、Sysdig を導入することの大きなメリットですので、Sysdig インストール時合わせてやっておくことが推奨されます。

なお、本記事はこちらのページを参考にしていますので、合わせて参照ください。

Kubernetes Audit Logging

Sysdig インストールのおさらい

k8s audit ログとの統合方法の前に、簡単に Sysdig のインストール方法をおさらいしておきます。詳しくは「Sysdig インストール方法」および「Sysdig インストール方法 option編 - kube-state-metricsとクラスター名の有効化」を参照ください。

ステップ① Sysdig agent の token を取得
Sysdig agent の token は Sysdig サービスのアカウントを作成後に取得できます。アカウント作成がまだの場合は、以下でフリートライアルバージョンのアカウントが作れます(Start Free Trial)。作成後、Sysdig secure か Sysdig monitor にログインし、"Settings" の左のメニューから "Agent Installation" を選び、 "Your access key" に表示される token を控えておいてください。

画像2

画像3

ステップ②:Sysdig Agent のデプロイ
以下を実行して Sysdig Agent をデプロイする。この際、必要に応じて project などを変更(今回は ”sysdig-agent”に変更した)。

# requirements
export SYSDIGAGENTTOKEN=<sysdig agent token>
wget https://raw.githubusercontent.com/draios/sysdig-cloud-scripts/master/agent_deploy/kubernetes/sysdig-agent-daemonset-v2.yaml
wget https://raw.githubusercontent.com/draios/sysdig-cloud-scripts/master/agent_deploy/kubernetes/sysdig-agent-configmap.yaml

# configure for OpenShift
oc adm new-project sysdig-agent --node-selector='app=sysdig-agent'
oc label node --all "app=sysdig-agent"
oc project sysdig-agent
oc create serviceaccount sysdig-agent
oc adm policy add-scc-to-user privileged -n sysdig-agent -z sysdig-agent
oc adm policy add-cluster-role-to-user cluster-reader -n sysdig-agent -z sysdig-agent

# deploy sysdig agent
oc create secret generic sysdig-agent --from-literal=access-key=${SYSDIGAGENTTOKEN} -n sysdig-agent
oc apply -f sysdig-agent-configmap.yaml -n sysdig-agent
oc apply -f sysdig-agent-daemonset-v2.yaml -n sysdig-agent

ステップ③:動作確認
Openshift の web コンソールなどで、デプロイがうまくいっているかを確認する。また、token が正しく入力された状態でデプロイできているかを sysdig cloud で確認する。すべてが正しく動作していれば、例えば下図のようにイベントが捕捉されるといった感じで sysdig agent の情報が送られています。

画像4

ステップ④:kube-state-metricsとクラスター名の有効化
sysdig agent のデプロイ作業で使用した sysdig-agent-configmap.yaml のファイル内でコメント化されている以下の2行のコメント化を解除。

new_k8s: true
k8s_cluster_name: production

その後、以下のように configmap の変更を apply する。

oc apply -f ${your_path}/sysdig-agent-configmap.yaml -n sysdig-agent 

k8s audit ログとの統合

さて、本題の k8s audit ログとの統合ですが、環境によって方法がことなります。ここでは Openshift(4.2 or 4.3 系) で作業を行う前提で記述します。

※Openshift 4.2/4.3系以外の Distro/Platform でも行えますが、操作方法が提供されているかどうかは"Kubernetes Audit Logging" で確認してください。

まず行うのは、 sysdig-agent-service.yaml を明示的にデプロイすることです(すでにデプロイしている場合は不要)。

デプロイは以下のコマンドで行います。

oc patch kubeapiserver cluster --type=merge -p '{"spec":{"unsupportedConfigOverrides":{"apiServerArguments":{"audit-dynamic-configuration":["true"],"feature-gates":["DynamicAuditing=true"],"runtime-config":["auditregistration.k8s.io/v1alpha1=true"]}}}}'

新たな設定が適用された API サーバーの再起動が完了したことを確認してください。

そして次のステップは、audit sinks を作成して、監査イベントを Sysdig エージェントにルーティングします。

audit sinks を作成するには、audit-sink.yaml.in を入手して使用します。

wget https://raw.githubusercontent.com/draios/sysdig-cloud-scripts/master/k8s_audit_config/audit-sink.yaml.in
AGENT_SERVICE_CLUSTERIP=$(kubectl get service sysdig-agent -o=jsonpath={.spec.clusterIP} -n sysdig-agent) envsubst < audit-sink.yaml.in > audit-sink.yaml

そして、oc apply コマンドで変更を適用します。

oc apply -f audit-sink.yaml

以上で Sysdig Secure と k8s audit ログの統合が完了し、Pod、Serviceなどの作成と破棄の監視や、Config mapマップまたはSecretの作成/更新/削除などの監視が行えるようになります。

――――――――――――――――――――――――――――――――――

執筆者プロフィール:合屋 純
九州大学大学院理学府修士卒 大学院で物理学を専攻し、数値計算プログラムに触れたことをキッカケにエンジニアリングに興味を持つ。
現在はリアルグローブ・オートメーティッドにて、コンテナ関連技術や自動化ツールの導入業務に従事。


【ご案内】
ITシステム開発やITインフラ運用の効率化、高速化、品質向上、その他、情シス部門の働き方改革など、IT自動化導入がもたらすメリットは様々ございます。
IT業務の自動化にご興味・ご関心ございましたら、まずは一度、IT自動化の専門家リアルグローブ・オートメーティッド(RGA)にご相談ください!

お問合せは以下の窓口までお願いいたします。

【お問い合わせ窓口】
株式会社リアルグローブ・オートメーティッド
代表窓口:info@rg-automated.jp
URL:https://rg-automated.jp

画像1