zoukankan      html  css  js  c++  java
  • Redis安全

    安全


    执行在可信环境

    Redis的安全设计是在"Redis执行在可信环境"这个前提下做出的。在生产环境执行时不能同意外界直接连接到Redisserver上。而应该通过应用程序进行中转,执行在可信的环境中是保证Redis安全的最重要方法。

    Redis的默认配置会接受来自不论什么地址发送来的请求,即在不论什么一个拥有公网IP的server上启动Redisserver,都能够被外界直接訪问到。要更改这一设置,在配置文件里改动bind參数,如仅仅同意本机应用连接Redis,能够将bind參数改成:

    bind 127.0.0.1
    为Redis设置password

    为redis设置password的方法

    • 在redis.conf中进行配置

      requirepass hellocarl
    • 通过命令行进行社设置

      redis> CONFIG set requirepass "hellocarl"

    若为redis设置了password,则client每次连接到Redis时都须要发送password,否则Redis会拒绝运行client发来的命令

    redis>GET foo
    (error) ERR operation not permitted
    redis>AUTH hellocarl    # 验证password须要使用**AUTH**命令
    OK
    redis>GET foo  # 如今能够运行命令了
    "1"

    因为Redis的性能极高,而且输入错误password后Redis并不会进行主动延迟(考虑到Redis的单线程模型),所以攻击者可以通过穷举法破解Redis的password(1秒内可以尝试十几万个password),因此在设置时一定要选择复杂的password。

    提示

    配置Redis复制的时候假设主数据库设置了password,须要在从数据库的配置文件里通过masterauth參数设置主数据库的password,以使从数据库连接主数据库时自己主动使用AUTH命令认证。

    命令重命名

    在配置文件里进行设置

    rename-command FLUSHALL oyfekmjvmwxq5a9c8usofuo369x0it2k   # 重命名FLUSHALL命令
    rename-command FLUSHALL ""  # 禁用FLUSHALL命令

    注意: 不管设置password还是重命名命令,都须要保证配置文件的安全性。否则就没有不论什么意义了。


    假设发现错误,请轻拍,欢迎留言交流。谢谢

  • 相关阅读:
    四则运算1
    四则运算3
    数组1
    四则运算单元测试
    四则运算2
    数组3
    数组2
    spring aop对service层日志和异常的处理
    Linux设置开机启动
    数据仓库开发——Kettle使用示例
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5236142.html
Copyright © 2011-2022 走看看