¿Cómo se debe asegurar la conexión entre un servidor alojado y una base de datos?

2

A medida que me informo sobre la seguridad de la aplicación web, el foco parece estar en las conexiones entre el cliente y el servidor de la aplicación. Para ilustrar, la inyección de SQL y los certificados SSL me parecen a mí principalmente preocupados por la conexión entre el servidor de aplicaciones y los clientes, o la lógica y los niveles de presentación.

Mi aplicación web usa una cadena de conexión para acceder a una base de datos. La cadena de conexión está asegurada y encriptada ... pero cuando la conexión está activa, ¿no podría alguien interceptar esa y "oler" lo que se está almacenando y leyendo?

    
pregunta Aaron Thomas 26.03.2017 - 04:53
fuente

4 respuestas

1

Si configura la aplicación para que use TLS para conectarse a la base de datos, no podrá ser detectada. Si eso se hace junto con todo lo demás, estás bien. La cadena de conexión se descifra en la memoria para que alguien haya tenido que comprometer una de las máquinas para obtener algo de uso. Por supuesto, las precauciones también deben tomarse allí, pero en cuanto al rastreo, no se puede hacer si se usa TLS.

    
respondido por el joe 26.03.2017 - 05:15
fuente
1
  

Mi aplicación web usa una cadena de conexión para acceder a un   base de datos. La cadena de conexión es segura y   cifrado ... pero cuando la conexión está activa, no se pudo   alguien intercepta esa conexión y efectivamente "huele"   ¿Qué se está almacenando y leyendo?

Tal vez.

En una configuración típica de aplicaciones web pequeñas, estaría ejecutando su base de datos en la misma máquina que su servidor web y su aplicación. En este caso, la conexión entre su aplicación y la base de datos estaría protegida por el sistema operativo, que obliga a que la dirección de bucle de retorno o el socket de dominio solo se pueda acceder desde los procesos locales. Hay poco que ganar aquí al cifrar la conexión.

En otra configuración, es posible que tenga un cable físico que conecta dos máquinas en el mismo rack. El bastidor puede colocarse en un centro de datos seguro en un bastidor enjaulado, donde está satisfecho con el parámetro de seguridad del centro de datos, o puede estar en un armario cerrado con llave en la oficina, y confía en que los empleados no intenten para romper deliberadamente en el armario. En este caso, agregar cifrado podría ser excesivo.

En una situación similar a la del párrafo anterior, pero ahora tiene un enrutador desactualizado entre sus máquinas. El problema es que este enrutador ejecuta software obsoleto con vulnerabilidades conocidas, o no confía en su configuración de red virtual, o no es compatible con dichas funciones, o está preocupado por el control remoto de la administración web del enrutador. Entonces es posible que desee agregar el cifrado TLS y la autenticación mutua para cubrir las deficiencias en el enrutador obsoleto.

En otro caso típico, puede ejecutar su base de datos y su servidor web en varias máquinas virtuales en un proveedor de nube pública, puede agregar cifrado entre máquinas o puede decidir que el control de acceso a la red del proveedor de la nube no es lo suficientemente confiable para El tipo de datos con los que estás tratando. Puede ejecutar una VPN entre las máquinas o una red de superposición cifrada sobre la infraestructura de red existente.

    
respondido por el Lie Ryan 26.03.2017 - 19:20
fuente
0

Tradicionalmente, el cifrado de la red termina en el borde: un equilibrador de carga o una de las primeras máquinas después de que trata el descifrado TLS, y todo el tráfico interno no está encriptado. Esto proviene de la confianza de la red interna y la dificultad de configurar el cifrado entre todas las máquinas.

Es correcto que un atacante que pueda detectar el tráfico interno pueda aprovechar esto para observar todo el tráfico de la base de datos en este tipo de configuración. Esta idea (aunque en una escala más amplia, entre centros de datos) está en el núcleo del programa NSA y GCHQ MUSCULAR y, una vez que se reveló, varias grandes empresas de tecnología anunciaron públicamente que ahora estaban cifrando el tráfico interno.

En cuanto a los detalles, sí, la mayoría de las bases de datos admiten conexiones TLS.

La pregunta como siempre es si esto es algo que encaja en su modelo de amenaza . ¿Contra qué tipo de atacantes necesitas protegerte? ¿Qué tipo de datos tienes? Si está ejecutando, por ejemplo, una instalación de WordPress para el equipo de fútbol de su hijo, la configuración del cifrado de la base de datos probablemente sea una exageración. Si eres un procesador de tarjetas de crédito, entonces probablemente no lo sea. Tienes que decidir por ti mismo lo que tiene sentido en tu situación.

    
respondido por el Xiong Chiamiov 26.03.2017 - 18:43
fuente
0

No hay nada acerca de TLS que lo limite a usarlo para asegurar la conexión entre el servidor de aplicaciones y la base de datos. Puede seguir adelante y tener la comunicación protegida por TLS. Algunas organizaciones que están tratando con información altamente confidencial, por lo general darán un paso adicional. Si, por ejemplo, requieren seguridad adicional para ciertos elementos de su tráfico (información de la tarjeta de crédito, etc.), generalmente es necesario implementar una solución que pueda implementar un cifrado y control de acceso específicos de columna.

En tal situación, la solución necesitaría colocar un módulo de cifrado tanto en la base de datos como en el servidor de aplicaciones para garantizar el enfoque de cifrado granular.

Divulgación: trabajé como consultor en una de tales soluciones

    
respondido por el NA AE 29.03.2017 - 02:24
fuente

Lea otras preguntas en las etiquetas