Читайте также:
|
|
Система проверки прав доступа проходит две стадии:
1. Проверка права соединения с сервером
(для этого используется таблица user в базе данных mysql
Так как таблица user поддерживает групповые символы, то в столбце host одной комбинации user / host может соответствовать несколько строк.
Чтобы принять решение о том какая из строк является подходящей, MySQL рассматривает сначала конкретное имя хоста.
Пример:
Пользователь с именем test с ПК с именем localhost пытается подсоединиться к серверу БД.
При этом в таблице user хранятся записи:
Таблица user
host | user | Password | Select_priv | Insert_priv | |
% | test | G_3hrk | Y | N | |
localhost | test | zxcvbn | N | Y | |
123.83.451.016 | petrov | 1q2w3e | Y | Y | |
Групповой символ – % означает любой хост.
2. Проверка права на выполнение конкретной команды или запроса.
Перед выполнением каждого запроса проверяется его допустимость по таблицам привилегий.
Для запросов к конкретной базе данных сначала проверяется таблица user. Если пользователь имеет право доступа ко всем базам данных, этого достаточно для выполнения запроса.
Если нет, то дополнительно проверяются таблицы db.
Если пользователь не имеет соответствующих прав на этом уровне, то проверяются привилегии на уровне таблиц (tables_priv) и полей (columns_priv).
Защита учетных записей
Общие правила защиты учетных записей в MySQL
1. Установка корневого пароля MySQL.
По умолчанию при инсталляции корневой пароль не устанавливается
2. Удаление анонимных учетных записей.
При инсталляции системы в случае, когда не введено имя пользователя, то по умолчанию создается две анонимные учетные записи:
localhoct
% (любой ПК)
Они предоставляют доступ к системе любому пользователю без пароля и могут вызвать конфликтную ситуацию с входом в систему зарегистрированного пользователя.
По завершению инсталляции системы необходимо ввести команды удаления анонимных пользователей:
DELETE FROM urer WHERE User = ‘ ‘;
DELETE FROM db WHERE User = ‘ ‘;
Для завершения процедуры удаления необходимо ввести оператор:
FLUSH PRIVILEGES;
3. Ограничение в доступе к наиболее ответственным привилегиям (правам)
Наименование привилегий | Выполняемые функции |
FILE | Разрешает загрузку файлов с сервера |
PROCESS | Разрешает контролировать все процессы в работе БД |
WITH GRANT OPTION | Разрешает передавать свои права другому пользователю |
4. Шифрование паролей
Для шифрования паролей рекомендуется использовать функцию ENCRYPT () и не использовать функцию PASSWORD ().
Защита файловой системы
SSL – Secure Sockets Layer (протокол защищенных сокетов)
Дата добавления: 2015-11-04; просмотров: 72 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Таблицы привилегий | | | Благодатное преемство |