设为首页 收藏本站
查看: 855|回复: 0

[经验分享] Redis安全规范----check list

[复制链接]

尚未签到

发表于 2018-11-3 13:53:19 | 显示全部楼层 |阅读模式
  Redis安全规范—-check list.
  1.信任的内网运行,尽量避免有公网访问
在/etc/redis/redis.conf中配置如下:  
bind 127.0.0.1
  2.绑定redis监听的网络接口
  如果服务器有多个IP,可限定redis server监听的IP,通过redis配置项bind,可同时绑定多个IP
  3.设置防火墙
  如果需要其他机器访问,或者设置了slave模式,那就记得加上相应的防火墙设置,命令如下:
iptables -A INPUT -s x.x.x.x -p tcp --dport 6379 -j ACCEPT  4.禁止root用户启动redis
  设置一个单独的redis账户很有必要,redis crackit就利用到了root用户的特性来重置authorized_keys。首先创建一个redis账户,然后通过该账户启动。
setsid sudo -u redis /usr/bin/redis-server /etc/redis/redis.conf  启动之后应该如下:
root@kali:~# ps -elf|grep redis  
1 S redis    14720     1  0  80   0 -  8979 -      08:40 ?        00:00:00 /usr/bin/redis-server /etc/redis/redis.conf` `
  5.限制redis文件目录访问权限
  设置redis的主目录权限为700,如果redis配置文件独立于redis主目录,权限修过为600,因为redis密码明文存储在配置文件中.
  6.避免使用熟知的端口,降低被初级扫描的风险
在/etc/redis/redis.conf中配置如下找到port 6379这行,把6379改为8888  7.开启redis密码认证,并设置高复杂度密码
  redis在redis.conf配置文件中,设置配置项requirepass, 开户密码认证。
  redis因查询效率高,auth这种命令每秒能处理10w次以上,简单的redis的密码极容易为***者暴破。
root@kali:~# redis-cli -h 192.168.10.2  
redis 192.168.10.2:6379> keys *
  
(error) ERR operation not permitted
  
redis 192.168.10.2:6379> auth @nsF0cus!@#
  
OK
root@kali:~# echo -e "xxlegend"|sha256sum  
b59869cac63a67e7ee97e6923a75811ff58bd4936ed3be3480b46145d43ae335`
  8.禁用或者重命名危险命令
  这个漏洞就利用config/save两个命令完成*** 。 因redis无用户权限限制,建议危险的命令,使用rename配置项进行禁用或重命名,这样外部不了解重命名规则***者,就不能执行这类命令。涉及到的命令:
FLUSHDB, FLUSHALL, KEYS, PEXPIRE, DEL, CONFIG, SHUTDOWN, BGREWRITEAOF, BGSAVE, SAVE, SPOP, SREM, RENAME, DEBUG, EVAL`  以下示例:redis.config文件禁用FLUSHDB、FLUSHALL两个命令;重命名CONFIG、SHUTDOWN命令,添加一个特殊的后缀。 这样redis启动后,只能运行CONFIG_b9fc8327c4dee7命令,不能执行CONFIG命令。
rename-command CONFIG CONFIG_b9fc8327c4dee7  
rename-command SHUTDOWN SHUTDOWN_b9fc8327c4dee7
  
rename-command FLUSHDB “”
  
rename-command FLUSHALL “”
  上述配置将config,flushdb,flushall设置为了空,即禁用该命令,我们也可以命名为一些***者难以猜测,我们自己却容易记住的的名字。保存之后,执行/etc/init.d/redis-server restart 重启生效。
  9.禁止redis中存储敏感的明文数据
  Redis设计旨在提供高性能的KV服务,至少目前在权限访问控制和数据持久化方面比较弱化。所以禁止在Redis中存储或缓存敏感的明文数据
  10.安全监控
  建立蜜罐网络,有***尝试时,可及时发现
  监控redis安全状态,cmdstat_auth cmdstat_flushdb/flushall监控报警
  题外话:
  redis cluster不支持密码问题
  redis 原生cluster模式最新3.2版本都不支持开启密码认证,导致内网使用只能无密码,只能通过前面其他安全设置来保证内网redis cluster的安全性
  针对之前redis版本,默认无bind和密码设置存在很大安全风险,redis 3.2版本提出新特性protected mode,如果redis在启动时,未开启bind和密码设置,只能通过本地回环地址本地访问,如果尝试远程访问redis,会提示一下信息:
  DENIED Redis is running protected mode because protected mode is enabled,
  no bind address was specified, no authentication password is requested to clients.
  In this mode connections are only accepted from the loopback interface.
  当然也可直接执行CONFIG SET protected mode no关闭保护模式



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-630299-1-1.html 上篇帖子: C# servicestack.redis 互通 java jedis-13003670 下篇帖子: Redis数据库管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表