Re: Seguridad en Postgres

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: "Guillermo M(dot) Viveros A(dot)" <gviveros(at)safp(dot)cl>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Seguridad en Postgres
Date: 2004-04-27 19:54:17
Message-ID: 20040427195417.GG3078@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Tue, Apr 27, 2004 at 12:37:12PM -0400, Guillermo M. Viveros A. wrote:

Guillermo,

> Tenemos varias aplicaciones internas corriendo en nuestros servidores
> Linux Red Hat 2.4.12
> y nuestra base de datos Postgres 7.2.1.

Permíteme sugerir una actualización a Postgres; esa es bastante antigua
y tiene "sus pifias". Se recomienda 7.4.2. (Sí, PostgreSQL es un
producto que se mueve rápido). En caso de no estar dispuestos a hacer
un dump/restore, se puede actualizar fácilmente a 7.2.4.

> Nuestro desafío ahora es la implementación de seguridad en nuestras
> bases de datos, a consecuencia de:
>
> 1.- Creemos que el control a través de .htacces deja mucho que desear.

Ciertamente, sobre todo si Uds. dan un servicio como PreviRed (no sé si
es eso de lo que estás hablando).

> 2.- Queremos eliminar las claves insertas de nuestros programas

Puedes usar un archivo .pgpass, que no exige tener las claves en los
programas (pero exige tener la password en otro archivo). Mira la
documentación de "The password file" en el manual, dentro del capítulo
de libpq. Ojo, sólo 7.3 en adelante.

> Alguien conoce otros mecanismos de seguridad en PostGres, ya sea a
> nivel de Base de Datos o al Nivel de Tablas.

Si quieres esconder "algunas" tablas completas del usuario que consulta,
lo que puedes hacer es tener dos usuarios, uno que será dueño de las
tablas y otro que tendrá permisos para leer algunas (GRANT). Si eso no
es suficiente y quieres esconder algunas columnas o algunas filas,
puedes quitarle permiso (REVOKE) a las tablas y crear vistas (CREATE
VIEW) que permitan acceso sólo a la información que te interese
entregar (puedes limitar las columnas usando "SELECT col_1, col_2", y
las filas usando un WHERE).

Por favor, si estás dispuesto a gastar unos minutos de tu tiempo,
cuéntame por correo privado cómo ha sido su experiencia con PostgreSQL.

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"La vida es para el que se aventura"

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ivan Chavero 2004-04-27 21:37:28 Re: pg_dump
Previous Message Alvaro Herrera 2004-04-27 19:43:42 Re: pg_dump