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 07/10/2008 15:19:12

Eko
Membre

shell script d'administration-backup: Authentification

J'ai lu http://docs.postgresqlfr.org/8.3/auth-methods.html

Je cherche une solution à un problème générique:

Dans des shell scripts d'administration Pgsql,
nombreux divers et variés (sauvegardes, restauration diverses)
s'exécutant en batch, (crontab ou autre)
comment s'autentifier simplement en étant le plus sécurisé possible?

Actuellement je vois plusieurs méthodes simples à mettre en oeuvre que je comprends:

0. Utiliser le profil postgres ?

1. Pour user+passwd
1.1. Utiliser les variables de shell PGUSER et PGPASSWORD (exportées ou pas ?)
1.2. Mettre le mot de passe en clair dans le script pour chaque commande  (comme pg_dump)
1.3. Mettre le mot de passe en clair dans un fichier lu en stdin par chaque commande

2. Ident-map
ecrire dans pg_ident.conf la map :

Exemple 21.2. Un fichier d'exemple pg_ident.conf

# CORRESPONDANCE     NOMUTILISATEUR-IDENT    NOMUTILISATEUR-PG

omicron              bryanh                  bryanh
omicron              ann                     ann
# bob a le nom d'utilisateur robert sur ces machines
omicron              robert                  bob
# bryanh peut aussi se connecter en tant que guest1
omicron              bryanh                  guest1


Dans le cas d'une Ident-map, il n'y a pas besoin de mot de passe
lors de l'exécution d'un script sous un profil mappé ?

Qui a utilisé cela ?

3. utiliser un fichier .pgpass par profil

http://docs.postgresqlfr.org/8.3/libpq-pgpass.html

Ca me semble peu sécurisé de disperser le mot de passe ainsi.


Qu'utilisez-vous dans vos crontab et autres job d'exploitation

Merci par avance pour vos commentaires !

Eko

Hors ligne

#2 07/10/2008 15:31:30

Eko
Membre

Re : shell script d'administration-backup: Authentification

Ooops ! Je voulais commencer par un bonjour à tous ! :-!


Bonjour !

Hors ligne

#3 07/10/2008 15:36:16

gleu
Administrateur

Re : shell script d'administration-backup: Authentification

En quoi est-ce peu sécurisé ? pour être utilisable par PostgreSQL, le fichier ne doit être lisible et modifiable que par l'utilisateur, donc c'est au contraire très sécurisé. Personne en dehors de l'utilisateur et de root ne peut lire ce fichier.


Guillaume.

Hors ligne

#4 07/10/2008 15:43:29

Eko
Membre

Re : shell script d'administration-backup: Authentification

Deux points d'entrée.

Un fichier qui peut être lu par l'utilisateur est donc vulnérable aux attaques
qui se produiraient sous ce profil, sans que l'attaquent ait besoin d'être root.

Donc dans le cas de [.pgpass], sous quel profil vos scripts sont-ils exécutés ?

Hors ligne

#5 07/10/2008 15:53:17

gleu
Administrateur

Re : shell script d'administration-backup: Authentification

Eko a écrit :

Deux points d'entrée.

Un fichier qui peut être lu par l'utilisateur est donc vulnérable aux attaques
qui se produiraient sous ce profil, sans que l'attaquent ait besoin d'être root.

Aux attaques de quel type ?

Et où se trouve le deuxième point d'entrée ?

Eko a écrit :

Donc dans le cas de [.pgpass], sous quel profil vos scripts sont-ils exécutés ?

Pour tout utilisateur, y compris postgres.


Guillaume.

Hors ligne

#6 07/10/2008 15:59:18

Eko
Membre

Re : shell script d'administration-backup: Authentification

je voulais dire, sur une machine de production,
dans vos scripts shell sous crontab :
- sous quels profils les scripts sont-ils exécutés?
- comment sont-ils authentifiés ? (j'ai compris que Guillaume utilise et recommande [.pgpass])
- quelqu'un a-t-il utilisé ident_map ? cela permet bien de ne pas avoir à gérer user+password ?

Philippe

Hors ligne

#7 07/10/2008 16:48:20

gleu
Administrateur

Re : shell script d'administration-backup: Authentification

Généralement, en ce qui me concerne, les scripts sont exécutés par l'utilisateur postgres.


Guillaume.

Hors ligne

#8 13/10/2008 08:55:12

SAS
Membre

Re : shell script d'administration-backup: Authentification

Eko a écrit :

je voulais dire, sur une machine de production,
dans vos scripts shell sous crontab :
- sous quels profils les scripts sont-ils exécutés?
- comment sont-ils authentifiés ? (j'ai compris que Guillaume utilise et recommande [.pgpass])

Souvent avec l'utilisateur postgres, parfois avec un utilisateur système différent. Cela dépend du besoin.
Mais, c'est toujours à l'aide du fichier .pgpass que je gère mes mots de passe.

SAS


Stéphane Schildknecht
Conseil, formations et support PostgreSQL
http://www.loxodata.com

Hors ligne

Pied de page des forums