-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Proposal: allow enforced defaults from the Windows registry #2189
Comments
Great idea, although it would be far easier to have a registry key that forces a particular ini file (network share/default profile) so no other config changes need to be made in code. This is also more cross platform. Would this work for you? |
@droidmonkey how would your scenario work if we only want to enforce certain options, such as locking timeout? The advantage to using the registry seems to be that we can be selective about properties that are enforced. |
Good point, perhaps the registry key would only override the security settings from the pointed to ini file. |
Is anything like this possible in the meantime? I'd like to disable update check for the whole organization. |
You'd have to control their entire config file which locks out many other settings. So no, this is not possible yet. |
OK, then the only solution so far is a script that runs on user login and changes the values in EDIT: Run |
Hi, all. I noticed that the wording implies that this is not an issue / is available for Linux and Mac, but I couldn't find anything on tiered configuration setups for those either. Have I misunderstood the scope here? |
Hi, is there any progress at this topic @droidmonkey? We would like to deploy KeepassXC in our company software store but a not forced configuration is a real disadvantage compared to Keepass. And scripting the user ini file is a bad workaround unless you cant really force and lock settings. |
None made at this time. |
do you have any timeline? What do you need to get it done? |
If you have a cloning machine, that would be very useful |
|
Two things on this:
|
HKLM is where we would look for these settings. Adding config files to an installation folder is not going to happen. At worst we would consider ProgramData subfolder. For macOS and Linux, I am open to suggestions. |
As macOS and Linux also use the Usining a |
I agree.
This happens automatically when |
@droidmonkey |
From an IT deployment perspective, expanding the ini model with hierarchical precedence would be an elegant solution for us in deploying KeepassXC across Windows, Mac & Linux. Deploying defaults and enforced settings separately (as per the above _defaults.ini) is a good idea too. I did see that you can run Keepass with the -o option to load a config. Does this persist after first run? If so, perhaps there's a way to initialise this way. Perhaps another option is to set a "Default Roaming Config Template" environment variable with the default template configuration as well? |
Almost all policy enforcement on Windows is done via the registry. That goes for GPO and Intune management. It's just the way Windows "prefers" to handle security policies. Any solution we implement would likely be both file based and registry based. |
any solution is welcome and yes i would prefer also registry over file but then you should use hklm\software\policies instead of hklm\software so even administrators are not able to change settings directly on the client (which is the weak point if you do it via file like keepass is doing it) |
The registry route will likely take considerably more time to implement and only covers one OS, so I'd imagine the file method would be the way to go first with a view to enhancing Windows specific functionality further down the line. I see there is appetite for this, given the incorporation of Windows Hello for authentication. |
As someone who has to manage a bunch of Windows computers with software from various vendors I can say that it is a mess anyways 😄 |
Then admx files have to be provided. Because this policy path is not write protected for administrative users. The important point ist that gpos are reapplied periodically. |
even with admin rights you cant change policies path. You have to be SYSTEM user to do so. Yes, if you have admin rights you also can get SYSTEM rights but you need to know how and most admins dont know so its an extra step to achieve this. And, yes admx files would be the icing on the cake. |
@droidmonkey hi, any news here? Maybe some ETA? Yes i am still full of hope :) |
Haven't worked on this at all, sorry. |
hope is gone |
What about saving override settings in each KeePassXC database in an additionally encrypted field * along with a check\hash? WHEN USER OPENS THE DATABASE:
Settings Encryption Key\Password So,
This obviously is some significant rework within the application itself. But, if it were all stored in each KeePassXC database, it would be platform agnostic (including registry issues etc.) and I believe meet the need here. It's just an idea that I am offering here. But, I "think" this might work? Of course this doesn't solve the problem that it still requires man-hours of work on the application. But, maybe this is more "do-able"? Or maybe it's not do-able at all. I don't know what I don't know. Thoughts? Feedback? |
Saving settings internal to the database is a different request. This is about system administrators setting defaults for the application itself. |
hi, now that passkeys is added 👍 maybe there is a time to implement a forced configuration? 🏃♂️ |
Currently, it is difficult to enforce organizational defaults on Windows. This proposal would implement behavior where, if a certain value is set in the Windows registry, KeePassXC will use the registry instead of the ini config file. Otherwise, it will fall back to using IniFormat.
Current Behavior
All settings use IniFormat. This makes it difficult to enforce organizational defaults for Windows users of KeePassXC.
Possible Solution
KeePassXC would check that a value in the registry (HKEY_CURRENT_USER\Software\KeePassXC\OrganizationDefaults) exists. If it does, m_setttings will be initialized with NativeFormat, rather than IniFormat.
Context
The main use case for this feature is enforcing an idle timeout for all of our users. We currently have the ability to change the default behavior, but not to enforce the configuration option, which we could do using the Windows Registry.
Operating system: Windows 7 - Windows 10
The text was updated successfully, but these errors were encountered: