From 5285c5e873d8b622da7007c1628e5afa80f372fb Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Thu, 18 Aug 2016 21:41:10 -0400 Subject: [PATCH] doc: requirepeer is a way to avoid spoofing We already mentioned unix_socket_directories as an option. Reported-by: https://www.postgresql.org/message-id/45016837-6cf3-3136-f959-763d06a28076%402ndquadrant.com Backpatch-through: 9.6 --- doc/src/sgml/runtime.sgml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index 60a06590fec..98752c2875c 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1922,7 +1922,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 </para> <para> - The simplest way to prevent spoofing for <literal>local</> + On way to prevent spoofing of <literal>local</> connections is to use a Unix domain socket directory (<xref linkend="guc-unix-socket-directories">) that has write permission only for a trusted local user. This prevents a malicious user from creating @@ -1934,6 +1934,13 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 <filename>/tmp</> cleanup script to prevent removal of the symbolic link. </para> + <para> + Another option for <literal>local</> connections is for clients to use + <link linkend="libpq-connect-requirepeer"><literal>requirepeer</></> + to specify the required owner of the server process connected to + the socket. + </para> + <para> To prevent spoofing on TCP connections, the best solution is to use SSL certificates and make sure that clients check the server's certificate. -- GitLab