ฉันมีโปรแกรม C # ที่ทำสิ่งนี้อย่างแน่นอน ฉันมีปัญหาใน Server 2008 R2 ซึ่งบันทึกเหตุการณ์ไม่ได้แสดงรายการที่อยู่ IP ของผู้ใช้เสมอ (หากเชื่อมต่อจากไคลเอนต์เดสก์ท็อประยะไกลที่ใหม่กว่า) บริการบางอย่างใช้ผู้ให้บริการตรวจสอบข้อมูลรับรองของตนเองซึ่งไม่ได้ให้ข้อมูลทั้งหมดที่คุณต้องการ
http://cyberarms.net/security-insights/security-lab/remote-desktop-logging-of-ip-address-%28security-event-log-4625%29.aspx
สำหรับ Remote Desktop แต่ฉันค้นพบว่าการเข้าสู่ "Remote Desktop Session Host Configuration" และการเปลี่ยนการเชื่อมต่อ RDP-TCP ให้มีเลเยอร์ความปลอดภัยของ "RDP Security Layer" แทน "Negotiate" หรือ "SSL (TLS 1.0)" ที่อยู่ IP
ไม่ว่าคุณจะต้องการทำเช่นนี้เป็นคำถามอื่นสำหรับคุณหรือไม่ "ถ้าคุณเลือก RDP Security Layer คุณจะไม่สามารถใช้การรับรองความถูกต้องระดับเครือข่ายได้"
ฉันพบhttp://www.windowsecurity.com/articles/logon-types.htmlเพื่อเป็นประโยชน์ ฉันใช้ EventLogWatcher และผูกกับ "* [ระบบ / EventID = 4625 หรือระบบ / EventID = 4624]" ดังนั้นฉันสามารถรีเซ็ตจำนวนที่ไม่ดีในการประสบความสำเร็จหากผู้ใช้จริงแค่รหัสผ่านผิด นอกจากนี้ฉันได้รับอนุญาตพิเศษ :: 1, 0.0.0.0, 127.0.0.1 และ "-" คุณสามารถหรืออาจไม่ต้องการอนุญาต IP / LAN ของการจัดการที่ปลอดภัย
ฉันใช้ Forefront TMG ดังนั้นฉันจึงใช้ API เพื่อเพิ่มที่อยู่ IP ที่ไม่ดีให้กับกลุ่มของ IP และฉันขอให้ซิสโก้เพิ่มการเข้าถึง API ให้กับเราเตอร์ SMB หนึ่งในพวกเขา (ซึ่งพวกเขามั่นใจว่าพวกเขาอาจทำได้!)
หากคุณต้องการใช้ไฟร์วอลล์ Windows ดั้งเดิมเพื่อปิดกั้นให้ดูที่ API สำหรับสิ่งนั้น ("netsh advfirewall")
ฉันอนุญาตให้ x จำนวนครั้งก่อนที่จะแบนและความสำเร็จจะรีเซ็ตการนับ