ผู้ใช้บางคนได้เข้าสู่เซิร์ฟเวอร์ผ่าน 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)"}
}
}}
ข้อมูลเกี่ยวกับ EventIds ที่เกี่ยวข้องที่เรากำลังกรองอยู่สามารถดูได้ที่นี่:
สำหรับการเชื่อมต่อ 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
นอกเหนือจากการรวบรวมบันทึกเหตุการณ์แล้วมองหา Logon Type 10 (Remote Desktop) ในบันทึกการรักษาความปลอดภัยหรือดูบันทึกเหตุการณ์ช่องสัญญาณ TerminalServices คุณจะต้องใช้ซอฟต์แวร์บุคคลที่สาม
นอกเหนือจาก TSL ที่กล่าวถึงข้างต้นนี่คืออีกสิ่งหนึ่งที่ฉันเคยใช้กับความสำเร็จในอดีต - Remote Desktop Reporter
http://www.rdpsoft.com/products
ถ้าคุณไปบุคคลที่สามตรวจสอบให้แน่ใจว่าคุณประเมินหลาย ๆ และได้รับการเสนอราคาจากผู้ขายแต่ละราย ... มีความแตกต่างอย่างมากในด้านราคา - ราคาของผู้จำหน่ายบางรายต่อผู้ใช้ที่มีชื่อ ตรวจสอบให้แน่ใจด้วยว่าโซลูชันนั้นมาพร้อมกับฐานข้อมูลของตัวเองหรือ SQL เวอร์ชัน Lite ไม่เช่นนั้นคุณจะได้รับผลกระทบจากต้นทุนการอนุญาตฐานข้อมูลด้วย
คุณสามารถตั้งค่าบัญชีผู้ใช้ใด ๆ ใน AD สำหรับการควบคุมระยะไกลเพื่อดูหรือโต้ตอบกับเซสชันของผู้ใช้โดยไปที่แท็บผู้ใช้ในตัวจัดการงานคลิกขวาและเลือก 'การควบคุมระยะไกล' จากนั้นคุณสามารถดูเซสชันของพวกเขา
ฉันได้รับคำตอบส่วนใหญ่ฟรี / ไม่แพงในหน้านี้รวมถึงการค้นหาที่อื่น ๆ (เป็นเวลาหลายวันรวมถึงการอ่านบันทึกเหตุการณ์ที่กล่าวถึงโดย Andy Bichler) และนี่เป็นเครื่องมือตรวจสอบและบล็อก RDP สำรองฟรี:
http://www.tweaking.com/content/page/remote_desktop_ip_monitor_blocker.html
ฉันไม่ได้ทำการทดสอบอย่างกว้างขวาง แต่ดาวน์โหลดและสแกน (เวอร์ชั่นพกพา) และแม้ว่า UI นั้นค่อนข้างน่าเกลียด แต่มันก็ทำงานบนเซิร์ฟเวอร์ 2012 R2 โดยไม่มีปัญหา มันเป็น "Hands on" แต่ก็ไม่มีเกมง่ายๆและเต้นถอดรหัสบันทึกเหตุการณ์
นอกจากนี้ยังมี ts_block ซึ่งอนุญาตให้คุณบล็อก IP โดยอัตโนมัติที่กำลังดุร้ายบังคับ RDP ของเซิร์ฟเวอร์ของคุณ (ซึ่งฉันคาดว่าจะมีบันทึกการพยายาม RDP):
https://github.com/EvanAnderson/ts_block
อย่างที่คุณเห็นในลิงค์นั้นผู้เขียนเป็นผู้ใช้เซิร์ฟเวอร์ผิดพลาด ฉันไม่ได้ทดสอบเพราะมันเป็น vbscript ที่ฉันต้องผ่าก่อนใช้ แต่ดูเหมือนว่ามีแนวโน้ม
ปัญหาเกี่ยวกับบันทึกเหตุการณ์ที่กล่าวถึงโดย Andy ด้านบนคือพวกเขาไม่ชัดเจนหรืออธิบายว่าใครทำอะไร ... อย่างน้อยก็ในแง่ร้าย คุณสามารถหาที่อยู่ IP ได้ แต่ก็ยากที่จะบอกได้ว่าพวกเขาเกี่ยวข้องกับความพยายามในการเข้าสู่ระบบที่ไม่สำเร็จหรือไม่ ดังนั้นเครื่องมืออื่นนอกเหนือจากบันทึกโดยธรรมชาติดูเหมือนจะเป็นข้อบังคับเกือบทั้งหมดหากเซิร์ฟเวอร์ของคุณกำลังเผชิญอินเทอร์เน็ตและคุณมีข้อกังวลเกี่ยวกับความปลอดภัย
ในบันทึกเหตุการณ์ -
โปรแกรมประยุกต์และบริการ Logs \ Microsoft \ Windows \ remote เดสก์ท็อป services-rdpcorets
มีความพยายามทั้งหมดในการเชื่อมต่อกับ rdp และที่อยู่ IP
เมื่อฉันทำงานเป็นผู้ดูแลระบบไม่กี่ปีก่อนฉันมีปัญหาเหมือนที่คุณทำตอนนี้ฉันต้องการตรวจสอบทุกคนที่เชื่อมต่อผ่าน RDP และเมื่อใดก็ตามที่พวกเขาทำงานหรือไม่ได้ใช้งาน
ฉันประเมินผลิตภัณฑ์น้อย แต่ตัดสินใจว่าไม่มีผลิตภัณฑ์ใดที่ดีพอสำหรับฉันดังนั้นฉันจึงสร้างของตัวเอง (ปัญหาคือทุกอย่างมีตัวแทนหรือบริการบางประเภทในการรวบรวมข้อมูลและวิธีแก้ปัญหาที่ฉันสร้างขึ้นคือใช้ TS API เพื่อ เซิร์ฟเวอร์ระยะไกลและดึงข้อมูลโดยไม่ต้องมีตัวแทนใด ๆ ) ผลิตภัณฑ์นี้มีชื่อว่า syskit (หรือ TSL ตามที่ Jim กล่าวถึง) และมีการใช้กันอย่างแพร่หลายทั่วโลก: D
คุณสามารถตรวจสอบกิจกรรมของผู้ใช้ได้ที่นี่