计算机攻击方式和原理

计算机攻击方式和原理,第1张

CC攻击原理学习笔记

作为一个站长或者一个公司网站的站长,最恐怖的事情是什么?

很明显是对网站的DDoS攻击。大家都有这样的经历,就是在访问一个公司网站或者论坛的时候,如果这个网站或者论坛的流量比较大,访客比较多,那么打开页面的速度就会比较慢吧?!一般来说,访问的人越多,网站或论坛的页面越多,数据库越大,被访问的频率就越高,占用的系统资源也相当可观。

CC攻击是DDoS(分布式拒绝服务)的一种,似乎比其他DDoS攻击更有技术含量。在这种攻击中,你看不到假IP,尤其是流量异常,但是服务器无法正常连接。一个普通的ADSL用户就足以挂上一个高性能的Web服务器。由此可见其危害性,称其为“网络杀手”也不为过。最让站长们担心的是,这种攻击技术并不是很高。使用工具和一些IP代理,初级和中级计算机水平的用户可以进行DDoS攻击。

那么如何保证这些web服务器的安全性呢?冰盾DDoS防火墙专家认为,大家有必要了解CC攻击的原理,以及如果发现CC攻击的防范措施(见http://www.bingdun.com/solution/website.htm)。

一、CC攻击原理:
CC攻击的原理是攻击者控制一些主机向对方服务器连续发送大量数据包,导致服务器资源耗尽直至崩溃。CC主要用于攻击页面。大家都有这样的经历:当一个网页被大量人访问时,网页打开缓慢。CC就是模拟多个用户(有多少用户就有多少线程)不断访问需要大量数据 *** 作(也就是大量CPU时间)的页面,造成服务器资源的浪费。CPU长时间处于100%,总是有无穷无尽的连接,直到网络拥塞,正常访问暂停。

二。CC攻击的类型:
CC攻击有三种,直接攻击、代理攻击和僵尸网络攻击。直接攻击主要针对存在重要缺陷的WEB应用。一般来说,这种情况只在编程有问题的时候才会发生,这种情况比较少见。僵尸网络攻击有点类似于DDOS攻击,从WEB应用层面无法防御。所以代理攻击就是CC攻击者通常 *** 作一批代理服务器,比如说100个代理,然后每个代理同时发出10个请求。这样,如果WEB服务器同时收到1,000个并发请求,它会在发送请求后立即断开与代理的连接。避免代理返回的数据阻塞自己的带宽,这样它就不能发起第二个请求。此时, WEB服务器将对响应这些请求的进程进行排队,数据库服务器也是如此。这样一来,正常的请求就会排在后面处理,就像你去食堂吃饭,一般排队的人不到十个,而今天前面有一千人,那么轮到你的机会就很小了,然后就会出现一个页面。

三。攻击症状
CC攻击具有一定的隐蔽性,那么如何确定服务器正在遭受或者已经遭受CC攻击呢?我们可以通过以下三种方法来确定。

(1).命令行方法

一般在受到CC攻击时,Web服务器的80端口会对外关闭,因为这个端口已经被大量的垃圾数据堵塞,正常连接已经暂停。我们可以通过在命令行输入命令netstat-an来检查它。如果看到大量类似如下的连接记录,基本可以被CC攻击:

……
TCP192.168.1.3:80192.168.1.6:2205SYN_RECEIVED4
TCP192.168.1.3:80192.168.1.6:2205SYN_RECEIVED4
TCP192.168.1.3:80192.192一般有很多这样的记录,表示来自不同代理IP的攻击。

(2).批处理方法
以上方法需要手动输入命令,如果Web服务器的IP连接太多,会比较费力。我们可以建立一个批处理文件,通过这个脚本代码来确定是否存在CC攻击。打开记事本,输入以下代码,保存为cc.bat:
@echooff
time/t>;>log.log
netstat-n-pTCP|find":80">>log.log
Notepadlog.log
exit
上面这个脚本的意思是过滤掉当前所有连接到80端口的连接。当我们觉得服务器异常时,可以双击运行批处理文件,然后在打开的log.log文件中查看所有连接。如果同一个IP有多个连接到服务器,基本可以确定该IP是CC攻击服务器。
(3)。上面两种检查系统日志的方法
都有一个缺点。你只能检查当前的CC攻击,但你无法确定Web服务器之前是否受到过CC攻击。这时候我们可以通过Web日志来查看,因为Web日志如实记录了所有IP对Web资源的访问。通过检查日志,我们可以了解Web服务器之前是否受到过CC的攻击,并确定攻击者的IP,然后再采取进一步的措施。

Web日志一般位于目录C:\Windows\System32\logfiles\httperR下,这个目录下使用了一个类似httperr1.log的日志文件,它是Web访问错误的记录。管理员可以根据日志时间属性选择相应的日志打开,分析网页是否受到CC攻击。默认情况下,Web日志中记录的项目不多。我们可以通过IIS对它们进行设置,这样就可以在Web日志中记录更多的项目进行安全分析。 *** 作步骤如下:
开始→管理工具打开InternetInformationServer,展开左边的项目找到对应的网站,然后右键选择属性打开网站属性窗口,点击网站选项卡下的属性,在日志属性窗口中点击属性。比如发送字节、接收字节、经过时间默认不检查,但是在记录和判断CC攻击时非常有用,可以检查。此外,如果对安全性要求较高,可以在“常规”选项卡下设置“新日志计划表”,每小时或每天记录一次。选中“使用本地时间命名和创建文件”,以确定未来分析的时间。

四。CC攻击防御策略
确定Web服务器正在或者已经被CC攻击,那么如何有效防范?

(1).取消附加域名
一般cc攻击都是针对网站的域名。比如我们的网站域名是“www.abc.com”,那么攻击者就会在攻击工具中将攻击对象设置为这个域名,然后实施攻击。
对于这样的攻击,我们的措施是在IIS上解绑这个域名,让CC攻击失去目标。具体 *** 作步骤如下:打开IISManager,定位具体站点,右键属性打开该站点的属性面板,点击IP地址右侧的高级按钮,选择要编辑的域名,删除或更改主机头值为另一个值(域名)。
经过模拟测试,取消addon域后Web服务器的CPU立即恢复正常状态,所有通过IP的访问和连接都正常。但是,缺点也很明显。取消或更改域名将保持其他人的访问不变。另外,对于针对IP的CC攻击无效。即使更改域名的攻击者发现了,他也会攻击新的域名。

(2).域名欺骗解析
如果发现针对域名的CC攻击,我们可以将被攻击的域名解析到127.0.0.1的地址。我们知道127.0.0.1是本地环回IP,用于网络测试。如果被攻击的域名解析到这个IP,攻击者就可以攻击自己,这样无论他有多少鸡或者代理,都会被打倒,让自己遭殃。
另外,当我们的Web服务器被CC攻击时,把被攻击的域名解析到国家权威的政府网站或者网警的网站,让网警来追。
现在大部分网站都使用类似“新网”这样的服务商提供的动态域名解析服务。你可以登录并设置它。

(3).更改Web端口
一般情况下,Web服务器通过80端口对外提供服务,所以攻击者攻击时会使用默认的80端口进行攻击。因此,我们可以修改Web端口来防止CC攻击。运行IIS管理器,导航到相应的站点,并打开该站点的“属性”面板。“网站ID”下有一个TCP端口,默认值为80,我们可以将其更改为另一个端口。

(4).IIS拦截IP
当我们通过命令或者通过查看日志找到CC攻击的来源IP时,就可以在IIS中设置IP来拦截其对网站的访问,从而达到防范IIS攻击的目的。在相应站点的“属性”面板中,点击“目录安全”选项卡,点击“现在IP地址和域名”下的“编辑”按钮,打开设置对话框。在此窗口中,我们可以设置“授权访问”,即白名单,或“拒绝访问”,即黑名单。例如,我们可以将攻击者的IP添加到“拒绝访问”列表中,从而阻止该IP访问Web。

动词(verb的缩写)针对CC攻击的商业解决方案

很多网站管理者都是等到网站被攻击、丢失后才寻求解决方案。在未来互联网高速发展的时代,他们一定要意识到安全隐患,不要等到损失大了才想办法补救。太晚了。
然而,当网站遭到攻击时,大多数人想到的是——赶紧找个硬防御。基本上他们犯了一个错误,就是认为网站或者服务器被攻击,购买了硬件防火墙就万事大吉了。其实这种想法是极其错误的。多年的统计数据表明,要彻底了解CC攻击几乎是不可能的,就像治疗感冒一样。我们可以治疗和预防,但无法治愈。但如果采取积极有效的防御方法,就可以大大降低或减缓得病的几率,防范DDOS攻击也是如此。其实理想的解决方案应该是“软件+硬件”的解决方案。这个方案适合资金充足的企业网站;在硬件DDOS防护和软件CC防护上有优势;
相对于ICP内容网站、论坛社区BBS、电商电子商务、音乐网站、电影网站文件等一些网站服务器,越来越受欢迎。但是由于种种原因,他们经常受到竞争对手或报复者的恶意DDOS攻击。持续的攻击会导致大量用户流失,甚至服务器因人气全失而被迫关闭。为了最大程度保护运营商利益,冰盾科技结合多年反DDOS实践经验,给出了安全投入最少,安全回报最大的反DDOS解决方案。


首先,攻击者拥有一个流量巨大的网站。这个网站的流量很可能是他用钱买的,当然也可能是他控制的肉鸡。他在自己控制的肉鸡上访问自己的网站。hacker的网站主页很简单,但在他的源代码中,有上百个

为了说明攻击者的力量,我们假设黑客的网站是aaa.com,而你的网站是BBB.com。如果有人在163的首页代码中,有这样一段话:

我朋友的网站就受到了这种攻击。他试图将网站转移到朋友的服务器上,但最终结果还是拖垮了朋友的服务器。

这是典型的CC攻击。CC攻击比DDOS攻击更可怕的是,CC攻击一般难以防范。为什么?一是因为来自CC攻击的IP是真实且分散的;第二,CC攻击的数据包都是正常数据包;3.CC攻击请求都是有效请求,不能拒绝。

其实只要仔细研究一下这种攻击的模式,就可以发现这种攻击在理论上是可以预防的,也就是只要采取有效的手段,完全可以把危害降到最轻。因为这种攻击有一个致命的弱点。它的致命弱点在哪里?当然,它在


这里有一段Web服务器的配置代码可以解决这种攻击:

有效推荐人无被阻止服务器名称google.cn,google.com*.Google.com*.Google.cnBaidu.com*.Baidu.com*。你自己的域名(你也可以在这里添加其他的,比如搜搜,雅虎,搜狗有道等。);
if($invalid_referer){

返回404;
}

上面的代码设置很简单,只要不是上面设置URL源的请求发出的HTTP_REFERER,就会全部转发到404。



众所周知,CC攻击消耗服务器资源和资源。它们会是什么呢?
1。CPU,2。内存,3。网络,4。连接,5。数据库资源,6。服务应用池,7。。。。

CC攻击就是伪造n个多个请求,即时访问。会造成服务器溢出、报错、系统崩溃、硬盘烧坏、网卡发热、数据库故障、查询和内存溢出。

另外,32位系统最高可占用4G内存也是一个瓶颈【所以建议单独使用大内存VPS/64位服装】。

解决方案:
烧钱砸硬防。


如果你资金不足或者正处于业务成长期,可以考虑以下几种:

1.升级服务器(哪里有瓶颈,哪里就升级)。
2。优化程序。数据库使用noSQL[非查询数据库],比如memcached。
3。前端使用一些防火墙规则。注意,最好使用被动防御【攻击后重启规则】。[br/] 4。集群。

不要相信CDN能防c,除非他家归GOV所有,否则他出不起这个钱。
我司使用的CHINACACHE有防屁C功能。

这里主要说明针对数据库瓶颈的CC攻击。

像search.php?关键字=1992年,查询一次需要0.01秒,那么100次查询可以占用1秒的CPU时间。如果并发性增加了10倍,例如
,那么这些请求将必须排队等待CPU处理10秒钟。

这是CC攻击。当然也可以像屎一样有60万并发CC,静态页面都可以死c,当然除了砸钱没有解决办法,我们的讨论也没有任何意义。

传统CC的瓶颈是数据库查询。

响应:memcached[内存缓存]
比如查询search.php?关键字=1992年,可以
$mem->;set("search_keyword_".MD5($_get['keyword']),$mysql_data,600)将来自查询的数据缓存在内存中。
600指的是过期时间,也就是说10分钟后,缓存可能会被新插入的缓存覆盖。

这样,如果没有内存瓶颈,数据库压力可以分担很多。

但是。。。新的问题又来了。每个请求关键字都不一样,所以不能也是C死吗?
因此,需要限制总吞吐量
使用nginx_limit_req,以seach.php为关键,将search.php的总[非单IP]并发限制在5/秒。
Timeoutd回一个phpjs算法验证[有效一次],
这样,即使SEARCH.PHP被C占领,影响也不大。

最重要的还是那句话:不要装b,装b被雷劈。


转自:http://www.hostloc.com/thread-116967-1-2.html

http://www.admin5.com/article/20081102/112695.shtml

http://www.bingdun.com/cc/1158.htm

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/758321.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-01
下一篇 2022-05-01

发表评论

登录后才能评论

评论列表(0条)

保存