在部署之前请参阅本节daemon_memcached
如果MySQL实例包含敏感数据,甚至可以在测试服务器上使用。
因为memcached默认情况下不使用身份验证机制,而且可选的SASL身份验证不像传统DBMS安全措施那样强大,只在使用daemon_memcached
插件,并隔离任何使用此配置的服务器从潜在的入侵者。不允许memcached从互联网访问这些服务器;只允许从有防火墙的内部网进行访问,最好是从可以限制其成员的子网进行访问。
SASL支持提供了保护MySQL数据库免受未经身份验证的访问的能力memcached客户。本节介绍如何使用daemon_memcached
插件。这些步骤几乎与启用传统SASL时所执行的步骤相同memcached服务器。
SASL代表”简单认证和安全层”,为基于连接的协议添加身份验证支持的标准。memcached在1.4.3版本中增加了SASL支持。
SASL身份验证仅支持二进制协议。
memcached客户端只能访问InnoDB
控件中注册的表innodb_memcache.containers
表格即使DBA可以对这些表设置访问限制,也可以通过访问memcached应用程序无法被控制。因此,提供了SASL支持来控制访问InnoDB
与daemon_memcached
插件。
下一节将展示如何构建、启用和测试启用sasl的daemon_memcached
插件。
缺省情况下,启用sasldaemon_memcached
MySQL plugin没有包含在MySQL的发布包中,因为它启用了sasldaemon_memcached
插件要求建立memcachedSASL库。要启用SASL支持,请下载MySQL源代码并重新构建daemon_memcached
插件下载后的SASL库:
安装SASL开发和实用程序库。例如,在Ubuntu上,使用apt-get要获取这些库:
Sudo apt-get -f install libsasl2-2 sasl2-bin libsasl2-2 libsasl2-dev libsasl2-modules
构建
daemon_memcached
插件提供SASL功能的共享库ENABLE_MEMCACHED_SASL = 1
到你的cmake选项。memcached还提供了简单的明文密码支持,方便测试。要启用简单明文密码支持,请指定ENABLE_MEMCACHED_SASL_PWDB = 1
cmake选择。总之,添加以下三个cmake选项:
cmake……-DWITH_INNODB_MEMCACHED -DENABLE_MEMCACHED_SASL_PWDB = 1 = 1 -DENABLE_MEMCACHED_SASL = 1
安装
daemon_memcached
插件,如在第15.20.3节,“设置InnoDB memcached插件”.配置用户名和密码文件。(本例中使用memcached简单的明文密码支持。)
在文件中,创建一个名为
testname
并将密码定义为testpasswd
:“testname: testpasswd回响 :::::::" >/ /司法院/ memcached-sasl-db回家
配置
MEMCACHED_SASL_PWDB
要通知的环境变量memcached
用户名和密码文件:出口MEMCACHED_SASL_PWDB = / home /司法院/ memcached-sasl-db
通知
memcached
使用明文密码:> /home/ jy2 /work2/msasl/clients/memcache .conf export SASL_CONF_PATH=/home/jy/work2/msasl/clients .conf
启用SASL,使用memcached
- s
选项编码在daemon_memcached_option
配置参数:mysqld……——daemon_memcached_option = " s "
要测试设置,请使用启用sasl的客户机,例如SASL-enabled libmemcached.
Memcp——servers=localhost:11211——binary——username=testname——password=密码Myfile.txt——servers=localhost:11211——binary——username=testname——password=密码myfile.txt
如果指定了错误的用户名或密码,该操作将被拒绝
memcache错误鉴权失败
消息。在本例中,检查memcached-sasl-db
文件,以验证您提供的凭据是否正确。
还有其他方法可以测试SASL身份验证memcached,但是上面描述的方法是最简单的。