工作中的一次linux防范ddos攻击

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

     在上班路上,看到手机短信里面发送报警信息,一台服务器凌晨4点下线了.匆忙到工位,检查机器果然下线了,报告老板,然后联系机房.大概十分钟后机房回复,机器受到攻击,机房切断了Ip.

   机器用电信联通双网络,既然电信ip被封,那就用联通的ip进入机器.

要素一:机器的硬件信息以及Ip信息平时一定要保管好.免得有问题了还要去问机房,白白浪费很多时间.

进入机器后top等发现机器硬件性能ok,再用iptraf,流量也不高(当然不高,主ip都被切了).

机器跑的是网站业务,所以要找问题,去日志文件里面找访问量最高的ip即可.

要素二:找到日志文件找到攻击ip

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@localhost logs] # awk '{print $1}' xxx.xxx.com.access.log-20160616| sort | uniq -c | sort -n -k 1 -r | head -n 20
   91653 106.185.53.124
   59492 113.116.56.80
   56556 106.186.18.224
   48629 106.187.45.172
   26962 103.61.136.93
   22825 191.101.1.49
   21068 103.61.136.168
    8947 207.46.13.2
    7508 157.55.39.95
    6392 40.77.167.49
    3673 62.210.247.93
    2827 46.4.94.226
    2670 207.46.13.1
    2576 58.60.220.128
    2402 61.143.205.246
    2035 157.55.39.80
    2029 45.33.44.22
    1953 157.55.39.105
    1872 157.55.39.242
    1862 183.8.3.47

这是我第一次想到的命令,其实在网站访问日志里面应该过滤掉各种蜘蛛爬虫才对,封错了,老板会跟你急眼.所以,正确的命令应该是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@localhost logs] # cat xxx.xxx.com.access.log-20160616|grep -i -v -E "bing|baidu|google|sougou"|awk '{print $1}'|sort | uniq -c | sort -n -k 1 -r | head -n 20
   91653 106.185.53.124
   59492 113.116.56.80
   56556 106.186.18.224
   48629 106.187.45.172
   26962 103.61.136.93
   22825 191.101.1.49
   21068 103.61.136.168
    3661 62.210.247.93
    2814 46.4.94.226
    2576 58.60.220.128
    2402 61.143.205.246
    2029 45.33.44.22
    1862 183.8.3.47
    1300 103.61.136.164
    1066 218.6.71.194
     880 14.125.142.195
     683 61.158.163.117
     682 61.158.180.226
     680 218.29.54.198
     678 118.212.147.71

把前几个ip查询,都是日本,台湾,德国.再配合访问日志,得知是cc攻击.

先把这几个Ip用iptables封掉.输入封杀内容,重启iptables.

1
2
3
[root@localhost logs] # vim /etc/sysconfig/iptables
-A INPUT -s 106.185.53.124  -p tcp -m state --state NEW -j DROP
[root@localhost logs] # service iptables restart

使用iptables查看就可以看到,很多流量包被丢弃;

1
2
3
4
5
6
7
8
[root@localhost logs] # iptables -nvL
Chain INPUT (policy ACCEPT 4045K packets, 604M bytes)
  pkts bytes target     prot opt  in      out      source                destination         
     0     0 DROP       tcp  --  *      *       103.61.136.167       0.0.0.0 /0            state NEW 
  382K   18M DROP       tcp  --  *      *       106.186.18.85        0.0.0.0 /0            state NEW 
    97  4920 DROP       tcp  --  *      *       183.8.3.47           0.0.0.0 /0            state NEW 
  380K   18M DROP       tcp  --  *      *       106.187.45.172       0.0.0.0 /0            state NEW 
   300 15204 DROP       tcp  --  *      *       46.4.94.226          0.0.0.0 /0            state NEW

这个时候机房那边也解封了电信Ip.观察一段时间,流量正常.


事后,研究写过脚本,把访问量异常的ip获取然后放在一个文件里面,使用iptbales封杀.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@localhost logs] # cat /sbin/cc.sh 
#!/bin/sh
LOG_FILE= /usr/local/nginx/logs/xxx .xxx.com.access.log    #访问日志
IP_FILE= /etc/black        #存放需要禁止的ip文件
NUMBER=2000               #非法访问量的值
wan0=eth0                 #网卡
BACKIP=` cat  $IP_FILE`    #每次操作先清空之前的ip
` cat  /dev/null  > $IP_FILE`
Denyip=` cat  $LOG_FILE| grep  -i - v  -E  "bing|baidu|google|sougou" | awk  '{print $1}' | sort  uniq  -c |  sort  -n -k 1 -r |  head  -n 1000000| awk  '{if($1>' $NUMBER ')print $2}' `
echo  $Denyip > $IP_FILE
if  "$BACKIP"  !=  ""  ]; then
         for  in  $BACKIP
         do
                 echo  $X ---deny
                 iptables -A INPUT -i $wan0 -s $X -p all -j DROP
         done
fi

清空规则很简单,因为没有把规则保存,所以只要用

1
[root@localhost logs] # service iptables restart

就可以把iptbales规则恢复.




本文转自 yawei555 51CTO博客,原文链接:http://blog.51cto.com/huwei555/1790184,如需转载请自行联系原作者

相关文章
|
2月前
|
运维 安全 网络安全
DDoS攻击升级,解读防御DDoS攻击的几大有效方法
DDoS攻击升级,解读防御DDoS攻击的几大有效方法
81 0
|
1月前
|
弹性计算 负载均衡 监控
防御DDoS攻击:策略与技术深度解析
【6月更文挑战第12天】本文深入探讨了防御DDoS攻击的策略和技术。DDoS攻击通过僵尸网络耗尽目标系统资源,特点是分布式、高流量和隐蔽性。防御策略包括监控预警、流量清洗、负载均衡、弹性伸缩及灾备恢复。技术手段涉及IP信誉系统、深度包检测、行为分析、流量镜像与回放及云防护服务。综合运用这些方法能有效提升抗DDoS攻击能力,保障网络安全。
|
5天前
|
弹性计算 负载均衡 网络协议
在缓解DDoS攻击方面,如何优化业务架构?
**缓解DDoS攻击的策略:** 1. 缩小暴露面,隔离业务并隐藏非必需服务端口。 2. 使用VPC以增强内网安全。 3. 优化业务架构,进行压力测试,部署弹性伸缩和负载均衡。 4. 优化DNS解析,智能解析并屏蔽异常DNS响应。 5. 提供充足带宽以防攻击时影响正常流量。 6. 服务器安全加固,更新补丁,限制服务和端口,使用防火墙。 7. 建立应急响应预案,定期演练。 8. 考虑采用Web应用防火墙和专业DDoS防护服务。
135 17
|
2天前
|
Cloud Native 安全 网络协议
有没有一些开源的工具可以帮助我抵御DDoS攻击?
开源DDoS防护工具包括: 1. ExaBGP:多功能BGP工具,用于流量保护。 2. DDoS-Ripper:DDoS攻击服务器,产生大量流量。 3. mCaptcha:无感知验证码,防御垃圾信息和DDoS。 4. Gatekeeper:首个开源DDoS防护系统。 5. Curiefense:统一的云原生应用保护平台,内置DDoS防护。 6. XDP-Firewall:利用Linux XDP快速阻断恶意流量的防火墙。
|
18天前
|
负载均衡 监控 网络协议
高防服务器如何处理DDoS攻击?关于高防服务器的一些技术细节
DDoS攻击是网络威胁,通过大量请求淹没服务器。防御措施包括:备份网站以备切换,拦截异常HTTP请求,增加带宽抵御流量攻击,使用CDN分发内容并隐藏源IP。防御策略涉及流量清洗、黑洞路由、负载均衡等。硬件如防火墙、IDS/IPS也重要,云服务提供自动防护和弹性扩容。
|
25天前
|
弹性计算 负载均衡 监控
DDoS 攻击与防御技术
DDOS攻击一直是互联网通讯的一大诟病,它跟互联网通讯方式相互依存,下面介绍一些关于防ddos攻击的方案和想法。
160 4
|
2天前
|
网络协议 网络安全
有哪些常见的DDoS攻击类型?
DDoS攻击可分为三类:网络层(ICMP Flood, ARP Flood, IP分片)、传输层(SYN Flood, ACK Flood, UDP Flood)和应用层(DNS Flood, HTTP Flood, CC攻击),目标是消耗带宽、资源或使服务不可用。
|
11天前
|
安全 网络安全
安全----DDOS攻击解析,预防DDOS攻击的反击时ip封禁
安全----DDOS攻击解析,预防DDOS攻击的反击时ip封禁
|
1月前
|
安全 网络安全 调度
游戏行业如何做好安全,避免DDOS攻击
随着网络游戏行业的迅速发展,网络游戏问题也不可忽视,特别是目前网络攻击频发,DDoS攻击的简单化以及普及化,对游戏来说存在非常大的安全威胁。
|
19天前
|
Shell 网络安全 Apache
详细解读DDOS攻击应用
详细解读DDOS攻击应用
11 0