PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 19/03/2021 17:14:05

Rizcola62
Membre

gestiin role postgres

Bonjour,
alors question toute bête. Comment gérer le rôle postgres? est il encore vraiment nécessaire si je supprime la db 'postgres'?
Je veux éviter à ce rôle par défaut qui permet de se connecter et avoir accès aux bdd.

Hors ligne

#2 19/03/2021 17:25:37

rjuju
Administrateur

Re : gestiin role postgres

Le rôle postgres n'est pas plus nécessaire que la base de données postgres.  Attention cependant, si vous supprimez le role postgres et que vous n'avez pas d'autre rôle super utilisateur, cela va être compliqué à réparer.


La base postgres quand a elle est uniquement là pour simplifier l'utilisation des outils clients, qui ont un nom de base à utiliser par défaut.  On peut faire sans, mais cela nécessite de spécifier un nom de base de maintenance à chaque fois, ce qui peut être éreintant.


Pour en revenir à votre question initiale, le rôle postgres ne permet pas "de se connecter et avoir avec aux bases".  Si vous avez un problème de ce côté là, il faut le régler du côté de l'authentification, c'est-à-dire le pg_hba.conf.

Hors ligne

#3 20/03/2021 20:44:31

Rizcola62
Membre

Re : gestiin role postgres

ok merci de la réponse,
je comprend l'idée de restriction des adresses ip avec pg_hba.conf.
Seulement, si j'autorise une adresse ip, je fournie à l'utilisateur son user et password mais si il s'y connait un peu, il peut se connecter en tant que user:postgres et password:postgres .
A moins de changer le password du user postgres?
Je veux juste connaitre les bonne pratiques.
merci d'avance

Hors ligne

#4 21/03/2021 09:22:04

rjuju
Administrateur

Re : gestiin role postgres

Je ne suis pas certain de comprendre votre question.  Si le mot de passe de votre superutilisateur "postgres" est "postgres", alors oui clairement ce n'est pas une bonne pratique, et non filtrer les IP pouvant se connecter n'est pas la solution, mais cela vaut pour n'importe quel outil ayant une authentification.


Vous devriez commencer par https://docs.postgresql.fr/13/client-au … ation.html pour avoir plus d'information sur la gestion de l'authentification sur postgres.

Hors ligne

#5 23/03/2021 22:24:40

Rizcola62
Membre

Re : gestiin role postgres

merci,
voici une config auquel j'ai pensé

# IPv4 local connections:
host    all          all                   127.0.0.1/32     scram-sha-256
# IPv6 local connections:
host    all          postgres          ::1/128             reject
host    all          all                   ::1/128             scram-sha-256

l'idée est de bloquer l'utilisateur postgres uniquement sur une connexion distante.

Dernière modification par Rizcola62 (23/03/2021 22:24:55)

Hors ligne

#6 24/03/2021 03:15:13

rjuju
Administrateur

Re : gestiin role postgres

Je ne suis pas certain de comprendre.  Cette configuration n'autorise aucune connexion distante, et pour postgres ne rejette que les connexion locales en ipv6.

Hors ligne

#7 24/03/2021 12:09:07

Rizcola62
Membre

Re : gestiin role postgres

c'est parce que ma base de donnée est sur un NAS.
# "local" is for Unix domain socket connections only
local   all             all                                     scram-sha-256
# IPv4 local connections:
host    all             postgres    127.0.0.1/32     reject
host    all             all             127.0.0.1/32     scram-sha-256
# IPv6 local connections:
host    all          postgres       ::1/128             reject
host    all             all             ::1/128             scram-sha-256

désolé de ne pas être très claire.
si j'ai instauré une règle pour ipv6 je dois la mettre pour ipv4?

Hors ligne

#8 24/03/2021 16:24:23

rjuju
Administrateur

Re : gestiin role postgres

Quel problème cherchez-vous à régler exactement, ou quelle configuration voulez-vous avoir ?  Pourquoi vouloir empêcher l'utilisateur postgres de se connecter localement ?  Voulez-vous vous connecter depuis un client distant ou depuis un service hébergé sur votre nas ?

Hors ligne

#9 24/03/2021 17:08:32

Rizcola62
Membre

Re : gestiin role postgres

sur mon NAS, j'utilise docker avec une sauvegarde automatique via cron schedule qui utilise l'utilisateur postgres.
je voudrais empêcher un client du réseau de remonter au serveur en utilisant l'utilisateur postgres.
les utilisateur utilise QGIS.
C'est pourquoi mon intention de rejeter toutes tentatives via l'utilisateur postgres.
ce rôle postgres se révèlerait être exclusivement dédié à une intervention en local sur le serveur.
j'espère que c'est un peu plus claire.

Hors ligne

#10 24/03/2021 19:06:12

dverite
Membre

Re : gestiin role postgres

C'est pourquoi mon intention de rejeter toutes tentatives via l'utilisateur postgres.

Quand il y a 127.0.0.1/32 dans le masque réseau, ça ne rejette les connexions que d'une seule IP: 127.0.0.1.
Et comme c'est une IP locale, c'est les connexions de la machine vers elle-même, donc pas les connexions du réseau au sens où on l'entend souvent, c'est-à-dire venant d'autres machines.

Pour rejeter toutes les connexions du réseau avec l'utilisateur postgres, on peut mettre:

host    all             postgres    0.0.0.0/0     reject

Il faut aussi savoir que les règles sont interprétées dans l'ordre, comme si c'était une cascade de IF...THEN...ELSIF

c.a.d IF règle1 .. THEN méthode de la règle1 ELSE IF règle 2 THEN. méthode de la règle 2 ELSEIF règle 3 THEN méthode de la règle 3... etc...

Donc si on a deux règles dans cet ordre là:

host    all             postgres    127.0.0.1/32     scram-sha-256
host    all             postgres    0.0.0.0/0     reject

elles ne sont pas incompatibles, elles se complètent. Ca dit que si postgres se connecte via l'IP localhost, c'est OK (moyennant fourniture du bon mot de passe quand même), mais que toute autre origine de connexion est rejetée.

Si le serveur utilise aussi IPv6, alors il faut répéter les règles avec les équivalents IPv6 parce que les masques réseau en colonne 4 n'ont pas la même syntaxe.

Hors ligne

#11 25/03/2021 23:59:45

Rizcola62
Membre

Re : gestiin role postgres

Merci beaucoup pour votre aide.

Hors ligne

Pied de page des forums