首页 » Linux » CentOS » Memcached安装配置与SASL鉴权

Memcached安装配置与SASL鉴权

 

Memcached 是一个高性能的分布式内存缓存系统,主要用于加速动态Web应用(如数据库查询结果、API调用结果等)的响应速度,与Redis类似,默认情况下都不启用鉴权措施,只要网络可达即可访问,但Redis可以通过修改配置文件requirepass参数快速配置密码认证,而Memcached默认无鉴权配置,需要通过SASL来实现鉴权。

1、Memcached安装

我这里基于RockyLinux8.x系统,通过默认的yum源来安装memcached(当前版本为1.5.22),除此之外你也可以自行选择编译安装。

2、配置文件讲解

安装成功后,默认的memcached配置文件在/etc/sysconfig/memcached

PORT="11211",指定memcached监听的端口,默认是11211。
USER="memcached",指定memcached服务运行的用户,默认为memcached。
MAXCONN="1024",最大同时连接数,默认值为1024。
CACHESIZE="64",设置memcached使用的内存大小,默认是64MB。
OPTIONS="-l 127.0.0.1,::1",其他选项,默认是指定监听的IP地址,默认监听IPv4和IPv6的回环地址,除此之外也可以设置-S(SASL认证)、-v(详细输出)、-vv(更详细的输出)等。如不需要UDP,可以设置成OPTIONS="-U 0"。

3、启动服务

4、SASL鉴权认证配置

默认情况下,建议仅监听本机,特殊情况下,一定要暴露出去的,可通过设置防火墙白名单策略以及SASL鉴权认证,我这里重点来说下SASL鉴权认证配置方法。

首先查看当前memcached是否支持SASL,检查动态库依赖,如果输出中包含libsasl2库,则支持SASL。

注:如果你的memcached是编译的,则在编译时候需要增加--enable-sasl参数。

5、安装SASL管理工具

6、创建SASL配置文件

配置项含义是,SASL使用的认证机制为plain(明文认证),SASL日志级别为5,指定SASL用户数据文件。

7、为memcached服务创建SASL用户密码

注1:执行后会提示你输入密码(两次确认),密码会被加密存储在SASL的密码数据库中(/etc/sasldb2),创建的用户可用于Memcached的SASL认证。

注2:saslpasswd2是SASL密码设置工具,通过-a指定memcached服务名称,-c创建用户,我这里使用的用户名是mem。

8、查看用户是否创建成功

9、配置文件权限

10、配置Memcached启用SASL认证

注:OPTIONS设置为-S就表示开启SASL鉴权认证。

11、重启memcached

12、测试验证

我这里通过一段python代码进行验证,当前python版本为3.6.8,pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6),如果python版本不同,有可能导致以下python代码报错,请自行调整修改,此处不做过多说明。

安装pip3及bmemcached包

创建py文件并运行以下python3代码

注:我这里的用户是mem,密码为whsir。

执行python3 test.py,正常将返回以下内容

如果密码错误将会返回以下内容

 

原文链接:Memcached安装配置与SASL鉴权,转载请注明来源!

0