Pgpool con MD5 no verifica las contraseñas solo el usuario

From: Juan Gutiérrez <jgutierrez(at)vivareal(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Pgpool con MD5 no verifica las contraseñas solo el usuario
Date: 2013-07-04 00:08:30
Message-ID: CACwc6nkVt+SEbKzD4Ba0M7Ysv7tkf5Nu7puZMmeL_NqEa4-T_g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buenas tardes amigos de la lista,

Actualmente en nuestra compañia estamos configurando un sistema de alta
disponibilidad de PostgreSQL (cluster de lectura) usando pgpool
+ file-based log shipping (replicación de datos con archivos WAL), pero
hemos tenido problemas con la autenticación de usuarios mediante PgPool
usando MD5.

El problema con la autenticación es que pgpool solo valida que el usuario
exista en el archivo "pool_passwd" pero nunca verifica la contraseña,
permitiendo conexiones de un usuario valido usando cualquier contraseña,
cuando lo esperado es que use la contraseña que se creó usando "pg_md5" y
se almaceno en el archivo "pool_passwd".

A continuación les proporciono información detallada de nuestra
configuración:

1. Estamos usando los siguientes paquetes de software sobre una
distribución amazon Linux AMI (basado en Redhat EL 6):
- pgpool-II-91-3.1.3-2.rhel6.x86_64
- postgresql91-libs-9.1.9-1PGDG.rhel6.x86_64
- postgresql91-9.1.9-1PGDG.rhel6.x86_64
- postgresql91-server-9.1.9-1PGDG.rhel6.x86_64
- Más información de la distribución de GNU/Linux que utilizamos en
https://aws.amazon.com/amazon-linux-ami/2013.03-release-notes/

2. Usamos como base para la configuración el archivo de ejemplo
"pgpool.conf.sample-stream" incluido en la instalación de pgpool bajo la
ruta "/etc/pgpool-II-91/pgpool.conf.sample-stream"

3. Tenemos habilitados los siguientes parámetros en "pgpool.conf" para
permitir la autenticación por MD5 usando pgpool:
- enable_pool_hba = on
- pool_passwd = 'pool_passwd'
- master_slave_mode = on
- master_slave_sub_mode = 'stream'

4. Tenemos la siguiente configuración en el archivo "pool_hba.conf"
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
#host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5

5. Este es el contenido del archivo "pool_passwd"
usuario:md5a42ece54564eb3bd066c551b28adb29f

que corresponde al valor almacenado en la base de datos:
postgres=# select passwd from pg_shadow where usename = 'usuario';
passwd
-------------------------------------
md5a42ece54564eb3bd066c551b28adb29f
(1 fila)

6. Las consultas funcionan correctamente en el pgpool, enviando querys de
escritura a la base de datos maestra y las de lectura a los nodos esclavos.

7. Cuando se inicia sesión en el pgpool usando un usuario valido y
cualquier contraseña (valida ó no), el pgpool permite iniciar sesión de
forma normal, cuando lo esperado es que al proporcionar una
contraseña errónea se deniegue el acceso de forma inmediata.
psql -h database -p 9999 -U usuario -W prototipo
Password for user usuario:
psql (9.1.9)
Type "help" for help.

prototipo=>

8. Si tratamos de establecer conexión con un usuario diferente al
especificado en el archivo "pool_passwd", arroja el siguiente error:
psql -h database -p 9999 -U usersinpass -W
Password for user usersinpass:
psql: ERROR: "MD5" authentication with pgpool failed for user "usersinpass"

Lo cual significa que se esta validando que los usuarios estén registrados
en el archivo de contraseñas"pool_passwd".

9. Si eliminamos el archivo "pool_passwd", reiniciamos el servicio del
pgpool y tratamos de establecer una conexión/iniciar sesión aparece el
siguiente mensaje de error:
psql -h database -p 9999 -U usuario -W
psql: ERROR: "MD5" authentication with pgpool failed for user "usuario"

Esto valida que el servicio sí está consultando el archivo "pool_passwd".

Les agradecemos cualquier ayuda que nos puedan brindar para solucionar este
problema.

Att:

Juan Gutierrez
VivaReal NetWork

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Yoan Manuel Perez Piñero 2013-07-04 02:42:34 Re: Sobre to_ascii
Previous Message Alvaro Herrera 2013-07-03 19:48:29 Re: Sobre to_ascii