답변:
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 외에도 과거에 성공한 적이있는 또 하나의 원격 데스크톱 리포터가 있습니다.
http://www.rdpsoft.com/products
써드 파티로 가려면 여러 업체를 평가하고 각 공급 업체로부터 가격 견적을 받으십시오. 가격에 큰 불일치가 있습니다. 일부 공급 업체는 지정된 사용자 당 가격, 일부는 동시 사용자 당, 일부는 서버별로 가격이 다릅니다. 솔루션에 자체 데이터베이스 또는 라이트 버전의 SQL이 포함되어 있는지 확인하십시오. 그렇지 않으면 데이터베이스 라이센스 비용도 발생합니다.
나는이 페이지에서 대부분의 무료 / 저렴한 답변을 받았고 다른 곳을 검색하고 (Andy Bichler가 언급 한 이벤트 로그 읽기를 포함하여 며칠 동안) 대체 무료 RDP 모니터링 및 차단 도구가 있습니다.
http://www.tweaking.com/content/page/remote_desktop_ip_monitor_blocker.html
나는 그것을 광범위하게 테스트하지는 않았지만 다운로드하고 스캔 (휴대용 버전)하고 UI는 추악한 편이지만 2012 R2 서버에서 문제없이 작동하고 있습니다. "손을 떼지"않았지만 당연한 일이며 이벤트 로그를 해독하는 것을 능가합니다.
서버의 RDP를 강제하는 무차별 IP를 자동으로 차단할 수있는 ts_block도 있습니다 (RDP 시도에 대한 로그가있을 것입니다).
https://github.com/EvanAnderson/ts_block
해당 링크에서 볼 수 있듯이 작성자는 serverfault 사용자입니다. 기본적으로 사용하기 전에 해부 해야하는 vbscript이므로 테스트하지 않았습니다. 그러나 유망한 것 같습니다.
위에서 Andy가 언급 한 이벤트 로그의 문제점은 누가 악의적 인 의미로 누가 무엇을하고 있는지에 대해 명확하지 않거나 설명 적이 지 않다는 것입니다. IP 주소를 찾을 수 있지만 모든 실패한 로그인 시도와 관련이 있는지 알기가 어렵습니다. 따라서 서버가 인터넷에 연결되어 있고 보안에 대한 우려가있는 경우 고유 로그 이외의 다른 도구는 거의 필수입니다.