10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册摘录

MySQL 8.0参考手册/.../ InnoDB memcached Plugin的安全注意事项

15.20.5 InnoDB memcached Plugin安全注意事项

谨慎

在部署之前请参阅本节daemon_memcached如果MySQL实例包含敏感数据,甚至可以在测试服务器上使用。

因为memcached默认情况下不使用身份验证机制,而且可选的SASL身份验证不像传统DBMS安全措施那样强大,只在使用daemon_memcached插件,并隔离任何使用此配置的服务器从潜在的入侵者。不允许memcached从互联网访问这些服务器;只允许从有防火墙的内部网进行访问,最好是从可以限制其成员的子网进行访问。

密码保护memcached使用SASL

SASL支持提供了保护MySQL数据库免受未经身份验证的访问的能力memcached客户。本节介绍如何使用daemon_memcached插件。这些步骤几乎与启用传统SASL时所执行的步骤相同memcached服务器。

SASL代表简单认证和安全层,为基于连接的协议添加身份验证支持的标准。memcached在1.4.3版本中增加了SASL支持。

SASL身份验证仅支持二进制协议。

memcached客户端只能访问InnoDB控件中注册的表innodb_memcache.containers表格即使DBA可以对这些表设置访问限制,也可以通过访问memcached应用程序无法被控制。因此,提供了SASL支持来控制访问InnoDBdaemon_memcached插件。

下一节将展示如何构建、启用和测试启用sasl的daemon_memcached插件。

使用InnoDB memcached Plugin构建和启用SASL

缺省情况下,启用sasldaemon_memcachedMySQL plugin没有包含在MySQL的发布包中,因为它启用了sasldaemon_memcached插件要求建立memcachedSASL库。要启用SASL支持,请下载MySQL源代码并重新构建daemon_memcached插件下载后的SASL库:

  1. 安装SASL开发和实用程序库。例如,在Ubuntu上,使用apt-get要获取这些库:

    Sudo apt-get -f install libsasl2-2 sasl2-bin libsasl2-2 libsasl2-dev libsasl2-modules
  2. 构建daemon_memcached插件提供SASL功能的共享库ENABLE_MEMCACHED_SASL = 1到你的cmake选项。memcached还提供了简单的明文密码支持,方便测试。要启用简单明文密码支持,请指定ENABLE_MEMCACHED_SASL_PWDB = 1cmake选择。

    总之,添加以下三个cmake选项:

    cmake……-DWITH_INNODB_MEMCACHED -DENABLE_MEMCACHED_SASL_PWDB = 1 = 1 -DENABLE_MEMCACHED_SASL = 1
  3. 安装daemon_memcached插件,如在第15.20.3节,“设置InnoDB memcached插件”

  4. 配置用户名和密码文件。(本例中使用memcached简单的明文密码支持。)

    1. 在文件中,创建一个名为testname并将密码定义为testpasswd

      “testname: testpasswd回响 :::::::" >/ /司法院/ memcached-sasl-db回家
    2. 配置MEMCACHED_SASL_PWDB要通知的环境变量memcached用户名和密码文件:

      出口MEMCACHED_SASL_PWDB = / home /司法院/ memcached-sasl-db
    3. 通知memcached使用明文密码:

      > /home/ jy2 /work2/msasl/clients/memcache .conf export SASL_CONF_PATH=/home/jy/work2/msasl/clients .conf
  5. 启用SASL,使用memcached- s选项编码在daemon_memcached_option配置参数:

    mysqld……——daemon_memcached_option = " s "
  6. 要测试设置,请使用启用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,但是上面描述的方法是最简单的。