Sysdigのサーバーレスエージェントでオーケストレータエージェントが不要になりました!
お疲れさまです。とーちです。
私はつい最近知ったのですが、昨年の12月にSysdigのサーバーレスエージェントでオーケストレータエージェントが不要になるという激アツアップデートがありました!
Serverless Agent Release Notes | Sysdig Docs
Sysdig サーバーレスエージェントとは
Sysdigは、クラウド環境でのセキュリティ監視を行うためのサービスです。その中でもサーバーレスエージェントは、主にAWS ECS FargateやGoogle Cloud Runなどのサーバーレス環境での実行時セキュリティ監視を提供します。
とりあえずまとめ
- アップデートによりSysdig Serverless Agent 5.3.0以上のバージョンからはオーケストレータエージェントが不要になった
- オーケストレータエージェントは次のメジャーリリースで廃止する予定とのことなので移行はお早めに(ご参考)
- NLBとECSで構成されていたオーケストレータエージェントが不要になることでコスト削減が可能に
- 移行は環境変数の変更だけで完了できる
どのように変わった?
従来のSysdigサーバーレスエージェントでは、以下の図のようにオーケストレータエージェントという形でNLBとECSを使った構成が必要でした。NLBとECSの月額費用が余計にかかるので気になっていた方もいたのではないでしょうか?
新しい構成では以下の図のようにオーケストレーターの部分が丸々不要となりました!
オーケストレータエージェント構成から新しい構成に移行してみた
既存環境の確認
ここからは従来のオーケストレータエージェント構成から新しいオーケストレータエージェント不要な構成への移行をやってみたので紹介します。
既存のオーケストレータエージェント構成を作成するTerraformコードを以下のGitHubリポジトリに置きました。このコードを使ってまずは既存の構成を作ってみます。なお、今回のコードはこちらのGitHubのコードを参考にさせて頂きました。
Terraformの構成は大まかに以下のようになっています
main.tf
:VPCとオーケストレータエージェント作成workload-security-playground.tf
:脅威検知動作確認用のsecurity-playgroundというコンテナを実行するECSリソース一式
念の為、この構成で脅威検知できることを確認しましたが、問題なく脅威検知できています。
新構成への移行
移行の流れは大きく以下の2ステップです
- Sysdigを使用して監視したいECSタスクの環境変数を変更
- オーケストレータエージェントの削除
1. 環境変数の変更
オーケストレータ構成からの移行については以下ドキュメントに記載があります。
こちらのドキュメントによると移行するにはECSタスクに指定する環境変数を以下のように書き換えれば良いようです。
変更前:
SYSDIG_ORCHESTRATOR
SYSDIG_ORCHESTRATOR_PORT
変更後:
SYSDIG_COLLECTOR
SYSDIG_COLLECTOR_PORT
具体的には上記Terraformコードの以下の部分を変更しました。
2. オーケストレータエージェントの削除
環境変数の変更が完了したら、オーケストレータエージェント関連のリソースを削除します。以下のようにざっくりと消してしまいます。
さて、ここまで変更したらデプロイをしてみます。正常にデプロイが完了し、以下のようにオーケストレータエージェントが綺麗サッパリなくなりました。
動作確認
続いて脅威検知できるか動作確認してみましょう。
今回はSysdigで監視しているECSタスクに、security-playgroundというテスト用の脆弱なWebサーバーコンテナを使用して動作確認を行いました。
このイメージは以下のような特徴を持っています
- HTTP Webサーバーを展開
- 外部からファイルの読み取りや書き込みが可能な脆弱な構成
このイメージが起動されたECSタスクに対してVPC接続したCloudShellを使って、curlでファイル読み取り、書き込みをしてみます
- /etc/shadowの読み取り:
curl http://172.18.1.129:8080/etc/shadow
- /bin/helloに書き込み:
curl -X POST http://172.18.1.129:8080/bin/hello -d 'content=hello-world'
すると以下のように見事にSysdigで検知されました。
Read sensitive file untrusted
が上記の1に対応する検知で、Write below binary dir
が上記の2に対応するイベントになります。
まとめ
Sysdigのサーバーレスエージェントでオーケストレータエージェントが不要になるという激アツアップデートの紹介でした。
ECS FargateでよりSysdigが使いやすくなりましたね、オーケストレータエージェントが省略できることでコスト面の改善も嬉しいところです
以上とーちでした。