防护DDOS的几种的必要步骤
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了防护DDOS的几种的必要步骤相关的知识,希望对你有一定的参考价值。
参考技术A 一、为何要DDOS?随着Internet互联网络带宽的增加和多种DDOS黑客工具的不断发布,DDOS拒绝服务攻击的实施越来越容易,DDOS攻击事件正在成上升趋势。出于商业竞争、打击报复和网络敲诈等多种因素,导致很多IDC托管机房、商业站点、游戏服务器、聊天网络等网络服务商长期以来一直被DDOS攻击所困扰,随之而来的是客户投诉、同虚拟主机用户受牵连、法律纠纷、商业损失等一系列问题,因此,解决DDOS攻击问题成为网络服务商必须考虑的头等大事。
二、什么是DDOS?
DDOS是英文Distributed Denial of Service的缩写,意即“分布式拒绝服务”,那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡是能导致合法用户不能够访问正常网络服务的行为都算是拒绝服务攻击。也就是说拒绝服务攻击的目的非常明确,就是要阻止合法用户对正常网络资源的访问,从而达成攻击者不可告人的目的。虽然同样是拒绝服务攻击,但是DDOS和DOS还是有所不同,DDOS的攻击策略侧重于通过很多“僵尸主机”(被攻击者入侵过或可间接利用的主机)向受害主机发送大量看似合法的网络包,从而造成网络阻塞或服务器资源耗尽而导致拒绝服务,分布式拒绝服务攻击一旦被实施,攻击网络包就会犹如洪水般涌向受害主机,从而把合法用户的网络包淹没,导致合法用户无法正常访问服务器的网络资源,因此,拒绝服务攻击又被称之为“洪水式攻击”,常见的DDOS攻击手段有SYN Flood、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、Script Flood、Proxy Flood等;而DOS则侧重于通过对主机特定漏洞的利用攻击导致网络栈失效、系统崩溃、主机死机而无法提供正常的网络服务功能,从而造成拒绝服务,常见的DOS攻击手段有TearDrop、Land、Jolt、IGMP Nuker、Boink、Smurf、Bonk、OOB等。就这两种拒绝服务攻击而言,危害较大的主要是DDOS攻击,原因是很难防范,至于DOS攻击,通过给主机服务器打补丁或安装防火墙软件就可以很好地防范,后文会详细介绍怎么对付DDOS攻击。
三、被DDOS了吗?
DDOS的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供网络服务。
如何判断网站是否遭受了流量攻击呢?可通过Ping命令来测试,若发现Ping超时或丢包严重(假定平时是正常的),则可能遭受了流量攻击,此时若发现和你的主机接在同一交换机上的服务器也访问不了了,基本可以确定是遭受了流量攻击。当然,这样测试的前提是你到服务器主机之间的ICMP协议没有被路由器和防火墙等设备屏蔽,否则可采取Telnet主机服务器的网络服务端口来测试,效果是一样的。不过有一点可以肯定,假如平时Ping你的主机服务器和接在同一交换机上的主机服务器都是正常的,突然都Ping不通了或者是严重丢包,那么假如可以排除网络故障因素的话则肯定是遭受了流量攻击,再一个流量攻击的典型现象是,一旦遭受流量攻击,会发现用远程终端连接网站服务器会失败。
相对于流量攻击而言,资源耗尽攻击要容易判断一些,假如平时Ping网站主机和访问网站都是正常的,发现突然网站访问非常缓慢或无法访问了,而Ping还可以Ping通,则很可能遭受了资源耗尽攻击,此时若在服务器上用Netstat -na命令观察到有大量的SYN_RECEIVED、TIME_WAIT、FIN_WAIT_1等状态存在,而ESTABLISHED很少,则可判定肯定是遭受了资源耗尽攻击。还有一种属于资源耗尽攻击的现象是,Ping自己的网站主机Ping不通或者是丢包严重,而Ping与自己的主机在同一交换机上的服务器则正常,造成这种原因是网站主机遭受攻击后导致系统内核或某些应用程序CPU利用率达到100%无法回应Ping命令,其实带宽还是有的,否则就Ping不通接在同一交换机上的主机了。
作者: 222.35.168.* 2007-2-4 13:32 回复此发言
--------------------------------------------------------------------------------
2 怎样防护ddos攻击?
当前主要有三种流行的DDOS攻击:
1、SYN/ACK Flood攻击:这种攻击方法是经典最有效的DDOS方法,可通杀各种系统的网络服务,主要是通过向受害主机发送大量伪造源IP和源端口的SYN或ACK包,导致主机的缓存资源被耗尽或忙于发送回应包而造成拒绝服务,由于源都是伪造的故追踪起来比较困难,缺点是实施起来有一定难度,需要高带宽的僵尸主机支持。少量的这种攻击会导致主机服务器无法访问,但却可以Ping的通,在服务器上用Netstat -na命令会观察到存在大量的SYN_RECEIVED状态,大量的这种攻击会导致Ping失败、TCP/IP栈失效,并会出现系统凝固现象,即不响应键盘和鼠标。普通防火墙大多无法抵御此种攻击。
2、TCP全连接攻击:这种攻击是为了绕过常规防火墙的检查而设计的,一般情况下,常规防火墙大多具备过滤TearDrop、Land等DOS攻击的能力,但对于正常的TCP连接是放过的,殊不知很多网络服务程序(如:IIS、Apache等Web服务器)能接受的TCP连接数是有限的,一旦有大量的TCP连接,即便是正常的,也会导致网站访问非常缓慢甚至无法访问,TCP全连接攻击就是通过许多僵尸主机不断地与受害服务器建立大量的TCP连接,直到服务器的内存等资源被耗尽而被拖跨,从而造成拒绝服务,这种攻击的特点是可绕过一般防火墙的防护而达到攻击目的,缺点是需要找很多僵尸主机,并且由于僵尸主机的IP是暴露的,因此容易被追踪。
3、刷Script脚本攻击:这种攻击主要是针对存在ASP、JSP、php、CGI等脚本程序,并调用MSSQLServer、mysqlServer、Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击方法。一般来说,提交一个GET或POST指令对客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费是很大的,常见的数据库服务器很少能支持数百个查询指令同时执行,而这对于客户端来说却是轻而易举的,因此攻击者只需通过Proxy代理向主机服务器大量递交查询指令,只需数分钟就会把服务器资源消耗掉而导致拒绝服务,常见的现象就是网站慢如蜗牛、ASP程序失效、PHP连接数据库失败、数据库主程序占用CPU偏高。这种攻击的特点是可以完全绕过普通的防火墙防护,轻松找一些Proxy代理就可实施攻击,缺点是对付只有静态页面的网站效果会大打折扣,并且有些Proxy会暴露攻击者的IP地址。
四、怎么抵御DDOS?
对付DDOS是一个系统工程,想仅仅依靠某种系统或产品防住DDOS是不现实的,可以肯定的是,完全杜绝DDOS目前是不可能的,但通过适当的措施抵御90%的DDOS攻击是可以做到的,基于攻击和防御都有成本开销的缘故,若通过适当的办法增强了抵御DDOS的能力,也就意味着加大了攻击者的攻击成本,那么绝大多数攻击者将无法继续下去而放弃,也就相当于成功的抵御了DDOS攻击。以下为笔者多年以来抵御DDOS的经验和建议,和大家分享!
1、采用高性能的网络设备
首先要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品。再就是假如和网络提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在网络接点处做一下流量限制来对抗某些种类的DDOS攻击是非常有效的。
2、尽量避免NAT的使用
无论是路由器还是硬件防护墙设备要尽量避免采用网络地址转换NAT的使用,因为采用此技术会较大降低网络通信能力,其实原因很简单,因为NAT需要对地址来回转换,转换过程中需要对网络包的校验和进行计算,因此浪费了很多CPU的时间,但有些时候必须使用NAT,那就没有好办法了。
3、充足的网络带宽保证
网络带宽直接决定了能抗受攻击的能力,假若仅仅有10M带宽的话,无论采取什么措施都很难对抗现在的SYNFlood攻击,当前至少要选择100M的共享带宽,最好的当然是挂在1000M的主干上了。但需要注意的是,主机上的网卡是1000M的并不意味着它的网络带宽就是千兆的,若把它接在100M的交换机上,它的实际带宽不会超过100M,再就是接在100M的带宽上也不等于就有了百兆的带宽,因为网络服务商很可能会在交换机上限制实际带宽为10M,这点一定要搞清楚。
作者: 222.35.168.* 2007-2-4 13:32 回复此发言
--------------------------------------------------------------------------------
3 怎样防护ddos攻击?
4、升级主机服务器硬件
在有网络带宽保证的前提下,请尽量提升硬件配置,要有效对抗每秒10万个SYN攻击包,服务器的配置至少应该为:P4 2.4G/DDR512M/SCSI-HD,起关键作用的主要是CPU和内存,若有志强双CPU的话就用它吧,内存一定要选择DDR的高速内存,硬盘要尽量选择SCSI的,别只贪IDE价格不贵量还足的便宜,否则会付出高昂的性能代价,再就是网卡一定要选用3COM或Intel等名牌的,若是Realtek的还是用在自己的PC上吧。
5、把网站做成静态页面
大量事实证明,把网站尽可能做成静态页面,不仅能大大提高抗攻击能力,而且还给黑客入侵带来不少麻烦,至少到现在为止关于html的溢出还每出现,看看吧!新浪、搜狐、网易等门户网站主要都是静态页面,若你非需要动态脚本调用,那就把它弄到另外一台单独主机去,免的遭受攻击时连累主服务器,当然,适当放一些不做数据库调用脚本还是可以的,此外,最好在需要调用数据库的脚本中拒绝使用代理的访问,因为经验表明使用代理访问你网站的80%属于恶意行为。
6、增强操作系统的TCP/IP栈
Win2000和Win2003作为服务器操作系统,本身就具备一定的抵抗DDOS攻击的能力,只是默认状态下没有开启而已,若开启的话可抵挡约10000个SYN攻击包,若没有开启则仅能抵御数百个,具体怎么开启,自己去看微软的文章吧!《强化 TCP/IP 堆栈安全》- http://www.microsoft.com/china/technet/security/guidance/secmod109.mspx
也许有的人会问,那我用的是Linux和FreeBSD怎么办?很简单,按照这篇文章去做吧!《SYN Cookies》- http://cr.yp.to/syncookies.html
7、安装专业抗DDOS防火墙
国内有一款可全功能免费试用的“冰盾防火墙”,是专门针对DDOS攻击和黑客入侵而设计的专业级防火墙,据测试可有效对抗每秒数十万的SYN/ACK攻击、TCP全连接攻击、刷脚本攻击等DDOS攻击,而且可识别2000多种黑客行为的入侵检测模块,能够有效防范端口扫描、SQL注入、木马上传等攻击。下载地址:http://www.bingdun.com
8、其他防御措施
以上的七条对抗DDOS建议,适合绝大多数拥有自己主机的用户,对于第1-4条自己具有选择权,第5条可以通过网站改版来实现,第6条是免费的,第7条若购买的话需要一些费用,但在所有建议中是最有效的,并且情况允许的话,完全可以一直使用试用版。但假如采取以上措施后仍然不能解决DDOS问题,就有些麻烦了,可能需要更多投资,增加服务器数量并采用DNS轮巡或负载均衡技术,甚至需要购买七层交换机设备,从而使得抗DDOS攻击能力成倍提高,只要投资足够深入,总有攻击者会放弃的时候,那时候你就成功了!:) 参考技术B 大部分的木马及部分的病毒是通过注册表的自启动项或文件关联或通过系统服务实现自启动的,那是否有一种方法可以防止木马或病毒修改注册表项及增加服务呢?Windows2000/XP/2003的注册表是可以设置权限的,只是我们比较少用到。设置以下注册表键的权限:1、设置注册表自启动项为everyone只读(Run、RunOnce、RunService),防止木马、病毒通过自启动项目启动;2、设置.txt、.com、.exe、.inf、.ini、.bat等等文件关联为everyone只读,防止木马、病毒通过文件关联启动;
【文中代码仅供参考!】
一、问题的提出
大部分的木马及部分的病毒是通过注册表的自启动项或文件关联或通过系统服务实现自启动的,那是否有一种方法可以防止木马或病毒修改注册表项及增加服务呢?
二、问题的解决
Windows2000/XP/2003的注册表是可以设置权限的,只是我们比较少用到。设置以下注册表键的权限:
1、设置注册表自启动项为everyone只读(Run、RunOnce、RunService),防止木马、病毒通过自启动项目启动
2、设置.txt、.com、.exe、.inf、.ini、.bat等等文件关联为everyone只读,防止木马、病毒通过文件关联启动
3、设置注册表HKLM\SYSTEM\CurrentControlSet\Services为everyone只读,防止木马、病毒以“服务”方式启动
注册表键的权限设置可以通过以下方式实现:
1、如果在域环境里,可能通过活动目录的组策略实现的
2、本地计算机的组策略来(命令行用secedit)
3、本文通过setacl这个程序加批处理实现。
4、手工操作可以通过regedt32(Windows2000系统,在菜单“安全”下的“权限”)或regedit(Windows2003/XP,在“编辑”菜单下的“权限”)批处理代码在后面给出。
如果只有users组权限,以上键值默认是只读的,就可以不用这么麻烦了。
三、适用人群
1)、对电脑不是很熟悉,不经常安装/卸载软件的人
2)、喜欢在网上下载软件安装的朋友
3)、每台电脑的操作人员都有管理员权限,这些人的电脑水平又参差不齐的企业
四、还存在的问题
1)、安装杀毒软件,打补丁的时候都可能对那些注册表进行操作,这样就得先恢复权限设置,再安装,安装完成后重新设置。不方便
2)、防不住3721,不知是不是3721的权限太高了(听说3721是通过驱动程序启动的,有ring 0级权限)
3)、只适合Windows2000/XP/2003,其他的就没办法了
4)、只能对付那些简单的病毒和木马
五、批处理源代码
@goto start
==============================================================
名称:反特洛伊木马
功能:
1、禁用自启动项目(run runonce runservices)
2、禁止修改.txt、.com、.exe、.inf、.ini、.bat等等文件关联
3、禁止修改"服务"信息
原理:设置注册表权限为只读
版本修订情况
版本号 修订日期 修订人 修订内容
1.0 2004-12-22 netu0 创建本脚本
:start
@SETLOCAL
@rem 活动代码页设为中文
@chcp 936 nul 2 nul
@echo.
@echo ************************************************************
@echo #
@echo # 欢迎使用反特洛伊木马程序
@echo #
@echo #
@echo ************************************************************
:chkOS
@echo.
@ver find "2000" nul 2 nul
@if "%ERRORLEVEL%"=="0" goto :2000
@ver find "Microsoft Windows [版本 5" nul 2 nul
@if "%ERRORLEVEL%"=="0" goto :2003
@ver find "XP" nul 2 nul
@if "%ERRORLEVEL%"=="0" goto :XP
@echo.
@echo #您的操作系统不是Windows 2000/XP/2003中的一种,无法使用。
@goto quit
@rem 在下面语句插不同系统的不同命令
:2000
@set UpdatePolicy=secedit /refreshpolicy machine_policy nul 2 nul
@goto Selection
:XP
@set UpdatePolicy=GPUpdate /Force nul 2 nul
@goto Selection
:2003
@set UpdatePolicy=GPUpdate /Force nul 2 nul
@goto Selection
:Selection
@rem User Choice
@echo.
@echo 请输入以下选项前面的数字
@echo.
@echo 1: 安装反特洛伊木马保护
@echo 2: 删除反特洛伊木马保护(恢复默认设置)
@echo 3: 查看技术信息
@echo 4: 退出
@echo.
@set /p UserSelection=输入您的选择(1、2、3、4)
@if "%UserSelection%"=="1" goto install
@if "%UserSelection%"=="2" goto uninstall
@if "%UserSelection%"=="3" goto information
@if "%UserSelection%"=="4" goto quit
@rem 输入其他字符
@cls
@goto Selection
:information
@cls
@echo
@echo #
@echo # 欢迎使用反特洛伊木马程序
@echo #
@echo #功能:
@echo #
@echo # 1、设置注册表自启动项为只读(Run、RunOnce、RunService),
@echo # 防止木马、病毒通过自启动项目启动
@echo # 2、设置.txt、.com、.exe、.inf、.ini、.bat等等文件关联为只读,
@echo # 防止木马、病毒通过文件关联启动
@echo # 3、设置注册表HKLM\SYSTEM\CurrentControlSet\Services为只读
@echo # 防止木马、病毒以"服务"方式启动
@echo #
@echo #注意事项:
@echo # 某些安装程序也会用到以上注册表键,请在安装前运行本程序,
@echo # 然后选择2,恢复默认设置。安装完成后,重新运行本程序,
@echo # 然后选择1,实施反特洛伊木马保护
@echo ==============================================================
@echo.
@echo 按任意键,返回选择
@pause nul 2 nul
@cls
@goto Selection
:install
@set OP=/grant everyone /read /p:no_dont_copy
@goto Doit
:uninstall
@set OP=/revoke everyone /read /p:yes
@goto Doit
:Doit
@echo.
@echo 正在执行操作...
@rem HKLM
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /
registry %OP% nul 2 nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /
registry %OP% nul 2 nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices /
registry %OP% nul 2 nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunEX /
registry %OP% nul 2 nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEX /
registry %OP% nul 2 nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesEx /
registry %OP% nul 2 nul
@rem HKCU
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /
registry %OP% nul 2 nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /
registry %OP% nul 2 nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices /
registry %OP% nul 2 nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunEX /
registry %OP% nul 2 nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEX /
registry %OP% nul 2 nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesEx /
registry %OP% nul 2 nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce /
registry %OP% nul 2 nul
@rem USERS
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /
registry %OP% nul 2 nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /
registry %OP% nul 2 nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices /
registry %OP% nul 2 nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunEX /
registry %OP% nul 2 nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEX /
registry %OP% nul 2 nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesEx /
registry %OP% nul 2 nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce /
registry %OP% nul 2 nul
@rem Services
@setacl MACHINE\SYSTEM\CurrentControlSet\Services /registry %OP% nul 2 nul
@rem CLASSES_ROOT
@setacl CLASSES_ROOT\exefile\shell\open\command /registry %OP% nul 2 nul
@setacl CLASSES_ROOT\inifile\shell\open\command /registry %OP% nul 2 nul
@setacl CLASSES_ROOT\txtfile\shell\open\command /registry %OP% nul 2 nul
@setacl CLASSES_ROOT\comfile\shell\open\command /registry %OP% nul 2 nul
@setacl CLASSES_ROOT\batfile\shell\open\command /registry %OP% nul 2 nul
@setacl CLASSES_ROOT\inffile\shell\open\command /registry %OP% nul 2 nul
@echo 正在更新帐户策略、审核策略......
@REM [刷新本地安全策略]
@%UpdatePolicy% nul 2 nul
@echo 帐户策略、审核策略更新完成
:complete
@echo 操作完成
@echo.
@echo.
@echo 请按任意键退出。
@pause nul 2 nul
:quit
@rem Clear
@del %systemroot%\system32\setacl.exe nul 2 nul
@del %systemroot%\system32\AntiTrojanhorse.bat nul 2 nul
@ENDLOCAL 参考技术C 去腾讯智慧安全申请个御点终端安全系统
申请好了之后,打开腾讯御点,选择修复漏洞
可以自动检测出电脑里面需要修复的漏洞然后一键修复
DDOS攻击原理与防护
DDOS就是分布式DOS攻击(分布式拒绝服务攻击)。通过多台主机向一台服务器发起攻击,即多台主机不断向服务器发起服务请求,使服务器消耗大量CPU、内存、网络带宽等资源而不堪重负,不能提供正常的服务甚至瘫痪。
DDOS的防护主要从两个方面入手,即主机设置和网络设置。
主机设置:
1、关闭不必要的服务端口。
2、限制同时打开的SYN半连接数目。
3、及时更新系统补丁。
网络设置:
1、部署好防火墙,禁止特定IP地址的对内访问,禁止对非开放服务的访问,控制SYN同时连接数目,启用防火墙的DDOS属性等。
2、配置好出口路由器,设置SYN数据包流量速率,更新过久地IOS等。
本文出自 “11241653” 博客,请务必保留此出处http://11251653.blog.51cto.com/11241653/1761123
以上是关于防护DDOS的几种的必要步骤的主要内容,如果未能解决你的问题,请参考以下文章