本加固文档适用于Redis数据库。明确了Redis数据库安全配置方面的基本要求。
1.1 修改默认监听端口
操作目的 | 修改为非常见的端口,降低安全隐患 |
检查方法 | ps -aux | grep redis |
加固方法 | 在/etc/redis/redis.conf中配置如下 port 6311 |
记录 |
|
备注 | 可修改为任意其他非常见端口 |
1.2 设置防火墙
操作目的 | 禁止Redis对公网开放,降低风险 |
检查方法 | redis默认配置没有开放对外监听,建议如果业务需要对外开放监听(0.0.0.0),可以配合iptables限制固定IP访问。 |
加固方法 | iptables -A INPUT -s x.x.x.x -p tcp --dport 6379 -j ACCEPT
|
记录 |
|
备注 |
|
操作目的 | redis默认没有开启用户认证,存在严重的安全隐患 |
检查方法 | cat /etc/redis/redis.conf| grep '^requirepass' 没有输出结果的话证明没开启用户认证 |
加固方法 | vi /etc/redis/redis.conf requirepass ea17e95448023c1d4d1af9b7c2715b3e |
记录 |
|
备注 | redis的运行速度极快,一秒能跑十多万个密码,一般的密码用处都不大,redis没有做频率和次数限制,所以一定得保证足够的密码复杂度, 随机密码生成方法
|
操作目的 | 创建一个低权限用户运行redis |
检查方法 | ps -elf | grep redis
|
加固方法 | setsid sudo -u redis /usr/bin/redis-server /etc/redis/redis.conf |
记录 |
|
备注 |
|
操作目的 | redis默认存在一些危险命令,攻击者可以利用该命令写入文件,存在安全隐患。 |
检查方法 | cat /etc/redis/redis.conf | grep '^rename-command'
输出为空则说明没有重命名相关命令 |
加固方法 | vim /etc/redis/redis.conf rename-command CONFIG "" |
记录 |
|
备注 | 相关命令包括但不限于FLUSHDB, FLUSHALL, KEYS, PEXPIRE, DEL, CONFIG, SHUTDOWN, BGREWRITEAOF, BGSAVE, SAVE, SPOP, SREM, RENAME, DEBUG, EVAL |