公网中Redis使用注意事项(Linux系统)

2 篇文章 0 订阅

公网环境中使用redis一定要注意安全,否则很容易被攻击。自己的一台服务器安装了redis,由于没有安全意识(没有设置密码)导致被攻击,服务器的CPU和内存资源几乎被消耗殆尽,印象深刻,在此记录一下相关解决方法,希望对你有所帮助
现场展示
通过ssh操作服务器,机器非常卡,到控制台查看云主机,如下图:
机器资源几乎耗尽
赶快top查看机器资源使用情况,如下图
进程使用机器资源信息
发现可疑进程pnscan,之所以可疑是因为通过top多次观察,该进程消耗资源总是排在前列。pnscan这是什么鬼?自己可以去科普,反正是个坏家伙!然后分析了下,感觉不妙,我的这台服务器前一天刚装了Redis,默认的端口也没有认证密码(之所以没有设置密码,是因为想到平时在公司用的Redis好像也有没设置密码的,也是Too Young,Too Simple,问题就出在这里,公司的人家是在内网!!有各种安全措施防护)
排查解决
查看Redis进程

ps -ef | grep redis

在这里插入图片描述
发现pnscan相关进程,全部kill,然后删除/usr/local/bin目录下的pnscan脚本。上图中会发现有进程在执行updata脚本,根据路径找到它
病毒攻击的核心脚本
比较了其它正常服务器上etc目录下的相关内容,均没有此脚本,并且有问题的这台机器,etc目录下多了很多未知的脚本
未知脚本
好奇心驱使,打开updata脚本看了看,疑惑全部解开,不管三七二十一,识别了问题,然后开始全面kill相关进程以及清除相关脚本和其他文件;另外,updata.sh/sysupdata.sh等这些脚本直接rm无法清除掉,因为这些文件都包含了i属性,使用指令lsattr 文件名可查看文件属性,如下

[root@JD etc]# lsattr updata.sh
----i----------- updata.sh

知道原因后就好办了,执行指令chattr -i 文件名,更改文件i属性,如下

[root@JD etc]# chattr -i updata.sh

然后即可删除文件

[root@JD etc]# rm -rf updata.sh

另外,根据updata.sh脚本,我们可以从中发现其它操作的相关信息,然后就该删除的删除,该恢复的的恢复,如在/var/spool/cron目录下创建了很多定时任务,那我们就挨个儿删除它!如下(admin/apache/nginx/nobody/redis/root/tomcat/user/web/www/www-data全是有问题的,删!)
蠕虫创建的定时任务
经过一通kill和rm操作,再次查看机器的CPU和内存使用情况,结果很舒服!控制台信息如下
控制台信息
top信息如下
机器负载恢复正常
Redis使用安全建议

  1. 安装之后更改默认端口
  2. 设置客户端连接密码
  3. bind如无需要可以设置白名单 多个IP空格隔开

关于pnscan的更深入的分析,请参考https://paper.seebug.org/605/

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值