credcheck v1.0 released

From: MigOps via PostgreSQL Announce <announce-noreply(at)postgresql(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)lists(dot)postgresql(dot)org>
Subject: credcheck v1.0 released
Date: 2023-04-06 21:15:59
Message-ID: 168081575971.634.3615616082200719702@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce

April 06, 2023

## PostgreSQL credcheck extension

The credcheck PostgreSQL extension provides general credential checks, which will be evaluated during the user creation, during the password change and user renaming. By using this extension, a set of rules can be defined:

* allow a specific set of credentials
* reject a certain type of credentials
* enforce use of an expiration date with a minimum of day for a password
* define a password reuse policy

New release v1.0 adds a major feature called **Password Reuse Policy** and the ability to force the use of an expiration date for a password. It also prevent PostgreSQL to expose the password in the logs in case of error and fixes some issues reported by users since the past 6 months.

* Add Password Reuse Policy feature. This implementation use a dedicated shared memory storage to share the password history between all database. It requires credcheck to loaded through `shared_preload_libraries` in postgresql.conf. The behavior of this feature can controlled by two settings:

* `credcheck.password_reuse_history`: number of distinct passwords set before a password can be reused.

* `credcheck.password_reuse_interval`: amount of time it takes before a password can be reused again.

* Add possibility to enforce the use of an expiration date for a password with a life time of a specific number of days. Example: `credcheck.password_valid_until = 60` the password life time must be at least of two months.

* Allow credcheck to check the user name in `CREATE USER` statement without option `PASSWORD`.

* Force credcheck settings to be set/changed only by a superuser.

* Fix detection of the `VALID UNTIL` clause in `CREATE ROLE`.

* Force PostgreSQL to not expose the password in the log when an error in CREATE/ALTER role occurs. This behavior can be disabled by setting the custom variable `credcheck.no_password_logging` to off.

* Use errcode `ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION (28000)` for most error messages.

Complete list of changes is available [here](https://github.com/MigOpsRepos/credcheck/blob/v1.0/ChangeLog)

## Links & Credits

credcheck is an open project under the PostgreSQL license created at [MigOps Inc](https://migops.com/).
Any contribution to build a better tool is welcome. You can send your ideas, features requests or patches
using the GitHub tools.

* Download: [https://github.com/MigOpsRepos/credcheck/releases/](https://github.com/MigOpsRepos/credcheck/releases/)
* Support: use GitHub report tool at [https://github.com/MigOpsRepos/credcheck/issues](https://github.com/MigOpsRepos/credcheck/issues)

## About credcheck

The credcheck extension is an original work of [MigOps Inc](https://migops.com/), MigOPs is specialized in migration to PostgreSQL and PostgreSQL support. If you need more information please [contact us](https://www.migops.com/contact-us/)

Documentation at [https://github.com/MigOpsRepos/credcheck#readme](https://github.com/MigOpsRepos/credcheck#readme)

Browse pgsql-announce by date

  From Date Subject
Next Message pgAdmin Development Team via PostgreSQL Announce 2023-04-15 06:14:22 pgAdmin 4 v7.0 Released
Previous Message Philippe Beaudoin via PostgreSQL Announce 2023-04-03 11:07:12 Announcing the E-Maj 4.2.0 release.