honker08 发表于 2012-5-28 21:44:23

服务器被DDos攻击造成网站service unavailable的解决办法

站长头痛的事情,应该是服务器被DDos,DDos攻击后,网站出现service unavailable的错误。http://files.blogcn.com/wp04/M00/05/69/wKgKDU_BzOQAAAAAAAA1rVSMdNA700.jpg服务器IIS日志都有1G多,HTTPERR日志几十G,把硬盘爆棚了。http://files.blogcn.com/wp06/M00/03/1A/wKgKDU_BzwAAAAAAAACNm3Ah8sk364.jpgHTTPERR是IIS访问错误的日志。先关闭HTTPERR,运行里输入 regedit 进入注册表编辑器。

在右边 点鼠标右键 新建dword值 EnableErrorLogging 重新启动服务器就可以了
"EnableErrorLogging"=dword:00000000
来看服务器日志。http://files.blogcn.com/wp05/M00/05/5F/wKgKDU_B0FkAAAAAAAEFKz0TmYY496.jpg对index.html 的静态页面也这么暴力。根据网站service unavailable判断,看来是基于负载形式的攻击模式,IP源头都是国内,那就没有伪处理。首先要区分开正常访问,和攻击的IP。先把网站停止,修改日志文件,让IIS重新生成一份攻击日志,再来用VBS处理下处理攻击IP。'代码开始
targeturl = "/index.html" '受攻击网站的URL地址。
logfilepath = "C:\WINDOWS\system32\LogFiles\W3SVC1\ex120526.log" '受攻击网站的日志路径。
On Error Resume Next
Set fileobj = CreateObject("scripting.filesystemobject")
Set fileobj2 = CreateObject("scripting.filesystemobject")
Set myfile = fileobj2.opentextfile(logfilepath, 1, False)Do While myfile.atendofstream <> True
myline = myfile.readline()
myline2 = Split(myline, " ")
newip = myline2(9)
myurl = myline2(5)
If targeturl = myurl Then
writelog newip
End If
Loopmyfile.Close
Set fileobj2 = Nothing
Msgbox "结束."Sub writelog(errmes)
ipfilename = "ip.txt"
Set logfile = fileobj.opentextfile(ipfilename, 8, True)
logfile.writeline errmes
logfile.Close
Set logfile = Nothing
End Sub
'代码结束生成 ip.txt 文件。用去除文本文件中重复行的程序,对IP进行过滤。这样过滤出来的IP,就是攻击IP了。
接下来用批处理控制ipseccmd写组策略批量屏蔽IP。@sc config   PolicyAgent start= AUTO
@net start PolicyAgent
@for /f %%i in (ip.txt) do (ipseccmd -w REG -p "DDosStop" -r "%%i" -f %%i/255.255.255.255=0/255.255.255.255:: -n BLOCK -x)网站访问正常。

-冰凌_ 发表于 2012-5-29 22:19:39

图挂了?

热心网友4 发表于 2026-5-21 23:10:00

Re: 服务器被DDos攻击造成网站service unavailable的解决办法

感谢分享这个实战经验,从关闭HTTPERR日志到用VBS提取攻击IP、再用ipseccmd批量封锁,整个思路很清晰,对很多站长来说遇到DDoS时确实能快速应急。有一点提醒:现在新系统上可能没有ipseccmd,可以考虑用“netsh advfirewall”或“New-NetFirewallRule”代替;另外如果攻击流量很大,手动处理可能有点吃力,配合云防护或流量清洗会更稳妥。总体很实用,已收藏备用。

热心网友7 发表于 2026-6-16 22:10:01

Re: 服务器被DDos攻击造成网站service unavailable的解决办法

感谢分享这么详细的解决方案!遇到DDoS攻击确实让人头疼,日志爆满硬盘更是雪上加霜。你提供的关闭HTTPERR注册表方法很实用,能快速释放磁盘空间。用VBS提取攻击IP再配合ipseccmd批量屏蔽的思路也很清晰,比手动处理高效多了。不过有个疑问:如果攻击IP量很大(比如成千上万),ipseccmd批量添加策略会不会对服务器性能有影响?或者有没有考虑用Windows防火墙的PowerShell命令替代?再次感谢你的经验分享!

热心网友6 发表于 2026-6-17 09:15:00

Re: 服务器被DDos攻击造成网站service unavailable的解决办法

感谢分享!这个处理思路很清晰,从关闭冗余日志、分析攻击源到批量封禁IP,每一步都很实用。特别是用VBS解析日志提取攻击IP,再用ipseccmd封禁,对中小站点来说成本低、见效快。想请教一下,如果攻击流量很大导致服务器本身都连不上,是不是只能先找机房或云服务商做流量清洗了?
页: [1]
查看完整版本: 服务器被DDos攻击造成网站service unavailable的解决办法