¿Consecuencias de seguridad de una base de datos de acceso público?

3

Se me ha pedido que exponga la base de datos de una aplicación web públicamente para que un servicio externo pueda conectarse directamente a la base de datos (a través de un nombre de usuario / contraseña) para leer la información. Esta base de datos se encuentra actualmente detrás de un firewall, con la aplicación web que se conecta localmente.

Esto inmediatamente suena como una amenaza para la seguridad, pero me gustaría poder resumir por qué esto no es una buena idea. Entonces, ¿qué son realmente las amenazas?

¿Pensaría de inmediato en la exposición a DDOSing potencial de la base de datos, así como en cualquier vulnerabilidad y vulnerabilidades que existen para el servidor de base de datos en particular? ¿Reconfiguración simple del servidor de base de datos, exponiendo datos? ¿No estás utilizando conexiones SSL?

    
pregunta Timmy O'Mahony 29.09.2018 - 09:14
fuente

1 respuesta

1

Las campanas que suenan en tu cabeza son correctas y yo estaría contigo. Esta es una mala práctica y me temo que la he visto hacer muchas veces.

Aquí hay algunas vulnerabilidades y amenazas que vienen a la mente al exponer una base de datos a un tercero y al público:

  • La autenticación a través del nombre de usuario / contraseña es débil y está sujeta a ataques de fuerza bruta y a la fumigación de contraseñas. Será difícil implementar MFA.
  • Algunas bases de datos admiten TLS / SSL, otras no. Mejor asegúrese de que el cifrado de extremo a extremo esté habilitado.
  • Dependiendo de si almacena PHI, definitivamente no es compatible con HIPPA.
  • Falta un nivel de recorte, o la capacidad de bloquear a alguien después de que no se hayan autenticado varias veces.
  • El software de la base de datos puede ser muy complejo, es mejor que se mantenga actualizado sobre todos los parches. Si llegas tarde o te lo pierdes, buena suerte.
  • Espero que confíe en este tercero al 1000%, cualquier compromiso y que su base de datos haya desaparecido.
  • Los ataques de DOS son fruto de baja pendiente
  • Cualquier atacante que escanee su red externa y encuentre un puerto abierto conocido por la ejecución de bases de datos probablemente sabrá que es un objetivo fácil en otras áreas
  • Gestión. ¿Vas a hacer un nombre de usuario y contraseña para cada usuario?
  • Es muy difícil si tiene 30 usuarios asegurarse de que tengan la base de datos y las vistas de tabla y el acceso correctos. El menor privilegio es muy difícil aquí.

Posiblemente piense en la forma correcta de hacer esto (hay otras formas):

  • Exponer una API al público. La API se conecta, preferiblemente a través de un WAF, de vuelta a la base de datos. La API puede otorgar tokens que tienen derechos particulares (vistas de base de datos) y tiempo de acceso. Estos son fácilmente revocados y su base de datos es mucho más segura, si lo hace correctamente *. La API se puede proteger fácilmente con TLS, listas blancas, MFA y otros controles, como bloquear a alguien después de varios intentos fallidos
respondido por el pm1391 29.09.2018 - 15:56
fuente

Lea otras preguntas en las etiquetas