¿Cuáles son las consideraciones de diseño y seguridad para un sitio que se conecta a los propios dbs de sus usuarios?

0

Estoy imaginando un sitio web donde el usuario se registra, tiene su propia base de datos ejecutándose en algún lugar, y luego proporciona credenciales al sitio web para que el sitio web pueda acceder a esa base de datos. Por ejemplo, si yo fuera el usuario, podría estar ejecutando MySQL en un plan de alojamiento compartido en algún lugar. Quiero unirme a este sitio web y autorizar a este sitio web para consultar mi base de datos.

Estoy buscando consejos sobre los problemas de seguridad que debería considerar (como desarrollador del sitio web, pero también los problemas que el usuario final debería tener en cuenta).

Creo que asegurar el sitio web con https es obligatorio, pero entonces, ¿cómo deberían almacenarse las credenciales de la base de datos? ¿En texto plano en la propia base de datos de la página web? ¿Cómo debe hacer el sitio web una conexión a la base de datos del usuario? ¿Sería ODBC suficiente para la mayoría de DBMS? Si el sitio web estuviera codificado, digamos, PHP, ¿el uso de las funciones de conexión de base de datos nativas de PHP sería más seguro o mejor por cualquier otra razón? ¿Debería el usuario autorizar (dentro de su base de datos) la conexión como proveniente de la dirección IP específica del sitio web? etc.

Me doy cuenta de que esta no es una pregunta de programación simple con una respuesta en blanco y negro, pero espero que se me proporcione una lista de consideraciones que debería investigar, o quizás enlaces a artículos que traten estos temas.

Gracias de antemano.

    
pregunta youcantryreachingme 14.09.2018 - 01:45
fuente

1 respuesta

1

Esto suena muy arriesgado. ¿Está solicitando a los usuarios que expongan sus bases de datos a la web para que su sitio pueda acceder a ellas?

El riesgo aquí está en el propietario de la base de datos y no tanto usted. Todo lo que debe preocuparse es asegurar las credenciales y que usted respalde sus requisitos de conexión.

Necesitan

  • Asegúrese de que solo su IP pueda conectarse a su entorno (la exposición de su base de datos a la web es horrible)
  • Cree una cuenta de privilegio restringido para que la use
  • Cree procedimientos almacenados para que la cuenta limite lo que puede hacer
  • Supervisión de comportamiento extraño al conectarse a la cuenta
  • Asegurarse de que las conexiones a la base de datos solo permitan sesiones cifradas
  • Tenga un plan implementado por una violación de sus datos
respondido por el McMatty 14.09.2018 - 02:07
fuente

Lea otras preguntas en las etiquetas