Hola,

Gracias por las ideas.


Edwin, voy a pensar algo relacionado a lo que sugerís. El tema sigue siendo que 
no puedo hacer que la aplicación agregue algo a la clave o al usuario, ya que 
la aplicación esta cerrada, no la hicimos nosotros. A esto se suma, que tengo, 
como ya lo mencione, tantos usuarios de motor como usuarios que usan la 
aplicación. Por ello, es que al entregar un usuario de motor, ellos pueden 
acceder desde cualquier aplicación. Como DBA tengo este problema de usuarios, y 
no puedo decirle a mi empresa que cambien la aplicación.

Álvaro, en lo que te referís a como postgres sabe el nombre de la aplicación, y 
lo de mentir coincido. Ya que se puede establecer el application_name.

No obstante, sigo en la búsqueda de mas ideas.
Saludos cordiales
Jorge Fernández

________________________________
De: Alvaro Hernandez <a...@ongres.com>
Enviado: lunes, 10 de septiembre de 2018 21:21
Para: Edwin Quijada; jorge...@hotmail.com
Cc: pgsql-es-ayuda@lists.postgresql.org
Asunto: Re: pg_hba.conf para aplicaciones



On 10/09/18 20:10, Edwin Quijada wrote:
La respuesta corta es que no se puede hacer lo que pides, no limita por 
aplicacion. Pero lo que deseas hacer hay otras maneras, por ejemplo, como lo 
hacia hace un tiempo.
Al crear un usuario desde mi aplicacion agregaba un hash que solo me daba la 
aplicación basado en ciertas informaciones del usuario de esa forma, aunque tu 
tuvieras la clave pedro001 realemente era pedro001+hash, de esta forma aunque 
quisieras entrar por una aplicacion como EMS Manager o cualquier otra, no 
funcionaria porque estarias poniendo la clave pedro001 y realmente esta no 
existia dentro de la BD.

Esto lo hacia y me funciono muy bien y sabiendo que tenia varios punchadores en 
la empresa que vivian siempre pensando como joder.


El lun., 10 sept. 2018 a las 7:50, jorge gerardo fernandez lugo 
(<jorge...@hotmail.com<mailto:jorge...@hotmail.com>>) escribió:

Estimados,

Quisiera saber si existe alguna forma de controlar la autenticación de usuarios 
pero no solo por su IP, sino que también por la aplicación por medio de la que 
se conecta. Lo que busco seria una especie de pg_hba.conf para aplicaciones.


El caso practico es:

-El motor esta alojado en un servidor SUSE Linux Enterprise Server

-El pg_hba.conf esta configurado para aceptar rangos de IPs (host    base1    
all    192.168.200.0/24<http://192.168.200.0/24>    md5)

-Al motor se accede a través de una aplicación enlatada de escritorio (.exe) 
(la cual no podemos modificar)

-Se tienen tantos usuarios de motor como usuarios de aplicación haya, ya que no 
hay un control de usuario por la aplicación.

-Por lo que se quiere evitar, es que se conecten a través de herramientas como 
pgAdmin, EMS Manager, etc, y solo puedan conectarse a traves de la aplicación 
de gestión.


Desde ya muy agradecido.

Espero sus comentarios.

Saludos cordiales

Jorge Fernández


    Hola Jorge Gerardo.

    La pregunta es: ¿cómo puede saber PostgreSQL desde qué aplicación se 
conecta un usuario? Sería muy fácil "mentir".

    Por lo tanto, la única manera posible que se me ocurre es utilizar 
autenticación mediante certificados SSL, y entregar (por ejemplo en tu caso 
embeber en tu aplicación enlatada de escritorio) el certificado SSL de usuario 
emitido por el servidor. Realmente no ofrece una seguridad muy avanzada, 
cualquiera con ciertas habilidades podría detectar que este es el caso y 
extraer el certificado del binario, pero igual te vale como medida disuasoria.

    Saludos,

    Álvaro



--

Alvaro Hernandez


-----------
OnGres

Reply via email to