-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Find workaround for logging changes when the "Security Layer" is SSL/TLS #14
Comments
I did some more research on this and it looks, to me, like there's no good way to handle it from VBScript. I think this is likely the death knell for ts_block. It's difficult for me to get interested in putting more time into it if it's not going to work well with a more secure RDP listener configuration. |
how Cyberarms IDDS are doing to get remote IP addresses? |
I didn't do any reverse-engineering of their code to see. I suspect they're just rate-limiting new connections to the RDP port but I can't say for sure. |
I found the ips logged in Application and services log - Microsoft - Windows - RemoteDesktopServices-RdpCoreTS - Operational, event id 140 |
@dvolk - On Windows Server 2012 R2 I do find client IP addresses in the log you reference. I don't immediately see a method to correlate these events to logon failures, however. I guess they could be used for simple rate-limiting, though. |
Do you not get these in event 140? "A connection from the client computer with an IP address of xx.xx.xx.xx failed because the user name or password is not correct." Maybe you have to turn on login failure auditing in the group policy. |
Interesting. I have failure auditing for "Audit account logon events" and "Audit logon events" enabled. Just to confirm, you're seeing this logged on Windows Server 2012 R2 w/ default RDP security layer settings -- correct? I'll spend some time this weekend trying to repro. |
I'm in the same position as @dvolk whereby there are no IPs logged in the Security events source and there is no way to enable it. There are IPs logged in RemoteDesktopServices-RdpCoreTS in the 140 events. |
Have a look at this post from two days ago: http://purerds.org/remote-desktop-security/auditing-remote-desktop-services-logon-failures-1/ I can confirm that I receive event ID 140 in RemoteDesktopServices-RdpCoreTS for non-existent usernames, per this post. I don't have any Server 2016 available right now to see if the notes in the post hold true. For Server 2012 (and 2012 R2), at least, it looks like I could just do rate-limiting of new connections (because correlating the event 131's from to the RemoteDesktopServices-RdpCoreTS log to the event 4625 in the Security Log is a dodgy hack that I'm not going to do). |
OMG. After reading that link it's obvious that Microsoft has really got to get their act together. But there's a good portion of us that can live with the restrictions of the RDP security layer + no NLA, and it's great to have this script working and blocking IPs that are attacking us. |
There is good news in Windows Server 2016.
|
Yep I can totally confirm this is back to working without any security changes in Server 2016! WOO-HOO! Hopefully they won't break it again. |
When an RDP client that supports SSL/TLS (rather than only "RDP" security, as was the case with older clients) fails authentication to the RDP server an IP address for the client won't be logged when the NtLmSsp security provider is used.
Arguably, SSL/TLS is a Good Thing(tm) (see http://technet.microsoft.com/en-us/magazine/ff458357.aspx) for details and I am wary of other invalid RDP logon block products suggestions to force the security layer to "RDP" (see http://rdpguard.com/windows-server-how-to-catch-failed-logons.aspx) because, while it does cause IP addresses to be logged, it prevents useful features (like mutual authentication) from being used.
The "Cyberarms IDDS" product came up with a workaround that allows the SSL/TLS security layer to remain enabled while still being able to log IP addresses. I'm going to look at their product to see if I'm able to determine what they're doing, however anything that involves compiled code is probably going to be above my interest level for ts_block.
The text was updated successfully, but these errors were encountered: