美文网首页大数据开发
大数据开发:Redis安全配置策略

大数据开发:Redis安全配置策略

作者: 成都加米谷大数据 | 来源:发表于2021-06-21 18:02 被阅读0次

    在大数据处理任务当中,涉及到数据管理的操作时,数据安全是非常重要的一个指标。以Redis组件来说,基于内存存储,带来了性能优势,同时也带来了安全方面的挑战。今天的大数据开发学习分享,我们就来讲讲Redis安全配置策略方面的问题。

    一、Redis运行环境安全

    Redis最小操作权限

    ◐修改Redis服务的运行账号,以较低权限账号运行Redis服务,限制Redis服务运维人员修改操作系统的其他敏感文件。

    ◐为保护Redis服务相关文件,避免任意登录服务器人员操作Redis服务资源文件,建议设置Redis主目录运行权限为700(文件所有者可读可写可运行),配置文件单独为600(文件所有者可读可写不能执行)。

    隐藏操作记录中的敏感信息

    ◐操作系统可通过ps命令或history命令显示用户输入过的操作命令,如果运维人员通过Redis-cli指定-a参数,Redis服务密码会被操作系统记录,攻击者登录后可获取Redis服务的登录密码。

    【解决方案】:尽量通过API访问的方式请求Redis服务。

    配置Redis运行环境防火墙策略

    ◐设置Redis服务所在环境的防火墙策略,只允许特定的IP地址访问Redis服务。如果Redis服务有代理层,则也应对代理层所在环境设置防火墙策略。

    例如:对于Redhat7操作系统,可以使用命令将ip加入白名单:firewall-cmd--permanent--add-rich-rule="rule family="ipv4"source address="白名单IP"accept"再使用firewall-cmd–reload重新加载防火墙。

    二、Redis客户端安全

    禁用危险命令

    ◐Redis服务无命令权限分组,任意用户登录Redis服务后可执行任意命令,如flush清空数据库数据、config修改redis配置等。

    【解决方案】:修改redis.conf对重要命令进行隐藏,使其不能被随意执行。包括不限于flushdb,flushall,pexpire,del,config,shutdown,bgsave,save,stop,srm,rename,debug,eval,grewriteaof等。

    慎用影响Redis服务性能的命令

    ◐keys命令能获取当前Redis服务中的所有key值信息,连续的keys命令可能令Redis阻塞,导致Redis服务宕机,形成服务拒绝攻击,使用keys命令应谨慎!

    【解决方案】:使用scan命令,SCAN cursor{match pattern}{Count}

    三、Redis开发安全

    设置数据失效时间

    ◐向Redis存入缓存、验证码等数据时,如果忘记配置key的过期时间,则随着数据增长,可能会出现内存溢出的现象。

    【解决方案】:对有必要的key设置失效时间和失效策略。

    慎用不设置范围的批量操作

    ◐Redis是单线程运行的,当取数操作不设置取数范围时,会导致数据量过大而引起引起Redis阻塞,出现服务拒绝攻击。例如使用hgetall命令,会取出相关hash的所有数据,在此期间会阻塞Redis服务,导致大量的客户端请求超时,引起服务拒绝攻击。

    【解决方案】:对于批量操作,考虑是否一定得一次性取出所有数据,可否分批次处理。

    敏感数据存储前加密

    ◐由于Redis没有数据隔离,所有连接到Redis服务的客户端均可互相读取数据,故建议对存储到Redis的数据进行加密,限制Redis服务运维人员或攻击者登录Redis服务获取到敏感数据。

    【解决方案】:在存储数据前,对数据进行加密,再将数据存储到Redis中。

    关于大数据开发学习,Redis安全配置策略,以上从三个大的方面为大家做了解读,而具体到各个层面,还需要具体结合到场景和应用需求,去选择相应的措施。

    相关文章

      网友评论

        本文标题:大数据开发:Redis安全配置策略

        本文链接:https://www.haomeiwen.com/subject/wszyyltx.html