小型网站如何防范DDoS攻击
ddos(Distributed Denial of Service,分布式拒绝服务攻击),俗称洪水攻击。是在传统的DoS攻击基础之上产生的新的破坏力更强的攻击方式。分布式拒绝服务攻击是指借助于客户/服务器技术,将多个甚至几十万个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高了攻击的威力。DDoS带来的破坏是巨大的,你无法阻止黑客对你的网站发动DDoS攻击,除非主动断开Internet连接。如果我们无法防止这种攻击,那么,怎样做才能最大限度地保护我们的企业网络呢? 1、了解DDoS攻击当前主要有三种流行的DDoS攻击: 1.1SYN/ACKFlood攻击 这种攻击方法是经典最有效的DDoS方法,可攻击各种系统的网络服务,主要是通过向受害主机发送大量伪造源IP和源端口的SYN或ACK包,导致主机的缓存资源被耗尽或忙于发送回应包而造成拒绝服务,由于源IP和源端口都是伪造的,故追踪起来比较困难。其缺点是实施起来有一定难度,需要高带宽的僵尸主机支持。 1.2TCP全连接攻击 TCP全连接攻击就是通过许多僵尸主机不断地与受害服务器建立大量的TCP连接,直到服务器的内存等资源被耗尽而被拖跨,从而造成拒绝服务,这种攻击的特点是可绕过一般防火墙的防护而达到攻击目的,缺点是需要找很多僵尸主机,并且由于僵尸主机的IP是暴露的,因此容易被追踪。 1.3刷Script脚本攻击 这种攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,并调用MSSQLServer、MySQLServer、Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,并不断地向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击方法。常见的现象就是网站慢如蜗牛、ASP程序失效、PHP连接数据库失败、数据库主程序占用CPU偏高。这种攻击的特点是可以完全绕过普通的防火墙防护,轻松找一些Proxy代理就可实施攻击,缺点是对付只有静态页面的网站效果会大打折扣,并且有些Proxy会暴露攻击者的IP地址。 2、发现DDoS攻击 根据以下异常现象在网络入侵监测系统建立相应规则,能够较准确地监测出DDoS攻击。 (1)根据分析,攻击者在进行DDoS攻击前总要解析目标的主机名,BIND域名服务器能够记录这些请求。由于每台攻击服务器在进行一个攻击前会发出PTR反向查询请求,也就是说在DDoS攻击前域名服务器会接收到大量的反向解析目标IP主机名的PTR查询请求。 (2)当DDoS攻击一个站点时,会出现明显超出该网络正常工作时的极限通讯流量的现象。现在的技术能够分别对不同的源地址计算出对应的极限值。当明显超出此极限值时,就表明存在DDoS攻击的通讯。因此,可以在主干路由器端建立ACL访问控制规则以监测和过滤这些通讯。 (3)特大型的ICP和UDP数据包。正常的UDP会话一般都使用小的UDP包,通常有效数据内容不超过10字节。正常的ICMP消息也不会超过64到128字节。那些尺寸明显大得多的数据包很有可能就是控制信息通讯用的,主要含有加密后的目标地址和一些命令选项。一旦捕获到(没有经过伪造的)控制信息通讯,DDoS服务器的位置就暴露出来了,因为控制信息通讯数据包的目标地址是没有伪造的。 (4)不属于正常连接通讯的TCP和UDP数据包。最隐蔽的DDoS工具随机使用多种通讯协议(包括基于连接的协议)通过基于无连接通道发送数据。优秀的防火墙和路由规则能够发现这些数据包。另外,那些连接到高于1024而且不属于常用网络服务的目标端口的数据包也是非常值得怀疑的。 (5)数据段内容只包含文字和数字字符(例如,没有空格、标点和控制字符)的数据包。这往往是数据经过BASE64编码后而只会含有BASE64字符集字符的特征。TFN2K发送的控制信息数据包就是这种类型的数据包。TFN2K(及其变种)的特征模式是在数据段中有一串A字符(AAA),这是经过调整数据段大小和加密算法后的结果。如果没有使用BASE64编码,对于使用了加密算法数据包,这个连续的字符就是“”。 (6)数据段内容只包含二进制和high-bit字符的数据包。虽然此时可能在传输二进制文件,但如果这些数据包不属于正常有效的通讯时,可以怀疑正在传输的是没有被BASE64编码但经过加密的控制信息通讯数据包(如果实施这种规则,必须将20、21、80等端口上的传输排除在外)。 3、应对DDoS攻击 当遭受DDoS攻击的时候要如何设法存活并继续提供正常服务呢? 由前面的介绍可以知道,若黑客攻击规模远高于你的网络频宽、设备或主机所能处理的能力,其实是很难反抗攻击的,但仍然有一些方法可以减轻攻击所造成的影响。首先是调查攻击来源,由于黑客由僵尸主机进行攻击,因此,可能无法直接查出黑客是由哪里发动攻击,必须一步一步从被攻击目标往回推,先调查攻击是由管辖网络的哪些边界路由器进来,上一步是外界哪台路由器,联络这些路由器的管理者(可能是某个ISP或电信公司)并寻求他们协助阻挡或查出攻击来源。假如,被攻击的目标只是单一IP,那么试图改个IP并更改其DNSmapping或许可以避开攻击,这是最快速而有效的方式;但是,攻击的目的就是要使正常使用者无法使用服务,更改IP的方式虽然避开攻击,以另一角度来看黑客也达到了他的目的。此外,假如攻击的手法较为单纯,可以由产生的流量找出其规则,那么利用路由器的ACLs(AccessControlLists)或防火墙规则也许可以阻挡,若可以发现流量都是来自同一来源或核心路由器,可以考虑暂时将那边的流量挡起来,当然这还是有可能将正常和异常的流量都一并挡掉,但至少其他来源可以得到正常的服务,这也是不得已的牺牲。此外,还可以考虑增加机器或频宽作为被攻击的缓冲之用,但这只是治标不治本的做法。最重要的是,必须立即着手调查并与相关单位协调解决。 4、预防DDoS攻击 预防DDoS攻击必须透过网络上各个团体和使用者的共同合作,制定更严格的网络标准来解决。每台网络设备或主机都需要随时更新其系统漏洞、关闭不需要的服务、安装必要的防毒和防火墙软件、随时注重系统安全,避免被黑客和自动化的DDoS程序植入攻击程序,以免成为黑客攻击的帮凶。网络管理人员可采取以下方法做好预防工作。 4.1节点 扫描网络管理员要定期扫描网络节点,分析并发现可能存在的安全漏洞,对新出现的漏洞及时进行修补。特别是骨干点的计算机,由于需要占用较高的带宽,因此,对这些主机本身加强主机安全是非常重要的。而且,连接到网络主节点的都是服务器级别的计算机,所以,定期扫描漏洞就变得更加重要了。 4.2配置防火墙 防火墙本身具备了抵御部分DDoS攻击的能力。在发现攻击行为存在时,可以牺牲备用设备引导攻击数据流,这样可以减轻或避免正常业务的顺利进行。当然如果企业或用户对网络的要求很高,笔者建议设立专用的服务器来防止DDoS攻击。 4.3充分利用网络设备 保护网络资源合理配置使用路由器、防火墙等网络设备,它们可将网络有效地保护起来。相对服务器的重启,网络路由器等网络设备的重启要容易得多,而且服务器数据不会有太多的损失。负载均衡技术的使用,可以在攻击发生时自动均衡设备的使用情况,最大限度地降低DDoS的攻击。 4.4过滤服务及端口 在默认情况下,服务器的很多端口是开放的,用户可以使用防火墙或一些管理软件来过滤不必要的服务和端口。只开放服务端口成为保障网络安全的流行做法,例如,用户可能会经常看到一个服务器只开放80端口等。 4.5检查访问者的来源 通过反向路由器查询的方法检查访问者的IP地址是否是真,如果发现虚假IP,应立即将其屏蔽。黑客在攻击时常采用假IP隐藏自己,因此,网络管理员有必要了解自己网络的用户访问情况。 4.6过滤所有被保留的IP地址 我们知道类似10.0.0.0、192.168.0.0和172.16.0.0这样的IP,并不是某个网段的固定IP地址,而是Internet内部保留的区域性IP地址,网络管理员应把被保留的IP过滤掉。 4.7限制SYN/ICMP流量 用户应在防火墙上配置SYN/ICMP的最大流量来限制SYN/ICMP所能占用的最大带宽。当出现大量的超过限定的SYN/ICMP流量时,管理员需要立即排查区分是否存在非法攻击行为。限制SYN/ICMP也是过去对付DDoS攻击最常使用的。据有关报道,电信级运营商已经开始积极运做,准备推出一系列的安全增值服务,IDC服务器托管商也已经积极行动起来,避免用户免受DDoS攻击的侵害,安全厂商更是在积极研究DDoS攻击的原理及防御措施,力求最大限度地扼杀DDoS攻击。笔者认为,任何个体是很难防御住巨大的数据流攻击,只有运营商、企业以及安全厂商共同联合起来,才能更好地克服DDoS给用户带来的伤害。 本篇文章来源于 黑基网-中国最大的网络安全站点 原文链接:http://www.hackbase.com/tech/2013-07-25/67671.html
相关资料来源:http://www.hackbase.com/
小型网站如何防范DDoS攻击的更多相关文章
- 安全性测试之防范 DDoS 攻击
安全性测试之防范 DDoS 攻击 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:90882 ...
- 防范DDOS攻击脚本
防范DDOS攻击脚本 #防止SYN攻击 轻量级预防 iptables -N syn-flood iptables -A INPUT -p tcp --syn -j syn-flood iptables ...
- 防范DDoS攻击的几种方式
一.拒绝服务攻击的发展: 从拒绝服务攻击诞生到现在已经有了很多的发展,从最初的简单Dos到现在的DdoS.那么什么是Dos和DdoS呢?DoS是一种利用单台计算机的攻击 方式.而DdoS(Distri ...
- nginx限流模块(防范DDOS攻击)
Nginx限流模式(防范DDOS攻击) nginx中俩个限流模块: 1.ngx_http_limit_req_module(按请求速率限流) 2.ngx_http_limit_conn_module( ...
- 配置 Haproxy 防范 DDOS 攻击
作为 load balancer, Happroxy 常常作为服务器的前端,向外界用户提供服务的入口,如果能在入口处处理安全相关问题,将极大简化后端的设计.事实上,Haproxy 不仅仅是一款开源出色 ...
- 防范 DDoS 攻击的 15 个方法
为了对抗 DDoS(分布式拒绝服务)攻击,你需要对攻击时发生了什么有一个清楚的理解. 简单来讲,DDoS 攻击可以通过利用服务器上的漏洞,或者消耗服务器上的资源(例如 内存.硬盘等等)来达到目的.DD ...
- 防范DDoS攻击的15个方法
0x01 背景 为了对抗 DDoS(分布式拒绝服务)攻击,你需要对攻击时发生了什么有一个清楚的理解..简单来讲,DDoS 攻击可以通过利用服务器上的漏洞,或者消耗服务器上的资源(例如 内存.硬盘等等) ...
- iptable防范ddos攻击
Basic DoS Protection https://github.com/MPOS/php-mpos/wiki/Basic-DoS-Protection # Rule 1: Limit New ...
- Nginx限制访问速率和最大并发连接数模块--limit (防范DDOS攻击)
Tengine版本采用http_limit_req_module进行限制 具体连接请参考 http://tengine.taobao.org/document_cn/http_limit_req_cn ...
随机推荐
- 【jqGrid for ASP.NET MVC Documentation】.学习笔记.2.jqGrid Model-View-Controller 分离
1 基本 分离代码 和 描述 ,在ASP.NET MVC 应用程序中是非常重要的.因此,jqGrid 的 mvc 模式使用一个共同的网格安装设置,包括 Model ,Controller 和 View ...
- Mysql slow query log
一.概念部分: 顾名思义,慢查询日志中记录的是执行时间较长的query,也就是我们常说的slow query,通过设--log-slow-queries[=file_name]来打开该功能并设置记录 ...
- 25、oracle(一)
1)了解oracle背景,概念和特点 2)掌握oracleSQL对单表各种查询操作 3)掌握oracleSQL中函数的使用 4)掌握数值型number,字符串型varchar2,日期型date,条件判 ...
- HTTP Live Streaming直播(iOS直播)技术分析与实现
本文转载自:http://www.cnblogs.com/haibindev/archive/2013/01/30/2880764.html 不经意间发现,大半年没写博客了,自觉汗颜.实则2012后半 ...
- HDU 5996:dingyeye loves stone(阶梯博弈)
http://acm.hdu.edu.cn/showproblem.php?pid=5996 题意:在一棵树上进行博弈,每次只能将当前的结点的石子放到父节点上,最后不能移动的输. 思路:比赛的时候想的 ...
- Zend Debugger 配置
到官网 http://www.zend.com/en/products/studio/downloads 下载 windows 版 Studio Web Debugger 打开下载得到的压缩包,里面有 ...
- 局域网 其它主机ping不通win7, 解决
默认情况下,Windows 7出于安全考虑不允许外部主机对其进行Ping测试. 允许ICMP回显 设置如下: 1. 打开win7防火墙设置界面 2. 左边的菜单中选择 [高级设置] 3. 在弹出的 [ ...
- [团队项目] Scrum 项目 2.0 产品BACKLOG
Scrum 项目 2.0 阅读教材第8章,8.1~8.3节 P157~168,了解获取用户需求的办法,每个组可以选择一二加以应用. 8.4节P168-171 查阅NABCDA模型的具体说明. 2.SC ...
- MVC设计模式下实现数据库的连接,并获取所有数据到浏览器页面上显示
实现建立一个学生的java类:里面封装了属性的全部属性: public class Student { private int id; private String username; private ...
- asp.net 页面跳转传值的几种方式
参考地址: http://blog.csdn.net/zzzzzzzert/article/details/8486143 protected void Button1_Click(object se ...