预防ddos攻击_防ddos攻击开发

hacker|
241

什么是DDOS?怎么攻击的、怎么防啊?仔细说说·

分类: 电脑/网络

解析:

什么是DDos与防DDos攻击的策略

一、阻断服务(Denial of Service)

在探讨 DDoS 之前我们需要先对 DoS 有所了解,DoS泛指黑客试图妨碍正常使用者使用网络上的服务,例如剪断大楼的电话线路造成用户无法通话。而以网络来说,由于频宽、网络设备和服务器主机等处理的能力都有其限制,因此当黑客产生过量的网络封包使得设备处理不及,即可让正常的使用者无法正常使用该服务。例如黑客试图用大量封包攻击一般频宽相对小得多的拨接或 ADSL 使用者,则受害者就会发现他要连的网站连不上或是反应十分缓慢。

DoS 攻击并非入侵主机也不能窃取机器上的资料,但是一样会造成攻击目标的伤害,如果攻击目标是个电子商务网站就会造成顾客无法到该网站购物。

二、分布式阻断服务(Distributed Denial of Service)

DDoS 则是 DoS 的特例,黑客利用多台机器同时攻击来达到妨碍正常使用者使用服务的目的。黑客预先入侵大量主机以后,在被害主机上安装 DDoS 攻击程控被害主机对攻击目标展开攻击;有些 DDoS 工具采用多层次的架构,甚至可以一次控制高达上千台电脑展开攻击,利用这样的方式可以有效产生极大的网络流量以瘫痪攻击目标。早在2000年就发生过针对Yahoo, eBay, Buy 和 CNN 等知名网站的DDoS攻击,阻止了合法的网络流量长达数个小时。

DDoS 攻击程序的分类,可以依照几种方式分类,以自动化程度可分为手动、半自动与自动攻击。早期的 DDoS 攻击程序多半属于手动攻击,黑客手动寻找可入侵的计算机入侵并植入攻击程序,再下指令攻击目标;半自动的攻击程序则多半具有 handler 控制攻击用的agent 程序,黑客散布自动化的入侵工具植入 agent 程序,然后使用 handler 控制所有agents 对目标发动 DDoS 攻击;自动攻击更进一步自动化整个攻击程序,将攻击的目标、时间和方式都事先写在攻击程序里,黑客散布攻击程序以后就会自动扫描可入侵的主机植入 agent 并在预定的时间对指定目标发起攻击,例如近期的 W32/Blaster 网虫即属于此类。

若以攻击的弱点分类则可以分为协议攻击和暴力攻击两种。协议攻击是指黑客利用某个网络协议设计上的弱点或执行上的 bug 消耗大量资源,例如 TCP SYN 攻击、对认证伺服器的攻击等;暴力攻击则是黑客使用大量正常的联机消耗被害目标的资源,由于黑客会准备多台主机发起 DDoS 攻击目标,只要单位时间内攻击方发出的网络流量高于目标所能处理速度,即可消耗掉目标的处理能力而使得正常的使用者无法使用服务。

若以攻击频率区分则可分成持续攻击和变动频率攻击两种。持续攻击是当攻击指令下达以后,攻击主机就全力持续攻击,因此会瞬间产生大量流量阻断目标的服务,也因此很容易被侦测到;变动频率攻击则较为谨慎,攻击的频率可能从慢速渐渐增加或频率高低变化,利用这样的方式延缓攻击被侦测的时间。

三、从 DDoS 攻击下存活

那么当遭受 DDoS 攻击的时候要如何设法存活并继续提供正常服务呢?由先前的介绍可以知道,若黑客攻击规模远高于你的网络频宽、设备或主机所能处理的能力,其实是很难以抵抗攻击的,但仍然有一些方法可以减轻攻击所造成的影响。

首先是调查攻击来源,由于黑客经由入侵机器进行攻击,因此你可能无法查出黑客是由哪里发动攻击,我们必须一步一步从被攻击目标往回推,先调查攻击是由管辖网络的哪些边界路由器进来,上一步是外界哪台路由器,连络这些路由器的管理者(可能是某个ISP或电信公司)并寻求他们协助阻挡或查出攻击来源,而在他们处理之前可以进行哪些处理呢?

如果被攻击的目标皇堑ヒ?ip,那么试图改个 ip 并更改其 DNS mapping 或许可以避开攻击,这是最快速而有效的方式;但是攻击的目的就是要使正常使用者无法使用服务,更改ip的方式虽然避开攻击,以另一角度来看黑客也达到了他的目的。此外,如果攻击的手法较为单纯,可以由产生的流量找出其规则,那么利用路由器的 ACLs(Access Control Lists)或防火墙规则也许可以阻挡,若可以发现流量都是来自同一来源或核心路由器,可以考虑暂时将那边的流量挡起来,当然这还是有可能将正常和异常的流量都一并挡掉,但至少其它来源可以得到正常的服务,这有时是不得已的牺牲。如果行有余力,则可以考虑增加机器或频宽作为被攻击的缓冲之用,但这只是治标不治本的做法。最重要的是必须立即着手调查并与相关单位协调解决。

四、预防DDoS攻击

DDoS 必须透过网络上各个团体和使用者的共同合作,制定更严格的网络标准来解决。每台网络设备或主机都需要随时更新其系统漏洞、关闭不需要的服务、安装必要的防毒和防火墙软件、随时注意系统安全,避免被黑客和自动化的 DDoS 程序植入攻击程序,以免成为黑客攻击的帮凶。

有些 DDoS 会伪装攻击来源,假造封包的来源 ip,使人难以追查,这个部份可以透过设定路由器的过滤功能来防止,只要网域内的封包来源是其网域以外的 ip,就应该直接丢弃此封包而不应该再送出去,如果网管设备都支持这项功能,网管人员都能够正确设定过滤掉假造的封包,也可以大量减少调查和追踪的时间。

网域之间保持联络是很重要的,如此才能有效早期预警和防治 DDoS 攻击,有些 ISP会在一些网络节点上放置感应器侦测突然的巨大流量,以提早警告和隔绝 DDoS 的受害区域,降低顾客的受害程度。

怎么防止DDOS 攻击

1、保证服务器系统的安全

首先要确保服务器软件没有任何漏洞,防止攻击者入侵。确保服务器采用最新系统,并打上安全补丁。在服务器上删除未使用的服务,关闭未使用的端口。对于服务器上运行的网站,确保其打了最新的补丁,没有安全漏洞。

2、隐藏服务器的真实IP地址

服务器前端加CDN中转(免费的有百度云加速、360网站卫士、加速乐、安全宝等),如果资金充裕的话,可以购买高防的盾机,用于隐藏服务器真实IP,域名解析使用CDN的IP,所有解析的子域名都使用CDN的IP地址。此外,服务器上部署的其他域名也不能使用真实IP解析,全部都使用CDN来解析。

另外,防止服务器对外传送信息泄漏IP地址,最常见的情况是,服务器不要使用发送邮件功能,因为邮件头会泄漏服务器的IP地址。如果非要发送邮件,可以通过第三方代理(例如sendcloud)发送,这样对外显示的IP是代理的IP地址。

总之,只要服务器的真实IP不泄露,10G以下小流量DDOS的预防花不了多少钱,免费的CDN就可以应付得了。如果攻击流量超过20G,那么免费的CDN可能就顶不住了。

3、最实用的杀手锏:网段封杀

最常见有效的防御办法,应该就是杀 IP 了吧,因为网站访问量也不是特别高,所以我会在服务器上做 crontab ,用 iptables 每分钟取 IP 的 B段、 C 段 的连接数,超过一定数量就直接 DROP。一旦有新 IP 被 DROP 就会邮件我自己,方便得知以后后续操作。

4、云防护时代

大多数的云计算服务提供商自己云上的客户会经常遭受DDoS攻击,为了解决云上客户的DDoS问题,云服务提供商会形成了自己的一套完整DDoS解决方案,正如阿里云提及的十年攻防一朝成盾,这就是一个经典的场景,云清洗效果得到市场认可之后,广阔天地大有作为,云服务提供商的DDoS清洗服务就面向广大众多非云用户了。

5、其他方法

多买几个域名,一字排开,比如说有10个。

每个域名的接入服务器分别丢在不同的主流云系统上,并分别买一点CDN。

在云之间架隧道VPN,服务器相互之间通过VPN做数据同步和心跳。

留1-2个站点作为不对外提供服务的冗余节点,并做好保密措施。

如何防御DDOS攻击?

1。确保服务器的系统文件是最新的版本,并及时更新系统补丁。

2。关闭不必要的服务。

3。限制同时打开的SYN半连接数目。

4。缩短SYN半连接的time out 时间。

5。正确设置防火墙

禁止对主机的非开放服务的访问

限制特定IP地址的访问

启用防火墙的防DDoS的属性

严格限制对外开放的服务器的向外访问

运行端口映射程序祸端口扫描程序,要认真检查特权端口和非特权端口。

6。认真检查网络设备和主机/服务器系统的日志。只要日志出现漏洞或是时间变更,那这台机器就可 能遭到了攻击。

7。限制在防火墙外与网络文件共享。这样会给黑客截取系统文件的机会,主机的信息暴露给黑客, 无疑是给了对方入侵的机会。

8。路由器

以Cisco路由器为例

Cisco Express Forwarding(CEF)

使用 unicast reverse-path

访问控制列表(ACL)过滤

设置SYN数据包流量速率

升级版本过低的ISO

为路由器建立log server

9、注意保护电脑信息,不要随意安装软件,尤其是远控类。如果有远程管理需要,要使用有安全保障的。如teamviewer、网络人等。

有什么措施可以有效防御ddos?

11种方法教你有效防御DDOS攻击:

1、采用高性能的网络设备

首先要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品。再就是假如和网络提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在网络接点处做一下流量限制来对抗某种类的DDOS攻击是非常有效的。

2、尽量避免NAT的使用

无论是路由器还是硬件防护墙设备要尽量避免采用网络地址转换NAT的使用,因为采用此技术会较大降低网络通信能力,其实原因很简单,因为NAT需要对地址来回转换,转换过程中需要对网络包的校验和进行计算,因此浪费了很多CPU的时间,但有些时候必须使用NAT,那就没有好办法了。

3、充足的网络带宽保证

网络带宽直接决定了能抗受攻击的能力,假若仅仅有10M带宽的话,无论采取什么措施都很难对抗现在的SYNFlood攻击,当前至少要选择100M的共享带宽,最好的当然是挂在1000M的主干上了。但需要注意的是,主机上的网卡是1000M的并不意味着它的网络带宽就是千兆的,若把它接在100M的交换机上,它的实际带宽不会超过100M,再就是接在100M的带宽上也不等于就有了百兆的带宽,因为网络服务商很可能会在交换机上限制实际带宽为10M,这点一定要搞清楚。

4、升级主机服务器硬件

在有网络带宽保证的前提下,请尽量提升硬件配置,要有效对抗每秒10万个SYN攻击包,服务器的配置至少应该为:P42.4G/DDR512M/SCSI-HD,起关键作用的主要是CPU和内存,若有志强双CPU的话就用它,内存一定要选择DDR的高速内存,硬盘要尽量选择SCSI的,别贪图IDE价格不贵量还足的便宜,否则会付出高昂的性能代价,再就是网卡一定要选用3COM或Intel等名牌的,若是Realtek的还是用在自己的PC上吧。

5、将网站做成静态页面或者伪静态

事实证明,将网站做成静态页面,不仅能大大提高抗攻击能力,而且还给黑客入侵带来不少麻烦,至少到现在为止关于HTML的溢出还没出现。现在很多门户网站主要都是静态页面,若你非要动态脚本调用,那就把它弄到另外一个单独主机,免的遭受攻击时连累主服务器。当然,适当放一些不做数据库调用脚本还是可以的,此外,最好在需要调用数据库的脚本中拒绝使用代理的访问,因为经验表明使用代理访问你网站的80%属于恶意行为。

6、增强操作系统的TCP/IP栈

win2000和win2003作为服务器操作系统,本身就具备一定的抵抗DDOS攻击的能力,只是默认状态下没有开启而已,若开启的话可抵抗约10000个SYN攻击包,若没有开启则仅能抵抗数百个。

7、安装专业抗DDOS防火墙

8、HTTP请求拦截

如果恶意请求有特征,对付起来很简单,直接拦截就可以。HTTP请求的特征一般有两种:IP地址和User Agent字段。

9、备份网站

你要有一个备份网站,或者最低限度有一个临时主页。生产服务器万一下线了,可以立刻切换到备份网站,不至于毫无办法。

备份网站不一定是全功能的,如果能做到全静态浏览,就能满足需求,最低限度应该可以显示公告,告诉用户,网站出了问题,正在抢修。这种临时主页建议放到Github

Pages或者Netlify,它们的带宽大,可以应对攻击,而且都支持绑定域名,还能从源码自动构建。

10、部署CDN

CDN指的是网站的静态内容分布到多个服务器,用户就近访问,提高速度。因此,CDN也是带宽扩容的一种方法,可以用来防御DDOS攻击。

网站内容存放在源服务器,CDN上面是内容的缓存。用户只允许访问CDN,如果内容不在CDN上,CDN再向源服务器发出请求。这样的话,只要CDN够大,就可以抵御很大的攻击。不过,这种方法有一个前提,网站的大部分内容必须可以静态缓存。对于动态内容为主的网站,就要想别的办法,尽量减少用户对动态数据的请求;本质就是自己搭建一个微型CDN。各大云服务商提供的高防IP,背后也是这样做的:网站域名指向高防IP,它提供了一个缓冲层,清洗流量,并对源服务器的内容进行缓存。

这里有一个关键点,一旦上了CDN,千万不要泄露源服务器的IP地址,否则攻击者可以绕过CDN直接攻击源服务器,前面的努力都白费了。

11、其他防御手段

以上的几条建议,适合绝大多数拥有自己主机的用户,但假如采取以上措施后仍然不能解决DDOS问题,就比较麻烦了,可能需要更多投资,增加服务器数量并采用DNS轮巡或负载均衡技术,甚至需要购买七层交换机设备,从而使得抗DDOS攻击能力成倍提高,只要投资足够深入。

网站如何防御DDOS攻击?

首先你需要了解下dos和DDOS攻击:

DoS:是Denial of Service的简称,即拒绝服务,不是DOS操作系统,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。

DDOS:分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。

如果这个其实相对比较厉害的是DDOS攻击,目前基本的防御手段为主,如IP+MAC绑定,内网ARP防御等,其实这只是占用满服务器的会话数,并不是真正中断你的网络;当服务器超过最大会话数时,服务器没有足够的资源响应你正常的访问,表现就为无响应或你描述的网络中断,建议先中断服务器网络连接,处理好内网中的僵尸主机或控制好网络边界的防御后在将服务器接入网络中,现在很多交换机,路由器防火墙都带DOS攻击防御能力的;

0条大神的评论

发表评论