безопасность базы данных - PullRequest
1 голос
/ 12 августа 2010

Я читал о безопасности баз данных, когда речь заходит о сайтах. И он говорит, что злоумышленник может украсть базу данных, а затем иметь столько времени, сколько он хочет, чтобы получить все пароли пользователя. Если злоумышленник украл базу данных, зачем ему пароли, поскольку аутентификация выполняется в php? Таким образом, он мог просто получить доступ ко всей информации пользователя, не зная пароля. Например, форум с защищенными паролем областями. Злоумышленник может попытаться получить пароль модератора или пользователя с доступом к защищенной области, получив базу данных (например, злоумышленник может быть сотрудником компании, в которой размещена база данных), а затем перейти на форум и войти в систему как пользователь.

или злоумышленник может пропустить это и просто посмотреть в таблицу сообщений в скрытой области.

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

(это сообщение в блоге заставило меня задать вопрос: http://www.richardlord.net/blog/php-password-security)

Ответы [ 2 ]

2 голосов
/ 12 августа 2010

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

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

0 голосов
/ 12 августа 2010

Это зависит от того, что еще он мог сделать, когда получил логин и пароль. Например, рассматриваемый веб-сайт может позволить ему заказывать товары на имя другого пользователя или выдавать себя за этого пользователя другим способом. Другими словами, получение учетных данных для входа в систему позволяет злоумышленнику превратить пассивную атаку (чтение данных) в активную (выполнение действий, которые ему запрещены).

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...