第3章拒绝服务与数据库安全第3章拒绝服务与数据库安全3.1拒绝服务攻击概述3.2基于漏洞入侵的防护方法3.3SQL数据库安全3.4SQLServer攻击的防护拒绝服务攻击概述3.1.1DoS定义3.1.2拒绝服务攻击的分类3.1.3常见DoS攻击3.1.4分布式拒绝服务3.1.5拒绝服务攻击的防护定义拒绝服务,英文为“DenialofService”,也就是我们常说的DoS。拒绝服务攻击的分类拒绝服务攻击可以是物理的(硬件的),也可以是逻辑的(LogicAttack),也称为软件的(SoftwareAttack)。物理形式的攻击如偷窃、破坏物理设备,破坏电源等。物理攻击属于物理安全的范围,不在本书的讨论之列。本书中只讨论后一种形式的攻击。常见DoS攻击1.SYN洪水(SYNflood):2.IP欺骗DoS:3.死亡之ping(PingofDeath):4.泪滴(TearDrop)攻击:5.UDPflood攻击:6.Land(LandAttack)攻击:7.Smurf攻击:分布式拒绝服务分布式拒绝服务攻击DDOS(DistributedDenialofService)是对传统拒绝服务攻击的发展,攻击者向网络服务器发起众多携带非法IP地址的服务请求,服务器在回复该请求后进入等待客户端回传消息的状态。典型的DDoS攻击示意图被DDoS攻击时的现象:①被攻击主机上有大量等待的TCP连接②网络中充斥着大量的无用的数据包,源地址为假③制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯④利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求⑤严重时会造成系统死机黑客进行DDoS攻击时会经过这样的步骤(1)搜集了解目标的情况(2)占领傀儡机(3)实际攻击拒绝服务攻击的防护与DoS做斗争,不同的角色有不同的任务①企业网管理员②SP、ICP管理员③骨干网络运营商④企业网管理员.主机上的设置几乎所有的主机平台都有抵御DoS的设置,总结一下,基本的有几种:(1)关闭不必要的服务(2)限制同时打开的Syn半连接数目(3)缩短Syn半连接的timeout时间(4)及时更新系统补丁.网络设备上的设置企业网的网络设备可以从防火墙与路由器上考虑。这两个设备是到外界的接口设备,在进行防DoS设置的同时,要注意一下这是以多大的效率牺牲为代价的,对你来说是否值得。(1)防火墙①禁止对主机的非开放服务的访问②限制同时打开的SYN最大连接数③限制特定IP地址的访问④启用防火墙的防DDoS的属性⑤严格限制对外开放的服务器的向外访问(2)路由器以Cisco路由器为例①CiscoExpressForwarding(CEF)②使用unicastreverse-path③访问控制列表(ACL)过滤④设置SYN数据包流量速率⑤升级版本过低的ISO⑥为路由器建立logserver.ISP/ICP管理员ISP/ICP为很多中小型企业提供了各种规模的主机托管业务,所以在防DoS时,除了与企业网管理员一样的手段外,还要特别注意自己管理范围内的客户托管主机不要成为傀儡机。客观上说,这些托管主机的安全性普遍是很差的,很容易成为黑客最喜欢的”肉鸡”,因为不管这台机器黑客怎么用都不会有被发现的危险,它的安全管理太差了;还不必说托管的主机都是高性能、高带宽的简直就是为DoS定制的。而做为ISP的管理员,对托管主机是没有直接管理的权力的,只能通知让客户来处理。在实际情况时,有很多客户与自己的托管主机服务商配合得不是很好,造成ISP管理员明知自己负责的一台托管主机成为了傀儡机,却没有什么办法的局面。.骨干网络运营商他们提供了互联网存在的物理基础。如果骨干网络运营商可以很好地合作的话,DoS攻击可以很好地被预防。在2000年yahoo等知名网站被攻击后,美国的网络安全研究机构提出了骨干运营商联手来解决DoS攻击的方案。其实方法很简单,就是每家运营商在自己的出口路由器上进行源IP地址的验证,如果在自己的路由表中没有到这个数据包源IP的路由,就丢掉这个包。这种方法可以阻止黑客利用伪造的源IP来进行DoS攻击。基于漏洞入侵的防护方法3.2.1基于IIS漏洞入侵的防护方法IIS主要有以下5种漏洞。(1).ida&.idq漏洞。(2).printer漏洞.(3)Unicode漏洞。(4).asp映射分块编码漏洞。(5)WebDAV漏洞。..ida&.idq漏洞(1)漏洞描述:IIS的indexserver.ida/.idqISAPI扩展存在远程缓冲溢出漏洞,攻击者可以利用该漏洞获得Web服务器的System权限来访问远程系统(2)漏洞检测①手工检测:://②工具检测扩展远程溢出漏洞(3)安全解决方案①为Windows2000操作系统打SP4补丁②为该漏洞安装补丁③删除.ida&.idq的脚本映射..printer漏洞(1)漏洞描述:Windows2000IIS5.0.printISAPI扩展存在缓冲区溢出漏洞。(2)漏洞检测(3)漏洞利用.Unicode目录遍历漏洞(1)漏洞描述微软IIS4.0/5.0扩展Unicode目录遍历漏洞。(2)漏洞利用(3)漏洞检测(4)漏洞利用(5)安全解决方案..asp映射分块编码漏洞(1)漏洞描述:Windows2000和NT4IIS.ASP映射存在远程缓冲溢出漏洞(2)漏洞检测:(3)漏洞利用:(4)安全解决方案:.WebDV远程缓冲区溢出漏洞(1)漏洞描述:MicrosoftWindows2000ntdll.dllWebDAV接口远程缓冲区溢出漏洞。(2)漏洞检测(3)漏洞利用(4)安全解决方案.MicrosoftIIS6.0Web安全漏洞(1)转移根目录,不要把Web根目录建在系统磁盘(C:\)。(2)把IIS目录的权限设置为只读。(3)如果IIS只用来提供静态网页,既不提供ASP、JSP、CGI等脚本服务,那么建议删除脚本目录,或者说,删除全部默认安装目录,并禁止任何脚本、应用程序执行,并删除应用程序配置里面的“ISAPI”应用程序、禁止脚本测试等(4)设置安全日志,并把该日志存在一个不显眼的路径下。(5)安装网络防火墙,幷禁用除80端口以外所有端口的内外通信连接。(6)经常备份,并把备份文件存储在另一台计算机上。经典漏洞(1)中文输入法漏洞(2)RPC漏洞(4)Server服务远程缓冲区溢出漏洞(MS06-040)(3)RPC接口远程任意代码可执行漏洞基于电子邮件服务攻击的防护方法(1)IMAP和POP漏洞——由于密码脆弱是这些协议的常见弱点。各种IMAP和POP服务容易受到如缓冲区溢出等类型的攻击。(2)拒绝服务(DOS)攻击。(3)系统配置漏洞(4)利用软件问题(5)利用人为因素(6)特洛伊木马及自我传播注册表入侵的防护方法注册表根项名称说明跟项名称说明HKEY_LOCAL_MACHINE包含关于本地计算机系统的信息,包括硬件和操作系统数据,如总线类型、系统内存、设备驱动程序和启动控制数据HKEY_CLASSES_ROOT包含有各种OLE技术使用的信息和文件类别关联数据。如果HKEY_LOCAL_MACHINE(HKEY_CURRENT_USER)\SOFTWARE\Classes中存在某个键或值,则对应的键或值将出现在HKEY_CLASSES_ROOT中。如果两处均存键或值,HKEY_CURRENT_USER版本将是出现在HKEY_CLASSES_ROOT中的一个。HKEY_CURRENT_USER包含当前以交互方式(与远程方式相反)登录的用户的用户配置文件,包括环境变量、桌面设置、网络连接、打印机和程序首选项。该子目录树是HKEY_USERS子目录的别名,并指向HKEY_USERS\当前用户的安全IDHKEY_USERS包含关于动态加载的用户配置文件和默认配置文件的信息。包含同时出现在HKEY_CURRENT_USER中的信息。要远程访问服务器的用户在服务器上的该项下没有配置文件,他们的配置文件将加载到他们自己的计算机的注册表中HKEY_CURRENT_CONFIG包含在启动时由本地计算机系统使用的硬件配置文件的相关信息。该信息用于配置一些设置,如要加载的设备驱动程序和显示时要使用的分辨率。该子目录树是HKEY_LOCAL_MACHINE子目录树的一部分,并指向HEKY_LOCAL_MACHINE\SYSTEM\CurrentContorSet\HardwareProfiles\Current注册表数据类型说明数据类型说明REG_BINARY未处理的二进制数据。二进制是没有长度限制的,可以是任意个字节的长度。多数硬件组件信息都以二进制数据存储,而以十六进制格式显示在注册表编辑器中。如“CustomColors”的键值就是一个二进制数据,双击键值名,出现“编辑二进制数值”对话框REG_DWORD数据由4字节(32位)长度的数表示。许多设备驱动程序和服务的参数都是这种类型,并在注册表编辑器中以二进制、十六进制或十进制的格式显示REG_EXPAND_SZ长度可变的数据串,一般用来表示文件的描述、硬件的标识等,通常有字母和数字组成,最大长度不能超过255个字符。REG_MULTI_SZ多个字符串。其中格式可被用户读取的列表或多值。常用空格、逗