¿Hay alguna forma segura de permitir que IIS 7 en una DMZ acceda a un servidor DB detrás del firewall?


12

Los administradores de nuestra red insisten en que no es seguro para nuestros servidores web, que están alojados en la DMZ, acceder al servidor de base de datos detrás de nuestro firewall. Para solucionar el problema, accedemos a los datos a través de servicios web o WCF. Creo que esta es una carga de rendimiento innecesaria que podría eliminarse si el servidor web pudiera acceder a la base de datos directamente.

Las razones que se me han dado es que un pirata informático pudo iniciar sesión en el servidor web y luego acceder a la base de datos. ¿Es posible abrir los puertos solo para IIS o no es posible ser tan específico? Si podemos limitarlo solo a IIS, ¿podría esto ser fácilmente comprendido por el hacker?

He leído varias publicaciones en Internet, pero parece que no puedo encontrar una respuesta definitiva.

Alabama


¡Interesante pregunta!
Kangkan

Grandes preguntas de hecho! Hubiera sido mucho mejor si el título hubiera sido más genérico, sin especificar los nombres de las pilas de tecnología (IIS, WCF, etc.)
Chathura Kulasinghe

Respuestas:


9

He establecido plataformas para empresas a gran escala y la práctica normal es garantizar que sus bases de datos se encuentren en una VLAN diferente de sus servidores web con un firewall ubicado entre el tráfico de enrutamiento al puerto del servidor de la base de datos, así como un firewall frente a su web servidores Normalmente, su firewall frontal reenviará el puerto 80 (HTTP) y el puerto 443 (HTTPS) a sus servidores web. El firewall ubicado entre el servidor web y el servidor de la base de datos reenviará el tráfico de los servidores web al puerto utilizado por su base de datos (generalmente el puerto 1433 si usa Microsoft SQL Server).

Para mayor seguridad:

  • Asegúrese de utilizar una cuenta menos privilegiada para acceder a los servidores de bases de datos
  • Si está utilizando ASP.NET, puede cifrar la cadena de conexión de su base de datos en web.config
  • Contratar a una empresa de terceros para llevar a cabo una prueba de penetración para informar sobre cualquier vulnerabilidad.
  • Asegúrese de que las actualizaciones y los Service Packs estén instalados regularmente.

Si su base de datos es la base de datos MI6 o CIA, entonces los administradores de su red probablemente tengan razón, pero a mí también me parece que están exagerando.

Si la base de datos contiene datos que no se pueden exponer absolutamente a una red pública pero los datos que necesita su base de datos no son tan confidenciales, ¿podría replicar las tablas que su sitio web requiere en una base de datos que se encuentra en su entorno de alojamiento?

Les haría la pregunta:

  • Si un hacker obtiene acceso al servidor web, ¿podrían llamar a sus servicios web?
  • Si se descubre una vulnerabilidad en IIS que les permitió acceder a su servidor web, ¿seguramente explotarán la misma vulnerabilidad en el servidor web que aloja sus servicios web?
  • ¿Podrían instalar un software que supervise la entrada del usuario para detectar contraseñas en la memoria?

Gracias por el consejo. Ahora, tengo la difícil tarea de persuadir a los administradores de la red para que cambien la configuración.
Al Polden

4

Sus servidores web también pueden estar detrás de un firewall, solo necesitan que el puerto 80 se reenvíe al servidor correcto. Todos los demás puertos que su servidor web no necesita deben estar cerrados en el firewall más externo. Entonces debería haber un firewall entre sus servidores web y sus servidores de datos. En ese cortafuegos solo permitirá que los puertos de los que hablan las bases de datos estén abiertos.

Aquí hay un diagrama

Internet -> Firewall -> Servidores web -> Firewall -> Bases de datos

Para su información, soy un desarrollador, aunque trabajo con nuestro personal de TI a menudo en mi empresa, ya que somos una pequeña tienda.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.