Bu yazımızda, RDP ile bağlantı yapılan kullanıcı ve IP bilgileri nasıl bulunur bilgilerini öğreneceğiz. Özellikle veri tabanlarını yönetmek için çoğu Database Administrator bu yöntemi kullanılır. Bazı kullanıcılar local üzerinden TCP ile bağlantı yaparken bazıları da mRemoteG gibi istediği tüm sunucuları bir arada göreceği arayüz ile RDP yaparak sunuculara erişebilirler. Çoğu zaman büyük ekranda çalışabilme imkanı sunması, third party program hatası yaşanmaması ve sunucu kaynakları takibi için Windows’un kendi Remote Desktop (RDP) kullanmak daha doğru bir tercih olabilir.
Remote Connection log bilgileri güvenlik katmanı yöneticileri için büyük öneme sahiptir. Bu log bilgilerine Search > Event Viewer > Applications and Services Logs > TerminalServices-RemoteConnectionManager > Operational altında tutulmaktadır. Windows’ta bu loglar Default olarak 1MB’a kadar tutulmaktadır. Eğer bu loglar 1MB üzerine çıkarsa Windows en eski logları silip yeni connection loglarını oluşturmaktadır.
Aşağıda sizlerle paylaşmış olduğumuz 2 script’ten ilki RDP Yapılan sunucu üzerine hangi IP ve hangi kullanıcı ile yapıldığı bilgisine erişebilirsiniz.
İkinci script ise RDP yapılmış sunucu içerisinden RDP yapılan sunucunun IP bilgisine ve hangi kullanıcıdan bu IP’ye RDP yapıldığı bilgisine ulaşabilirsiniz.
1.RDP Yapılan Sunucuya hangi kullanıcı hangi IP ile erişim sağlandığı bilgisi;
Get-EventLog -LogName Security | ?{(4624,4778) -contains $_.EventID -and $_.Message -match 'logon type:\s+(10)\s'}| %{ (new-object -Type PSObject -Property @{ TimeGenerated = $_.TimeGenerated ClientIP = $_.Message -replace '(?smi).*Source Network Address:\s+([^\s]+)\s+.*','$1' UserName = $_.Message -replace '(?smi).*\s\sAccount Name:\s+([^\s]+)\s+.*','$1' UserDomain = $_.Message -replace '(?smi).*\s\sAccount 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 - local logon'} 3 {'Network connection to shared folder)'} 4 {'Batch'} 5 {'Service'} 7 {'Unlock (after screensaver)'} 8 {'NetworkCleartext'} 9 {'NewCredentials (local impersonation process under existing connection)'} 10 {'RDP'} 11 {'CachedInteractive'} default {"LogType Not Recognised: $($_.LogonType)"} } }}
2.Sunucu içinden başka bir sunucuya Hangi Kullanıcı ile hangi IP’ye RDP yapıldığı bilgisi;
$properties = @( @{n='TimeStamp';e={$_.TimeCreated}} @{n='LocalUser';e={$_.UserID}} @{n='Target RDP host';e={$_.Properties[1].Value}} ) Get-WinEvent -FilterHashTable @{LogName='Microsoft-Windows-TerminalServices-RDPClient/Operational';ID='1102'} | Select-Object $properties
Tüm bu bilgilerin Windows içerisinde tutulduğu yer event viewer içinde yer alır. Bu bilgilere ulaşmak için Search > Event Viewer > Applications and Services Logs > TerminalServices-RemoteConnectionManager > Operational bölümünü açtıktan sonra 1149 Event ID’ler size bu bilgileri verecektir.
0 Yorum