Linux服务器就是采用Linux系统的网络服务器,我用的是小鸟云Linux服务器,用了很久一直都好好的,前几天突然遇到攻击,直接把CPU跑满很头大,后来咨询了技术,再结合自己在网上搜索到的信息,记录一下怎么获取攻击者的IP,然后封禁,来保护我们的云服务器。

如果攻击者攻击的是我们的web服务,默认是80端口,可以试下下面的代码,如果攻击的不是80端口的话,将下面的两个数字80改为你被攻击的端口即可。如果你需要显示多条记录,请自己手动将head -n20调大就行。

  1. netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20 | netstat -ant |awk
  2. '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A[i],i}' |sort -rn|head -n20

把请求过多的IP记录下来。
174.127.94.x
199.27.128.x
199.27.133.x

开始封禁IP,具体可以看我下面运行的命令。本文主要是采用iptables进行封禁,iptables使用方法请见:

  1. iptables -I INPUT -s 174.127.94.0/16 -j DROP
  2. iptables -I INPUT -s 199.27.128.0/16 -j DROP
  3. iptables -I INPUT -s 199.27.133.0/16 -j DROP
  4. iptables -I INPUT -s 193.1.0.0/8 -j DROP 【慎用封禁整个段】

运行上面这些命令之后我们已经完成封禁操作了,不过还得保存一下,如果不保存的话服务器重启系统之后上面设定的规则会消失。

  1. service iptables save

保存然后重启:

  1. service iptables restart

这一步建议多进行几次,发现异常IP用上面的办法封禁。如果出现误封可以参考下面这行解封命令进行解封。

  1. iptables -D INPUT -s 222.142.2.0/16 -j DROP

常用命令

封单个IP的命令是:

  1. iptables -I INPUT -s 11.11.11.11 -j DROP

封IP段的命令是:

  1. iptables -I INPUT -s 211.1.0.0/16 -j DROP
  2. iptables -I INPUT -s 211.2.0.0/16 -j DROP
  3. iptables -I INPUT -s 211.3.0.0/16 -j DROP

封整个B段的命令是:

  1. iptables -I INPUT -s 211.0.0.0/8 -j DROP

封几个段的命令是:

  1. iptables -I INPUT -s 61.37.80.0/24 -j DROP
  2. iptables -I INPUT -s 61.37.81.0/24 -j DROP

部分内容参考小鸟云文档:https://www.niaoyun.com/docs/15901.html/?utm_source=phpc-1115

更多相关文章

  1. 我命由我不由天!如何只让程序运行指定时间?
  2. Docker 常用命令梳理
  3. 只要一小时,零基础入门Docker
  4. MongoDB基础命令及操作 (仅学习)
  5. Linux的一些基础命令汇总,可以收藏一波!
  6. Linux 命令 su 和 sudo 的区别?
  7. MySQL 常用脚本
  8. 面试官常考的 21 条 Linux 命令
  9. PostgreSQL和PostGIS常用入门命令

随机推荐

  1. ASP.NET全栈开发之在MVC中使用服务端验证
  2. .net WINFORM的GDI双缓冲的实现方法_实用
  3. C++11多线程编程基础入门
  4. .Net Core配置与自动更新的实现方法_实用
  5. C#中.NET框架的简介
  6. Razor TagHelper实现Markdown转HTML的方
  7. C#开发之微信小程序发送模板消息功能
  8. 在.NET Core类库中使用EF Core迁移数据库
  9. C#对Word文档的创建、插入表格、设置样式
  10. Asp.NET控制文件上传的大小方法(超简单)_