diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-16 19:46:48 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-16 19:46:48 +0000 |
commit | 311bcfc6b3acdd6fd152798c7f287ddf74fa2a98 (patch) | |
tree | 0ec307299b1dada3701e42f4ca6eda57d708261e /doc/src/sgml/passwordcheck.sgml | |
parent | Initial commit. (diff) | |
download | postgresql-15-upstream.tar.xz postgresql-15-upstream.zip |
Adding upstream version 15.4.upstream/15.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'doc/src/sgml/passwordcheck.sgml')
-rw-r--r-- | doc/src/sgml/passwordcheck.sgml | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/doc/src/sgml/passwordcheck.sgml b/doc/src/sgml/passwordcheck.sgml new file mode 100644 index 0000000..0d89bb9 --- /dev/null +++ b/doc/src/sgml/passwordcheck.sgml @@ -0,0 +1,62 @@ +<!-- doc/src/sgml/passwordcheck.sgml --> + +<sect1 id="passwordcheck" xreflabel="passwordcheck"> + <title>passwordcheck</title> + + <indexterm zone="passwordcheck"> + <primary>passwordcheck</primary> + </indexterm> + + <para> + The <filename>passwordcheck</filename> module checks users' passwords + whenever they are set with + <xref linkend="sql-createrole"/> or + <xref linkend="sql-alterrole"/>. + If a password is considered too weak, it will be rejected and + the command will terminate with an error. + </para> + + <para> + To enable this module, add <literal>'$libdir/passwordcheck'</literal> + to <xref linkend="guc-shared-preload-libraries"/> in + <filename>postgresql.conf</filename>, then restart the server. + </para> + + <para> + You can adapt this module to your needs by changing the source code. + For example, you can use + <ulink url="https://github.com/cracklib/cracklib">CrackLib</ulink> + to check passwords — this only requires uncommenting + two lines in the <filename>Makefile</filename> and rebuilding the + module. (We cannot include <productname>CrackLib</productname> + by default for license reasons.) + Without <productname>CrackLib</productname>, the module enforces a few + simple rules for password strength, which you can modify or extend + as you see fit. + </para> + + <caution> + <para> + To prevent unencrypted passwords from being sent across the network, + written to the server log or otherwise stolen by a database administrator, + <productname>PostgreSQL</productname> allows the user to supply + pre-encrypted passwords. Many client programs make use of this + functionality and encrypt the password before sending it to the server. + </para> + <para> + This limits the usefulness of the <filename>passwordcheck</filename> + module, because in that case it can only try to guess the password. + For this reason, <filename>passwordcheck</filename> is not + recommended if your security requirements are high. + It is more secure to use an external authentication method such as GSSAPI + (see <xref linkend="client-authentication"/>) than to rely on + passwords within the database. + </para> + <para> + Alternatively, you could modify <filename>passwordcheck</filename> + to reject pre-encrypted passwords, but forcing users to set their + passwords in clear text carries its own security risks. + </para> + </caution> + +</sect1> |