Tengo un servidor web MySQL y Apache (ambos están instalados en la misma máquina). Los usuarios interactuarán con él mediante una aplicación VB.NET y la web. El servidor es accesible por internet.
...
La información no es muy importante, solo son estadísticas / puntos de referencia (especialmente porque cualquier persona en el mundo tiene permiso para verla)
Estas dos afirmaciones parecen contradecirse entre sí. Por un lado, tanto MySQL como Apache están en el mismo host, pero "cualquier persona en el mundo puede verlo". Supongo que se refiere a la salida de datos de su aplicación web.
Si la primera afirmación es verdadera y tanto su servidor web Apache como su servidor de base de datos MySQL existen en la misma máquina, no hay ningún beneficio en agregar SSL, como lo menciona Raniz en su respuesta. Sin embargo, si existen en diferentes máquinas o si accede a MySQL de forma remota , debe habilitar SSL.
Lo importante aquí es modelar contra qué lo protege SSL, que es principalmente el robo de contraseñas. Si se conecta a un servidor MySQL a través de Internet sin usar SSL, cualquier persona que tenga la suerte de sentarse entre usted y su destino final (el servidor MySQL) puede extraer fácilmente su nombre de usuario y contraseña para MySQL. Luego pueden hacer lo que quieran con las credenciales de usuario que hayan extraído.
Parece que no está preocupado por esta posibilidad al decir "la información no es muy importante", pero probablemente debería preocuparse por esta posibilidad. ¿Qué pasa si un atacante eliminó todo de la base de datos? ¿O inyectó sutilmente datos erróneos y destruyó la credibilidad de su sitio? ¿Qué pasaría si pudieran usar un exploit en SQL para obtener un shell en su máquina?
Sin embargo, si como usted dice que su servidor MySQL vive y se accede solo localmente (nunca a través de WAN), no necesita SSL. Si es público o alguna vez comparte datos a través de una red insegura, use SSL.
Una alternativa al uso de MySQL sobre SSL es usar el reenvío de puertos SSH siempre que necesite acceder a MySQL de forma remota.
ssh -L 3306:localhost:3306 myhost.com
Esto reenviará todo el tráfico al puerto local 3306 a través de SSH al puerto local 3306 de myhost.com. Esto asegura sus credenciales a la vez que permite el acceso.
SSL en general no es lo más fácil de configurar y MySQL no es una excepción. Sin embargo, si necesita servicios para acceder a MySQL a través de la red, SSL tiene un propósito muy necesario.