阿里云监控检测到服务器cpu,内存,网络异常
一、进入系统查看异常
mpstat -P ALL 2 #查看所有cpu状态2秒刷新
vmstat -a -w -S M 2 #查看内存状态2秒刷新
top #查看cpu进程
top 命令后在按c可显示进程在执行什么
top命令后按M按内存大小排序
netstat -alpnt #查看端口连接状态
发现有问题的服务
停止服务后cpu正常内存下降,端口连接状态中会出现大量的close_wait状态连接,重启服务后这些连接恢复ESTABLISED状态,可判断攻击IP。
二、阻断IP
阿里云上的安全组添加规则,我在入方向和出方向都加入了阻断
在nginx配置中加入deny ip阻止访问
cd /etc/nginx/conf.d/
vi agent_deny.conf
deny x.0.0.0/8;
deny y.0.0.0/8;
保存
vi /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf; #在http{}中添加
保存
cd /usr/sbin
./nginx -t #检查配置文件有没有问题
./nginx -s reload #生效配置文件
以为这样就没有事了,cpu,内存,网络恢复正常,第二天一看每隔一小时cpu就占用高一次,图片显示的cpu低,但实际都在90%以上
三、查看计划任务
这么有规律,肯定在执行计划任务了
crontab -e
发现其中计划任务的执行时间和cpu图一致的,注释掉该计划任务,我也不确定是不是真的是有问题的先不删,找到任务中的执行文件取消掉写和执行的权限,然后正常了。
我又以为没事了,人家又换个IP段又攻击了,接着阻止IP。别的方法还不会,只能先临时阻止了。