背景:之前一直不重视安全组配置,直到昨天redis不能用了,查看日志,怀疑可能是服务器被挖矿攻击
Failed opening the RDB file web (in server root dir /etc/cron.d) for saving: Permission denied
12281:M 14 Jun 2021 23:21:29.141 # Background saving error
12281:M 14 Jun 2021 23:21:35.054 * 1 changes in 900 seconds. Saving...
12281:M 14 Jun 2021 23:21:35.055 * Background saving started by pid 13011
所以才想起来通过配置安全组,让redis只能通过内网ip访问,这样能防止攻击。
找到aliyun
ECS服务器->安全组->找到对应的安全组->配置规则
步骤一:
查看之前设置的安全组:发现是允许所有ip访问
步骤二:
将访问该redis服务器的其他服务器的内网ip一次添加到规则中(注意添加安全组规则的时候,授权对象可以通过","隔开,确定之后,会自动生成多条规则,但是如果修改,每次只能授权一个)
步骤三:
配置完成之后,验证一下,是否生效
在需要访问的服务器执行命令行:
redis-cli -h 172.1.1.3 -p 6379 -a "******"
如果能够正常访问代表ok了,
如果发现
Could not connect to Redis at 172.17.18.63:6379: No route to host
则证明不在白名单中
PS:对于同账号&同安全组下的ECS,不需要配置也可以正常相互访问
但是如果是同账号&不同安全组的ECS,就需要配置内网IP