null第3章 拒绝服务与数据库安全第3章 拒绝服务与数据库安全null本章学习要点
掌握DoS攻击的原理
掌握DoS攻击工具的基本使用和防护
了解基于服务的漏洞和入侵方法
掌握Telnet入侵的基本防护
了解SQL数据库的安全技术和原理
掌握基于SQL的入侵和防护3.1 拒绝服务攻击概述3.1 拒绝服务攻击概述3.1.1 DoS定义
DoS(Denial of Service,拒绝服务)是指阻止或拒绝合法使用者存取网络服务器。null 造成DoS的攻击行为被称为DoS攻击,即将大量的非法申请封包传送给指定的目标主机,其目的是完全消耗目标主机资源,使计算机或网络无法提供正常的服务。
null 最常见的DoS攻击包括计算机网络带宽攻击和连通性攻击。
带宽攻击是指以极大的通信量冲击网络,使得所有可用的网络资源都被消耗殆尽,最后导致合法的用户请求无法通过。null 连通性攻击是指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。
null DoS攻击的原理是借助网络系统或协议的缺陷以及配置漏洞进行网络攻击,使网络拥塞、系统资源耗尽或系统应用死锁,妨碍目标主机和网络系统对正常用户服务请求的及时响应,造成服务的性能受损,甚至导致服务中断。null DoS攻击的基本过程是首先攻击者向服务器发送众多的带有虚假地址的请求,服务器发送回复信息后等待回传信息。null 由于地址是伪造的,所以服务器一直等不到回传的消息,分配给这次请求的资源就始终没有被释放。null 当服务器等待一定的时间后,连接会因超时而被切断,攻击者会再度传送一批新的请求,在这种反复发送伪地址请求的情况下,服务器资源最终会被耗尽,而导致服务中断,如图3.1所示。
null图3.1 DoS攻击的基本过程3.1.2 拒绝服务攻击的分类3.1.2 拒绝服务攻击的分类1.按攻击的对象分类
拒绝服务攻击可以是“物理的”(又称“硬件的”),也可以是“逻辑的”(又称“软件的”)。null ① 物理形式的攻击,如偷窃、破坏物理设备,破坏电源等。
② 逻辑的攻击,如通过软件破坏网络、系统资源和服务,如邮件服务、DNS服务、CPU资源等。2.按攻击的目标分类2.按攻击的目标分类 按攻击的目标拒绝服务攻击又可分为节点型和网络连接型。
① 节点型:旨在消耗节点(主机Host)资源。节点型又可以进一步细分为主机型和应用型。null主机型攻击:其目标主要是主机中的公共资源,如CPU、磁盘等,使得主机对所有的服务都不能响应。
null 应用型攻击:其目标是网络中特定的应用,如邮件服务、DNS服务、Web服务等。受攻击时,受害者上的其他服务可能不受影响或者受影响的程度较小(与受攻击的服务相比而言)。
② 网络连接型:旨在消耗网络连接和带宽。3.按攻击方式分类3.按攻击方式分类 按照攻击方式拒绝服务攻击可以分为资源消耗、服务中止和物理破坏。
① 资源消耗:指攻击者试图消耗目标的合法资源,如网络带宽、内存和磁盘空间、CPU使用率等。根据资源类型的不同,资源消耗可分为带宽耗尽和系统资源耗尽两类。null带宽耗尽攻击:其本质是攻击者通过放大等技巧,消耗掉目标网络的所有可用带宽。null系统资源耗尽攻击:指对系统内存、CPU 或程序中的其他资源进行消耗,使其无法满足正常提供服务的需求。著名的Syn Flood攻击即是通过向目标服务发送大量的数据包,造成服务的连接队列耗尽,无法再为其他正常的连接请求提供服务。null ② 服务中止:指攻击者利用服务中的某些缺陷导致服务崩溃或中止。
③ 物理破坏:指雷击、电流、水、火等以物理接触的方式导致的拒绝服务攻击。4.按受害者类型分类4.按受害者类型分类 按受害者类型拒绝服务攻击可以分为服务器端拒绝服务攻击和客户端拒绝服务攻击。null ① 服务器端拒绝服务攻击:指攻击的目标是特定的服务器,使之不能提供服务(或者不能向某些客户端提供某种服务),如攻击一个Web服务器使之不能访问。
null ② 客户端拒绝服务攻击:针对特定的客户端,使之不能使用某种服务,如游戏、聊天室中的“踢人”,也就是使某个特定的用户不能登录游戏系统或聊天室中,使之不能使用系统的服务。null5.按攻击是否针对受害者分类
6.按攻击地点分类
3.1.3 常见DoS攻击3.1.3 常见DoS攻击1.Land程序攻击
Land攻击是利用向目标主机发送大量的源地址与目标地址相同的数据包,造成目标主机解析Land包时占用大量的系统资源,从而使网络功能完全瘫痪的攻击手段。
2.SYN Flood攻击2.SYN Flood攻击 ① 攻击者向被攻击服务器发送一个包含SYN标志的TCP报文,SYN(Synchronize,同步报文)会指明客户端使用的端口以及TCP连接的初始序号,这时同被攻击服务器建立了第1次握手。null ② 受害服务器在收到攻击者的SYN后,将返回一个SYN+ACK的报文,
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示攻击者的请求被接受,同时TCP序号被加1,ACK
(Acknowledgement)即确认,这样就同被攻击服务器建立了第2次握手。
null ③ 攻击者也返回一个确认报文ACK给受害服务器,同样TCP序列号被加1,到此一个TCP连接完成,第3次握手完成。null3.IP欺骗DoS攻击
4.Smurf攻击
5.Ping of Death
6.Teardrop攻击
7.WinNuke攻击
3.1.4 分布式拒绝服务3.1.4 分布式拒绝服务 分布式拒绝服务(Distributed Denial of Service,DDoS)是一种基于DoS的特殊形式的拒绝服务攻击,是一种分布、协作的大规模攻击方式,主要瞄准比较大的站点,像商业公司、搜索引擎或政府部门的站点。null 分布式拒绝服务如图3.2所示。
DoS攻击只要一台单机和一个Modem就可实现,与之不同的是DDoS攻击是利用一批受控制的机器向一台机器发起攻击,这样来势迅猛的攻击令人难以防备,因此具有较大的破坏性。
null图3.2 分布式拒绝服务 null DDoS攻击分为3层:攻击者、主控端和代理端,三者在攻击中扮演着不同的角色。
攻击者
主控端
代理端null 下面了解常见的DDoS工具。
1.Trinoo
Trinoo的攻击方法是向被攻击目标主机的随机端口发出全零的4字节UDP包,在处理这些超出其处理能力的垃圾数据包的过程中,被攻击主机的网络性能不断下降,直到不能提供正常服务,乃至崩溃。null 它对IP地址不进行修改,采用的通信端口如下。
攻击者主机到主控端主机:27665/TCP。
主控端主机到代理端主机:27444/UDP。
代理端主机到主服务器主机:31335/UDP。2.TFN2.TFN TFN由主控端程序和代理端程序两部分组成,它主要采取的攻击方法为SYN风暴、Ping风暴、UDP炸弹和SMURF,具有伪造数据包的能力。3.TFN2K3.TFN2K TFN2K是由TFN发展而来的,在TFN所具有的特性上,TFN2K又新增一些特性。
它的主控端和代理端的网络通信是经过加密的,中间还可能混杂了许多虚假数据包,而TFN对ICMP的通信没有加密。
攻击方法增加了Mix和Targa3,并且TFN2K可配置代理端进程端。4.Stacheldraht4.Stacheldraht 检测DDoS攻击的主要方法有以下几种。
根据异常情况分析
使用DDoS检测工具 3.1.5 拒绝服务攻击的防护3.1.5 拒绝服务攻击的防护 通常建议用户可以采取以下手段来保障网络能够抵御拒绝服务攻击。
① 增加网络核心设备的冗余性,提高对网络流量的处理能力和负载均衡能力。
② 通过路由器配置访问列表,过滤掉非法流量。null ③ 部署防火墙,提高网络抵御网络攻击的能力。
④ 部署入侵检测设备,提高对不断更新的DoS攻击的识别和控制能力。
3.2 SQL数据库安全3.2 SQL数据库安全3.2.1 数据库系统概述
3.2.2 SQL服务器的发展
3.2.3 数据库技术的基本概念3.2.3 数据库技术的基本概念① 数据(Data)
② 数据库(DB)
③ 数据库管理系统(DBMS)
④ 数据库系统(DBS)
⑤ 数据库技术
⑥ 数据模型3.2.4 SQL安全原理3.2.4 SQL安全原理1.第一级安全层次
为方便服务器管理,每个SQL Server有多个内置的服务器角色,允许系统管理员给可信的实体授予一些功能,而不必使他们成为完全的管理员。
服务器中的一些角色如表3.1所示。
null表3.1 服务器角色及其主要功能 null2.第二级安全层次
3.第三级安全层次
(1)用户定义的角色
(2)固定数据库角色null表3.2 数据库角色及其主要功能 3.3 SQL Server攻击的防护3.3 SQL Server攻击的防护 微软的SQL Server是一种广泛使用的数据库,很多电子商务网站、企业内部信息化平台等都是基于SQL Server的,但是数据库的安全性还没有和系统的安全性等同起来,多数管理员认为只要把网络和操作系统的安全做好了,那么所有的应用程序也就安全了。null 大多数系统管理员对数据库不熟悉,而数据库管理员又对安全问题关心太少,而且一些安全公司也忽略数据库安全,这就使数据库的安全问题更加严峻了。null 数据库系统中存在的安全漏洞和不当的配置通常会造成严重的后果,而且都难以发现。
数据库应用程序通常同操作系统的最高管理员密切相关。null 广泛的SQL Server数据库又是属于“端口”型的数据库,这就表示任何人都能够用分析工具试图连接到数据库上,从而绕过操作系统的安全机制,进而闯入系统、破坏和窃取数据资料,甚至破坏整个系统。
3.3.1 信息资源的收集3.3.1 信息资源的收集 在讨论如何防守攻击者之前,必须要了解攻击者如何查找和渗透SQL Server或基于SQL Server的应用程序。null 攻击者可能有许多原因来选择潜在的目标,包括报复、利益或恶意。
永远不要假定自己的服务器“飞”得太低,以至于不能显示在别人的雷达屏幕上。null 许多攻击者只是因为高兴而扫描IP范围,假定自己的ISP或内部网络被这些人骚扰了,那就要做最坏的打算。
null 现在评估SQL Server被发现的方法,可以通过网络,也可以通过企业内部。
攻击者无论是把某些IP范围作为目标,还是随机扫描,他们发现SQL Server所使用的工具都是一样的。null 当微软在SQL Server 2000中引入多请求能力时,就引入了一个难题:既然端口(除了默认的请求,它默认监听端口为1433)是动态分配的,那么怎么知道请求名字的用户是如何连接到合适的TCP端口的?null 微软通过在UDP 1434上创建一个监听者来解决这个问题,称之为SQL Server解决服务
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
。
这个服务方案负责发送包含链接信息的响应包给发送特定请求的客户。
null 这个包含有允许客户想得到的请求的所有信息,包括每个请求的TCP端口、其他支持的netlib、请求形式,以及服务器是否集群。3.3.2 获取账号及扩大权限3.3.2 获取账号及扩大权限 假定SQL Server搜索是成功的,那么现在有收集到的IP地址、请求名称以及TCP端口作为武装,然后去获得一些安全环境的信息。null 可收集关于服务器的信息,如版本信息、数据库、表单以及其他的信息,这些将决定谁是目标:是SQL Server数据还是操作系统。
null 一般来说,入侵者可以通过以下几个手段来获取账号或密码。
社会(交)工程学:通过欺诈手段或人际关系获取密码。
弱口令扫描:该方法是最简单的方法,入侵者通过扫描大量主机,从中找出一两个存在弱口令的主机。null探测包:进行密码监听,可以通过Sniffer(嗅探器)来监听网络中的数据包,从而获得密码,这种方法对付明文密码特别有效,如果获取的数据包是加密的,还要涉及解密算法。null暴力破解SQL口令:密码的终结者,获取密码只是时间问题,如本地暴力破解、远程暴力破解。
其他方法:如在入侵后安装木马或安装键盘记录程序等。
3.3.3 设置安全的SQL Server3.3.3 设置安全的SQL Server 在进行SQL Server 2000数据库的安全配置之前,需要完成3个基本的安全配置。
① 对操作系统进行安全配置,保证操作系统处于安全的状态。null ② 对要使用的数据库软件(程序)进行必要的安全审核,如ASP、PHP等脚本,这是很多基于数据库的Web应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似于“,”、“‘”、“;”、“@”、“/”等的字符,防止破坏者构造恶意的SQL语句进行注入。null ③ 安装SQL Server 2000后,要打上最新的补丁。
在做完上述3步基本的配置之后,下面来讨论SQL Server 2000的安全配置。
(1)使用安全的密码策略和账号策略,减少过多的权限null (2)激活审核数据库事件日志
(3)清除危险的扩展存储过程
(4)在与工作相关的存储过程上设置严格的权限null(5)使用协议加密
(6)拒绝来自1434端口的探测
(7)更改默认的TCP/IP端口1433
(8)对网络连接进行IP限制