<div dir="ltr">Hi,<br><br>Since PostgreSQL10 has recently added a support for SCRAM authentication with future plans including its extension of channel binding. And because of the nature of SCRAM and other more secure authentication methods like ssl-certificate-authentication, Pgpool-II is not able to allow these auth-methods because of its current authentication system design.<div>As almost all modern authentication methods are designed to guard against man-in-middle kind of attacks and middleware applications like Pgpool-II tries to exploit this very vulnerability to provide seamless authentication to users by forwarding the credentials provided by clients application to the backend servers. But fortunately or unfortunately with the modern auth protocols it is becoming almost next to impossible and it is a need of time to rethink the authentication system of Pgpool-II.</div><div><div><div><div><br>My proposal is to add a configurable feature in the Pgpool-II 3.8 to allow it to have its own user-password database which it can use to authenticate the clients connecting to Pgpool-II and also use the same to authenticate the user with PostgreSQL backend.<br><br>Similar concept is also used by pgbouncer in form of authentication-file which contains the user-password pairs and pgbouncer use it to authenticate the connections with PostgreSQL backend and also the clients connecting to pgbouncer.<br><a href="https://pgbouncer.github.io/config.html#authentication-file-format">https://pgbouncer.github.io/config.html#authentication-file-format<br></a><br>Also Pgpool-II already uses the password file for md5 authentication so this enhancement would not be a radical change to the existing users. And we can also provide the utility application with Pgpool-II to generate the pgpool-auth file from pg_shadow table to make this configuration hassle free. ( similar to mkauth.py included with pgbouncer)<br><br>I think adding this feature will allow us make Pgpool-II more usable and secure and with this we will be able to support SCRAM and SSL-AUTH authentication methods in Pgpool-II. And it will also solve the problems like the one reported in the <a href="http://www.pgpool.net/mantisbt/view.php?id=374">http://www.pgpool.net/mantisbt/view.php?id=374</a><br><br>Finally this email just outlines the overview of the feature and once if we agree to go in the direction we can discuss it in more details like the file-format, user-password management for Pgpool-II and data-encryption on that file.<br><br><br><br>Thoughts and comments are most welcome<br></div></div></div></div><div><br></div><div>Thanks</div><div>Best Regards</div><div>Muhammad Usama</div><div><br></div></div>