您的云服务器(***.***.***.***)由于被检测到对外攻击,已阻断该服务器对其它服务器端口(TCP:6379)的访问,阻断预``计将在2020-04-26 23:09:51时间内结束,请及时

问题: (系统:CentOS 7.2 ) 前几天在阿里云服务器安装了Redis, 刚开始没有设置redis密码, 后台阿里云发送多次邮件提示如下:
您的云服务器(***.***.***.***)由于被检测到对外攻击,已阻断该服务器对其它服务器端口(TCP:6379)的访问,阻断预``计将在2020-04-26 23:09:51时间内结束,请及时
尊敬的 *****科技:

您的云服务器(***.***.***.***)由于被检测到对外攻击,已阻断该服务器对其它服务器端口(TCP:6379)的访问,阻断预``计将在2020-04-26 23:09:51时间内结束,请及时进行安全自查。若有疑``问,请工单或电话联系阿里云售后,感谢``您对阿里云的支持。

阿里云计算有限公司


经过几次波折才发现并彻底解决了问题:

原因: 估计是因为 Redis服务开启时没有设置密码 ,被外界攻击了。

解决:

  • 给redis绑定局域网IP地址,设置密码,更换默认端口,具体命令如下:
    1、查看redis进程:ps -ef|grep redis
    2、查找redis配置文件:find / -name 'redis.conf'
    3、进入6379端口对应的redis目录,修改redis.conf配置文件:vi redis.conf
    4、将 redis.conf 中的 bind 127.0.0.1 修改为需要访问此数据库的IP地址,如:局域网IP
    5、修改 port 对应的 6379 端口号为(任意端口,只要不是6379),如:省略
    6、设置访问密码。在 redis.conf 中 requirepass 字段后,设置添加访问密码
    7、修改 Redis 服务运行账号。以较低权限账号运行 redis 服务,且禁用该账号的登录权限
    8、wq 保存配置文件,重启redis服务
    9、修改各个服务调用 redis 的端口和密码配置

  • 当时以为操作完以上步骤,没问题了。第二天又收到邮件提示了。然后有了接下来的操作

  • 敲 top命令 回车后,发现下图:
    您的云服务器(***.***.***.***)由于被检测到对外攻击,已阻断该服务器对其它服务器端口(TCP:6379)的访问,阻断预``计将在2020-04-26 23:09:51时间内结束,请及时
    其中 VIRT 含义是虚拟内存 , 仔细观察发现,pnscan进程不太正常,占用的虚拟内存太大。
    然后,百度搜索pnscan,发现,原来是个木马:您的云服务器(***.***.***.***)由于被检测到对外攻击,已阻断该服务器对其它服务器端口(TCP:6379)的访问,阻断预``计将在2020-04-26 23:09:51时间内结束,请及时
    很明显已经不是Redis的问题,然后就 kill -9 22998 掉进程,当时为了安全,我直接找到进程对应的文件 ps aux|grep pnscan ,删掉文件。

OK!解决了

如果以上都不行,重启 redis 服务器