¿Es realmente segura una conexión encriptada a MS-SQL Server?

12

Introducción rápida: pequeña empresa, recursos MUY limitados. Yo prácticamente hago todo, incluyendo el café. Soy un programador, no un tipo de seguridad. Por eso te pregunto ...

Tenemos una base de datos MS-SQL 2008 que se ejecuta en nuestro servidor y varias aplicaciones de C # que se conectan a la base de datos directamente mediante una cadena de conexión como esta

"Server=example.org; Database=SomeDatabase; User Id=dbUser; password=**secret**; Encrypt=YES"

Las aplicaciones no se ejecutan en el servidor, por lo que la instancia de la base de datos se enfrenta al mundo exterior. Esta configuración se está ejecutando muy bien, pero tengo algunas preocupaciones.

1) ¿Qué significa exactamente Encrypt=YES ? ¿Es segura toda la conexión (incluido el inicio de sesión, etc.) (suponiendo que nadie se haga cargo de la cadena de conexión)? ¿O debería tener serias preocupaciones? ¿Cuáles son estas preocupaciones (palabras clave apreciadas)?

2) ¿Cuál es una buena estrategia para distribuir la cadena de conexión?

Para explicar la segunda pregunta: es muy cómodo conectarse directamente. La distribución de la cadena de conexión podría reemplazarse más fácilmente que envolver todas las llamadas a la base de datos en otro canal más seguro ...

    
pregunta Martin Booka Weser 29.04.2013 - 14:19
fuente

1 respuesta

9

"Conexiones cifradas" a SQL Server use SSL . Eso es lo mejor que puedes conseguir. Sin embargo, recuerde que SSL solo protege la conexión , es decir, los datos a medida que se transfieren entre el cliente y el servidor SQL. No hace nada sobre cómo se almacenan los datos en el servidor. Tampoco hace nada para aislar a los clientes conectados entre sí; esa parte es totalmente de SQL Server.

En la "cadena de conexión", la contraseña es, por supuesto, la parte sensible. Cada cliente debe tener su propia cuenta de usuario y contraseña, de modo que en el caso de que una contraseña se vea comprometida (un evento probable a largo plazo, desafortunadamente), puede restablecer esa contraseña específica, sin afectar a los demás usuarios. Para la distribución de contraseñas, no lo envíe como texto simple a través de Internet. Lo que significa: no hay correo electrónico; si se hace como en la Web, use HTTPS, no HTTP. En algunos contextos, podría ser razonable intercambiar la contraseña a través de una llamada telefónica.

    
respondido por el Tom Leek 29.04.2013 - 14:34
fuente

Lea otras preguntas en las etiquetas