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