Puede crear clave pública / privada pares y cifrar la contraseña. Esto debería ofuscar la contraseña a los transeúntes ocasionales, ya que solo conocerían la parte pública de la clave.
También debe proteger la secuencia de comandos mediante los permisos de directorio y archivo.
Además, (dependiendo de la base de datos), debería poder crear una cuenta de usuario para la base de datos que solo tiene privilegios de respaldo. Esto evitaría que alguien creara tablas, volcara tablas y reemplazara contenidos. Puede limitar el acceso a este usuario a los tiempos en que espera que se ejecuten las copias de seguridad.
Actualizar
Esta publicación en Comodo explica las claves un poco mejor . Ya que le preocupa que alguien obtenga acceso a la contraseña original que existe en el código, el atacante tendría que escuchar la clave privada del usuario que activa el script (lo que podría ocurrir a través de SSH en un cron en un [virtual] separado máquina). Obviamente, no tendría ningún sentido si almacenara ambas claves en el mismo sistema a menos que, por supuesto, almacenara la clave privada con mayores privilegios que la clave pública.
Ambas teclas juntas = contraseña
Acerca de los permisos, si alguien tiene acceso a su sistema y esto es una gran preocupación para que una contraseña se almacene en la caja en un "formato legible", parece que hay problemas más profundos con la configuración de permisos en el caja en sí. Además, si alguien puede sudo
y supera sus propios privilegios (como el host que ejecuta el cuadro), el hashing de claves es realmente la única opción para evitar que el usuario administrador ingrese a la base de datos.
Además, deberías deshabilitar la cuenta root
en la base de datos, ya que esto permitiría al atacante leer las tablas de la base de datos de todos modos.