La ubicación más segura de la base de datos

1

Digamos que tengo una aplicación de sitio web completamente controlada por una base de datos y la almaceno en mi servidor web en la DMZ. No transmitiré la dirección IP de mi base de datos porque no le enviaré llamadas, lo que hace que mi base de datos sea inaccesible para el mundo exterior.

Si coloco mi base de datos en la red interna y luego coloco un servicio web que aloja mi capa de acceso a datos en un servidor de aplicaciones separado en una subred interna entre el servidor de aplicaciones del sitio web orientado hacia el exterior que se encuentra en la DMZ y el servidor de la base de datos en la LAN, ¿no es eso simplemente transmitir la ubicación de mi base de datos, incluida la información de inicio de sesión del usuario?

¿No es el segundo método simplemente decirle a todos en el mundo exterior dónde se encuentra mi base de datos?

    
pregunta ostrichchasedwormaroundfield 07.05.2015 - 06:37
fuente

3 respuestas

2

Es una mala idea alojar un servidor de base de datos en su servidor web orientado a Internet.

Si el sistema operativo subyacente de su servidor web / DB, o la plataforma del servidor web contiene vulnerabilidades que pueden ser explotadas, su base de datos se verá comprometida.

  

No transmitiré la dirección IP de mi base de datos porque no lo haré   Enviarle llamadas, lo que hace que mi base de datos sea inaccesible para el   mundo exterior.

Esto no es cierto. Si su aplicación web es vulnerable a la inyección SQL, no importa dónde reside su base de datos en la red, será directamente accesible y explotable desde un cliente en Internet.

Lo ideal sería que su aplicación se diseñara en torno a una N-Tiered Architecture con cada nivel que reside en una DMZ diferente. Preferiblemente, cada nivel también contendría equipo de monitoreo de red para imponer protecciones y alertar sobre actividades sospechosas. (WAF, IPS / IDS, monitoreo de actividad de base de datos, etc.)

Imagende: enlace

    
respondido por el k1DBLITZ 07.05.2015 - 15:47
fuente
1

Piensa en los escenarios de compromiso. Si aloja la base de datos en el mismo sistema que el servicio web, entonces un compromiso del servicio web se traducirá en un compromiso inmediato de la base de datos. Por lo tanto, esto es mínimamente seguro.

Si aloja la base de datos en un servidor "interno" al que puede acceder el servicio web (a través de una interfaz de red enfrentada internamente o reglas especiales de firewall), un atacante que comprometa el servicio web no tiene acceso inmediato a la base de datos, pero encontrarán rápidamente las credenciales utilizadas por el servicio web para la base de datos y procederán a acceder a ella a voluntad.

¿Es el segundo escenario significativamente más seguro que el primer escenario? Depende de cómo se utiliza la base de datos. Puede implementar medidas de diseño y seguridad para limitar lo que el servidor web puede obtener de la base de datos, dependiendo de lo que esté haciendo su aplicación. De lo contrario, es mejor que se duplique en el servidor web para protegerlo con todos los medios disponibles.

    
respondido por el Jeff Meden 07.05.2015 - 14:12
fuente
0
  

No transmitiré la dirección IP de mi base de datos porque no le enviaré llamadas, lo que hace que mi base de datos sea inaccesible para el mundo exterior

No saber una dirección IP no hace que algo en esa dirección sea inaccesible. En una analogía es una casa sin domicilio. Si un ladrón pasa por esa casa, todavía puede entrar por la puerta. Para que su base de datos sea inaccesible, necesita usar un firewall. Por ejemplo, puede prohibir el acceso a su puerto de base de datos desde la red externa.

Creo que no entiendes el término DMZ en toda su extensión. La DMZ se puede implementar de muchas maneras, y su propósito es poner medidas de seguridad entre la red externa y el resto de la red interna, que no debe tener nada externo. Esto significa que incluso si se produce una infracción en un determinado servidor de la DMZ, será mucho más difícil utilizarlo para acceder a otras máquinas en la red interna.

Incluso si tiene la dirección IP de una máquina en la red interna, eso no le otorgará acceso desde la red externa a esa máquina, gracias al firewall que protege la red interna del mundo exterior.

Dicho esto, sus direcciones IP internas y, por supuesto, las credenciales utilizadas para autenticarse con otros servicios en la red interna son todavía datos confidenciales que deben mantenerse en secreto. Esta es una medida de seguridad "adicional" en la parte superior de su firewall, en caso de que alguien tenga acceso a su red interna, por ejemplo, infectando uno de los dispositivos en su red interna con un virus.

Mantener esto en secreto se realiza con la configuración correcta del servidor web, no para exponer estos detalles al mundo exterior, y también se recomienda cifrar estos detalles como una medida de seguridad adicional.

    
respondido por el aviv 07.05.2015 - 13:57
fuente

Lea otras preguntas en las etiquetas