@r066er

Хранение пароля к MYSQL в хэшированном виде?

Дано:
Некая система написанная на php. Параметры подключения к БД (логин\пароль) хранятся в файле конфигурации в открытом виде. Как можно безопасно хранить пароль для подключения к бд ?
  • Вопрос задан
  • 1403 просмотра
Пригласить эксперта
Ответы на вопрос 4
RomaZveR
@RomaZveR
CEO AlertMoney, PHP/Golang Developer
Продолжать хранить в файлах конфигурации. Для безопасного хранения файлов конфигурации занимайтесь безопасностью самого сервера.
База:
- Код вашей "системы на php". Нет, серьёзно, проверяйте свой код, тестируйте.
- Отключите ssh по паролю, используйте ключ с секретом;
- Смените стандартный ssh порт на 2к+, просто чтобы китайцы логи не засоряли;
- Настройте фаервол, в идеале кроме веб сервера и ssh из внешнего мира ничего не должно быть доступно;
- Поддерживайте актуальные версии ПО на сервере (как минимум веб-сервер, php, бд не старше полугода).
Ответ написан
Комментировать
kawabanga
@kawabanga
Эм, давно сайты пишете? Все хранят в открытом виде в файлах конфигурации. Другое дело, что к этим файлам доступа извне быть не должно.

И даже если вы зашифруете (не путь с кэшированием), человек, взломавший сервер все равно найдет функцию, по которой вы конвертируете шифр в пароль.
Ответ написан
creativeworm
@creativeworm
Используйте ionCube для шифрования файлов конфигурации. Хотя если есть SSH к серверу, то не поможет.
Ответ написан
Jump
@Jump
Системный администратор со стажем.
Хранение пароля к MYSQL в хэшированном виде?
Это невозможно.
Хэш пароля не содержит пароля - поэтому если вы пароль хэшировали, у вас будет только хэш.
Если вы храните только хэш пароля значит вы вообще не храните пароль.
Т.е хранить пароль в хэшированном виде значит вообще его не хранить.

Некая система написанная на php. Параметры подключения к БД (логин\пароль) хранятся в файле конфигурации в открытом виде.
Никак. Пароль в любом случае вам нужен будет для подключения.
Если не будет пароля значит вы не сможете подключится. Если вы его зашифруете - вам придется хранить там же ключ шифрования.
Единственный вариант - при каждом подключении вводить пароль вручную.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы