AAA
(1)传统接入问题:
① 传统接入问题:
在用户接入网络的时候,运营商就不得不面临以下的问题。如何确定用户是否有权限进入网络。运营商需要防止非法用户访问网络,以保护自身和合法用户的权益。
● 如何确定用户使用服务的范围。
● 如何对上线的用户进行准确的计费。
② 传统接入解决方案:
可以使用AAA 解决以上问题。AAA 提供对用户进行认证、授权和计费三种安全功能,能够比较全面的处理上述问题。
(2)多用户接入问题:
① 多用户接入问题:
大量用户接入网络时,如果由路由器负责对其进行处理的话,首先,路由器需要维
护一个比较大的数据库。其次,路由器需要对接入的用户进行控制,防止非法访
问。显然,对大量不同类型的用户进行实时控制,会让路由器消耗大量的资源。
如果多用户接入的业务完全由路由器来承担的话,路由器上的负担就会过重,甚至
影响其它业务的正常运行。
② 多用户接入解决方案:
对用户采用域管理,所有用户都属于某个域。一个域中的所有用户都具有类似的属
性。采用RADIUS/TACACS 服务器对域下的用户进行认证、授权和计费,而不使用路由器对用户的上下线进行管理。如图1-2 所示。
③ AAA针对多用户接入的优点:
● 路由器上的压力减轻,不需要建立一个较大的数据库,更加专注于报文的转发。
● 支持的用户数量较多,同时用户的请求能够得到实时的响应。
● 用户的安全性得到了较大的保障。
AAA 是Authentication(认证)、Authorization(授权)和Accounting(计费)的简称。它提供对用户进行认证、授权和计费三种安全功能。AAA 通常采用“客户端—服务器”结构。这种结构既具有良好的可扩展性,又便于用户信息的集中管理。
(1)认证(Authentication):
验证用户是否可以获得访问权,确定哪些用户可以访问网络。
AAA 支持以下认证方式:
① 不认证:
对用户非常信任,不对其进行合法检查,一般情况下不采用这种方式。
② 本地认证:
将用户信息(包括本地用户的用户名、密码和各种属性)配置在网络接入服务器上。本地认证的优点是速度快,可以为运营降低成本;缺点是存储信息量受设备硬件条件限制。
③ 远端认证:
将用户信息(包括本地用户的用户名、密码和各种属性)配置在认证服务器上。支持通过RADIUS(Remote Authentication Dial In User Service)协议或HWTACACS (HuaWei Terminal Access Controller Access Control System)协议进行远端认证,由网络接入服务器NAS(Network Access Server)做为客户端,与RADIUS 服务器或TACACS 服务器通信。对于RADIUS 协议,可以采用标准RADIUS 协议或华为公司的扩展RADIUS 协议,与iTELLIN/CAMS(Comprehensive Access Management Server)等设备配合完成认证。
(2)授权(Authorization):
① 不授权:
不对用户进行授权处理。
② 直接授权:
对用户非常信任,直接授权通过。
③ 本地授权:
根据网络接入服务器上为本地用户账号配置的相关属性进行授权。
④ HWTACACS 授权:
由TACACS 服务器对用户进行授权。
⑤ if-authenticated 授权:
如果用户通过了认证,而且使用的认证模式不是不认证,则用户授权通过。
⑥ RADIUS 认证成功后授权:
RADIUS 协议的认证和授权是绑定在一起的,不能单独使用RADIUS 进行授权。
(3)计费(Accounting):
记录用户使用网络资源的情况。
① 不计费:
不对用户计费。
② 本地计费:
本地计费主要实现对用户话单的备份和管理,是对远端计费的一种保护
性措施,也可以代替远端服务器在本地实现对用户的计费功能。
③ 远端计费:
支持通过RADIUS 服务器或TACACS 服务器进行远端计费。
④ 本地和远端同时计费:
支持同时向本地和RADIUS 服务器发送计费报文,或同时向
本地和TACACS 服务器发送计费报文。采用本地和远端同时计费可以提高计费的
可靠性。
句话就泪流满面;有时,也发现自己咬着牙走了很长的路。
(1)RADIUS:
① 描述:
AAA 可以用多种协议来实现,最常用的是RADIUS 协议。RADIUS 最初用来管理使用串口和调制解调器的大量分散用户,后来广泛应用于网络接入服务器NAS(NetworkAccess Server)系统。
当用户想要通过某个网络(如电话网络)与NAS 建立连接从而取得访问其他网络的权利或取得使用某些网络资源的权利时,NAS 起到了认证用户或对应连接的作用。NAS 负责把用户的认证、授权和计费信息传递给RADIUS 服务器。RADIUS 协议规定了NAS 与RADIUS 服务器之间如何传递用户信息和计费信息。RADIUS 服务器负责接收用户的连接请求,完成认证,并把用户所需的配置信息返回给NAS。NAS 和RADIUS 之间的验证信息的传递是通过密钥的参与来完成的,以避免用户的密码在不安全的网络上传输时被窃取。
● 用户登录路由器或接入服务器等网络设备时,会将用户名和密码发送给该网络设备
● 该网络设备中的RADIUS 客户端(路由器或接入服务器)接收用户名和密码,并向RADIUS 服务器发送认证请求
● RADIUS 服务器接收到合法的请求后,完成认证,并把所需的用户授权信息返回给客户端。
注:客户端和RADIUS 服务器之间的用户密码信息经过加密以后才在网络上传递,以避免用户密码在不安全的网络上被窃取。
② 特性:
● RADIUS 使用UDP(User Datagram Protocol)作为传输协议,具有良好的实时性;同时也支持重传机制和备用服务器机制,从而具有较好的可靠性。RADIUS 的实现比较简单,适用于大用户量时服务器端的多线程结构。网络接入服务器作为RADIUS 协议的客户端,实现以下功能:
● 标准RADIUS 协议及扩充属性,包括RFC2865、RFC2866。
● 华为扩展的RADIUS+1.1 协议。
● 对RADIUS 服务器状态的主动探测功能:收到AAA 的认证或计费消息后,如果当前服务器的状态为DOWN,启动服务器探测处理,将消息转换为报文后向当前服务器发送,该报文作为服务器的探测报文,如果收到RADIUS 服务器的回应,则认为该服务器重新可用。
● 计费结束报文的本地缓存重传功能:计费结束报文在重传发送失败次数超过配置次数后,将计费结束报文保存到计费结束报文缓存队列;系统定时器周期扫描该队列,如果存在计费结束缓存报文,则取出报文内容,向指定的服务器发送并启动定时器等待,如果发送失败或在超时时间内没有收到服务器回应,则重新入缓存队列。
● RADIUS 服务器的自动切换功能:如果当前发送的服务器的状态为不可发送,或者发送次数超过当前服务器的最大重传次数,则需要在配置的服务器组中选择另外的服务器发送报文。
(2)HWTACACS:
HWTACACS 是在TACACS(RFC1492)基础上进行了功能增强的一种安全协议。该协
议与RADIUS 协议类似,主要是通过“客户端—服务器”模式与TACACS 服务器通信
来实现多种用户的AAA 功能,可用于PPP、VPDN(Virtual Private Dial Network)接入用户和login 用户的认证、授权和计费。
① 描述:
HWTACACS 协议的消息流程和RADIUS 协议的消息流程类似。不同在于HWTACACS
协议当用户认证通过之后,服务器返回的是认证回应,而不返回用户的权限,只有当授
权流程完成后才会返回用户的权限。
HWTACACS 支持VPN 实例转发,当运营商的TACACS 服务器部署在私网,而路由器
位于公网时,HWTACACS 支持通过VPN 实例与TACACS 服务器进行交互,实现对用
户的认证、授权和计费。
② 特性:
● HWTACACS 协议支持按命令行授权:
用户通过Telnet 或者SSH 登录到路由器上后,如果该用户需要进行命令行授权,可以将该级别用户的命令行授权方法设置为HWTACACS,该用户输入的每一条命令都要通过HWTACACS 服务器授权。如果授权通过,命令就可以被执行。否则,HWTACACS服务器输出信息,通知用户该命令的授权失败,不能执行。命令行授权可以使用本地授权的方法作为备选方法,这样,如果因为服务器的问题导致命令行授权失败时,可以将命令行授权转入本地授权处理。如果在用户配置的超时时间内,路由器没有接收到HWTACACS 服务器的授权结果,则授权超时,该命令不能被执行。
用户还可以配置服务器无响应或本地未配置用户时命令授权失败的策略:
● 选择让用户继续在线。
● 选择授权失败次数超过阈值后下线。
注:按命令授权失败的策略仅仅使用于因HWTACACS 服务器不可用或本地未配置用户而导致的按命令行授权失败情况。下面的两种情况不能触发命令行授权失败时的策略:
● 服务器正常时,所执行的命令行未能通过在HWTACACS 服务器端的授权;
● 服务器不可用后,按命令行授权转入本地授权后,因执行的命令级别高于本地配置的级别而授权失败。
● HWTACACS 协议支持对用户级别提升进行认证:
用户通过Telnet 或者SSH 登录到路由器后,可以通过在用户模式下使用super 命令来提升或降低自己的级别。这时,路由器对用户的密码进行验证。
HWTACACS 可以对用户级别的提升进行认证,其执行流程如图1-7 所示。路由器将用户的密码发送到HWTACACS 服务器上进行认证,如果认证通过,用户的权限就可以得到提升,否则,用户的权限不能提升。特权等级更改的结果只影响本次登录。
如果在用户配置的超时时间内,路由器没有接收到HWTACACS 服务器用户级别提升的认证结果,则认证超时,用户不能提升权限。
注:当路由器对用户级别提升进行验证的时候,各级别的密码可以不同;在用HWTACACS 对用户级别提升进行验证时,各级别密码是相同的。
● HWTACACS 协议支持用户修改密码:
HWTACACS 用户登录设备时,需要输入用户名和密码向TACACS 服务器进行认证,TACACS 服务器管理所有HWTACACS 用户密码。HWTACACS 是客户端/服务器模式,发起密码修改的可以有两方:客户端和服务器端。
用户可以通过命令行在客户端主动发送修改请求,进行密码修改;也可以在服务器上配置密码老化策略,在用户登录设备时由服务器提醒用户密码修改密码。
注:用户进行Telnet 登录时,如果输入的密码为空,服务器也会提醒用户修改密码。
(3)HWTACACS 协议和RADIUS 协议的比较:
与RADIUS 相比,HWTACACS 具有更加可靠的传输和加密特性,更加适合于安全控制。
(1)概述:
在目前AAA 的实现中,所有用户都属于某个域。用户属于哪个域是由用户名中带的“@”后的字符串来决定的,比如“user@hua”,就属于“hua”域;如果用户名中没有带“@”,就属于系统缺省的default 域。除了系统缺省的default 域外,AAA 允许用户最多创建254 个域。
(2)路由器对接入用户的管理:
路由器通过域来进行用户管理,域下可以进行缺省授权配置、RADIUS/HWTACACS 模板配置、认证和计费方案的配置等。
所有对于接入用户的认证、授权、计费都是在域视图下应用认证方案、授权方案、计费方案来实现的,在AAA 视图下分别预先配置相应的认证模式、授权模式、计费模式。
AAA 有缺省的认证方案、授权方案、计费方案,分别采用本地认证、本地授权、不计费。如果新创建一个域,没有在域下应用认证方案、授权方案、计费方案,那么AAA对该域将采用缺省的认证方案、授权方案和计费方案。此外,如果要对用户采用RADIUS/HWTACACS 方案,必须预先在系统视图下配置RADIUS/HWTACACS 服务器模板,然后在用户所属域的视图下应用该服务器模板。
当域和域下的用户同时配置了某一属性时,基于用户的配置优先级高于域的配置优先级。域下配置的授权信息较AAA 服务器的授权信息优先级低,即,优先使用AAA 服务器下发的授权属性,在AAA 服务器无该项授权或不支持该项授权时,域的授权属性生效。这样处理的优点是:可以凭借域管理灵活增加业务,而不必受限于AAA 服务器提供的属性。
(3)AAA 对PPP 用户的地址分配原则:
采用PPP 方式接入的用户,可以利用PPP 地址协商功能从网络接入服务器获得本端接口的IP 地址。在网络接入服务器上,AAA 对PPP 用户的地址分配原则如下:
① 对于不认证的用户:
● 如果接口下配置为对端分配IP 地址,直接把该地址分配给对端。
● 如果接口下配置从地址池中为对端分配地址,则从指定的全局地址池中为对端分配地址。
② 对于认证通过的default 域用户:
注:包括两种:不加@的,如“aaa”;用户名后加@default,如“aaa@default”
● 如果服务器下发了IP 地址,则直接把该地址分配给对端。
● 如果服务器下发了地址池号,则用该地址池号通过域地址池或者全局地址池给对端分配地址。
● 在服务器既没有下发IP 地址,也没有下发地址池号的情况下,如果接口下配置了给对端的IP 地址,直接把该地址分配给对端。如果接口下配置了从地址池中为对端分配地址,则从指定的全局地址池中为对端分配地址。
③ 对于认证通过的普通域用户:
● 如果服务器下发了IP 地址,直接把该地址分配给对端。
● 如果服务器下发了地址池号,则用该地址池号通过域地址池给对端分配地址。
● 在服务器既没有下发IP 地址,也没有下发地址池号的情况下,从域下的第一个地址池开始遍历分配。
注:以上从地址池中分配地址的情况,全局地址池和域地址池都只遍历一遍。当指定的全局地址池或域地址池分配完后,直接返回无效地址0,不去全局地址池遍历查找可用地址。
在配置地址池的时候,A 类地址中的XXX.255.255.255 和XXX.0.0.0,B 类地址中的XXX.XXX.255.255 和XXX.XXX.0.0,C 类地址中的XXX.XXX.XXX.255 和XXX.XXX.XXX.0 都不能够作为合法的地址池起始、结束地址。如果地址池里面含有这些地址,这些地址也不会被分配。
注:IP 地址协商的配置需要在客户端与服务器端分别进行。
(4)AAA 及用户管理的应用:
① 使用RADIUS 对接入用户进行管理:
使用RADIUS 对接入用户进行管理,如图1-9 所示。用户A、B、C 都属于某个域下的用户,通过路由器接入Internet。路由器根据用户所属的域,选择具体的RADIUS 服务器对其进行认证,如果认证通过,用户就可以访问Internet。
②使用HWTACACS 对接入用户进行管理:
使用HWTACACS 对接入用户进行管理,如图1-10 所示。用户A、C 属于某个域下的用户,通过路由器接入Internet。路由器根据用户所属的域,选择具体的TACACS 服务器对其进行认证,如果认证通过,用户A、C 就可以访问Internet。
用户B 是管理型用户,需要登录路由器对其进行配置。使用HWTACACS 对其进行管理,以获得较高的安全性。可以使用HWTACACS 对用户B 在路由器上配置的每一条命令进行授权,同时,如果用户B 需要提升自己的用户权限,HWTACACS 也可以对其进行认证。
攻击防范
网络攻击一般分为拒绝服务型攻击、扫描窥探攻击和畸形报文攻击三大类:
(1)拒绝服务型攻击:
拒绝服务型DoS(Denial of Service)攻击是使用大量的数据包攻击系统,使系统无法接受正常用户的请求,或者主机挂起不能正常的工作。主要DoS攻击有SYN Flood、Fraggle等。
拒绝服务攻击和其他类型的攻击不同之处在于:攻击者并不是去寻找进入内部网络的入口,而是阻止合法用户访问资源或防火墙。
解决方案:
执行命令system-view,进入系统视图。
执行命令firewall defend icmp-flood { ip ip-address [ vpn-instance vpn-instance-name ] | zone zone-name } [ max-rate rate-value ] ,配置ICMP Flood攻击防范参数。
执行命令firewall defend syn-flood { ip ip-address [ vpn-instance vpn-instance-name ] | zone zone-name } [ max-rate rate-value ] [ tcp-proxy { auto | off | on } ],配置SYN Flood攻击防范参数。
执行命令firewall defend udp-flood { ip ip-address [ vpn-instance vpn-instance-name ] | zone zone-name } [ max-rate rate-value ],配置UDP Flood攻击防范参数。
缺省情况下,Flood类攻击防范的最大连接速率均为1000pps,SYN Flood攻击防范中的TCP代理功能自动启用。
① SYN Flood攻击:
SYN Flood攻击利用TCP三次握手的一个漏洞向目标计算机发动攻击。攻击者向目标计算机发送TCP连接请求(SYN报文),然后对于目标返回的SYN-ACK报文不作回应。目标计算机如果没有收到攻击者的ACK回应,就会一直等待,形成半连接,直到连接超时才释放。
攻击者利用这种方式发送大量TCP SYN报文,让目标计算机上生成大量的半连接,迫使其大量资源浪费在这些半连接上。目标计算机一旦资源耗尽,就会出现速度极慢、正常的用户不能接入等情况。攻击者还可以伪造SYN报文,其源地址是伪造的或者不存在的地址,向目标计算机发起攻击。
② Fraggle攻击:
Fraggle攻击的原理与Smurf攻击的原理类似,不过,Fraggle攻击发送的是UDP报文而非ICMP报文。因为发送的是UDP报文,Fraggle攻击可以穿过一些阻止ICMP报文进入的防火墙。
Fraggle攻击利用的原理是:UDP端口7(ECHO)和端口19(Chargen)在收到UDP报文后,都会产生回应。如下:
● UDP的7号端口收到报文后,会象ICMP Echo Reply一样回应收到的内容。
● UDP的19号端口在收到报文后,会产生一串字符流。
● 这两个UDP端口都会产生大量应答报文,挤占网络带宽。
攻击者可以向目标主机所在的网络发送源地址为被攻击主机、而目的地址为其所在子网的广播地址或子网网络地址的UDP报文,目的端口号为7(ECHO)或19(Chargen)。子网中启用了此功能的每个系统都会向受害主机发送回应报文,从而产生大量的流量,导致受害网络的阻塞或受害主机崩溃。
如果目标主机所在网络上的主机没有启动这些功能,这些主机将产生一个ICMP不可达消息,仍然消耗带宽。也可将源端口改为端口19(Chargen),目的端口为7(ECHO),这样会自动不停地产生回应报文,其危害性更大。
③ ICMP Flood攻击:
通常情况下,网络管理员会用PING程序对网络进行监控和故障排除,大概过程如下:
● 源计算机向接收计算机发出ICMP响应请求报文(ICMP ECHO)。
● 接收计算机接收到ICMP响应请求报文后,会向源计算机回应一个ICMP 应答报文(ECHO Reply)。
这个过程是需要CPU处理的,在有些情况下还可能消耗掉大量的资源。如果攻击者向目标计算机发送大量的ICMP ECHO报文(产生ICMP洪水),则目标计算机会忙于处理这些ECHO报文,而无法继续处理其它的数据报文。
UDP Flood攻击
UDP Flood攻击的原理与ICMP Flood攻击类似,攻击者通过发送大量的UDP报文给目标计算机,导致目标计算机忙于处理这些UDP报文而无法继续处理正常的报文。
(2)扫描窥探攻击:
扫描窥探攻击是利用ping扫描(包括ICMP和TCP)来标识网络上存活着的系统,从而准确地指出潜在的目标。利用TCP和UDP等进行端口扫描,就能检测出操作系统的种类和潜在的服务种类。攻击者通过扫描窥探就能大致了解目标系统提供的服务种类,为进一步侵入系统做好准备。
解决方案:
执行命令system-view,进入系统视图。
执行命令firewall defend ip-sweep { blacklist-expire-time interval | max-rate rate-value } ,配置地址扫描攻击防范参数。
执行命令firewall defend port-scan { blacklist-expire-time interval | max-rate rate-value },配置端口扫描攻击防范参数。
① 地址扫描与端口扫描攻击:
攻击者运用扫描工具探测目标地址和端口,目标地址会对这些探测作出响应,攻击者根据这些响应用来确定哪些目标系统是存活着并且连接在网络上、目标主机开放或者关闭了哪些端口。
② Tracert攻击:
Tracert是利用TTL(Time To Live)为0时返回的ICMP超时报文,和达到目的地时返回的ICMP端口不可达报文来发现报文到达目的地所经过的路径。攻击者可以利用Tracert窥探网络的结构。对网络造成潜在的危险。
(3)畸形报文攻击:
畸形报文攻击是通过向目标系统发送有缺陷的IP报文,使得目标系统在处理这样的IP包时会出现崩溃,给目标系统带来损失。主要的畸形报文攻击有Ping of Death、Teardrop等。
① Teardrop攻击:
在网络传输的过程中,如果IP报文的长度超过链路层的MTU(最大传输单元),就会进行分片。在IP报头中有一个偏移字段(OFFSET)和一个分片标志(MF),如果MF标志设置为1,则表明这个IP报文是一个大IP包的分片,其中偏移字段指出了这个片断在整个IP包中的位置。接收端可以根据报文头中的这些信息还原该IP包。比如,一个较大的报文在MTU较小的链路上传输的时候,被分成了两个IP报文,这两个IP报文将在目的端进行组装,还原为原始的IP报文。
如果一个攻击者打破这种正常情况,把偏移字段设置成不正确的值,即可能出现重合或断开的情况。某些TCP/IP协议栈在收到类似这种含有重叠偏移的伪造分段时会崩溃,这就是所谓的Teardrop攻击。
② Ping of Death攻击:
所谓Ping of Death,就是利用一些尺寸超大的ICMP报文对系统进行的一种攻击。
IP报文的长度字段为16位,这表明一个IP报文的最大长度为65535。对于ICMP回应请求报文,如果数据长度大于65507,就会使ICMP数据+IP头长度(20)+ICMP头长度(8)> 65535。对于有些防火墙或系统,在接收到一个这样的报文后,由于处理不当,会造成系统崩溃、死机或重启。
③ ICMP-Unreachable攻击:
某些系统在收到网络(报文类型字段为3,代码字段为0)或主机(报文类型字段为3,代码字段为1)不可达的ICMP报文后,对于后续发往此目的地的报文直接认为不可达。攻击者利用这种机制,向目标主机发送虚假的ICMP-Unreachable报文,干扰了目标主机的路由信息,影响了报文发送。
④ ICMP-Redirect攻击:
ICMP-Redirect攻击和ICMP-Unreachable攻击类似。:
网络设备可以向同一个子网的主机发送ICMP重定向报文,请求主机修改路由。
攻击者利用这个原理,跨越网段向另外一个网络的目标主机发送虚假的重定向报文,以改变目标主机的路由表。这种攻击干扰了目标主机的路由信息,影响了报文发送。
⑤ Large-ICMP攻击:
同ping of death类似,Large-ICMP也是利用一些大尺寸的ICMP报文对系统进行的一种攻击,与ping of death不同的是,Large-ICMP报文的长度不会超过IP报文的最大长度65535,但是对一些操作系统也会造成破环。需要在防火墙上配置允许通过的ICMP报文的最大长度。
解决方案:
执行命令system-view,进入系统视图。
执行命令firewall defend large-icmp max-length length,配置超大ICMP报文攻击防范参数。
注:缺省情况下,ICMP报文的最大长度为4000字节。
⑥ Land攻击:
Land攻击,就是把TCP的SYN包的源地址和目的地址都设置为目标计算机的IP地址。这将导致目标计算机向它自己发送SYN-ACK报文,目标计算机又向自己发回ACK报文并创建一个空连接,每一个这样的连接都将保留直到超时。各种类型的主机对Land攻击反应不同,许多UNIX主机将崩溃,Windows NT主机会变得极其缓慢。
⑦ Smurf攻击:
简单的Smurf攻击:用来攻击一个网络。攻击者向目标网络发送ICMP应答请求报文,该报文的目标地址设置为目标网络的广播地址,这样,目标网络的所有主机都对此ICMP应答请求作出答复,导致网络阻塞。
高级的Smurf攻击:
主要用来攻击目标主机。攻击者向目标主机所在的网络发送ICMP应答请求报文,该报文的源地址设置为目标主机的地址,这样,所有的应答报文都将发送给目标主机。最终导致目标主机处理速度缓慢,甚至崩溃。Smurf攻击报文的发送需要一定的流量和持续时间,才能真正构成攻击。理论上讲,目标网络的主机越多,攻击的效果越明显。
⑧ 畸形TCP报文攻击:
畸形TCP报文是通过故意错误设置TCP头中的6个标记位,造成接收方TCP协议栈的处理错误,达到攻击的目的。
⑨ IP-fragment攻击:
IP报文中有几个字段与分片有关:DF(Don’t Fragmentate)位、MF位、Fragment Offset、Length。
如果上述字段的值出现矛盾,而设备处理不当,会对设备造成一定的影响,甚至瘫痪。矛盾的情况有:
DF位被置位,而MF位同时被置位或Fragment Offset不为0。
DF位为0,而Fragment Offset + Length > 65535。
另外,由于分片报文可以增加目的设备缓冲和重组的负担,应直接丢弃目的地址为设备本身的分片报文。
⑩ WinNuke攻击:
NetBIOS作为一种基本的网络资源访问接口,广泛的应用于文件共享,打印共享,进程间通信(IPC),以及不同操作系统之间的数据交换。一般情况下,NetBIOS是运行在LLC2链路协议之上的,是一种基于组播的网络访问接口。为了在TCP/IP协议栈上实现NetBIOS,RFC规定了一系列交互标准,以及几个常用的TCP/UDP端口,如下。
139:NetBIOS会话服务的TCP端口。
137:NetBIOS名字服务的UDP端口。
136:NetBIOS数据报服务的UDP端口。
Windows操作系统实现了NetBIOS over TCP/IP功能,并开放了139端口。
WinNuke攻击就是利用了Windows操作系统的一个漏洞,向这个139端口发送一些携带TCP带外(OOB)数据报文,但这些攻击报文与正常携带OOB数据报文不同的是,其指针字段与数据的实际位置不符,即存在重叠,Windows操作系统在处理这些数据的时候,就会崩溃。
为了方便广大网络爱好学习者一起学(聚)习(众)交(搞)流(基),特开设华为干货交流群,里面已经上传大量学习资料,欢迎广大网络工程师进群学习!
扫描下方二维码 进群学习(搞基)交流
联系客服