はじめに
AWS の Windows EC2 に アカウントのログオン失敗を検知し、メールでアラーム通知をさせる手順を公開します。
システムセキュリティ監視の一環として、サーバログオン失敗の監視は欠かせないものですね。
構成図
構成図は下記となります。
簡単に説明すると、
① EC2 に CloudWatch Agentが実装済みであることが前提です。
なお、CloudWatch Agent で Windows のセキュリティログを CloudWatch Logs へ転送させることを事前に定義しておく必要があります。
② SNSでトピックを作成し、メール宛先をサブスクリプション加入してもらいます。
③ CloudWatch Logs 上で Windows Security ログをフィルターし、ログオン失敗時のエラーコードを検知したら、SNSでメールを発砲させます。
1.CloudWach Agent のインストールと設定
CloudWatch Agent のインストールと設定の仕方は、下記の記事で公開しております。
当記事内に、CloudWatch Agent で Windows のセキュリティログを CloudWatch Logs へ転送させることも記載してあるので、手順に従って設定していただければと思います。
設定完了後に、CloudWatch Logs で、下記のようにセキュリティログが出力されていればOKです。
2.SNSでトピック作成とメール認証
SNSタイプをスタンダードに選択します。
「名前」と「表示名」を適宜に設定してください。
その他の設計項目はデフォルのままで良いので、入力完了後に「トピックの作成」を押下します。

作成完了後にトピックに対し、サブスクリプションの作成を押下します。

「トピックARN」に上記作成したトピックであるかどうかを確認します。
「プロトコル」にEメールを選択します。
「エンドポイント」にメールアドレスを入力します。
上記入力し終わったら、サブスクリプションの作成を押下します。

しばらくすると、「AWS Notification - Subscription Confirmation」から認証メールが届きます。Confirm subscriptionを押下します。

合わせてSNSのトピック画面上でもステータスも確認済みと変更されました。

3.CloudWatch 側で Windows のセキュリティログに対し、メトリクスフィルターを作成
Windows では、アカウントをログオン失敗時に、<EventID>4625</EventID> が Windows のセキュリティログ内に出力されます。
Windows公式サイト上に詳しく記載されているので、リンクを貼り付けいたします。
つまり、Windows のセキュリティログに、<EventID>4625</EventID> をフィルターをすれば、アカウントをログオン失敗の検知が出来ます。
それでは設定していきます。
CloudWatch Logs で設定しておいた Windows セキュリティログをクリックします。

「メトリクスフィルター」→「メトリクスフィルターを作成」をクリックします。

「フィルターパターン」に、"<EventID>4625</EventID>"を入力し、「Next」を押下します。

「メトリクス名前空間」や「メトリクス名」を定義し、「メトリクス値」に1を入力します。
入力完了後に「Next」を押下します。

入力した内容を確認した上で、「メトリクスフィルターを作成」を押下します。

先ほど作成したメトリクスフィルターを選択の上、アラームを作成を押下します。

「以上>=しきい値」を選んだ上、しきい値を1を入力した上、「次へ」をクリックします。

「SNSトピックの選択」に先ほど作成したトピックを選びます。

「アラート名」を適宜に入力します。
「アラートの説明」に、日本語を入力しても良いので、適宜に入力してください。
入力し終わったら、「次へ」をクリックします。

上記入力した内容を確認した上で、作成を押下します。
すると、このような画面が表示されていれば作成完了になります。

4.検証テスト
それでは検証テストを行っていきます。
RDP(リモートデスクトップ)画面でわざとパスワードを入力し間違ってみます。

5.まとめ
今回は Windows カウントのログオン失敗イベントを検知しました。
上記の流れを熟知していれば、さまざまなログ監視が出来るようになりますので、ぜひご活用ください。





