CloudMonitor を設定して、重大度の高い API セキュリティイベントのアラートをプッシュし、オンラインリスクに迅速に対応できます。しかし、API セキュリティイベントは低、中、高の 3 つの重大度レベルに分類されます。CloudMonitor だけでは、すべての重大度レベルのアラートを送信することはできません。このトピックでは、Simple Log Service (SLS) を使用して複数レベルのアラートを作成する方法について説明します。
ソリューション概要
API セキュリティの ログ配信機能を有効にすると、すべての API セキュリティイベントがリアルタイムで記録・保存されます。SLS のクエリ文を使用して、API セキュリティアラートのログデータに基づいたアラートルールを作成し、以下の 2 つの方法でアラート通知を送信できます。
方法 1:Simple Log Service のネイティブ通知機能を使用して、アラートを直接プッシュします。
方法 2:Simple Log Service と CloudMonitor を組み合わせ、CloudMonitor のイベントサブスクリプション機能を使用してアラートをプッシュします。
前提条件
SLS が有効化されていること。
CloudMonitor を使用して通知を行う場合は、CloudMonitor が有効化されていることを確認してください。
API セキュリティログ配信の送信先となる Logstore を準備します。
説明ログサブスクリプション機能では、Simple Log Service によって自動的に作成された Logstore や、`waf-logstore`、`wafng-logstore`、`wafnew-logstore` という名前を付けた Logstore をログサブスクリプションの送信先として使用することはできません。
ステップ 1:ログ配信の有効化とインデックスの作成
API セキュリティの攻撃イベント情報を SLS の Logstore に配信します。これにより、SLS の機能を使用して、さまざまな攻撃イベントレベルに応じたアラートを作成できます。
Web Application Firewall (WAF) 3.0 コンソールにログインします。上部のメニューバーで、WAF インスタンスのリソースグループとリージョン ([中国本土] または [中国本土以外]) を選択します。
左側のナビゲーションバーで、 を選択します。
[API セキュリティ] ページで、[ポリシーの設定] タブの [ログサブスクリプションの設定] サブタブをクリックします。
[Attack Event Information] セクションで、[Configure] をクリックします。
サブスクリプション設定パネルで、ログ配信の送信先となる Logstore のリージョン、プロジェクト、名前を指定します。
[Attack Event Information] のステータスが [Enabled] に設定されていることを確認します。
SLS でアラートを作成する際に、[Query and Analysis] の SQL クエリで `event_level` フィールドを使用するには、まずプロンプトに従ってインデックスを有効にする必要があります。詳細については、「インデックスの作成」をご参照ください。
SLS で作成したプロジェクトやインデックスなどのクラウドリソースには料金が発生します。請求明細については、「課金概要」をご参照ください。
ログサブスクリプションタスクが有効になっていなくても、プロジェクトや Logstore を作成した後に料金が発生する場合があります。予期しない課金を避けるために、不要になった Logstore は削除してください。詳細については、「プロジェクトと Logstore を作成しただけなのに課金されるのはなぜですか?」をご参照ください。
ステップ 2:SLS アラートルールの作成
ログベースのアラートルールを作成し、さまざまなレベルの API セキュリティイベントをモニタリングして対処します。
アラートルールの作成
コンソールの左側にあるアラートボタン
をクリックします。[Alert Center] タブで、[アラートの作成] をクリックします。右側に [アラートの作成] ページが開きます。[Query and Statistics] の横にある [追加] をクリックして、[Query and Statistics] ページに移動します。
[Query and Statistics] の [Advanced] ページで、対象の [Logstores] を選択します。
クエリ文を入力し、[検索期間] を選択します。
リスクレベルによるデータのフィルタリング
以下のクエリ文を使用してログをフィルタリングし、リスクレベルが高、中、低のログを取得できます。
/*高リスクデータをフィルタリング*/ select event_level,COUNT(*) AS CNT WHERE event_level='high' /*中リスクデータをフィルタリング*/ select event_level,COUNT(*) AS CNT WHERE event_level='medium' /*低リスクデータをフィルタリング*/ select event_level,COUNT(*) AS CNT WHERE event_level='low'このステップでは、カスタムのクエリと分析文を使用して、さまざまなリスクレベルの結果をフィルタリングできます。
クエリ文を入力し、下部にある [Confirm] をクリックすると、[アラートの作成] ページに戻り、保存されたクエリ文が [Query and Statistics] セクションに表示されます。
ルールのトリガー条件と重大度を選択します。[重大度] は、CloudMonitor 通知を設定する際に必須です。アラートのフィルター条件である `event_level` に基づいて重大度レベルを選択することを推奨します。たとえば、`event_level` が `high` の場合は、高い重大度レベルを選択します。
上記の手順で、この例に必要な機能の設定は完了です。ビジネスニーズに応じて、[Check Frequency]、[トリガー条件]、[Group Evaluation]、[Recovery Notification]、[Add Label]、[ラベルを追加する] などのパラメーターを設定できます。詳細については、「ログアラートモニタリングルールの作成方法」をご参照ください。また、CloudMonitor を使用して通知をプッシュする場合、トリガー条件の重大度はサブスクリプションポリシーのイベントレベルに対応します。
送信先を選択します。
ここでは、送信先を有効にしないでください。この設定は ステップ 3 で行います。
[OK] をクリックします。[Alert Rules] ページに新しいルールが表示されます。これで、SLS でのアラートルール設定は完了です。
ステップ 3:アラートプッシュ通知の設定
方法 1:SLS プッシュ
この方法を選択した場合、SLS のアラート機能と通知機能を使用して、API セキュリティイベントのアラートをプッシュします。
通知オブジェクトの設定
通知の受信者を設定します。
現在のページで、[通知対象] タブをクリックします。
[ユーザー] サブタブで、[作成] をクリックして [Add User] ページを開きます。
このパネルには、[Identifier]、[Name]、[Mobile] などのフィールドと、[Receive Text Message]、[Receive Phone Call]、[Enable] の切り替えスイッチがあります。
[Add User] パネルでユーザー情報を入力し、[Enable]、[Receive Text Message]、[Receive Phone Call] の切り替えスイッチが有効になっていることを確認します。
[OK] をクリックし、ページを更新して新しいユーザーが追加されたことを確認します。
アラートテンプレートの設定
アラートをトリガーしたインスタンス ID、アラートルール名、アラートの重大度などの詳細を通知に含めたい場合は、コンテンツテンプレートで通知内容をカスタマイズできます。
[アラートセンター] ページで、 を選択します。[アラートテンプレート] タブで、[作成] をクリックします。
ポップアップ表示される [Content Template] ページで、[送信内容] をカスタマイズできます。これが、受信するプッシュ通知のコンテンツ形式になります。
たとえば、[SMS] タブの [Content] フィールドに、次のテンプレート変数を入力できます:
detail:{{ alert.aliuid }}, {{ alert.alert_name }}, {{ alert.severity }}, {{ alert.annotations.title }}, {{ alert.fire_time }}, {{ alert.alert_time }}説明この例では、参考のためにいくつかのテンプレート変数のみを示しています。その他の変数については、アラートテンプレート変数の完全なリストをご参照ください。
[確認] をクリックした後、ページを更新してコンテンツテンプレートが正常に追加されたことを確認します。
送信先の選択
先ほど作成したルールを見つけ、[Actions] 列の [Edit] をクリックします。
ページの下部までスクロールします。送信先として [SLS Notification] を選択し、[Enable] の切り替えスイッチをオンにします。
SLS 通知を有効にした後、[アラートポリシー] を選択する必要があります。通常、ミニマリストモードでは、プッシュチャネルの設定、静的な受信者の選択、アラート通知連絡先の追加、適切なコンテンツテンプレートの選択のみが必要です。この例では、ミニマリストモード、受信者、コンテンツテンプレートを選択して、基本的なアラートポリシー設定を完了します。
説明[シンプルモード] では、チャネル、アラート受信者、コンテンツテンプレート、送信期間を編集してアラートを送信できます。
Standard Mode では、システム定義のアクションポリシーを選択するか、新しいカスタムアクションポリシーを作成してアラートをプッシュできます。
[上級モード] では、[アクションポリシー] と [アラートポリシー] を選択してアラートを送信します。
[OK] をクリックして変更を保存します。
ビジネスシナリオでより複雑な設定要件がある場合は、「送信先 - SLS 通知」をご参照ください。
SLS プッシュの有効化
Simple Log Service コンソールにログインします。
[Projects] セクションで、対象のプロジェクトをクリックします。
コンソールの左側にあるアラートアイコン
をクリックします。[アラートセンター] タブで、[アラートルール] サブタブをクリックし、ルールのステータスが [Starting] であることを確認します。
方法 2:CloudMonitor プッシュ
この方法を選択した場合、SLS アラートと CloudMonitor 通知を組み合わせて、API セキュリティアラートを送信します。
1. SLS アラートの送信先設定
先ほど作成したルールを見つけ、[Actions] 列の [Edit] をクリックします。
ページの下部までスクロールします。[ターゲット Logstore] で [CloudMonitor Event Center] を選択し、スイッチをオンにします。[Confirm] をクリックして変更を保存します。
2. アラート連絡先とグループの作成
CloudMonitor は連絡先グループにのみ通知をプッシュできます。そのため、希望する受信者を連絡先グループに追加する必要があります。
2.1 アラート連絡先の作成
CloudMonitor コンソールにログインします。
左側のナビゲーションバーで、 を選択します。
[アラーム送信先] タブで、[送信先を作成] をクリックします。
[アラーム送信先の設定] パネルで、アラート連絡先の名前、携帯電話番号、メールアドレス、Webhook URL を入力し、他のパラメーターはデフォルト値のままにします。
[Confirm] をクリックすると、[アラーム送信先] パネルに戻り、アラート連絡先が正常に作成されたことを確認できます。
2.2 アラートグループの作成
[警報接点グループ] タブをクリックします。
[警報接点グループ] タブで、[送信先グループを作成] をクリックします。
[送信先グループを作成] パネルで、アラートグループの名前を入力し、既存のアラート連絡先を選択します。
[OK] をクリックします。
3. 通知設定の作成
前提条件:アラート連絡先とアラートグループがすでに作成されていること。
CloudMonitor コンソールに戻ります。
左側のナビゲーションバーで、 を選択します。
[アップグレード戦略] ページで、[ポリシーを作成] パネルをクリックし、[名前] を入力して [連絡先グループ] を選択します。
[決定] をクリックします。
4. イベントサブスクリプションの作成
CloudMonitor コンソールに戻ります。
左側のナビゲーションバーで、 を選択します。
[サブスクリプションポリシー] タブで、[サブスクリプションポリシーの作成] をクリックします。
[サブスクリプションポリシーの作成] ページで、サブスクリプションポリシーのパラメーターを設定します。
パラメーター
説明
基本情報
サブスクリプションポリシーの名前を入力します。
[アラームサブスクリプション]
[サブスクリプションタイプ] で、[システムイベント] を選択します。
[製品] で、[Simple Log Service] を選択します。
[イベントタイプ] 複数選択 ([Firing]、[Resolve])
説明Firing はアラートがトリガー状態であることを示し、特定のイベント名に対応します。
CRITICAL アラートイベント
INFO アラートイベント
WARN アラートイベント
Resolved はアラートが解決されたことを示し、特定のイベント名に対応します。
アラート回復イベント
[イベント名]:[AlertEvent:CRITICAL]、[AlertEvent:INFO]、[AlertEvent:RESOLVED]、または [AlertEvent:WARN] の 1 つ以上を選択します。
[イベントレベル] で、[クリティカル] を選択します。
説明ステップ 2 のトリガー条件が [High] に設定されていたため、対応する [イベントレベル] は [クリティカル] です。異なる [トリガー条件の重大度] を設定した場合は、以下のマッピングに基づいて対応するイベントレベルも選択する必要があります。
重大度が [Critical] または [High] のトリガー条件は、イベントレベル [Critical] にマッピングされます。
重大度が [Low] または [Medium] のトリガー条件は、イベントレベル [Warning] にマッピングされます。
重大度が [Report] のトリガー条件は、イベントレベル [Info] にマッピングされます。
[イベント内容] に、ステップ 2:SLS アラートルールの作成で作成したアラートルールの名前を入力します。
アプリケーションのグループ化もイベントリソースも設定されていません
複合ノイズリダクション
デフォルト値を使用します。
通知
対象の通知設定を選択し、[カスタム通知方法] にはデフォルトの通知方法を使用します。
重要CloudMonitor は SMS アラートを含む無料クォータを提供しています。音声通話通知が必要な場合は、CloudMonitor コンソールに移動し、基本 CloudMonitor モジュールで従量課金サービスを有効化してください。請求明細については、「基本 CloudMonitor の従量課金」をご参照ください。
プッシュと統合
設定は不要です。
[アラームサブスクリプション] の設定については、上記のパラメーター説明をご参照ください。
説明記載されている手順は、プッシュ通知を実装する一例です。ビジネス要件に応じて設定を調整できます。詳細については、「サブスクリプションポリシーの作成」をご参照ください。
[サブスクリプションポリシーの作成] ページの下部にある [サブミット] ボタンをクリックします。自動的に [イベントサブスクリプション] ページにリダイレクトされます。送信したポリシーが正常に作成され、そのステータスは [Starting] になります。
検証
上記の手順を完了すると、アラートプッシュ通知の設定は完了です。受信者が受け取った通知を確認することで、アラートを検証できます。
CloudMonitor プッシュ通知の表示
CloudMonitor コンソールを開きます。左側のナビゲーションバーで、 を選択します。プッシュされた通知情報を確認します。
Simple Log Service からのシステムイベントアラートで、重大度がクリティカルであるなど、トリガーされたアラート通知のレコードを確認できます。
通知が受信されたことを確認します。
SMS

メール

音声通話
iPhone の通話履歴には、福建省厦門市からの着信、番号 (0592) 339 6177 が表示されます。
SLS プッシュ通知の表示
1. [アラームルール] サブタブで、ルールをクリックして [アラート概要] ページに移動し、統計レポートの [アラート履歴] を表示します。
2. コンソールと受信側を比較します。受信したメッセージのフォーマットはコンテンツテンプレートと一致し、メッセージ内容は [アラート履歴] の内容と一致する必要があります。
[アラート履歴] には、アラート ID、アラート名 (例:Alert WAF)、実行時間、トリガー条件、実行結果 (例:Success) などの情報を含む、トリガーされたアラートのレコードが表示されます。[Triggered?] 列には true と表示され、アラートが正常にトリガーされたことを示します。
