Просмотров: 3208

MySQL: Безопасность и аудит. Часть 4


А что же в связи с ранее рассмотренной проблематикой предлагает второй герой нашего обзора — Securich?

MySQL ЬнЫЙД ,tpjgfcyjcnm Безопасность security защита рецепты решения укрепление Securich Openark Kit хакеры взлом роли SQL база данных СУБД мускул запрос инекция sql injection блокировка пользователи

Администрирование в стиле Securich

Не будем подробно останавливаться на его инсталляции, которая не представляет никаких сложностей и зависимостей, и чаще всего сводится к запуску единственного скрипта — securich_install.sh (подробная инструкция идет в комплекте поставки — смотрите файлы INSTALL.txt и README.txt).

Текущая версия Securich v0.6.2 распространяется свободно по лицензии GPLv2, при этом совместима только с MySQL версии 5.1.12 или выше

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

  • Поддержка концепции динамических ролей для пользователей MySQL;
  • Временная блокировка и разблокировка аккаунтов;
  • Сохранение даты/времени создания и модификаций паролей всех пользователей;
  • Возможность задать возраст пароля, с автоматическим уведомлением на e-mail пользователя о необходимости сменить старый пароль и приближении срока блокировки его аккаунта;
  • При установке пароля проводится проверка по словарю (его вы можете создать сами или скачать уже готовый из общеупотребительных слов);
  • Настройка контроля сложности нового пароля (только пользователю root разрешается самостоятельно устанавливать любые пароли);
  • Мониторинг и хронология смены ролей и привилегий у пользователей;
  • Безопасная схема переименования пользователей;
  • Возможность автоматически сбрасывать все текущие сетевые подключения к СУБД при изменении привилегий/ролей пользователя;
  • Запрет и дополнительный контроль любого изменения (в обход этой утилиты) в служебной базе ‘mysql ’.

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

Вот список команд имеющих отношение к администрированию учетных записей:

  • show_user_list() - получить список всех пользователей в системе с полными данными по ним;
  • show_reserved_usernames() - получить список всех зарезервированных (запрещенных администратором для регистрации) имен пользователей. Добавление и удаление этих имен осуществляется соответственно через команды add_reserved_username() и remove_reserved_username() ;
  • clone_user() - клонировать уже существующие учетные записи (то есть его настройки и права будут взяты за основу при создании новой);
  • block_user() — временно заблокировать пользователя (при этом все его настройки и сам пользователь в базе сохраняются);
  • unblock_user() - разблокировать указанного пользователя (восстановление возможности подключаться и работать с БД), операция противоположна по смыслу block_user() .

А теперь пример команды блокирования пользователя на сервере через Securich:

mysql> call block_user ('savgor');
Query OK, 1 row affected (0.08 sec)

Со стороны клиента ’savgor ’, подключенного к серверу БД в момент его блокировки, эффект применения к нему этой команды будет выглядеть так:

mysql> show processlist;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
ERROR 1045 (28000): Access denied for user 'savgor'@'localhost' (using password: YES)
ERROR: 
Can't connect to the server
mysql>

Вернуть доступ к БД можно также легко и непринужденно:

mysql> call unblock_user ('savgor');

Как видите, Securich обладает более расширенными возможностями в сравнении с Openark Kit, — здесь можно контролировать возраст паролей и выполнять мониторинг над всеми операциями по администрированию каждого отдельного аккаунта, всегда имея возможность уточнить детали по ведущемуся журналу всех операций.

Плюсом же oak-block-account является большая мобильность и простота Perl-скрипта, узкую функциональность которого можно использовать выборочно и отдельно от всего комплекса утилит Openark Kit, чего нельзя сказать о монолитном решении Securich, технически реализованного в виде большого и универсального набора хранимых процедур для MySQL.

Храним юзеров СУБД в системе управления версиями
Здесь также уместно напомнить об альтернативном подходе утилиты mk-show-grants (в ранее мною рассмотренном пакете Maatkit), позволяющей организовать централизированный репозиторий контроля версий, в качестве содержимого которого можно использовать всех пользователей на серверах MySQL, с информацией о правах их доступа и полномочиях. Упомянутая утилита позволяет автоматизировать двухстороннюю синхронизацию такого репозитория с указанными серверами баз данных, а сам репозиторий (который вы можете выбрать самостоятельно) — обеспечит авторизованный доступ администраторов БД и широкие возможности для контроля их деятельности.


Читать этот материал дальше. Оглавление и начало этой серии статей — здесь.

Игорь Савчук ©  Системный Администратор, 2012
twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru pikabu.ru blogger.com liveinternet.ru livejournal.ru google.com bobrdobr.ru yandex.ru del.icio.us

Подписка на обновления блога → через RSS, на e-mail, через Twitter
Теги: , , , ,
Эта запись опубликована: Понедельник, 28 мая 2012 в рубрике Unix'овое.

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Зарегистрировать/комментатор

Для регистрации укажите свой действующий email и пароль. Связка email-пароль позволяет вам комментировать и редактировать данные в вашем персональном аккаунте, такие как адрес сайта, ник и т.п. (Письмо с активацией придет в ящик, указанный при регистрации)

(обязательно)


⇑ Наверх
⇓ Вниз