こんにちは、Orca Security 担当の尾谷です。
今日は、Orca Security のインテグレーション機能の一つである AWS SQS を試してみます。
Orca のインテグレーションは充実しており、JIRA や Azure DevOps にチケットを起票したり、Slack や PagerDuty に通知するなどがオプトイン形式で手軽に利用できます。
Slack の通知方法は以下ブログ記事で紹介しております。
Orca Security の AWS SQS の機能を利用すると、Amazon Simple Queue Service にメッセージを送信し、メッセージをトリガーに Amazon Connect 経由で電話をかけたり、DynamoDB に登録したり、Orca Security の Automations でフィルタリングしきれない一部のアラートのみ、特定のチームに通知するといった、よりきめ細やかな処理が行えます。
SQS メッセージを送信するために必要なもの
- SQS キュー
- SQS メッセージを送信する IAM ポリシー
- Orca からの操作を許可するプリンシパル IAM ロール
- Orca Security で AWS SQS に接続
- Orca Security で Automations を設定
SQS キューを作成する
まずは、Orca Security のドキュメントに従って、SQS キューを作成します。
AWS マネジメントコンソールにサインインし、Amazon SQS コンソールを開き、[キューを作成する] ボタンをクリックします。
ここでは名前は otani-test-orca-queue にしました。
ポリシーなどは一旦設定せずに [キューを作成] ボタンをクリックして、otani-test-orca-queue を作成しました。
SQS キューの ARN は後ほど利用しますので、コピーして控えました。
IAM ポリシーを作成する
次は、SQS へのメッセージ送信を許可するポリシーを作成します。
ポリシーエディタって久しぶりに使いましたが、便利ですね!
生成された JSON はこんな感じです。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:ap-northeast-1:<アカウント ID>:otani-test-orca-queue" } ] }
IAM ロールを作成する
作成したポリシーを IAM ロールに紐づけます。
IAM ロールの作成で [AWS アカウント] を選択し、別のアカウントに Orca Security の本番アカウント 976280145156
を指定します。
先の手順で作成した IAM ポリシーをアタッチします。
これで、AWS アカウント側は準備が整いました。
Orca Security にて設定を行っていきます。
Orca Security の設定
Settings から Integrations をクリックし、AWS SQS にある [CONFIGURE] ボタンをクリックします。
[CREATE] ボタンをクリックします。
必須項目を入力して [SAVE] ボタンをクリックしました。
すると、すぐに Enabled となりました。
Automations の設定
Orca Score が 9 以上になった場合にトリガーするようにしました。
テストに使えそうなアラートがないか調べていると、以下の「インスタンスが止まっているのにインスタンスにアタッチされている EBS ボリュームがある」という Low のアラートを見つけました。
これは既に終了したインスタンスでして、インスタンスが終了するタイミングでスキャンされたようです。
これは次のスキャンで Done に移動すると思われる不要なアラートです。
スコアを 10.0 にしてみます。
すると、SQS キューを受信しました。
まとめ
いかがでしたでしょうか。
本ブログ記事では、SQS メッセージを送信するところまでの手順をご紹介しました。
Orca Security は連携先のサービスが充実しているため、AWS SQS と連携してカスタム処理を行う機会は少ないかも知れませんが「こんなことできないの?」みたいな疑問やリクエストがあれば、ブログ化してみたいと思いますので、是非ご連絡ください!
最後までお読みくださりありがとうございました。