-
Notifications
You must be signed in to change notification settings - Fork 101
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
Add username checks to password validation #11
base: master
Are you sure you want to change the base?
Conversation
Add: 1. Validate user for group membership. If in group listed in opfgroups.txt then validate password, else ignore. if no groups listed then validate everyone. 2. Validate password for regex match. See opfregex.txt file. 3. Add support for username in OpenPasswordFilter.dll and OPFService 4. Replace List array with Hash array - faster lookup 5. Additional Logging (some refactoring) 6. Change compile target to NET 4.5.2
with opfregex.txt and opfgroups.txt file details
Pull in username upstream pull request
Add checking that password does not contain username or user's name/names remove dependency on .net 3.5 and rebuild installer and alpha zip update readme.md remove x86 target (willing to discuss this - but I don't see any reason to be running a 32 bit DC in 2017)
Move list files to sysvol to leverage replication Add logic to detect changes to lists and automatically re-read them Rebuild zip and installer
I've moved the lists to sysvol to leverage active directory replication, and added some logic to watch their last write times and re-read if they've changed. I tried doing this by watching hashes and found it to be not performant with large lists. I've also fixed a bunch of disparate whitespace formatting issues that were making my eyes bleed. I also fixed an issue where service stop took too long for the process to die due to a blocking socket accept call, which would cause the service to not bind the network port on when restarted. Finally, an issue with case sensitivity of the 'matchlist' check was fixed. |
Add some SecureZeroMem stuff in the dll Add support for the HaveIBeenPwned API
Fix erroneous error report from pwnedpasswords api module Quiet logging down a touch
Now with pwnedpasswordsAPI support! 😃 |
I used cdebbo's pull request to get the username into the c# bits, and added checks that the password does not contain SAMAccountName, user's given name, surname, or display name. Maybe someday I'll get around to trying to stop them from using 'leet' mutations on their names, but this is a start.
I also removed the dependency on .net 3.5 and re-rolled the installer, dropping x86. I'm willing to discuss that, but I don't think there's any reason to target an x86 domain controller in 2017.