ISWest contracted CloudSand to develop the Advanced Password Management Engine 
(APME). ISWest  the owner and sponsor of APME, would like to donate the APME 
feature to Apache CloudStack Community.  Special thanks goes to ISWest - 
Clayton Weise for supporting the Apache CloudStack Community and choosing to 
donate this feature.



For technical design questions, please reach out to me directly via this 
thread, or email me and CC Clayton Weise from ISWest.



Thanks

-ilya





Abstract:



Present versions of Apache CloudStack  up until the latest version of 4.2 lack 
secure and granular password management control for domain admins and domain 
users.

Specifically, there is no way to enforce complex password rules, password 
expiration and password history by domain admin for domain users. Moreover, 
basic domain users cannot change their password, domain admin cannot lock and 
reset the password for domain user within the same domain.





Current state:



This feature has been developed on 4.0 code based and will be thoroughly tested 
in multiple environments. This feature will be ported to latest 4.2 code base 
and tested yet again by ISWest and CloudSand.





Feature details and Specifications:



Exceptions:

0) Dont use APME if CloudStack is configured to use external source (ldap/ad), 
display a friendly message on password manager page that this environment is 
using external user authentication mechanism





     1. Create a page under domain user admin tab to enforce password

        complexity for domain users by domain admin



             1. Enforce usage of



                     1. Upper case, lower case characters and digits



                     2. Special characters such as !@#$%^&*()



                     3. Password character limit must be greater than

                        "x"



                     4. Password expiration of every x number of days

                        for all users in domain



                     5. Avoid last X password previously used kept in

                        password history table



                     6. Dont apply the password manager rule set on

                        specific users separated by coma in a field (for

                        service accounts in mind)







     1. Enable ability for domain admin to change the password of domain

        users



     2. Enable ability for domain user to reset his password



     3. APME task is configurable via global settings



     4. Global customizable email notification is configured via global

        settings with username and domain and password expiration date

        in email body - passed on as attribute, i.e. <username>,<password>, 
<domain>, etc..



Conditions:



Rules apply to each cloudstack domain, each domain may have different rules



If new password complexity is defined on applicable existing user base, it will 
take effect on the next APME job execution. The password complexity rules will 
be effective immediately - if user was to change his password in the UI.



All users will get email notification that they have to change their password 
upon login to CS within grace period, set to -1 if you need immediate change, 
takes effect next time APME task is ran



If user changes the password prior to expiration, mark the change in table that 
user has reset the password



If complexity to password management has been relaxed from more restrictive set 
- do nothing



If new user is added and APME is enabled, user must adhere to APME rule set





Notification rules:



Email the user daily prior to the password is expiring and to notify that user 
needs to reset the password. The advanced email notification rule is configured 
in global settings



Display an event on users page that password is expiring in X days

Reply via email to