Ich habe ein C # -Programm, das genau das tut. Ich hatte ein Problem mit Server 2008 R2, bei dem im Ereignisprotokoll nicht immer die IP-Adressen des Benutzers aufgeführt waren (wenn eine Verbindung über die neueren Remotedesktopclients hergestellt wurde). Einige Dienste implementieren einen eigenen Anbieter für die Prüfung von Anmeldeinformationen, der nicht alle gewünschten Informationen bereitstellt.
http://cyberarms.net/security-insights/security-lab/remote-desktop-logging-of-ip-address-%28security-event-log-4625%29.aspx
Bei Remotedesktop stellte ich jedoch fest, dass beim Aufrufen der Option "Konfiguration des Remotedesktop-Sitzungshosts" und Ändern der RDP-TCP-Verbindung die Sicherheitsebene "RDP-Sicherheitsebene" anstelle von "Aushandeln" oder "SSL (TLS 1.0)" wiederhergestellt wurde IP-Adressen.
Ob Sie dies wirklich tun möchten, ist eine andere Frage für Sie: "Wenn Sie RDP Security Layer auswählen, können Sie die Authentifizierung auf Netzwerkebene nicht verwenden."
Ich habe http://www.windowsecurity.com/articles/logon-types.html gefunden hilfreich. Ich habe EventLogWatcher verwendet und an "* [System / EventID = 4625 oder System / EventID = 4624]" gebunden, damit ich bei Erfolg eine schlechte Zählung zurücksetzen kann, wenn der Benutzer wirklich nur sein falsches Passwort hat. Außerdem habe ich :: 1, 0.0.0.0, 127.0.0.1 und "-" auf die Whitelist gesetzt. Möglicherweise möchten Sie LAN- / Management-IPs auf eine Whitelist setzen oder nicht.
Ich verwende Forefront TMG, also habe ich die API verwendet, um einer Gruppe von IP-Adressen auf diese Weise ungültige IP-Adressen hinzuzufügen, und ich habe Cisco gebeten, einem ihrer SMB-Router API-Zugriff hinzuzufügen (was sie mir zugesichert haben, dass sie dies einfach tun könnten!).
Wenn Sie die native Windows-Firewall verwenden möchten, um sie zu blockieren, sehen Sie sich die API dafür an ("netsh advfirewall").
Ich erlaube x Versuche, bevor ich verbiete und ein Erfolg setzt die Zählung zurück.