忍者ブログ

2024-04-18(Thu)

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2009-06-30(Tue)

ログイン、ログオフのログを取りたい!WSHとログパルサーを使う

セキュリティの強化が叫ばれている昨今。
なんでもログをとれーログをとれーとうるさくなってきました。
でも、Windowsサーバーに蓄積されるログって使い勝手が悪いもの。どうしたものかと考えた日々でした・・・。

ある日、監査でパソコンのログインのログは取っているか?との指摘がありました。

・・・・・

正直とっていませんでした(^^ゞ

で、「パソコンのログインのログを取れ!」

と命令が下ったのでした。

拍手[1回]

・・・・・・・・

自分がシステム部長だった頃は全然手をつけなかったではないか!


基幹システムのアクセスログはシステムから取得できます。
当然それは取ってあり、複雑怪奇なログからどんな業務をいつ実行したかの分析ツールまで作ってありました。


が、パソコンそのもののアクセスログはとっていませんでした。
休日や時間外にパソコンの電源を入れても誰もわからないという状況でもあったのです・・・。


さてどうしたものか・・・・。

幸いにして、Windows2003サーバー上で、アクティブディレクトリ(AD)を構築しており、ドメイン管理をしているので、そこからログを取得することはできます。
が、対話的なログインのログを取得するのは困難。

ではどうするか・・・。
ここを参考にして、スクリプトでログインログオフのイベントをイベントビューアーに書き込むことにしました。

まず、ログインスクリプトから。login.vbs として作ってやります。
Const AUDIT_SUCCESS = 8

REM Create Objects
Set objShell = WScript.CreateObject("WScript.Shell")
Set objNetwork = WScript.CreateObject("WScript.Network")
Set objADsys = CreateObject("ADSystemInfo")

REM Build a message string
 strMsg = "<Logon> ユーザ" + objNetwork.UserName + " が、ドメイン" + _
        objNetwork.Userdomain + " (サーバー" + objADsys.GetAnyDCName + _
        ")にログオンしました。"

REM Write to Eventlog
 objShell.LogEvent AUDIT_SUCCESS,strMsg,objADSys.GetAnyDCName

Set objShell = Nothing
Set objNetwork = Nothing
Set objADSys = Nothing

で、次にログオフのスクリプト logoff.vbsとして作ってやります。
Const AUDIT_SUCCESS = 8

REM Create Objects
Set objShell = WScript.CreateObject("WScript.Shell")
Set objNetwork = WScript.CreateObject("WScript.Network")
Set objADsys = CreateObject("ADSystemInfo")

REM Build a message string
 strMsg = "<Logoff> ユーザ" + objNetwork.UserName + " が、ドメイン" + _
        objNetwork.Userdomain + " (サーバー" + objADsys.GetAnyDCName + _
        ")にログオフしました。"

REM Write to Eventlog
 objShell.LogEvent AUDIT_SUCCESS,strMsg,objADSys.GetAnyDCName

Set objShell = Nothing
Set objNetwork = Nothing
Set objADSys = Nothing

これ、結構有名なスクリプトです。
これを、ADのグループポリシーに設定してやります。
ADの、設定したOUをクリックし、[操作]→[プロパティ]とクリック→[グループポリシー]タブをクリック。
[グループポリシー」で[ユーザの構成]→[Windows の設定]→[スクリプト(ログオン/ログオフ)]
で、作ったスクリプトを指定してやります。

実はこれだけではだめで、イベントビューアに書き込むときにエラーになってしまいます。
マイクロソフトに設定がありますのでそっちを参考にします。
こちらも参考になるかもしれません。

これで、どうなるかというと、ユーザーがドメインにログインもしくはログオフするたびに、サーバーのイベントビューア(アプリケーション)にログが書き込まれるようになります。

ソースがWSHなので、それでフィルターをかけてやれば一応、見ることができます・・・・。
さて、ここからが問題。
イベントビューワーの使いにくいこと使いにくいこと。
一覧にしてみることができない、とかエクセルに変換しにくとかいろいろ。

フリーソフトでも、イベントビューワーのログを一覧形式にして見やすくするものが出ていますが、あともう一歩!というものがほとんど。皆さん苦労しているんです。

で、以外に役に立つのが、マイクロソフトのLogParser(ログパルサー)。
ここの記事で見つけました。

コマンドで使えるということは、batにしてタスクに仕込んでおけば、勝手にログを収集しテキストに出力することも可能です。

下のコマンドは、ログパルサーで先ほどのスクリプトのログを取得し、c:\logにlogin.csvに書き込みます。で、取得した日付にリネームするというもの。WSHはログイン、ログオフスクリプトでしか使用していないので、それを抽出条件としました。

LogParser -i:EVT "SELECT TimeGenerated,EventTypeName,ComputerName,Message INTO 'C:\log\login.csv' FROM Application WHERE SourceName = 'WSH' AND TimeGenerated >= TO_LOCALTIME( SUB(SYSTEM_TIMESTAMP(),TIMESTAMP('2','d')))"

REM BACKUP

SET DT=%date:~-10%
set FNAME=C:\log\%DT:~0,4%%DT:~5,2%%DT:~8,2%-login.csv

copy C:\log\login.csv "%FNAME%"

これを夜中の日付が変わるちょっと前に実行するようにタスクにしこみます(23時55分とか)。

すると結果はこうなります。
TimeGenerated,EventTypeName,ComputerName,Message
2009-04-18 09:07:07,Success Audit event,"コンピューター名",<Logon> ユーザ"ユーザー名" が、ドメイン"ドメイン名"にログオンしました。
2009-04-18 15:10:10,Success Audit event,"コンピューター名",<Logoff> ユーザ"ユーザー名" が、ドメイン"ドメイン名"にログオフしました。

csvなのでエクセルでの管理ができるというもの。
中小規模の企業はこれで十分かもしれませんね。

このログパルサー(LogPrser)。使い込めばもっと便利なログ取得に使えます。


PR

この記事にコメントする

Name
Title
Mail
URL
Comment
Pass
Pictgram
Vodafone絵文字 i-mode絵文字 Ezweb絵文字

無題

2010-04-23 19:46

知りたかった情報を拝見することができました。ありがとうございます!・・が、イベントに書き込まれないのでCSV出す以前のところで立ち止まり中です・・。確認方法などの追記情報があればうれしいです。これからも情報楽しみにしております。^^

Re:無題

2010-04-29 23:31

あきあき様
コメントありがとうございます。遅くなり申し訳ありません。
さて、イベントに書き込まれないということですが、おそらく書き込みの権限の問題かと思われます。
http://gstudio.xrea.jp/blog/2008/08/ad-forwindows-server-2008.htm
に詳しく載っていますので参考にされたらと思います。

不定期ですがなにかあれば載せていきます。今後ともよろしくお願いいたします。

この記事へのトラックバック

この記事にトラックバックする

Amazon

PR

情報サービス

楽天

ソフト関連

メーカー直販PC

周辺機器

ランキング

プロフィール

HN:
NORI
性別:
男性
趣味:
車でどこへでも
自己紹介:
文学部卒業ながら、ひょんなことからシステム会社に就職。
しかしながらあまりの激務に退職。もうシステム系はいやだと思っていたが、ひょんなことから企業の電算室に勤務することとなる。

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

ブログ内検索

Google
Web ブログ内

最新TB

アクセス解析