少数のユーザーがRDPを介してサーバーにログインしています。
アクティビティを監視したいのですが、Windows Serverでの自分のやり方がよくわかりません。
相談できるようなログがあることを期待しています。
何か案は?:)
少数のユーザーがRDPを介してサーバーにログインしています。
アクティビティを監視したいのですが、Windows Serverでの自分のやり方がよくわかりません。
相談できるようなログがあることを期待しています。
何か案は?:)
回答:
eventvwr.msc
)Applications and Services Logs
- > Microsoft
- > Windows
- >TerminalServices-LocalSessionManager
Admin
かOperational
セッションリストが表示されます。日付/タイムスタンプ/ IP /ユーザー名など。Applications and Services Logs\Microsoft\Windows\TerminalServices-RemoteConnectionManager
PowerShellのソリューションは次のとおりです。
Get-EventLog -LogName Security | ?{(4624,4778) -contains $_.EventID} | %{
(new-object -Type PSObject -Property @{
TimeGenerated = $_.TimeGenerated
ClientIP = $_.Message -replace '(?smi).*Source Network Address:\s+([^\s]+)\s+.*','$1'
UserName = $_.Message -replace '(?smi).*Account Name:\s+([^\s]+)\s+.*','$1'
UserDomain = $_.Message -replace '(?smi).*Account Domain:\s+([^\s]+)\s+.*','$1'
LogonType = $_.Message -replace '(?smi).*Logon Type:\s+([^\s]+)\s+.*','$1'
})
} | sort TimeGenerated -Descending | Select TimeGenerated, ClientIP `
, @{N='Username';E={'{0}\{1}' -f $_.UserDomain,$_.UserName}} `
, @{N='LogType';E={
switch ($_.LogonType) {
2 {'Interactive (logon at keyboard and screen of system)'}
3 {'Network (i.e. connection to shared folder)'}
4 {'Batch (i.e. scheduled task)'}
5 {'Service (i.e. service start)'}
7 {'Unlock (i.e. post screensaver)'}
8 {'NetworkCleartext (i.e. IIS)'}
9 {'NewCredentials (i.e. local impersonation process under existing connection)'}
10 {'RemoteInteractive (i.e. RDP)'}
11 {'CachedInteractive (i.e. interactive, but without network connection to validate against AD)'}
default {"LogType Not Recognised: $($_.LogonType)"}
}
}}
フィルタリングしている関連EventIdに関する情報は、次の場所にあります。
RDP接続の場合、特にLogType 10に関心があります。RemoteInteractive; ここでは、他のタイプが使用される場合に備えてフィルタリングしていません。ただし、必要に応じて別のフィルターを追加するのは簡単です。
また、これらのログが作成されていることを確認する必要があります。それを行うには:
Start
Control Panel
Administrative Tools
Local Security Policy
Security Settings
> Advanced Audit Policy Configuration
> System Audit Policies - Local Group Policy Object
>Logon/Logoff
Audit Logon
するSuccess
イベントログを調べたり、セキュリティログでログオンタイプ10(リモートデスクトップ)を探したり、TerminalServicesチャネルイベントログを調べたりする以外に、サードパーティソフトウェアを使用する必要があります。
上記のTSLに加えて、ここで私が過去に成功して使用したもう1つ-Remote Desktop Reporter
http://www.rdpsoft.com/products
サードパーティに行く場合は、いくつかのベンダーを評価し、各ベンダーから価格見積りを取得してください...価格には大きな違いがあります-一部のベンダーの価格は名前付きユーザーごと、一部は同時ユーザーごと、一部はサーバーごとです。また、ソリューションに独自のデータベースまたはSQLのライトバージョンが付属していることを確認してください。そうでない場合は、データベースライセンスのコストも発生します。
私はこのページのほとんどの無料/手頃な回答と他の場所での検索(アンディビヒラーが言及したイベントログの読み取りを含む数日間)を行ってきました。
http://www.tweaking.com/content/page/remote_desktop_ip_monitor_blocker.html
広範囲にテストしたことはありませんが、ダウンロードしてスキャンし(ポータブルバージョン)、UIは少しUIいですが、これまでのところ問題なく2012 R2サーバーで動作しています。それは「実践」ですが、同様に簡単であり、イベントログの解読に勝ります。
また、ts_blockを使用すると、サーバーのRDPを総当たり攻撃するIPを自動的にブロックできます(RDP試行のログがいくつかあると推測しています)。
https://github.com/EvanAnderson/ts_block
このリンクでわかるように、作成者はサーバー障害ユーザーです。基本的にvbscriptであるため、使用する前に分析する必要があるため、テストしていません。しかし、有望なようです。
上記のAndyが述べたイベントログの問題は、少なくとも悪意のある意味で、誰が何をしているのかについてあまり明確でも記述的でもないことです。IPアドレスを見つけることはできますが、それが失敗したすべてのログイン試行に関連しているかどうかを判断するのは困難です。そのため、サーバーがインターネットに接続していて、セキュリティに関する懸念がある場合、固有のログ以外の別のツールはほぼ必須のようです。
数年前に私が管理者として働いていたとき、今のように問題がありました。RDPを介して接続するすべてのユーザーを監視し、それらがいつアクティブかアイドルかを正確に監視したかったのです。
私はいくつかの製品を評価しましたが、どれも私にとって十分ではないことを決定したので、自分で構築しました(問題はデータを収集するための何らかのエージェントまたはサービスがあり、構築したソリューションはTS APIを使用してリモートでリモートサーバーを使用して、エージェントなしでデータを抽出します)。この製品は現在syskit(またはJimが言及したTSL)と呼ばれ、世界中で広く使用されています:D