博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DDOS***类型以及iptables防范ddos脚本
阅读量:7260 次
发布时间:2019-06-29

本文共 1091 字,大约阅读时间需要 3 分钟。

一. 常见的DDos***类型

SYN Flood:是当前最流行的DoS(拒绝服务***)与,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被***方资源耗尽(满负荷或内存不足)的***方式。

Smurf:该***向一个子网的广播地址发一个带有特定请求(如MP回应请求)的包,并且将源地址伪装成想要***的主机地址。子网上所有主机都回应广播包请求而向被***主机发包,使该主机受到***。

Land-based:***者将一个包的源地址和目的地址都设置为目标主机的地址,然后将该包通过欺骗的方式发送给被***主机,这种包可以造成被***主机因试图与自己建立连接而陷入死循环,从而很大程度地降低了系统性能

Ping of Death:根据的规范,一个包的长度最大为65536字节。尽管一个包的长度不能超过65536字节,但是 一个包分成的多个片段的叠加却能做到。当一个主机收到了长度大于65536字节的包时,就是受到了Ping of Death***,该***会造成主机的宕机。

Teardrop:IP数据包在网络传递时,数据包可以分成更小的片段。***者可以通过发送两段(或者更多)数据包来实现TearDrop***。第一个包的偏移量为0,长度为N,第二个包的偏移量小于N。为了合并这些数据段,/IP堆栈会分配超乎寻常的巨大资源,从而造成系统资源的缺乏甚至机器的重新启动。

二. 如何检测是否遭受了DDos***

第一种方法:这里有一条非常实用的命令

       # netstat -an|grep SYN_RECV|wc –l

       如果显示的数据比较大的话,你很可能已经中招了。

第二种方法:用监控软件,比如mrtg或cacti都可以,比如下面显示,流量在某一时刻突然剧增

      

三.  如何预防DDos,这里有一个非常实用的脚本

#!/bin/bash

netstat -an|grep SYN_RECV|awk '{print$5}'|awk -F: '{print$1}'|sort|uniq -c|sort -rn|awk '{if ($1 >5)  print $2}' >> /tmp/dropip

for i in $(cat /tmp/dropip)

do

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

echo “$i kill at `date`” >>/var/log/ddos

done

该脚本会把处于SYN_RECV并且数量达到5个的ip做统计,并且写到iptables的INPUT链做拒绝。

转载地址:http://czddm.baihongyu.com/

你可能感兴趣的文章
golang设计模式之工厂方法模式
查看>>
git 基本使用指令
查看>>
nvm 怎么安装 ?
查看>>
Mac环境下本地svn的使用
查看>>
记一次 VUE 项目优化实践
查看>>
网易云缓存歌曲flac格式如何转化为mp3格式?
查看>>
runc容器逃逸漏洞最强后续:应对之策汇总与热点疑问解答
查看>>
JS实例学习笔记——w3cschool+菜鸟教程
查看>>
ubuntu下Nginx详解及点播直播服务器搭建
查看>>
Webpack DLL 配置教程
查看>>
构造函数创建私有变量(防继承)
查看>>
Why Kubernetes ,我所理解的docker与k8s
查看>>
Transformer-XL: Unleashing the Potential of Attention Models
查看>>
极限编程 (Extreme Programming) - 发布计划 (Release Planning)
查看>>
Ghost配置6——首页太阳系动画效果
查看>>
Problem 4:替换空格(字符串)
查看>>
如何使用Tunnel SDK上传/下载MaxCompute复杂类型数据
查看>>
SpiderData 2019年2月15日 DApp数据排行榜
查看>>
javascript 面向对象 new 关键字 原型链 构造函数
查看>>
算法与数据结构大系列 - NO.1 - 插入排序
查看>>