Primero, si hay un duplicado exacto, no lo encontré, así que me disculpo en caso de que ya se haya proporcionado la respuesta.Asegurando las credenciales de inicio de sesión de la base de datos (MySQL) en una aplicación web (pila LAMP)
voy a presentar el problema que estoy enfrentando, con la esperanza de que voy a obtener una idea o una respuesta directa "no es posible".
Cómo proteger las credenciales de base de datos en una aplicación web en caso de que el servidor donde PHP está es comprometida? Supongamos que en el caso de este problema no estamos hablando de alojamiento compartido, VPS ni nada por el estilo, solo hay una persona que tiene acceso al cuadro que almacena información de MySQL.
servidor MySQL en sí está situado en otra caja (remoto) y permite conexiones desde sólo un rango de direcciones IP (unida a la caja de PHP).
¿Cómo garantizar que el usuario malintencionado no pueda obtener los detalles necesarios para la cadena de conexión de MySQL? Supongamos que el usuario ha roto el inicio de sesión raíz del cuadro de Linux que ejecuta PHP.
¿Qué medidas tomaría para proporcionar la mayor seguridad en términos de acceso a la información necesaria para establecer la conexión MySQL en tal caso?
Gracias por leer y comentar con anticipación.
Este tema ya se ha cubierto aquí - http://stackoverflow.com/questions/3710511/best-way-to-connect-to-mysql-with-php-securely – hafichuk
@hafichuk - el enlace proporcionado sugiere ciertas partes de asegurando el acceso, con la mejor respuesta es encriptando el archivo con la contraseña.Sin embargo, si alguien es una raíz, nada les impide modificar el código PHP y hacer eco de las credenciales. Me pregunto si alguien tiene un mejor método para establecer la comunicación entre el servidor de aplicaciones y el servidor de bases de datos, como el cifrado de clave pública o similar, donde el servidor de db participa en la negociación antes de permitir la conexión. – Furicane