В настоящее время я использую небольшой скрипт для автоматического резервного копирования моей базы данных (веб-сервера). Для резервного копирования базы данных я создал учетную запись пользователя с правами только на чтение и блокировку. Сценарий будет использовать этого пользователя для резервного копирования сервера. Итак, у скрипта есть пароль пользователя.
Проблема в том, что я перемещаю базу данных на удаленный сервер. Если я сделаю это, будет ли угрозой безопасности использование пароля в таком сценарии? Есть ли лучшее решение?
Я бы сохранил сценарий резервного копирования на удаленном сервере базы данных и выгружал его на стандартный вывод. например.:
#!/bin/sh
mysqldump -h12.23.34.45 -ubob -pacmeco -Dmysql
Затем вызовите сценарий через ssh, используя аутентификацию на основе ключа, и запишите ответ локально, например:
ssh user@server /path/to/backup/script.sh > databasebackup.sql
Я предполагаю, что вы выполняете это резервное копирование через Интернет (я могу ошибаться), но вы никогда не должны этого делать, поскольку по умолчанию соединение не зашифровано. Используя метод SSH, он сохраняет все учетные данные для аутентификации на сервере и обеспечивает защиту канала связи.
Кроме того, вы не должны открывать доступ к серверам баз данных в Интернете, не заблокировав их предварительно.