Unetway
Как могут взломать базу данных MySQL?

Как могут взломать базу данных MySQL?

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

Хэширование паролей

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

Надежный логин и пароль базы данных

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

Пользователи с разными привелегиями

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

Отключение удаленного доступа к базе данных

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

Резервное копирование

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

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

PDO и placeholder

Необходимо писать запросы применяя PDO и подстановку данных через placeholder. Это поможет уберечь от SQL-инъекций.

Качественный код

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

Понравился материал? Поделитесь с друзьями!

Автор

IT-менеджмент, разработка программного обеспечения и веб-сервисов, консультация в сфере IT.

Комментарии

Незарегистрированным пользователям запрещено комментировать.
Войдите или пройдите регистрацию