Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Seguridad al utilizar Firedac u establecer claves en el .exe (https://www.clubdelphi.com/foros/showthread.php?t=91455)

lago 09-02-2017 18:06:52

Seguridad al utilizar Firedac u establecer claves en el .exe
 
Hola, tengo una duda... a ver si podeis ayudarme:

Utilizo Firedac para conectar con una base de datos mysql para ciertas comprobaciones. Todo va bien, la duda que me surge es a la hora
de la seguridad frente a un desensamblado del programa o algo similar...

Código:

        FDConnection1->Params->Database = "mi_base_de_datos";
        FDConnection1->Params->UserName = "mi_usuario";
        FDConnection1->Params->Password = "mi_clave";

Al tener el usuario y la clave en la aplicación compilada no correrá peligro? Que alternativa puede haber?

Muchas gracias :)

bitbow 09-02-2017 21:43:26

Muchas aplicaciones manejan asi los seteos de las configuraciones de conexión, claro que es posible des-compilar para extraer la información de conexión siempre y cuando tengas los conocimientos, puedes cargar de archivo las configuraciones mediante alguna encriptacion para añadirle seguridad aunque creo que la seguridad deberia de ir de lado de tu servidor (ip desde donde spuede acceder, usuarios con permisos restringidos, etc).

Saludos.

mamcx 09-02-2017 22:21:02

Cita:

Empezado por lago (Mensaje 513117)
Al tener el usuario y la clave en la aplicación compilada no correrá peligro? Que alternativa puede haber?

Básicamente es casi lo mismo que tenerlo en texto claro. Osea, no es recomendable.

El unico caso de uso medioaceptable es que la BD es embeida (como con Firebird o Sqlite) y se considera tal como un documento y el usuario/clave no protege realmente nada.

Una opcion es encriptar la cadena y desencriptarla al vuelo. Eso solo evita que se pueda leer facilmente, no protege mucho que digamos.

La opcion correcta, en especial si estas conectandote a BD de produccion es usar la API de seguridad:

https://msdn.microsoft.com/en-us/library/ms995355.aspx

Y almacenar y solicitar la clave usando esa API. Para el seteo inicial se puede invocar por una linea de comandos o el instalador.

AgustinOrtu 09-02-2017 22:39:33

Cita:

Empezado por mamcx (Mensaje 513133)
La opcion correcta, en especial si estas conectandote a BD de produccion es usar la API de seguridad:

https://msdn.microsoft.com/en-us/library/ms995355.aspx

Y almacenar y solicitar la clave usando esa API. Para el seteo inicial se puede invocar por una linea de comandos o el instalador.

^\||/^\||/^\||/

PD: Yo creo que esto te lo tendrias que poner de firma o armarte algo similar al "utiliza Tags", ya debe ser la millonesima vez

lago 10-02-2017 18:01:23

Muchas gracias a todos, miraré esa API... igualmente la idea de limitar privilegios desde el servidor "por si acaso" queda anotada :)

Gracias!


La franja horaria es GMT +2. Ahora son las 02:13:15.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi