Redis默认没有密码,并且只能本机访问。使用redis-cli连上以后可以执行任意命令。如果要开放外网连接,则需要设置密码,同时禁用危险命令或者对危险命令进行改名。


1.设置密码
    ( 1 )打开Redis的配置文件,搜索关键字“ requirepass ”
    ( 2 )将“requirepass”这一行的注释去掉,这一行的“foobared”就是默认密码,可以改成自己的密码
    ( 3 )保存配置文件并重启Redis,可以发现redis-cli连上Redis以后无法正常使用了
    ( 4 )如要正常使用Red i s ,则需要在re dis-cl i 连接时加上一个“ - a ”参数
        redis - cli -a 密码
2.开放外网访问
    ( 1 )打开配置文件, 搜索“ bind ”找到配置网络的位置
    ( 2 )宦接把这一行注释,即可从外网访问Redis
    • 在redis-cli中,如果要访问外网的Redis,则需要指定地址和端口,格式如下:
        redis-cli -h Redis 地址 -p 端口 -a 密码
        例如:
            redis-cli -h 192.168.2.10 -p 3129 -a kingnameisgenius163
    • 在Python中,如果要访问外网的Redis,则需将代码修改为:
        import redis
        client = redis.Redis(host='192.163.2.10', port=3129, password='kingnameisgenius')


禁用危险命令:

    Redis中默认开启了一些非常高权限的命令。使用这些命令,轻则清空Redis,重则直接写入挖矿***甚至是SSH Key公钥,从而控制服务器。
    通过修改Redis的配置文件,可以对一些危险命令进行改名或者禁用,从而降低安全风险。

    ( 1 )打开Redis配置文件, 添加以下几行内容:
        rename-command CONFIG ""
        rename-command FLUSHDB sfjafjfaerawe
        rename-command FLUSHALL IWERDF
        rename-command PEXPIRE OKASETTW
        rename-command SHUTDOWN ""
        rename-command BGREWRITEAOF SEWERWEFSDF
        rename-command BGSAVE ASDFPEWE
        rename-command SAVE ASDFKLEWE
        rename-command DEBUG ""
    ( 2 )如果把命令重命名为空字符串,表示禁用这个命令。
    对于一些比较危险但可能会用到的命令,可以把它改名;对于一些特别危险的命令,可以禁用。