最近个人一台Linux服务器因为被黑,在做了ssh证书登录的情况下一直找不到原因,后来发现是redis服务没有做到安全相关的设置,并开放了较大的权限造成的,这里总结下Redis 安全基线的加固。
1.网络层加固
指定 Redis 服务使用的网卡
默认情况下,Redis 监听 127.0.0.1。如果仅仅是本地通信,请确保监听在本地。
这种方式可以在一定程度上缓解 Redis 未授权访问的风险(例外情况下,如果 Redis 以 root 用户运行,攻击者借助已有的 webshell,就可以利用该 Redis 来反弹 shell 以实现提权)。
在 redis.conf 文件中找到 # bind 127.0.0.1,将前面的 # 去掉,然后保存。
2.账号与认证
在 redis.conf 中找到 requirepass 字段,去掉其注释,并在后面填上需要的密码。Redis 客户端也需要使用此密码来访问 Redis 服务。
打开 /etc/redis/redis.conf 配置文件:
3.服务运行权限最小化
请以较低权限账号运行 Redis 服务,并禁用该账号的登录权限。以下操作创建了一个无 home 目录权限,且无法登录的普通账号:
4.服务精细化授权
精细化控制命令,去除不需要的命令。
rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command CONFIG ""
rename-command KEYS ""
rename-command SHUTDOWN ""
rename-command DEL ""
rename-command EVAL ""
本文为Lokie.Wang原创文章,转载无需和我联系,但请注明来自lokie博客http://lokie.wang