redis 被攻击防护

问题:

redis被恶意插入a ;ping -c 3 79a4104f-a845-444c-b969-4405ac87d871.scan.heibaidiguo.cn;

原因:

redis没有设置密码,且允许任何ip访问。攻击者无需认证访问到内部数据,进行读写,攻击者可以成功地将自己的ssh公钥写入到目标服务器的 /root/.ssh文件夹下的authotrized_keys文件中。

措施:

1、修改redis.conf文件内容  路径:usr/local/redis/etc/redis.conf

禁用远程修改DB文件地址命令:

rename-commond ""

      rename-commond CONFIG ""

rename-command EVAL ""

为Redis添加密码验证:

requirepass mypassword

禁止外网访问 Redis:

bind 127.0.0.1

2、服务器命令

低权限运行Redis服务

为Redis服务创建单独的user和home目录,并且配置禁止登陆

groupadd -r redis && useradd -r -g redis redis

保证authorized_keys文件的安全

为了保证安全,您应该阻止其他用户添加新的公钥。将authorized_keys的权限设置为对拥有者只读,其他用户没有任何权限

chmod 400 ~/.ssh/authorized_keys

为保证authorized_keys的权限不会被改掉,您还需要设置该文件的immutable位权限

chattr +i ~/.ssh/authorized_keys

用户还可以重命名~/.ssh,然后新建新的~/.ssh目录和authorized_keys文件。要避免这种情况,需要设置~./ssh的immutable

位权限

chattr +i ~/.ssh

如果需要添加新的公钥,需要移除authorized_keys的 immutable 位权限。然后,添加好新的公钥之后,按照上述步骤重新

加上immutable位权限

//只允许127.0.0.1访问6379    iptables -A INPUT -s 127.0.0.1 -p tcp --dport 6379 -j ACCEPT    //其他ip访问全部拒绝    iptables -A INPUT -p TCP --dport 6379 -j REJECT

参考链接:https://yq.aliyun.com/articles/646730?spm=a2c4e.11153940.0.0.34f2653cYBa8Fn

你可能感兴趣的:(redis 被攻击防护)