Parece que las dos respuestas anteriores a esta pregunta recomiendan una mayor o menor recomendación de activar SSL de todas formas, pero me gustaría sugerir un ángulo de razonamiento diferente (aunque no recomiendo no activar SSL).
Los dos puntos clave para evaluar si necesita SSL o no son (a) contra qué SSL lo protege y (b) cuál es el modelo de subproceso: enumere las amenazas potenciales.
SSL / TLS protege el transporte de información entre un cliente (en este caso, su servidor web) y un servidor (en este caso, su servidor de base de datos) de manipulaciones y escuchas ilegales por parte de cualquier persona en la red que se encuentre en medio (incluido el poder ponerse en esas dos máquinas).
Para evaluar si el SSL es útil, debe asumir que el atacante está en condiciones de realizar el ataque. SSL está diseñado para protegerlo. Es decir, el atacante tendría que estar en posición de detectar paquetes en la red o en cualquiera de las máquinas.
-
Si alguien que está en posición de detectar paquetes del servidor de la base de datos, es probable que tenga acceso de administrador / administrador a ese servidor. El uso de SSL / TLS en esa etapa no hará ninguna diferencia.
-
Si alguien está en posición de detectar paquetes en la red entre el servidor web y el servidor de la base de datos (excluyendo esas máquinas), el uso de SSL / TLS evitará que vean / alteren el contenido de la aplicación. Si cree que existe la posibilidad de que esto sea posible, active SSL . Una forma de mitigar esto sería usar dos tarjetas de red en el servidor web: una para el mundo exterior y otra para la LAN interna donde se encuentra el servidor de DB (sin otras máquinas, o de manera que pueda tratarlas a todas como si fueran una sola máquina más grande). Esta red que forma la agrupación o conjunto de servidores web en general (como quiera que se llame) estaría separada físicamente y solo tendría un punto de entrada desde el exterior: el servidor web en sí (el mismo principio para un nodo de cabeza de proxy inverso).
-
Si alguien está en posición de rastrear paquetes en el nodo principal (el servidor web), es probable que tengan acceso a la raíz allí (los procesos ejecutados por usuarios no root en la máquina, no deberían poder leer paquetes que no son para ellos). En este caso, tendría un gran problema de todos modos.
Lo que dudo aquí es si habilitar SSL realmente te protege mucho en este escenario.
Alguien con acceso root en el servidor web podrá leer la configuración de su aplicación, incluidas las contraseñas de DB, y debería poder conectarse al servidor de DB de forma legítima, incluso utilizando SSL.
En contraparte, si asumió que esto garantiza el uso de SSL (porque podría ser más difícil ver qué hacen los procesos en lugar de solo mirar la red, incluso si tiene control de raíz en la máquina), esto significaría que también querría recurrir a las comunicaciones de host local (por ejemplo, si tiene otros servicios en su servidor web, o en la situación en la que tanto el servidor de base de datos como el servidor web estuvieran en la misma máquina).
No es necesariamente algo malo ser demasiado cauteloso, pero debe hacer su pregunta en el contexto de qué podrían hacer los atacantes si estuvieran en condiciones de realizar un ataque contra lo que protege la medida de seguridad (SSL) está en contra, y si esta medida de seguridad les impediría alcanzar su objetivo de todos modos, una vez en esta posición.
Creo que la ventana es bastante estrecha allí (suponiendo que su red de back-end realmente esté asegurada, físicamente, no solo por un firewall entre varias máquinas).