はじめに
Windowsで踏み台サーバを構築するケースってありますよね?
そんなWindowsの踏み台サーバのログイン証跡って
イベントログのSecurityから拾っている人が多い気がするんですが、もっと良い方法があるんです!
利用環境
・Windows7以降、WindowsServer2008R2以降
・Winlogbeat 6.5.4 (どのバージョンでもOKのはずです)
監査証跡として使えるイベントログ一覧
- このMicrosoft-Windows-TerminalServices-LocalSessionManager/Operationalが使えます。
EventLog名 | EventID | 説明 |
---|---|---|
Microsoft-Windows-TerminalServices-LocalSessionManager/Operational | 21 | OSログイン成功 |
Microsoft-Windows-TerminalServices-LocalSessionManager/Operational | 23 | OSログオフ成功 |
Microsoft-Windows-TerminalServices-LocalSessionManager/Operational | 24 | OSセッション切断 |
Microsoft-Windows-TerminalServices-LocalSessionManager/Operational | 25 | OSセッション再接続 |
Security | 4625 | OSログイン失敗 |
- ログイン成功を[Security]の[4624]で拾おうとするとOSログイン以外でも結構ログが出ます。
- 正確な監査が出来ないので、自分は上記のイベントログを監査に利用するようにしています。
- リモートデスクトップ接続でもローカルでのログインでも同じようにログが出ます。
イベントビューアーで見てみると
-
[TerminalServices-LocalSessionMAnager] > [Operational]を開きます。
Winlogbeatを使ってログを可視化
- Windowsのイベントログを監査などに利用する場合にオススメはElastic社のWinlogbeatです。
※導入手順は以下を参考にしてみると良いと思います。
【参考】
・Windows のイベントログを Winlogbeat+Elasticsearch+Kibana で可視化する
本投稿で紹介したイベントログを取得する場合の設定は以下の通りです。
winlogbeat.yml
#======================= Winlogbeat specific options ===========================
winlogbeat.event_logs:
- name: Microsoft-Windows-TerminalServices-LocalSessionManager/Operational
tags: ["login"]
event_id: 21,23,24,25
- name: Security
tags: ["login"]
event_id: 4625
#================================ Outputs =====================================
#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["<ElasticsearchのIPアドレス>:9200"]
- EventLog名とEventIDを指定するだけでほしいイベントログをXML→JSON変換してOutputしてくれます。
- Elasticsearchにoutputするだけで正規化は勝手にWinlogbeatが行ってくれるので超便利です。