Ventajas de separar el servidor web de la base de datos

8

¿Cuáles son las ventajas de seguridad de instalar la base de datos de una aplicación web en un servidor que no sea el que contiene el servidor web?

    
pregunta lisa17 29.05.2012 - 17:09
fuente

3 respuestas

11

Bueno, la primera ventaja obvia es que si alguien rompe la casilla que alberga su servidor de aplicaciones, no se les garantiza el acceso al mismo servidor que la base de datos. Además, al separar esta funcionalidad, facilita las tareas de TI (desarrolladores de software, administradores, etc.) para minimizar el impacto del cambio de código / actualizaciones de políticas en diferentes aspectos del entorno. Esto no soluciona de ninguna manera la codificación deficiente o la seguridad deficiente (inyección de SQL, nombre de usuario / contraseñas predeterminados). pero sí facilita una mejor postura de seguridad en general.

    
respondido por el Woot4Moo 29.05.2012 - 17:19
fuente
6
  • Un servidor web orientado a Internet no tiene ninguna razón para tener ningún acceso a la LAN / dominio en absoluto, y por lo tanto debería estar completamente prohibido hacerlo. Idealmente, debería estar en una DMZ.

    • Esto brinda importantes protecciones contra un atacante que ha 'poseído' el servidor web de Internet que ataca al resto de su red.
    • Puede tener tantos de estos como necesite, por supuesto, para HA (alta disponibilidad), DR (recuperación de desastres) y razones de rendimiento.
    • Medio: con reglas estrictas para el límite WAN / DMZ y prohibición completa del tráfico DMZ / LAN "To LAN", y reglas estrictas para el tráfico DMZ / LAN "To DMZ", o similar.
    • Avanzado: una DMZ "externa" con reglas estrictas para los límites WAN / OuterDMZ y OuterDMZ / InnerDMZ, o similar.
  • Es probable que un host de servicios web orientado hacia el interior necesite un acceso limitado a la LAN / dominio (principalmente a sus bases de datos

    • Si no está utilizando la autenticación de tipo de dominio en la base de datos, aún no es necesario que esté en el dominio
    • Puede tener tantos de estos como necesite, por supuesto, para HA (alta disponibilidad), DR (recuperación de desastres) y razones de rendimiento. Si utiliza un hash de contraseña realmente bueno (PBKDF2, bcrypt, scrypt) con altos conteos de iteración, necesitará más procesamiento y / o RAM aquí.
    • Si bien esta es una mejor plataforma para atacar su LAN que el servidor web que se enfrenta a Internet (a menos que sea el mismo cuadro, o peor, el mismo sitio), debería tener un acceso muy limitado al cuadro de la base de datos sobre solo un puerto de base de datos, la capacidad de extraer actualizaciones de antivirus y enviar advertencias de antivirus, etc.
    • Básico: esta es la misma instancia del sistema operativo que aloja el servidor web orientado a Internet o similar.
    • Medio: Esto también se encuentra en la zona DMZ con protección completa del tráfico entrante de la WAM, y reglas estrictas tanto para el límite de WAN / DMZ saliente a la WAN, como reglas estrictas para los límites de la LAN o DMZ, o similares.
    • Avanzado: se encuentra en un DMZ "interno" con reglas estrictas para los límites de OuterDMZ / InnerDMZ e InnerDMZ / LAN, o similar.
  • Es probable que un servidor de base de datos esté en su LAN, lo que lo convierte en un objetivo mucho más valioso para un atacante; Probablemente necesite una copia de seguridad, se debe acceder a ella mediante una variedad de programas además de la web, y así sucesivamente.

    • Como siempre, lanzas de inyección SQL directamente desde Internet a su base de datos; ¡parametriza tu SQL!
    • Tener múltiples capas de permisos mínimos y bien definidos entre este y otros servidores en su LAN e Internet, con un buen diseño e implementación, ayuda a aumentar la cantidad de esfuerzo necesario para atacar el servidor de la base de datos, y mucho menos tener éxito en el ataque .

Esencialmente:

  • Internet - > sitio web + servicios + DB significa que con un compromiso del sistema operativo, el atacante puede controlar todo, incluso filtrar o destruir todos sus datos en la base de datos (o copias de seguridad) directamente, sin necesidad de ir a través de la interfaz web para hacer eso.

  • Internet - > sitio web + servicios - > DB significa que el atacante debe comprometer su base de datos a través del agujero de la cerradura de sus servicios web, o debe comprometer más de una máquina que tenga solo algunos agujeros de seguridad compartidos.

  • Internet - > sitio web - > Servicios web - > DB es mejor aún: el atacante debe comprometer su base de datos a través del ojo de la cerradura de sus servicios web como se ve a través del ojo de la cerradura de su sitio web, o debe comprometer más de una (o dos) máquinas que tienen algunas pero no todos los agujeros de seguridad compartidos.

No hace falta decir que, en todos los niveles, debería estar tan seguro como pueda: parches actualizados y antivirus, SQL parametrizado para evitar la inyección de SQL, entradas en listas blancas, contraseñas largas criptográficamente aleatorias, datos cifrados, cifrados Conexiones, contraseñas fuertemente hasheadas (PBKDF2, bcrypt, scrypt), buenas opciones de algoritmo para cifrado y hashing, solo se abren los puertos mínimos entre cada capa, se revisan los registros para detectar rastros de ataques, software / aplicaciones IDS / IPS, etc. .

Se necesita una planificación o un juego (o ambos) configurados.

    
respondido por el Anti-weakpasswords 18.02.2014 - 01:04
fuente
2

Bueno, al separar el servidor web del servidor de la base de datos, si un usuario puede explotar la aplicación web y elevar sus propios privilegios, puede alterar sus datos, pero solo el modelo de seguridad en el servidor de la base de datos le permitirá . Por ejemplo, si bien pueden leer y escribir datos de los clientes, si pueden realizar ingeniería inversa sobre el funcionamiento de la aplicación web, no pueden descargar la base de datos en su totalidad, ni eliminarla por completo, ni corromper / comprometer / degradar de otra manera reescribiendo su esquema. Además, los firewalls específicos de aplicaciones de nueva generación y los sistemas IDS diseñados para proteger su servidor de base de datos pueden detectar y bloquear el acceso inusual basado en firmas de ataques y heurísticas conocidas, protegiendo sus datos del acceso de clientes comprometidos.

Esto resulta muy útil si el servidor de base de datos alimenta una serie de servidores web.

    
respondido por el RI Swamp Yankee 29.05.2012 - 21:57
fuente

Lea otras preguntas en las etiquetas