Я новичок в php, и мне было интересно, что это лучший способ безопасно подключиться к базе данных MySQL.
Для начала я знаю, что мне нужно сохранить пароль в конфигурационном файле, но я должен сохранить его в зашифрованном виде или просто?
Должен ли пароль, передаваемый mysql_connect, быть простым?
Если так, я должен зашифровать пароль в файле конфигурации и затем расшифровать его? Возможно ли расшифрование?
Вот почему шифрование БД действительно небезопасно. Как минимум он должен быть в оперативной памяти для доступа к зашифрованным данным.
Если шифрование БД каким-либо образом хранится на сервере, ключ получит злоумышленник, получивший доступ администратора.
Защитите все серверы с помощью двухфакторной аутентификации.
Следующим шагом вверх является перемещение БД на сервер, который не подключен к Интернету, на очень защищенном и ограниченном сервере с ограничением скорости / регистрацией исключений при подключении к интернет-серверу.
Кроме того, ключ может быть защищен в состоянии покоя в HSM.
Все зависит от требований безопасности. Сначала нужно определить модель угрозы, а затем требования к безопасности. Ничто не является полностью безопасным, поэтому необходимо найти компромисс.
Других решений пока нет …