1、计算机网络安全技术第5章 TCP/IP体系的协议安全计算机网络安全技术5.1 TCP/IP体系 q5.1.1 TCP/IP体系的分层特点 q TCP/IP开始仅仅是两个协议:TCP(Transfer Control Protocol,传输控制协议)和IP(Internet Protocol,网际协议)。后来,TCP/IP演变为一种体系结构,即TCP/IP参考模型。现在的TCP/IP已成为一个工业标准的协议集,它最早应用于ARPAnet。q 与OSI参考模型不同,TCP/IP模型由应用层(Application Layer)、传输层(Transport Layer)、网际层(Internet L
2、ayer,也称为Internet层)和网络接口层(Network Interface Layer)四部分组成,如图5-1所示。图5-1 TCP/IP体系 计算机网络安全技术q 为了便于对TCP/IP体系的理解,可以将TCP/IP体系分为协议层和网络层两层,如图5-2所示。图5-2 将TCP/IP体系划分为协议层和网络层 计算机网络安全技术q TCP/IP是一个协议簇或协议栈,它是由多个子协议组成的集合。图5-3列出了TCP/IP体系中包括的一些主要协议以及与TCP/IP体系的对应关系。图5-3 TCP/IP体系中的主要协议及与各层的对应关系 计算机网络安全技术5.1.2 TCP/IP各层的主要
3、功能 q TCP/IP体系也称为TCP/IP参考模型,该模型从下到上共分为网络接口层、网际层、传输层和应用层,共4个子层。各层的主要功能如下。q1 网络接口层q 在TCP/IP参考模型中,网络接口层属于最低的一层,它负责通过网络发送和接收分组。q 2 网际层q 网际层也称为“互联网络层”,它相当于OSI参考模型网络层的无连接网络服务。网际层的任务是:允许位于同一网络或不同网络中的两台主机之间以分组的形式进行通信。计算机网络安全技术q3 传输层q 在TCP/IP参考模型中,传输层位于网际层与应用层之间,其设计目标是:允许在源和目的主机的对等体之间进行会话,负责会话对等体的应用进程之间的通信。TC
4、P/IP参考模型的传输层功能类似于OSI参考模型传输层的功能。q4 应用层q 应用层属于TCP/IP参考模型的最高层。应用层主要包括根据应用需要开发的一些高层协议,如telnet、FTP、SMTP、DNS、SNMP、HTTP等。而且,随着网络应用的不断发展,新的应用层协议还会不断出现。计算机网络安全技术5.1.3 TCP/IP网络中分组的传输示例q 在掌握了TCP/IP参考模型的分层特点及各层的功能后,下面通过一个具体的实例向读者介绍TCP/IP网络中分组的传输过程,网络拓扑如图5-4所示。图5-4 TCP/IP网络中数据的传输过程计算机网络安全技术q1 重要概念q 在如图5-4所示的通信过程
5、中,涉及到一些关键技术和概念。为便于对操作过程的描述,下面对一些重要概念进行简要介绍。q (1)子网。一个大型的通信网络由多个子网(Subnetwork)组成,每一个子网属于某一种特定类型的网络,如局域网中的以太网、令牌环网、FDDI,广域网中的x.25、帧中继等。q (2)网络接入协议。当计算机接入网络中时,必须使用这一子网中规定的接入协议。通过网络接入协议,可以让一台主机将数据通过子网发送到其他的主机。q (3)路由器。它是连接不同子网的设备,一台路由器相当于一个中继站,将一个IP分组从某一子网中的一台主机通过一个或多个子网发送到目的主机。计算机网络安全技术q(4)全局地址。对于Inter
6、net等互联网络来说,每一台主机必须拥有一个全网唯一的IP地址作为其身份的唯一标识,这个IP地址称为全局地址。当源主机发送数据到目的主机时,源主机首先要知道目的主机的IP地址。q(5)端口。主机中的每一个进程必须具有一个在本主机中唯一的地址,这个地址称为端口(port)。通过端口,端到端的协议(如TCP)才能够将数据正确地交付给相应的进程。计算机网络安全技术q 在TCP/IP参考模型中,每一层的数据称为协议数据单元(PDU),例如TCP报文段也称为TCP PDU。在数据发送端,在每一层添加首部信息的过程称为数据封装,如图5-5所示。在数据接收端,每一层去掉首部信息的过程称为数据解封。图5-5
7、TCP/IP网络中数据的封装过程 计算机网络安全技术5.2 ARP安全 q ARP(Address Resolution Protocol,地址解析协议)用来将IP地址映射到MAC地址,以便设备能够在共享介质的网络(如以太网)中通信。q 5.2.1 ARP概述q 在ARP协议的实现中还有一些应该注意的事项:q (1)每台计算机上都有一个ARP缓冲,它保存了一定数量的从IP地址到MAC地址的映射,同时当一个ARP广播到来时,虽然这个ARP广播可能与它无关,但ARP协议软件也会把其中的物理地址与IP地址的映射记录下来,这样做的好处是能够减少ARP报文在局域网上发送的次数。计算机网络安全技术q (2
8、)按照缺省设置,ARP高速缓存中的项目是动态的,ARP缓冲中IP地址与物理地址之间的映射并不是一旦生成就永久有效的,每一个ARP映射表项都有自己的寿命,如果在一段时间内没有使用,那么这个ARP映射就会从缓冲中被删除,这一点和交换机MAC地址表的原理一样。这种老化机制,大大减少了ARP缓存表的长度,加快了查询速度。计算机网络安全技术q 在以太网中,当主机要确定某个IP地址的MAC地址时,它会先检查自己的ARP缓冲表,如果目标地址不包含在该缓冲表中,主机就会发送一个ARP请求(广播形式),网段上的任何主机都可以接收到该广播,但是只有目标主机才会响应此ARP请求。由于目标主机在收到ARP请求时可以学
9、习到发送方的IP地址到MAC地址的映射,因此它采用一个单播消息来回应请求。这个过程如图5-6所示。图5-6 ARP请求的过程 计算机网络安全技术q 如图5-7所示,主机B、主机D收到主机A发来的ARP请求时,它们发现这个请求不是发给自己的,因此它们忽略这个请求,但是它们还是将主机A的IP地址到MAC地址的映射记录到自己的ARP表中。当主机C收到主机A发来的ARP请求时,它发现这个ARP请求是发给自己的,于是它用单播消息回应ARP请求,同时记录下其IP地址到MAC地址的映射。图5-7 ARP回应的过程 计算机网络安全技术5.2.2 ARP欺骗q1 ARP欺骗的概念和现状q 由于ARP协议在设计中
10、存在的主动发送ARP报文的漏洞,使得主机可以发送虚假的ARP请求报文或响应报文,报文中的源IP地址和源MAC地址均可以进行伪造。在局域网中,即可以伪造成某一台主机(如服务器)的IP地址和MAC地址的组合,也可以伪造成网关的IP地址和MAC地址的组合,等等。计算机网络安全技术q2 针对计算机的ARP欺骗q 如图5-8所示,假设主机A向主机B发送数据。在主机A中,当应用程序要发送的数据到了TCP/IP参考模型的网际层与网络接口层之间时,主机A在ARP缓存表中查找是否有主机B的MAC地址(其实是主机B的IP地址与MAC地址的对应关系),如果有,则直接将该MAC地址(22-22-22-22-22-22
11、)作为目的MAC地址添加到数据单元的网络首部(位于网络接口层),成为数据帧。在局域网(同一IP网段,如本例的192.168.1.x)中,主机利用MAC地址作为寻址的依据,所以主机A根据主机B的MAC地址,将数据帧发送给主机B。计算机网络安全技术图5-8 主机中IP地址与MAC地址的对应关系示意图 计算机网络安全技术q 如果主机A在ARP缓存表中没有找到目标主机B的IP地址对应的MAC地址,主机A就会在网络上发送一个广播帧,该广播帧的目的MAC地址是“FF.FF.FF.FF.FF.FF”,表示向局域网内的所有主机发出这样的询问:IP地址为192.168.1.2的MAC地址是什么?在局域网中所有的
12、主机都会接收到该广播帧,但在正常情况下因为只有主机B的IP地址是192.168.1.2,所以主机B会对该广播帧进行ARP响应,即向主机A发送一个ARP响应帧:我(IP地址是192.168.1.2)的MAC地址是22-22-22-22-22-22。计算机网络安全技术q 如果现在主机D要对主机A进行ARP欺骗,冒充自己是主机C。具体实施中,当主机A要与主机C进行通信时,主机D主动告诉主机A自己的IP地址和MAC地址的组合是“192.168.1.3+44-44-44-44-44-44”,这样当主机A要发送给主机C数据时,会将主机D的MAC地址44-44-44-44-44-44添加到数据帧的目的MAC
13、地址中,从而将本来要发给主机C的数据发给了主机D,实现了ARP欺骗。在整个ARP欺骗过程中,主机D称为“中间人”(man in the middle),对这一中间人的存在主机A根本没有意识到。计算机网络安全技术q 通过以上的ARP欺骗,使主机A与主机C之间断开了联系。如图5-9所示,现在假设主机C是局域网中的网关,而主机D为ARP欺骗者。这样,当局域网中的计算机要与其他网络进行通信(如访问Internet)时,所有发往其他网络的数据全部发给了主机D,而主机D并非真正的网关,这样整个网络将无法与其他网络进行通信。这种现象在ARP欺骗中非常普遍。计算机网络安全技术图5-9 ARP欺骗的实现过程 计
14、算机网络安全技术q3 针对交换机的ARP欺骗q 交换机的工作原理是通过主动学习下连设备的MAC地址,并建立和维护端口和MAC地址的对应表,即交换机中的MAC地址表。通过MAC地址表,实现下连设备之间的通信。交换机中的MAC地址表也称为CAM(Content Addressable Memory,内容可寻址存储器),如图5-10所示。图5-10 交换机中的MAC地址表 计算机网络安全技术q 在进行ARP欺骗时,ARP欺骗者利用工具产生欺骗MAC,并快速填满CAM表。交换机的CAM表被填满后,交换机便以广播方式处理通过交换机的数据帧,这时ARP欺骗者可以利用各种嗅探攻击获取网络信息。CAM表被填满
15、后,流量便以洪泛(Flood)方式发送到所端口,其中交换机上连端口(Trunk端口)上的流量也会发送给所有端口和邻接交换机。这时的交换机其实已成为一台集线器。与集线器不同,由于交换机上有CPU和内存,大量的ARP欺骗流量会给交换机产生流量过载,其结果是下连主机的网络速度变慢,并造成数据包丢失,甚至产生网络瘫痪。计算机网络安全技术5.2.3 实验操作-ARP欺骗的防范q1 针对计算机ARP欺骗的防范q 具体操作如下:q(1)进入“命令提示符”窗口,在确保网络连接正常的情况下,使用Ping命令Ping网关的IP地址,如“Ping 172.16.2.1”。q(2)在保证Ping网关IP地址正常的情况
16、下,输入“arp a”命令,可以获得网关IP地址对应的MAC地址,如图5-11所示。图5-11 使用“arp-a”命令显示网关IP地址对应的MAC地址 计算机网络安全技术q 读者会发现,这时该计算机上网关对应的ARP记录类型(Type)是动态(dynamic)的。q (3)利用“arp-s 网关IP地址 网关MAC地址”将本机中ARP缓存表中网关的记录类型设置为静态(static),如图5-12所示。图5-12 将ARP缓存中的网关记录设置为静态类型 计算机网络安全技术q (4)如果再次输入“arp-a”命令,就会发现ARP缓存表中网关的记录已被设置为静态类型。q 可以编写一个批处理文件(如a
17、rp.bat),然后将该批处理文件添加到Windows操作系统的“启动”栏中,这样每次开机后系统便会进行自动绑定。批处理文件的内容如下:qecho offqarp-dqarp-s 172.16.2.1 00-0a-8a-2d-a5-ff计算机网络安全技术q2 针对交换机ARP欺骗的防范q 目前,主流的交换机(如Cisco、H3C、3COM等)都提供了端口安全功能(Port Security feature)。通过使用端口安全功能,可以进行如下的控制:q 端口上最大可以通过的MAC地址数量q 端口上只能使用指定的MAC地址计算机网络安全技术q 对于不符合以上规定的MAC地址,进行相应的违背规则的
18、处理。一般有三种方式(针对交换机类型和型号的不同,具体方式可能会有所不同):q Shutdown。即关闭端口。虽然这种方式是最有效的一种保护方式,但会给管理员带来许多不便,因为被关闭的端口一般需要通过手工方式进行重启。q Protect。直接丢弃非法流量,但不报警。q Restrict。丢弃非法流量,但产生报警。计算机网络安全技术5.3 DHCP安全 q DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个客户机/服务器协议,在TCP/IP网络中对客户机动态分配和管理IP地址等配置信息,以简化网络配置,方便用户使用及管理员的管理。计算机网络
19、安全技术5.3.1 DHCP概述q 一台DHCP服务器可以是一台运行Windows 2000 Server、UNIX或Linux的计算机,也可以是一台路由器或交换机。DHCP的工作过程如图5-13所示。图5-13 DHCP的工作过程 计算机网络安全技术5.3.2 DHCP的安全问题 q 在通过DHCP提供客户端IP地址等信息分配的网络中存在着一个非常大的安全隐患:当一台运行有DHCP客户端程序的计算机连接到网络中时,即使是一个没有权限使用网络的非法用户也能很容易地从DHCP服务器获得一个IP地址及网关、DNS等信息,成为网络的合法使用者。q 由于DHCP客户端在获得DHCP服务器的IP地址等信
20、息时,系统没有提供对合法DHCP服务器的认证,所以DHCP客户端从首先得到DHCP响应(DHCPOFFER)的DHCP服务器处获得IP地址等信息。计算机网络安全技术q 如图5-14所示,一台非法DHCP服务器接入到了网络中,并“冒充”为一这个网段中的合法DHCP服务器。图5-14 非法DHCP服务器的工作原理 计算机网络安全技术5.3.3 实验操作非法DHCP服务的防范 q1 使用DHCP Snooping信任端口q DHCP Snooping能够过滤来自网络中非法DHCP服务器或其他设备的非信任DHCP响应报文。在交换机上,当某一端口设置为非信任端口时,可以限制客户端特定的IP地址、MAC地
21、址或VLAN ID等报文通过。一旦将交换机的某一端口设置为指向正确DHCP服务器的接入端口,则交换机会自动丢失从其他端口上接收到的DHCP响应报文,如图5-15所示。图5-15 DHCP Snooping的工作原理 计算机网络安全技术q2 在DHCP服务器上进行IP与MAC地址的绑定q 在通过DHCP服务器进行客户端IP地址等参数分配的网络中,对于一些重要部门的用户,可以通过在DHCP服务器上绑定IP与MAC地址,实现对指定计算机IP地址的安全分配。q 具体操作方法见教材。计算机网络安全技术5.4 TCP安全 q5.4.1 TCP概述q TCP协议涉及到TCP报文段的结构、TCP连接的建立与终
22、止、TCP数据的传输、流量控制、差错控制、数据重传等内容。q 1 连接建立q TCP是面向连接的。在面向连接的环境中,开始传输数据之前,在两个终端之间必须先建立一个连接。建立连接的过程可以确保通信双方在发送用户数据之前已经准备好了传送和接收数据。对于一个要建立的连接,通信双方必须用彼此的初始化序列号SEQ和来自对方成功传输确认的确认序号ACK来同步。(ACK号指明希望收到的下一个字节的编号)习惯上将同步信号写为SYN,应答信号写为ACK。图5-18所示。计算机网络安全技术图5-18 TCP连接建立时的三次握手计算机网络安全技术q2 数据传输q 在连接建立后,TCP将以全双工方式传送数据,在同一
23、时间主机A与主机B之间可以同时进行TCP报文段的传输,并对接收到的TCP报文段进行确认。如图5-19所示,当通过三次握手建立了主机A与主机B之间的TCP连接后,现在假设主机A要向主机B发送1800字节的数据,主机B要向主机A发送1500字节的数据。计算机网络安全技术图5-19 TCP报文段的传输过程 计算机网络安全技术q3 连接终止q 对于一个已经建立的连接,TCP使用改进的三次握手来释放连接(使用一个带有FIN附加标记的报文段,即在TCP报文段首部中将FIN字段的值置为1)。TCP关闭连接的步骤如图5-20所示。图5-20 TCP使用改进的三次握手来释放连接 计算机网络安全技术5.4.2 T
24、CP的安全问题 q 在TCP/IP网络中,如果两台主机之间要实现可靠的数据传输,首先要通过三次握手方式建立主机之间的TCP连接,但在TCP连接过程中很容易出现一个严重的安全问题:TCP SYN泛洪攻击。q 按照TCP连接建立时三次握手的协议约定,当源主机A要建立与目的主机B之间的TCP连接时,源主机A首先发送一个用于同步的SYN报文段(第一次握手)。当目的主机B接收到这个报文段时,在正常情况下目的主机会打开连接端口,并给源主机A返回一个SYN+ACK的报文段(第二次握手)。计算机网络安全技术q TCP SYN泛洪攻击的工作过程如图5-21所示。如果在第一次握手过程中,源主机A发送给目的主机B的
25、SYN报文段中的IP地址是伪造的,同时源主机A同时向目的主机B发送大量的SYN报文段。这时,对于目的主机B来说会正常接收这些SYN报文段,并发送SYN+ACK确认报文段。由于目的主机B接收到的SYN报文段中的IP地址都是伪造的,所以发送出去的SYN+ACK确认报文段全部得不到回复。在目的主机B的队列中存在大量的“半开放状态”的连接,最终将队列的存储空间填满,并因资源耗尽而瘫痪。计算机网络安全技术图5-21 TCP SYN泛洪攻击的工作过程 计算机网络安全技术5.4.3 实验操作操作系统中TCP SYN泛洪的防范 q 可以在Windows注册表内配置TCP/IP参数,以便保护服务器免遭网络级别的
26、TCP SYN泛洪攻击。下面以Windows 2000/2003为例进行介绍。q1 启用TCP SYN攻击保护q启用TCP SYN泛洪攻击保护的命名值,位于注册表项的下面:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices。q值名称:SynAttackProtectq建议值:2q有效值:02q说明:使TCP调整SYN+ACK的重传。配置此值后,在遇到TCP SYN攻击时,对连接超时的响应将更快速。在超过TcpMaxHalfOpen或TcpMaxHalfOpenRetried的值后,将触发SYN攻击保护。计算机网络安全技术q2 设置TCP SYN保
27、护阈值q下列值确定触发SYN保护的阈值。这一部分中的所有注册表项和值都位于注册表项 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 下。这些注册表项和值是:q值名称:TcpMaxPortsExhaustedq建议值:5q有效值:065535q说明:指定触发TCP SYN泛洪攻击保护所必须超过的TCP连接请求数的阈值。计算机网络安全技术q值名称:TcpMaxHalfOpenq建议的数值数据:500q有效值:10065535q说明:在启用SynAttackProtect后,该值指定处于SYN_RCVD状态的TCP连接数的阈值。在超过SynAtta
28、ckProtect后,将触发TCP SYN泛洪攻击保护。计算机网络安全技术q值名称:TcpMaxHalfOpenRetriedq建议的数值数据:400q有效值:8065535q说明:在启用SynAttackProtect后,该值指定处于至少已发送一次重传的SYN_RCVD状态中的TCP连接数的阈值。在超过SynAttackProtect后,将触发TCP SYN泛洪攻击保护。计算机网络安全技术q3 设置其他保护q这一部分中的所有注册表项和值都位于注册表项 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 下。这些注册表项和值是:q值名称:TcpM
29、axConnectResponseRetransmissions q建议的数值数据:2q有效值:0255q说明:控制在响应一次SYN请求之后、在取消重传尝试之前SYN+ACK的重传次数。计算机网络安全技术q值名称:TcpMaxDataRetransmissionsq建议的数值数据:2q有效值:065535q说明:指定在终止连接之前 TCP 重传一个数据段(不是连接请求段)的次数。q值名称:EnablePMTUDiscoveryq建议的数值数据:0q有效值:0,1q说明:将该值设置为1(默认值)可强制TCP查找在通向远程主机的路径上的最大传输单元或最大数据包大小。攻击者可能将数据包强制分段,这会
30、使堆栈不堪重负。对于不是来自本地子网的主机的连接,将该值指定为0可将最大传输单元强制设为576字节。计算机网络安全技术q值名称:KeepAliveTimeq建议的数值数据:300000q有效值:804294967295q说明:指定TCP尝试通过发送持续存活的数据包来验证空闲连接是否仍然未被触动的频率。q值名称:NoNameReleaseOnDemandq建议的数值数据:1q有效值:0,1q说明:指定计算机在收到名称发布请求时是否发布其NetBIOS名称。计算机网络安全技术q使用表5-1中汇总的值可获得最大程度的保护。q 表表5-1 建议值建议值值名称值(REG_DWORD)SynAttackP
31、rotect2TcpMaxPortsExhausted1TcpMaxHalfOpen500TcpMaxHalfOpenRetried400TcpMaxConnectResponseRetransmissions2TcpMaxDataRetransmissions2EnablePMTUDiscovery0KeepAliveTime300000(5分钟)计算机网络安全技术5.4.4 实验操作TCP端口的查看与限制 q1 Windows操作系统已开放端口的查看方法qWindows操作系统提供了netstat命令来显示当前TCP/IP网络的连接情况。具体方法如下所示(以Windows Server 2
32、003为例):q 选择“开始程序附件命令提示符”,进入“命令提示符”窗口。输入命令netstat na,回车后将显示如图5-22所示的信息。图5-22 利用netstat na命令显示当前打开的端口 计算机网络安全技术q 如果在DOS窗口中输入了netstat-nab命令,还将显示每个连接都是由哪些程序创建的,如图5-23所示。图5-23 利用netstat nab命令显示哪些应用程序在使用当前打开的端口 计算机网络安全技术q 另外,也可以使用一些专门的端口监视软件来查看本机打开了哪些端口。这类软件非常多,如Tcpview、Port Reporter、绿鹰PC万能精灵、网络端口查看器等。如图5
33、-24所示的是Tcpview的操作界面,该软件会密切监视本机端口连接情况,这样就能严防非法连接,确保网络安全。图5-24 Tcpview软件的操作界面 计算机网络安全技术q2 限制TCP端口q 端口是应用层程序(进程)与传输层协议(TCP或UDP)之间的连接通道。通过端口限制功能,可以只允许计算机通过指定的TCP或UDP端口来通信,其他端口的通信功能将被全部关闭。下面,假设在一台Web服务器上只开放TCP 80端口,只允许用户使用系统默认的TCP 80端口访问服务器上的HTTP页面,而无法从事其他的网络访问,以加强对专用Web服务器的安全保护。计算机网络安全技术 图5-25 TCP/IP“选项
34、”对话框 图5-26 设置TCP或UDP端口 计算机网络安全技术q3 限制IP地址的访问q 通过限制主机的TCP或UDP的端口,可以对一些专业服务器进行安全保护。如果一台服务器上提供了Web、FTP、Mail等多项服务,同一项服务(如Web)还可能同时存在多个站点,且不同站点采取不同的安全保护策略。q 具体操作过程见教材。计算机网络安全技术5.5 DNS安全 q 为了解决主机IP地址与主机名之间的对应关系,InterNIC(Internet Network Information Center,Internet网络信息中心)制定了一套称为域名系统(Domain Name System,DNS)
35、的分层名字解析方案,当DNS用户提出IP地址查询请求时,就可以由DNS服务器中的数据库提供所需的数据。DNS技术目前已广泛地应用于Internet和Intranet中。计算机网络安全技术5.5.1 DNS概述 q1 DNS的功能及组成q 简单地讲,DNS协议的最基本的功能是对主机名与对应的IP地址之间建立映射关系。例如,新浪网站的一个IP地址是202.106.184.200,几乎所有浏览该网站的用户都是使用,而并非使用IP地址来访问。使用主机名(域名)比直接使用IP地址具有以下两点好处:q 主机名便于记忆,如。q 数字形式的IP地址可能会由于各种原因而改变,而主机名可以保持不变。计算机网络安全
36、技术q 图5-32显示了顶级域的名字空间及下一级子域之间的树型结构关系,图中的每一个节点以及其下的所有节点叫做一个域。域可以有主机(计算机)和其他域(子域)。例如,在图5-32中,就是一个主机,而则是一个子域。一般在子域中含有多个主机,例如,子域下就含有和两台主机。计算机网络安全技术图5-32 Internet的域名结构 计算机网络安全技术q2 DNS的解析过程q 现在假设客户端Web浏览器要访问网站,整个访问过程如图5-33所示。图5-33 Internet上对的访问过程 计算机网络安全技术5.5.2 DNS的安全问题 q1缓存中毒 q DNS缓存中毒利用了DNS缓存机制,在DNS服务器的缓
37、存中存入大量错误的数据记录主动供用户查询。由于缓存中大量错误的记录是攻击者伪造的,而伪造者可能会根据不同的意图伪造不同的记录,例如将查询指向某一个特定的服务器,使所有通过该DNS查询的用户都访问某一个网站的主页;或将所有的邮件指向某一台邮件服务器,拦截利用该DNS进行解析的邮件,等等。q 由于DNS服务器之间会进行记录的同步复制,所以在TTL内,缓存中毒的DNS服务器有可能将错误的记录发送给其他的DNS服务器,导致更多的DNS服务器中毒。正如DNS的发明者Paul Mockapetris所说:中毒的缓存就像是“使人们走错方向的假冒路牌”。计算机网络安全技术q2 拒绝服务攻击 q DNS服务器在
38、互联网中的关键作用使它很容易成为攻击者进行攻击的目标,加上DNS服务器对大量的攻击没有相应的防御能力,所以攻击过程很容易实现,且造成的后果非常严重。现在使用的DNS采用了树型结构,一旦DNS服务器不能提供服务,其所辖的子域都将无法解析客户端的域名查询请求。q3 域名劫持q 域名劫持通常是指通过采用非法手段获得某一个域名管理员的账户和密码,或者域名管理邮箱,然后将该域名的IP地址指向其他的主机(该主机的IP地址有可能不存在)。域名被劫持后,不仅有关该域名的记录会被改变,甚至该域名的所有权可能会落到其他人的手里。计算机网络安全技术5.5.3 DNS安全扩展(DNSSEC)q1 DNSSEC的基本原
39、理q 域名系统安全扩展(DNSSEC)是在原有的域名系统(DNS)上通过公钥技术,对DNS中的信息进行数字签名,从而提供DNS的安全认证和信息完整性检验。具体原理为:q 发送方发送方:首先使用Hash函数对要发送的DNS信息进行计算,得到固定长度的“信息摘要”;然后对“信息摘要”用私钥进行加密,此过程实现了对“信息摘要”的数字签名;最后将要发送的DNS信息、该DNS信息的“信息摘要”以及该“信息摘要”的数字签名,一起发送出来。计算机网络安全技术q 接收方接收方:首先采用公钥系统中的对应公钥对接收到的“信息摘要”的数字签名进行解密,得到解密后的“信息摘要”;接着用与发送方相同的Hash函数对接收
40、到的DNS信息进行运算,得到运算后的“信息摘要”;最后,对解密后的“信息摘要”和运算后的“信息摘要”进行比较,如果两者的值相同,就可以确认接收到的DNS信息是完整的,即是由正确的DNS服务器得到的响应。计算机网络安全技术q2 DNSSEC的工作机制q 如图5-34所示的是一个DNSSEC系统的查询和应答过程。其中,系统中的所有客户端和服务器都支持DNSSEC,区域的权威名字服务器为,区域的权威名字服务器为。图5-34 DNSSEC系统的查询和应答过程 计算机网络安全技术q3 DNSSEC的应用现状q DNSSEC作为对目前DNS的安全扩展,可有效地防范DNS存在的各种攻击,保证客户端收到的DN
41、S记录的真实性和完整性。此外,DNSSEC与原有的DNS具有向下的兼容性,在实现上具有可行性。但是,由于Internet的特殊性,就像从IPv4到IPv6的迁移一样,从DNS到DNSSEC的转换不可能在短期内完成,需要一个渐进的过程。可以先有针对性地建立一些安全区域,如.cn、.net等,然后再向其他区域扩展。当整个Internet部署了DNSSEC后,所有的信任将集中到根域下。计算机网络安全技术q 目前在推广DNSSEC上存在许多问题或困难:一是由于整个Internet上的DNS记录非常庞大,如果要部署适用于整个Internet的DNSSEC,需要投入大量时间和设备投入,同时还要得到所有区域
42、服务器提供商的支持;二是DNSSEC只是提供了对DNS记录真实性的验证,只是有限的程度上为用户通信的安全提供了保证;三是DNSSEC在DNS请求和应答中添加了数字签名,一方面增加了通信的流量和复杂性,另一方面安全性主要依赖于公钥技术的安全性,所以对于DNSSEC系统来说是否会存在新的安全问题也是一个未知数。计算机网络安全技术5.5.4 实验操作DNS系统的安全设置q1 选择安全性较高的DNS服务器软件q Internet上大量的DNS服务器软件使用的是基于UNIX/Linux的BIND软件,目前最新版本为BIND 9.x。最新版本的BIND软件支持许多安全特性,如支持DNSSEC,解决了早期版本中存在的一些安全漏洞等。对于在Internet上的DNS服务器建议采用BIND软件,并将其升级为最新版本。q 对于Windows NT服务器来说,建议使用高版本的系统。计算机网络安全技术q2 限制端口q DNS在工作时使用UDP 53和TCP 53端口进行通信。其中,DNS服务器会同时监听这两个端口,DNS客户端通过UDP 53端口与DNS服务器之间进行域名解析的请求和应答,而TCP 53端口用于DNS区域之间的数据复制。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。