Может ли кто-нибудь получить текущий пароль базы данных, если у него есть физический доступ к Серверу? - PullRequest
0 голосов
/ 03 июня 2018

У меня есть базовая веб-система, и я использую Xampp, в моей базе данных есть пароль, и я получаю к нему доступ через phpMyAdmin.

У меня есть люди, работающие на той же машине, где и вебБазовая система работает, мы используем Систему для конкретной задачи.

Одна вещь, которую я боюсь, это то, что они могут получить или узнать пароль базы данных (сюда не входит переопределение или сброс пароля).

Поскольку они физически обращаются к Серверу, возможно ли получить или, скажем, расшифровать текущий пароль?если так, каковы возможные пути?

Я хочу знать об этом и хочу повысить безопасность системной базы с помощью метода, который они могут сделать.

Ответы [ 3 ]

0 голосов
/ 03 июня 2018

Если вас беспокоят системные пароли (ОС), все они хэшируются с помощью метода соли.Читайте полностью здесь, который занимает слишком много времени для расшифровки.https://en.wikipedia.org/wiki/Salt_(cryptography)

Но если это связано с phpMyAdmin, это полностью связано с тем, как вы храните пароли пользователей.Вам может потребоваться сохранить хэш паролей, хотя администраторы phpMyAdmin могут переопределить свои собственные хэши и доступ к данным пользователя.

0 голосов
/ 05 июня 2018

Здесь есть несколько уровней безопасности.

Я считаю, что правильный ответ на ваш вопрос - «нет, это не риск», но подробный ответ рассмотрит все возможные способы воздействия.

Системные учетные записи

В вашей операционной системе есть учетные записи пользователей.Таким образом вы, другие пользователи и различные системные службы (такие как сам сервер MySQL) проходят проверку подлинности в операционной системе.Это хорошая практика, чтобы не делиться учетными записями пользователей.Эти пароли хранятся в соленой и хэшированной форме на сервере и не могут быть восстановлены или обратимы (по крайней мере, для целей этого обсуждения).По сути, существует небольшая опасность того, что эта информация будет скомпрометирована другими пользователями на компьютере.

Учетные записи пользователей MySQL

У MySQL есть отдельные учетные записи пользователей.Это то, как отдельные пользователи MySQL проходят аутентификацию на сервере базы данных и, как правило, не должны использоваться совместно пользователями, приложениями или службами.Как и системные учетные записи, эти пароли хранятся в хешированном виде, что делает его относительно безопасным, так что другие пользователи снова не видят опасности при просмотре хешированного пароля.

Пароли приложений

ЭтосложныйМногие приложения создают пользовательскую таблицу в базе данных приложения в MySQL.Это может быть невероятно просто;такие как имя пользователя и пароль в виде простого текста, или могут быть довольно сложными и безопасными.Такие приложения, как WordPress, Joomla, phpBB и практически все остальное, реализуют свои собственные методы паролей уровня приложений.Это может быть правильно хешировано и безопасно, или это может быть простой текст.Не зная деталей заявки, мы не можем с уверенностью сказать.Вы можете получить некоторую подсказку, посмотрев на поле пароля в самой базе данных, но это не делает сразу очевидным, если пароль солен или хеширован по слабому алгоритму.Таким образом, это возможный вектор атаки, которым вы, вероятно, должны быть обеспокоены.

Еще один интересный аспект - перехват сети;Злоумышленник может перехватить сетевой трафик, чтобы определить пароль пользователя MySQL.Простой обходной путь - принудительно подключать пользователей к серверу MySQL только для связи с шифрованием SSL и / или использовать только метод сокетного соединения.

Я думаю, что на относительно высоком уровне охватываются все возможные атакивекторы здесь.Я взял некоторые вольности ради упрощения вещей;например, есть некоторые старые операционные системы, которые используют ослабленные методы хеширования, что означает, что эти хеши не являются криптографически безопасными, и любой пользователь с доступом может, вероятно, повысить свои привилегии (например, пользователь с физическим доступом к серверу может перезапустить с другимзагрузочный диск, сбросьте пароль корневой системы, установите любой желаемый кейлоггер и восстановите данные. Подобные предупреждения будут применяться к пользователю без физического доступа, но с правами администратора. В зависимости от направления атаки эти аспекты могут иметь или не иметь отношение квы.

0 голосов
/ 03 июня 2018

Конечно, это возможно ....

  • Все, что мне нужно сделать, - это открыть файл конфигурации phpMyAdmin и посмотреть информацию о доступе к базе данных, поскольку она там не зашифрована.В принципе, любой параметр конфигурации, который сам по себе не зашифрован, будет проблемой безопасности.

(Как только у меня будет доступ к БД, который, вероятно, будет с правами системного администратора (sa), я могу провести обратный инжиниринг пользователей и паролей всистема дала достаточно времени, так как у меня был бы доступ к соли в БД)

Другие сценарии (я не знаю вашей точной настройки) будут:

  • Проверка журналов
  • Обнаружение сетевого трафика для любого незащищенного доступа к БД.Скажем, вы не используете TLS, например
  • Поскольку у меня также есть физический доступ к машине, я также могу взломать пользователей ОС и пароли или даже добавить один для своего собственного использования для дальнейшего использования

Короткий ответ: когда люди получают доступ к физической машине, ваша поверхность атаки увеличивается в геометрической прогрессии.

...