ユーザ用ツール

サイト用ツール


aws:cloudwatch:logs

Amazon CloudWatch Logs設定例

CloudWatch Logsのフィルターの書き方

フィルターの評価式

=   EQUAL
!=   NOT EQUAL
&&   AND
||   OR

<    SMALL THAN
>    GRATER THAN
<=    SMALL OR EQUAL
>=    GRATER OR EQUAL

フィルター例

filter by Failure Console Logins
{ $.eventSource = "signin.amazonaws.com" && $.responseElements.ConsoleLogin = "Failure" }
exclude know IP address
{ ($.sourceIPAddress != "52.123.123.5") && ($.sourceIPAddress != "33.123.123.*") && ($.sourceIPAddress != "*.amazonaws.com") }
AWS login without using MFA
{ $.eventSource="signin.amazonaws.com




AWS管理コンソールのルートアカウント利用を監視する設定

AWS管理コンソールで、緊急時以外はルートアカウントを利用しないようにしていますが、
ルートアカウントが使われた場合にアラートを飛ばす設定をしましょう。

事前準備

CloudTrail側で、CloudWatch Logsと連携する設定をしておきます。



設定は、AWS CloudTrailで、イベントを保管

メトリックスフィルターの作成

CloudWatchの「ロググループ」をチェックして、「メトリックスフィルターの作成」をクリックします。

フィルター名 useridentity-type-Root-eventName-ConsoleLogin
フィルターパターン 下記参照
メトリックス名前空間 LogMetrics
メトリックス名 RootConsoleLogin
フィルターパターン
{ $.userIdentity.type = "Root" && $.eventName = "ConsoleLogin" }


CloudWatch アラームの作成

  • メトリックスフィルターを選択し、「アラームの作成」をクリックします
  • メトリックスの選択で、先ほど作成しメトリックスを指定します。
    LogMetrics / RootConsoleLogin
メトリックス名 RootConsoleLogin
間隔 1分
統計 合計
メトリックス値 静的 1以上

SNSトピック設定

既存のものか新規作成しましょう。

SNSは、Amazon SNS (Simple Notification Service) を参照




AWS管理コンソールに知らないIPからログインしたら検知する設定

AWS管理コンソールのIP制限は、ログインできないようにはできなく、
ログインしても機能を見せないだけしかできないため、
想定外のIPからログインされてしまったら、検知するための設定をしましょう。

事前準備

CloudTrail側で、CloudWatch Logsと連携する設定をしておきます。


設定は、AWS CloudTrailで、イベントを保管

メトリックスフィルターの作成

CloudWatchの「ロググループ」をチェックして、「メトリックスフィルターの作成」をクリックします。

フィルター名 useridentity-type-eventName-ConsoleLogin-Alert
フィルターパターン 下記参照
メトリックス名前空間 LogMetrics
メトリックス名 ConsoleLoginAlert
フィルターパターン
{ $.responseElements.ConsoleLogin = "Success" && $.sourceIPAddress !="11.11.11.*" }

IPアドレスは/24でレンジ指定したい場合は*でワイルドカード



複数IPアドレスの場合:

{ $.responseElements.ConsoleLogin = "Success" && ($.sourceIPAddress !="1.1.1.*" && $.sourceIPAddress !="2.2.2.*") }

書き方注意:
CloudWatch Logsのフィルターで複雑な検索条件を指定して欲しいイベントだけ取得する - Qiita

スペース区切りフィルターにて括弧に対する除外が出来ない。(構文エラーとなる)
エラー例:[A && !(B || C)]
※ただし、以下を用いて対応可能です。
改善例:[A && (!B && !C)]

ORで複数除外条件を記載したい場合
!(P || Q) = !P && !Q
ANDで複数除外条件を記載したい場合
!(P && Q) = !P || !Q
ド・モルガンの法則より



AD連携している場合:
sourceIPaddressが、「ds.amazonaws.com」になる。。

{ $.responseElements.ConsoleLogin = "Success" && ($.sourceIPAddress !="1.1.1.*" && $.sourceIPAddress !="2.2.2.*" && $.sourceIPAddress !="ds.amazonaws.com") }


CloudWatch アラームの作成

  • 「アラームの作成」をクリック
  • メトリックスの選択で、先ほど作成しメトリックスを指定します。
    LogMetrics / RootConsoleLogin
メトリックス名 ConsoleLoginAlert
間隔 1分
統計 合計
メトリックス値 静的 1以上

SNSトピック設定

既存のものか新規作成しましょう。

SNSは、Amazon SNS (Simple Notification Service) を参照

aws/cloudwatch/logs.txt · 最終更新: 2021/04/19 13:00 by kurihara

ページ用ツール