[MDEV-7597] Expiration of user passwords Created: 2015-02-17 Updated: 2021-05-17 Resolved: 2019-02-21 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Authentication and Privilege System |
| Fix Version/s: | 10.4.3 |
| Type: | Task | Priority: | Critical |
| Reporter: | Rasmus Johansson (Inactive) | Assignee: | Robert Bindar |
| Resolution: | Fixed | Votes: | 15 |
| Labels: | pf5, security | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
MariaDB should have support for expiring user passwords manually Given MySQL 5.7 already has this feature, we should preserve We should support the following use cases:
The effect of an expired password should be controlled via a new system var Clients should be able to specify whether they can handle a disconnect with an Implementation details:
References: |
| Comments |
| Comment by Rasmus Johansson (Inactive) [ 2015-02-17 ] |
|
Assigning to you serg for design. |
| Comment by Sergei Golubchik [ 2015-11-03 ] |
|
As this needs changes to mysql.user table, we can as well remove the Password column at the same time (as in 5.7) |
| Comment by Vicențiu Ciorbaru [ 2016-10-07 ] |
|
Given |
| Comment by Su, Jun-Ming [ 2017-11-06 ] |
|
Hope for the features for Account Security, they are good for us to build better security system (like ISMS). https://www.percona.com/blog/2017/11/02/mysql-vs-mariadb-reality-check/ Security – Password expiry |
| Comment by Ulrich Moser (Inactive) [ 2019-01-21 ] |
|
This is a feature many people ask for in the classes and consultings. Therefore IMHO it should be implemented asap. Along with this people also ask for a password history so that users cannot just switch between two passwords back and forth. |
| Comment by Robert Bindar [ 2019-01-22 ] |
|
Hi Ulrich, we are working on it as we speak, so stay tuned. Thank you for the info, |
| Comment by Ulrich Moser (Inactive) [ 2019-01-25 ] |
|
Now as I am working on my security talk for New York it comes to my mind that password expiration has some aspects. First it must be possible to expire a password immediately, e.g. if user forgot his password. An admin can then set a new pasword for the user and expire it immediately. Second expiring a password after a defined period. Password expiration should be on by default and the default expiration period set to 90 days as this is what most regulations require. If the password is expired we need to allow a defined number of grace logins (with all the privileges the user has) or just one with the only command allowed being SET PASSWORD. This is necessary to allow the user to change his password even if it has expired, e.g. he comes back from vacation and the expiration date was some days ago or an admin has set a new password and expired it immediately. Regulations usually also require that none of the last 5 or 10 passwords may be reused. But I think that is a different requirement and needs additional password history to be implemented. |
| Comment by Robert Bindar [ 2019-01-25 ] |
|
Hi Ulrich, thanks for the info, it is some great feedback. If you check the mysql docs you'll find that most of the requirements you stated above will be fulfilled, except for the enabled by default part and the password history option which I believe is a different feature altogether. |
| Comment by Su, Jun-Ming [ 2019-02-22 ] |
|
Nice feature. Hope it will be also on 10.1 version or by database plugin. |