ddos 防御 - TCP 网络层防御

cron_ddos_tcp.sh

1#!/bin/sh
  2
  3
  4 for kip in `netstat -an |grep -i ‘:80‘ |grep ‘EST‘ | awk ‘{print $5}‘ | cut -d : -f 1 | sort | uniq -c | awk ‘{if($1 > 50 && $2 !~ /192\.168\.1\.19.|0\.0\.0\.0/) {print $2}}‘`; do
  5
  6 echo $kip >> /var/log/cron_ddox_tcp_banip.log
  7
  8 /sbin/iptables -A INPUT -p tcp -j DROP -s $kip
  9
 10 done

* * * * * sh /usr/local/sbin/cron_ddos_tcp.sh >> /var/log/cron_ddos_tcp.log

应急响应

在攻击发生后,第一个现象是我们的网站上不去了,但是依然可以访问到管理界面,我们登陆上去简单执行了命令:

netstat -antp

我们看到有大量的链接存在着,并且都是ESTABLISHED状态,正常状态下我们的网站访问量没有这么高,如果有这么高我们相信中国的信息安全就
有希望了,对于这样的情况其实处理就比较简单,这是一次四层的攻击,也就是所有ip都是真实的,由于目前为止只是消耗了webserver的网络连接资
源,所以我们只需要简单的将这些ip在网络层封禁就可以,很简单,用下面的命令即可:

for i in `netstat -an | grep -i ‘:80 ‘|grep ‘EST’ | awk ‘{print $5}’ |
cut -d : -f 1 | sort | uniq -c | awk ‘{if($1 > 50) {print $2}}’`

echo $i

echo $i >> /tmp/banip

/sbin/iptables -A INPUT -p tcp -j DROP -s $i

done

然后作为计划任务一分钟执行一次即可,很快,iptables的封禁列表就充斥了大量的封禁ip,我们简单的统计了下连接数最大的一些ip发现都来
自韩国。为了保证系统的性能,我们调大了系统的可接受的连接数以及对Nginx进行了每个连接能够进行的请求速率,系统于是恢复了正常的运行。
正常状态一直持续到第二天,但是到中午之后我们发现访问又出现了问题,网络很慢,使用ping发现大概出现了70%左右的丢包,在艰难的登陆到系统上之后,发现系统已经很少有TCP的正常连接,为了查明原因,我们对系统进行了抓包:

tcpdump -w tmp.pcap port not 22

tcpdump -r tmp.pcap -nnA

我们发现攻击已经从应用层的攻击调整到了网络层的攻击,大量的目标端口是80的udp和icmp包以极快的速度充满了网络,一个包大小大概在1k左
右,这次占据的资源纯粹是带宽资源了,即使在系统上做限制也解决不了这个问题,不过也没有关系,对于网络层的问题我们可以在网络层上做限制,我们只需要在
网络上把到达我们ip的非TCP的所有包如UDP和ICMP等协议都禁止掉即可,但是我们没有自己的服务器也缺乏对网络设备的控制权,目前是由工信部
CERT提供支持的,由于临时无法协调进行相应的操作,后果如大家看到,我们的服务很慢,基本上停止了服务,在一段时间之后攻击者停止了攻击,服务才进行
了恢复,很憋屈是么?但是同时我们得到了很多热心朋友的帮助,得到了更好的网络和服务器资源,在网络资源方面的能力得到了很大的提升,缓解了这方面的问
题,这里对他们表示感谢。

三 常见ddos攻击及防御

继续秉承80sec的”Know it then hack
it”,这里简单谈一下ddos攻击和防御方面的问题。ddos的全称是分布式拒绝服务攻击,既然是拒绝服务一定是因为某些原因而停止服务的,其中最重要
的也是最常用的原因就是利用服务端方面资源的有限性,这种服务端的资源范围很广,可以简单的梳理一个请求正常完成的过程:

1 用户在客户端浏览器输入请求的地址

2 浏览器解析该请求,包括分析其中的dns以明确需要到达的远程服务器地址

3 明确地址后浏览器和服务器的服务尝试建立连接,尝试建立连接的数据包通过本地网络,中间路由最终艰苦到达目标网络再到达目标服务器

4 网络连接建立完成之后浏览器根据请求建立不同的数据包并且将数据包发送到服务器某个端口

5 端口映射到进程,进程接受到数据包之后进行内部的解析

6 请求服务器内部的各种不同的资源,包括后端的API以及一些数据库或者文件等

7 在逻辑处理完成之后数据包按照之前建立的通道返回到用户浏览器,浏览器完成解析,请求完成。

上面各个点都可以被用来进行ddos攻击,包括:

1 某些著名的客户端劫持病毒,还记得访问百度跳搜狗的事情么?:)

2 某个大型互联网公司发生的dns劫持事件,或者直接大量的dns请求直接攻击dns服务器,这里可以使用一些专业的第三方dns服务来缓解这个问题,如Dnspod。

3
利用建立网络连接需要的网络资源攻击服务器带宽使得正常数据包无法到达如udp的洪水攻击,消耗前端设备的cpu资源以使得数据包不能有效转发如icmp
和一些碎片包的洪水攻击,消耗服务器方建立正常连接需要的资源如syn flood或者就是占用大量的连接使得正常的连接无法发起,譬如这次的TCP
flood。

4 利用webserver的一些特点进行攻击,相比nginx来说,apache处理一个请求的过程就比较笨重。

5 利用应用程序内部的一些特性攻击程序内部的资源如mysql,后端消耗资源大的接口等等,这也就是传统意义上的CC攻击。

时间: 2024-08-10 00:55:43

ddos 防御 - TCP 网络层防御的相关文章

转载-浅谈Ddos攻击攻击与防御

EMail: jianxin#80sec.comSite: http://www.80sec.comDate: 2011-2-10From: http://www.80sec.com/ [ 目录 ]一 背景二 应急响应三 常见ddos攻击及防御四 根源及反击五 总结 一 背景 在前几天,我们运营的某网站遭受了一次ddos攻击,我们的网站是一个公益性质的网站,为各个厂商和白帽子之间搭建一个平台以传递安全问题等信息,我们并不清楚因为什么原因会遭遇这种无耻的攻击.因为我们本身并不从事这种类型的攻击,这

DDOS攻击(流量攻击)防御步骤

DDOS全名是Distributed Denial of service (分布式拒绝服务攻击),很多DOS攻击源一起攻击某台服务器就组成了DDOS攻击,DDOS 最早可追溯到1996年最初,在中国2002年开始频繁出现,2003年已经初具规模. DDoS攻击简介: DDoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使服务器无法处理合法用户的指令. 单一的DoS攻击一般是采用一对一方式的,当被攻击目标CPU速度低.内存小或者网络带宽小等等各项性能指标不

打不死的韩国高防200G地表最强防御,真实防御杜绝攻击

互联网时代,是攻击与防御的时代,有竞争,就有攻击任何的恶意攻击,都让站长心惊胆战,心力交瘁,给网站致命一击 除了我们常用的软防,真实高防御服务器才是硬道理. 韩国不仅网速第一,防御也是目前亚洲甚至全球最高的 联邦在线运营韩国单机10G防御,40G防御 ,100G防御 ,200G防御防护各种TCP,UDP,DDOS,CC攻击. 抗攻击韩国服务器价格实惠防御真实. 10G防御:E3-1230/4G/500G 10M 1800元/月 40G防御:E3-1230/4G/500G 10M 2500元/月

DDOS的攻击与防御(引用)

一.背景 在前几天,我们运营的某网站遭受了一次ddos攻击,我们的网站是一个公益性质的网站,为各个厂商和白帽子之间搭建一个平台以传递安全问题等信息,我们并不清楚因为什么原因会遭遇这种无耻的攻击.因为我们本身并不从事这种类型的攻击,这种攻击技术一般也是比较粗糙的,所以讨论得比较少,但是既然发生了这样的攻击我们觉得分享攻击发生后我们在这个过程中学到得东西,以及针对这种攻击我们的想法才能让这次攻击产生真正的价值,而并不是这样的攻击仅仅浪费大家的时间而已. 另外,我们发现大型的企业都有遭受攻击的案例,但

DDoS deflate - Linux下防御/减轻DDOS攻击

前言 互联网如同现实社会一样充满钩心斗角,网站被DDOS也成为站长最头疼的事.在没有硬防的情况下,寻找软件代替是最直接的方法,比如用iptables,但是iptables不能在自动屏蔽,只能手动屏蔽.今天要说的就是一款能够自动屏蔽DDOS攻击者IP的软件:DDoS deflate. DDoS deflate介绍 DDoS deflate是一款免费的用来防御和减轻DDoS攻击的脚本.它通过netstat监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限 制时,该程序会通过APF或IP

浅谈JavaScript DDOS 攻击原理与防御

前言 DDoS(又名"分布式拒绝服务")攻击历史由来已久,但却被黑客广泛应用.我们可以这样定义典型的DDoS攻击:攻击者指使大量主机向服务器发送数据,直到超出处理能力进而无暇处理正常用户的合法请求,最终导致用户无法正常访问网站. 近年来,DDoS攻击手段已日趋多元化——攻击者通过各种奇技淫巧诱使不知情主机参加攻击.比如,[注1]历史上数据量最大(超过400Gbps)的DDoS攻击就是通过[注2]NTP反射完成的.时至今日,我们已经发现一个令人不安的趋势:攻击者通过恶意的JavaScri

PHP DDos的几个防御方法详解

这类攻击有一个最大的特性,就是上传流量霎时增大,通常流量高达数十以至近百M,将整台效 劳器,以至将整台机柜的宽带堵住,使网站无法运转,而这样的攻击,我们无法从远程处理,一但那个phpshell运转,你的宽带将被全部占用,远程都无法 衔接. 被攻击后能做的只要联络机房的工作人员,让他进到你的效劳器里把你的IIS关掉,再没查分明是哪个站点被入侵时,尽量一个站点也不要开,以免再 次遭到攻击,怎样看是不是这个攻击呢,不能说关掉ISS好了,就是这种攻击了,而要依据更精确的查看,才能够肯定是什么问题,翻开3

什么是最有效的ddos混合防御方法?

互联网的多样化以及发展速度,使网络安全变得极为复杂,为了提高企业对网络安全的思想意识,墨者安全长期会给大家分享一些关于DDOS***防御,CC***防御以及大数据安全预防的方法.今天墨者安全给大家分享什么是最有效的ddos混合防御方法.为了对企业的安全保护,我们应先对现有的电子邮件.Web和数据安全解决方案进行全面调查,以免造成强大的数据泄漏,因此了解管理这些解决方案,制定完善的业务计划,并提供统一平台治理,使安全策略即使在遥远的分支机构也能被执行.之前墨者安全推出业界统一内容安全架构WAF指纹

实战讲解XXE漏洞的利用与防御策略

现在许多不同的客户端技术都可以使用XMl向业务应用程序发送消息,为了使应用程序使用自定义的XML消息,应用程序必须先去解析XML文档,并且检查XML格式是否正确.当解析器允许XML外部实体解析时,就会造成XXE漏洞,导致服务器被攻击.本期"安仔课堂",ISEC实验室的李老师为我们详细解析XXE漏洞的利用和防御.   一.XML基础知识  XML是用于标记电子文件并使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.XML文档结构包括