フォーム読み込み中
ご覧いただきありがとうございます。クラウドエンジニアの今井です。
クラウド環境のセキュリティを維持するためには、Cloud Security Posture Management(CSPM)が非常に重要です。CSPMは、クラウド環境の設定に脆弱性や不適切な設定が存在するかを確認するための機能やプロセスを指します。Alibaba CloudにおいてもSecurity Centerの複数ある機能の内の1つとしてCSPM機能が提供されており、以前の記事「Alibaba Cloud コンフィグアセスメント機能の紹介」で紹介しました。(この機能は以前「Configuration Assessment」という名称でしたが、現在は「CSPM」という名称に変更されています。)。
このCSPM機能ですが、確認結果をコンソール外のユーザへと通知する機能を有しておりません。そのため、修正が必要な設定の有無に関わらず、ユーザは自発的にSecurity Centerコンソールにログインしなければならないという課題があります。
この課題の解決策として、CSPM機能とLog Serviceのアラート機能を組み合わせる方法があります。この方法を用いることで、チェック結果に基づいて自動的に通知を受け取ることが可能となり、運用がより楽になることが期待されます。
本記事では、CSPM機能を活用する際の負担軽減を目的として、CSPM機能のチェック結果に基づき通知を行う方法を紹介します。
Security Center
CSPM機能
CSPM機能は、クラウド環境に存在する設定の脆弱性や不適切な設定を検出する機能です。手動実行と定期実行の両方がサポートされています。この機能は以前「Configuration Assessment」という名称でしたが、現在は「CSPM」という名称に変更されています。CSPM(Configuration Assessment)機能については以前の記事で紹介していますので、本記事とあわせてご覧いただけたらと思います。
ログ分析機能
ログ分析(Log Analysis)機能はSecurity Centerのログをリアルタイムでクエリ、分析することが可能になる機能です。この機能がサポートされているSecurity CenterのエディションはAnti-virus、Advanced、Enterprise、Ultimateの4つです。ログ分析機能を利用するためには、機能の有効化が必要です。機能を有効化した際には、Security Centerのログを保存する専用のLogstoreがLog Serviceコンソールに自動作成されます。
Simple Log Service
Simple Log Service(以降、Log Serviceと表記)はログやメトリックなどのデータを処理するためのリアルタイム分析プラットフォームです。Log Serviceを利用することで、データの収集、クエリ、分析、可視化などが可能です。また、収集したデータが特定の条件を満たす場合に、SMSや電子メールで通知するアラートルールを作成することもできます。
設定方法の説明を行う前に、前提条件を整理します。
CSPM機能の定期実行を設定済み
本記事では、次のチェックアイテムを対象として定期実行を設定済みです。
※チェックアイテムは要件に応じてご変更ください
Ensure no security groups allow ingress from 0.0.0.0/0 to port 22
Ensure no security groups allow ingress from 0.0.0.0/0 to port 3389
AdministratorAccess Policy Attachment
Security Centerが特定のエディション
Security Centerのエディションは、ログ分析機能をサポートしている次のいずれかのエディションである必要があります。
Anti-virus、Advanced、Enterprise、Ultimate
アラートの通知方法
Log Serviceのアラート通知方法はSMSや電子メールなど複数の方法が用意されていますが、今回は電子メールで通知を受信する想定とします。
Security CenterのCSPM機能によるチェック結果に基づきLog Serviceでアラートを発報する際の設定手順は、下記2つのステップから構成されます。
Step 1:Security Center ログ分析機能の有効化
Step 2:Log Service アラートルールの設定
Log Serviceでアラートルールを作成するには、アラートを作成する対象のログを保存する必要があります。CSPM(Security Center)のログは、Security Centerのログ分析機能を有効化することでLog Serviceに保存されるようになります。
各ステップの設定手順について詳しく紹介します。
①Security Center コンソールにログインします。
②左側メニューより「 Log Analysis」 を選択します。
③「Activate Now」をクリックし、Security Center のアップグレード購入画面に移動します。
④「Log Analysis」の項目で「Quantity」に任意のストレージ容量を選択します。
⑤利用規約を読んだ後「Order Now」をクリックし、Security Centerのアップグレード購入を完了します。
⑥再度②の画面を開き、「Getting Started」を押下します。
⑦Log Serviceコンソールを開き、専用のプロジェクトが作成されたことを確認します。
①Log Serviceコンソールにログインします。
②ログ分析機能の有効化で自動的に作成されたプロジェクトの名前をクリックします。
③ベルのマーク、「Notification Objects」、「Create」の順にクリックします(画像参照)。
④通知を受け取るユーザを作成する画面にて必要情報を入力後、「OK」を押下します。
ID:任意のユーザIDを入力
Username:任意のユーザ名を入力
Email:アラート通知を受信するメールアドレス
SMSでアラートを受信する場合にはPhone Numerを入力するなど、アラートの通知方法に合わせて設定します
アラートテンプレートはアラートの記載内容や見た目の設定です。
⑤ベルのマーク、「Notification Management」、「Alert Template」、「Create」の順にクリックします(画像参照)。
⑥アラートテンプレートの作成画面にて必要な情報を入力後、「Confirm」を押下します。
ID:任意のアラートテンプレートIDを入力
Name:任意のアラートテンプレート名を入力
Emailタブ
Subject:アラート通知メールの件名
Content:アラート通知メールの本文
アラートで通知する内容は変数で指定することが可能です。CSPMで修正が必要な設定が検知されたこと以外にも、どのチェックアイテムで何件検知されたのかを把握できるように、通知メールにはチェックアイテム名や件数も表示するようにします。
Alert Name: {{ alert.alert_name }} <br>
Content: {{ alert.annotations.desc }} <br>
Check_item_names:
<ul>
{% for raw_result in alert.results[0].raw_results %}
<li>【{{ raw_result.instance_type }}】{{ raw_result.check_item_name }} - {{ raw_result.cnt }} resources</li>
{% endfor %}
</ul><br>
Current Alert Time: {{ alert.alert_time | format_date }} <br>
Log Serviceのアラートは、保存されているデータに対するクエリの結果が特定の条件に一致した場合に発報されます。今回は、CSPMのチェックが通過できなかった場合にstatus列が”NOT_PASS”となることを利用し、status列が”NOT_PASS”であるレコードがクエリ結果として返された際にアラートを発報するルールを作成します。
⑦ベルのマーク、「Alert Rules」、「Create Alert」の順にクリックします(画像参照)。
⑧アラートルールの作成画面にて必要な情報を入力後、「OK」を押下します。
Rule Name:任意のアラートルール名
Check Frequency:アラート発報の条件を満たすか確認する間隔
Query Statics:後述します
Trigger Condition:
When:アラートを発報する条件を設定
クエリに対してデータが返された場合にアラートを発報するように「Data is returned」を選択します。この他にも特定の値が閾値を超えた場合などの条件が設定可能です。
then:アラートに合わせて任意の重大性を選択
Add Annotation:
ここで設定した値はアラートテンプレートで変数として使用可能です。アラートテンプレート側での指定方法としては、tileの場合{{ alert.annotations.title }}、descの場合は{{ alert.annotations.desc }}となります。
Advanced Settings
Destination:Simple Log Service Notificationを選択
Alert Policy:Simple Modeを選択
Action Group:
Notification Method:Emailを選択
Recipient:アラート通知対象のユーザを選択(③で作成したもの)
Alert Template:アラートテンプレートを選択(⑥で作成したもの)
Period:通知が送信される時間帯
今回は”Any time”を指定し通知が送信される時間帯を制限していませんが、夜間帯は通知されないようにするなどの設定も可能です。
Repeat Interval:アラートを発報後、次のアラートを発報するまでの間隔
Query Statistics
Type:Logstoreを選択
Logstore:ログストア名を入力
Time Range:クエリ対象のデータ範囲(時間)
Query:
クエリ全文
__topic__:sas-cspm-log AND status:NOT_PASS |
SELECT instance_type, check_item_name, count(*) AS cnt
GROUP BY instance_type, check_item_name
補足
CSPMのログは__topic__列の値が”sas-cspm-log”であるため、これを検索条件に含めることでCSPMのログのみを抽出することが可能です。
CSPMのチェックを通過できなかった場合、status列の値が”NOT_PASS”となります。これを検索条件に含めることでCSPMのチェックで問題が検知されたレコードのみ抽出することが可能です。
Previewを押すとクエリ結果が表示されるので、問題がなければ「Confirm」を押下します。
アラートルールの作成後、実際にアラートが発報されると下記のメールが届きます。
本記事の冒頭で述べたように、従来CSPMのチェック結果に関わらず、ユーザーは自発的にSecurity Centerにログインし、設定の問題が検知されたかどうかを確認する必要がありました。この手動での確認作業は、運用負担が大きいと感じる方も多かったかもしれません。
しかしながら、今回のアラート通知設定により、設定の問題が検知された際に電子メールで自動的にアラートを受信することができるようになりました。このアラートを受信した場合に、詳細確認としてSecurity Centerコンソールにログインすれば良いため、手間を大幅に削減することが可能です。
本記事では、Security CenterのCSPM機能とLog Serviceのアラート機能を組み合わせ、CSPMのチェック結果に基づいてアラートを発報する方法について紹介しました。
実際にアラートを作成し、通知を受け取ることで、自発的な確認から能動的な確認への運用プロセスの変更が可能となり、CSPM機能使用時の負担を軽減できることが見込まれます。
なお、今回紹介したようなアラート設定では、Security CenterのCSPM機能、ログ分析機能およびLog Serviceに対して料金がかかります。詳細については後述の関連ドキュメントよりご確認いただければと思います。
本記事の内容が、皆さまのクラウド環境のセキュリティ維持・向上における一助となれば幸いです。
Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。
MSP(Managed Service Provider)サービスは、クラウド導入から運用・保守・監視・活用方法までをソフトバンクのエンジニアがトータルサポートします。お客さまの運用負荷を軽減し、クラウド利用を促進します。
条件に該当するページがございません