Отправляет email-рассылки с помощью сервиса Sendsay

[TC] безопасность хранения данных в базе на сервере

Здравствуйте, уважаемые!

Есть задача создания базы данных в Mysql на сервере. Но пока не ясно, каким
образом нужно ее создать, чтобы хранимые данные были защищены от
несанкционированного доступа. Разумеется, речь не идет о создании базы
данных паролей к банковским кредитным карточкам, но всё-таки хотелось бы
создать базу данных защищенную от начинающих хакеров:)

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

Мои вопросы объясняются тем, что я работаю с проектом на локальной машине и
представления не имею об условиях работы с реальным хостом, хотя много читал
на сайтах об условиях хостинга.

Теперь собственно вопросы.
первый: в обычной базе mysql данные хранятся в трех файлах: имятаблицы.frm,
имятаблицы.myd, имятаблицы.myi. Хостинг-провайдер каким-то образом защищает
эти файлы от копирования злоумышленником?

И второй: какие самые не сложные меры можно предпринять для защиты этих
данных?

Заранее благодарен,
Грызунов Александр. Самара.

Ответить   "eastreb" Fri, 19 Jun 2009 21:36:35 +0400 (#875095)

 

Ответы:

Vande omentaina, eastreb!
1. Обычно да. Меры безопасности принимает хостер, поэтому вы можете
особо не беспокоиться о файлах баз данных. Так, с моим любимым
http://mirohost.net работают даже банки.
2. Например, если храните пароли юзеров, то предоставьте им выбор:
хранить пароли открыто и в зашифрованном виде (чтобы у них была
возможность вспомнить пароль) или только в зашифрованном. Во втором
случае храните их только в md5:
$pass=md5($pass);
Говорят, этот алгоритм шифрования очень надёжный, его сложно взломать.
Но при этом невозможно расшифровать. Будьте внимательны при сравнении
введённых данных с формы: сравнивайте хеш с хешем, иными словами,
if (md5($_POST['upass'])!==$f[Pass])...
Это наипервейшее дело).

Ответить   Anarendil Fri, 19 Jun 2009 19:56:55 +0300 (#875101)

 

Приветствую всех.
Андрей пишет:

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

Опция "Вспомнить пароль", как правило, не требует хранения исходного пароля(тем
более в открытом виде). Такая опция реализуется генерацией нового пароля из случайной
последовательности букв и цифр и отсылки такого пароля пользователю, например,
на его контактный e-mail.

Фактически это единственный способ хранения паролей на стороне сервера. При таком
подходе резко снижается вероятность утечки исходных паролей, даже если сервер
баз данных будет взломан.

Справедливее сказать, что по соотношению надежность/простота реализации это хороший
вариант, если подсчет md5-хэша уже реализован как втроенная функция.

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

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

Успехов. Анатолий.

Ответить   "i_chay" Sat, 20 Jun 2009 09:10:15 +0500 (#875226)