Spec-Zone .ru
спецификации, руководства, описания, API
|
Консультируйтесь с этим разделом прежде, чем развернуться InnoDB
плагин memcached на любых производственных серверах, или даже
тестовые серверы, если экземпляр MySQL содержит уязвимую информацию.
Поскольку memcached не использует механизм аутентификации по
умолчанию, и дополнительная аутентификация SASL не как strong как традиционные меры безопасности DBMS,
удостоверьтесь, что сохранили только нечувствительные данные в экземпляре MySQL, используя InnoDB
плагин memcached, и
отгораживает любые серверы, используя эту конфигурацию от потенциальных злоумышленников. Не предоставляйте memcached доступ к таким серверам из Интернета, только изнутри
firewalled интранет, идеально от подсети, членство которой можно ограничить.
Поддержка SASL дает Вам возможность защитить Вашу базу данных MySQL от неаутентифицируемого доступа до memcached клиентов. Этот раздел объясняет шаги, чтобы включить этой опции. Шаги, чтобы включить такой поддержке почти идентичны тем, Вы сделали бы, чтобы включить SASL для традиционного memcached сервера.
SASL обозначает "Простой Уровень Аутентификации и Безопасности", стандарт для того, чтобы добавить аутентификацию поддерживает к основанным на соединении протоколам. memcached добавленная поддержка SASL, запускающаяся в ее 1.4.3 выпусках.
Для InnoDB + memcached комбинация, таблица, которая хранит
memcached данные, должна быть зарегистрирована в container
системная таблица. И клиенты memcached
могут только получить доступ к такой зарегистрированной таблице. Даже при том, что DBA может добавить
ограничения доступа на таблице, которая регистрируется в memcached плагине, они не имеют никакого контроля над тем,
кто может получить доступ к этому через memcached приложения.
Это - то, почему мы обеспечиваем средство (через SASL), чтобы управлять, кто может получить доступ InnoDB
таблицы связались с memcached плагином.
Шоу следующего раздела, как создать, включают, и тестируют SASL-поддерживающее InnoDB
плагин memcached.
По умолчанию, SASL-поддерживающий InnoDB
memcached
не включается в пакет выпуска, так как это полагается на создание memcached с библиотеками SASL. Чтобы активировать эту опцию,
загрузите источник MySQL и восстановите InnoDB
плагин memcached после загрузки библиотек SASL:
Во-первых, получите разработку SASL и служебные библиотеки. Например, на Ubuntu, можно передать эти библиотеки:
sudo apt-get -f install libsasl2-2 sasl2-bin libsasl2-2 libsasl2-dev libsasl2-modules
Затем создайте InnoDB
плагин memcached (совместно использованные библиотеки) с
возможностью SASL, добавляя ENABLE_MEMCACHED_SASL=1
к cmake опциям. Кроме того, memcached оказывает простую поддержку
незашифрованного пароля, которую легче использовать для того, чтобы протестировать. Чтобы включить
этому, установите опцию ENABLE_MEMCACHED_SASL_PWDB=1
.
В целом, Вы добавите следующие три опции к cmake:
cmake ... -DWITH_INNODB_MEMCACHED=1 -DENABLE_MEMCACHED_SASL=1 -DENABLE_MEMCACHED_SASL_PWDB=1
Третий шаг должен установить InnoDB
плагин memcached как прежде, как объяснено в Разделе
14.2.9.3, "Начиная с InnoDB Плагин Memcached".
Как ранее упомянуто, memcached оказывает простую поддержку незашифрованного пароля через SASL, который будет использоваться для этого демонстрационного примера.
Создайте названного пользователя testname
и его пароль как testpasswd
в файле:
echo "testname:testpasswd:::::::" >/home/jy/memcached-sasl-db
Сообщите memcached об
этом, устанавливая переменную окружения MEMCACHED_SASL_PWDB
:
export MEMCACHED_SASL_PWDB=/home/jy/memcached-sasl-db
Также скажите memcached, что это - незашифрованный пароль:
echo "mech_list: plain" > /home/jy/work2/msasl/clients/memcached.confexport SASL_CONF_PATH=/home/jy/work2/msasl/clients/memcached.conf
Затем перезагрузите сервер, и добавьте a daemon_memcached_option
опция -S
включать SASL:
mysqld ... --daemon_memcached_option="-S"
Теперь установка полна. Чтобы протестировать это, Вам, возможно, понадобился бы
SASL-поддерживающий клиент, такой как этот
memcp --servers=localhost:11211 --binary --username=testname --password=testpasswd myfile.txtmemcat --servers=localhost:11211 --binary --username=testname --password=testpasswd myfile.txt
Без соответствующего имени пользователя или пароля, вышеупомянутая работа отклоняется с
сообщением об ошибке memcache error AUTHENTICATION FAILURE
. Иначе,
работа успешно выполняются. Можно также исследовать набор незашифрованного пароля memcached-sasl-db
файл, чтобы проверить это.
Есть другие методы, чтобы протестировать аутентификацию SASL с memcached. Но тот, описанный выше, является самым прямым.