华为交换机安全维护指南(四)
华为交换机安全维护指南(三)http://www.jiushuku.net/post-37.html
4、交换机日志信息安全
日志主要用于记录设备上用户操作,设备运行状态等信息,以日志文件的形式存在设备上,为网络管理员监控交换机的运行情况和诊断网络故障提供了有力的支持。
日志的安全由各种接入方式的认证和SOCKET安全来保证。日志的查看方式有三种:
用户登录设备通过命令行查看日志;通过SFTP方式将日志文件取到本地查看,诊断日志需要有解析工具;通过日志主机方式,将日志信息发送到日志服务器。
以上三种查看方式,均需要用户能通过密码认证、AAA认证或Public-Key认证,成功的登录设备,进行在线查看及获取日志文件等操作。日志主机的查看方式,还需要SOCKET对数据的保护。
5、交换机补丁管理
在发布补丁时,对补丁进行数字签名,并将包含数字签名信息的数字签名信息文件打包到补丁包,网管在向网元分发时或直接在网元上加载时,进行数字签名的验证。认证通过之后,才认为该补丁包是完整可信的。否则认为该补丁包是非法的。
在加载补丁前,先通过MD5工具计算本地文件的MD5值,然后和发布的值进行比较,值一致才认为下载的补丁是完整的,才执行加载。
为了保证更好的安全性,建议不要使用MD5校验方式。推荐使用CRC校验,在加载补丁的时候,对补丁包进行CRC在线校验,如果CRC在线校验通过,则该补丁包可以正常加载,否则认为该补丁包是非法的。
同时再结合在运行过程中对补丁包作为系统文件的保护机制(不允许删除和修改)。
通过上面4个方面的安全保证,可以确保补丁文件从传输到运行整个过程的安全性。
6、交换机大包管理
在发布大包时,对大包进行数字签名,并将包含数字签名信息的数字签名信息文件打包到大包,网管在向网元分发时或直接在网元上加载时,进行数字签名的验证。认证通过之后,才认为该大包是完整可信的。否则认为该大包是非法的。
在加载版本前,先通过MD5工具计算本地文件的MD5值,然后和发布的值进行比较,值一致才认为下载的大包是完整的,才执行加载。
在设置启动大包文件的时候,对大包进行CRC在线校验,如果CRC在线校验通过,则启动大包文件可以正常设置,否则认为该大包是非法的。
同时再结合在运行过程中对大包作为系统文件的保护机制(不允许删除和修改)。
通过上面4个方面的安全保证,可以确保大包文件从传输到运行整个过程的安全性。
7、交换机配置文件管理
只有3级管理级用户才能访问文件,低级别的用户无法访问文件,可以防止权限级别低的用户随意修改删除文件。
8、交换机管理平面隔离
交换机管理协议默认可以从业务口登录,同时交换机支持专用的管理网口登录,如果客户网络有专门的管理面规划,仅通过专用管理网口对设备进行管理,可以禁止从业务口登录的管理协议。
通过设置TELNET\SSH\HTTP\FTP\Ping(ICMP)等管理协议CPCAR为deny,可以限制管理协议从业务平面接入。
<HUAWEI> system-view
[HUAWEI] cpu-defend policy 1
[HUAWEI-cpu-defend-policy-1] deny packet-type telnet
[HUAWEI-cpu-defend-policy-1] deny packet-type ssh
[HUAWEI-cpu-defend-policy-1] deny packet-type http
[HUAWEI-cpu-defend-policy-1] deny packet-type snmp
[HUAWEI-cpu-defend-policy-1] deny packet-type ftp
[HUAWEI-cpu-defend-policy-1] deny packet-type icmp
[HUAWEI-cpu-defend-policy-1] quit
[HUAWEI] cpu-defend-policy 1 global
上述方法适用于有专用管理网口的交换机,对于没有专用管理网口的交换机,只有通过各管理协议支持的ACL来限制登录IP。
9、交换机畸形报文攻击防范
畸形报文攻击是通过向目标系统发送有缺陷的IP报文,使得目标系统在处理这样的IP包时会出现崩溃,给目标系统带来损失。主要的畸形报文攻击有:没有IP载荷的泛洪攻击;IGMP空报文攻击;LAND攻击;Smurf攻击;TCP标志位非法攻击。
畸形报文攻击方法介绍:
1、没有IP载荷的泛洪
攻击者经常构造大量只有IP头部,没有携带任何高层数据的IP报文,这些大量没有载荷的IP报文构成了flood攻击。因为这些没有高层数据的IP报文是没有作用的,需要将其丢弃。
2、IGMP空报文
IGMP报文是20字节的IP头加上8字节的IGMP报文体。如果IGMP报文的总长度小于28字节,则认为该IGMP报文是畸形报文,直接丢弃。
3、LAND攻击
Land攻击是由著名的黑客组织RootShell发现的,于1997年11月20日公布的。原理是利用TCP连接三次握手中的缺陷,向目的主机发送源地址与目的主机地址一致的数据包,造成目的主机解析Land包占用过多的资源,导致网络瘫痪。即Land攻击者打造一个特别的SYN包,其源地址和目的地址被设置成同一台计算机的地址,源端口与目的端口也被设置成同一个端口。该计算机接收到SYN包之后,将导致该计算机向它自己的地址发送SYN+ACK消息,结果这个地址又发回SYN+ACK消息并创建一个空连接,每个这样的连接都将保留直到超时。
LAND攻击
如上图所示,如果目的主机接收到自己的SYN+ACK后,认为这是一次连接请求(忽略ACK),它还会给自己回应SYN+ACK,这个ACK确认的是上一个SYN,新发出的SYN和前一个没有任何关系,目的主机再次认为自己收到一个连接请求,如此循环。
即使目的主机没有把SYN+ACK当成一次连接请求,也会认为自己建立了半连接,因为本身发出了SYN+ACK,如果攻击数据包量很大,就造成了SYN Flood,建立了大量的半连接,导致系统瘫痪。
对于LAND攻击确认是一种畸形报文攻击,通过检测TCP Syn报文中的源地址和目的地址是否一致,确认是否是攻击报文,如果一致,就会丢弃。
4、Smurf攻击
Smurf攻击的原理是:攻击者发送目的地址是广播地址,源地址是受害者地址的ICMP echo request报文。这样,网络上的所有主机都会向受害者发送reply报文,造成受害者收到过多报文,导致CPU利用率过高。对于目的地址为广播地址或者子网广播地址的ICMP echo request报文,直接认为是畸形报文丢弃。
5、TCP标志位非法攻击
TCP报文包含6个标志位:URG、ACK、PSH、RST、SYN、FIN ,不同的系统对这些标志位组合的应答是不同的。
6个标志全部为1,也就是圣诞树攻击。6个标志全部为0,如果端口是关闭的,会使接收方应答一个RST | ACK消息。而对于一个开放端口,Linux和UNIX机器不会应答,而Windows机器将回答RST | ACK消息。这可用于操作系统探测。
不管端口是打开还是关闭,ACK与除RST外的其它任何一个状态位组合在一起,都会引起一个还没有发送请求的接收方的一个RST应答。这可用于探测主机的存在。
不管端口是打开还是关闭,SYN | FIN | URG 会让接收方发送一个 RST | ACK 应答,这可用于探测主机的存在。
如果端口是关闭的,SYN、SYN | FIN、SYN | PUSH、SYN | FIN | PUSH、SYN|URG、SYN | URG | PUSH、SYN | FIN | URG | PUSH 会使接收方应答一个RST | ACK消息;如果端口是打开的,会使接收方应答一个 SYN | ACK消息,这可用于主机探测和端口探测。
如果端口是关闭的,FIN 、URG、PUSH、URG|FIN 、URG|PUSH 、FIN|PUSH 、URG|FIN|PUSH 会使接收方应答一个RST | ACK消息。而对于一个开放端口,Linux和UNIX机器不会应答,而Windows机器将回答RST | ACK消息。这可用于操作系统探测。
检查TCP报文的各个标志位,若出现:(1)6个标志位全为1;(2)6个标志位全为0;(3)SYN和FIN位同时为1;直接丢弃满足以上任一条件的报文。
畸形报文攻击防范配置维护方法
1、使能、去使能畸形报文防攻击(缺省情况下,使能畸形报文的攻击防范)。
anti-attack abnormal enable
undo anti-attack abnormal enable
2、查看所有接口板或指定的接口板上畸形报文攻击的统计数据。
display anti-attack statistics abnormal
3、清除所有接口板或指定的接口板上畸形报文攻击的统计数据
reset anti-attack statistics abnormal
10、交换机分片报文攻击防范
对于分片报文攻击,teardrop类攻击主要是攻击系统对分片报文重组可能出现问题,系统保证对分片报文重组正确,丢弃重组有重叠的报文。对于重复分片类报文的攻击,没有什么好方法,由于IP网络上的trunk,负载分担等会造成接口板收不到所有分片,所以不能在接口板上重组,在主控板上就必然涉及到主控板cpu和板间通讯资源的占用。防范方法是转发引擎在接口板上对分片报文进行单独的car,保证不对cpu造成攻击。Car大小可配置。
分片报文攻击一共包含如下12种:
1、分片数量巨大
攻击者制造大量的小分片,最小为8字节。如果考虑正常情况下,IP头部20个字节,IP载荷最大65515,对这些数据进行分片,每个IP载荷为8,那么一共有:8189. 375片(8189则没有65515,8190则超过65515),这样庞大的分片,这么小的碎片,一般来说都是恶意的。发到交换机上交换机会试图重组这些分片报文,从而消耗大量的CPU资源。
2、Tear Drop攻击
Tear Drop攻击是最著名的IP分片攻击,原理是UPD报文的IP分片错误,第二片包含在第一片之中。第一个分片IP载荷为36字节,IP总长度为56(正确),protocol为UDP,UDP检验和为0(没有检验);第二片IP载荷为4字节,IP总长度为24(正确),protocol为UDP,offset=3*8=24(错误,正确应该为36)。
3、syndrop攻击
与teardrop的原理类似,只是使用了TCP协议,flag为SYN,而且带有pading。第一片28载荷(0~27,包含TCP头部),IP头部20字节;第二片offset=24,载荷总长度=4(24~27),IP头部20字节。
4、nesta攻击
一共三片分片,第一片IP载荷为18(0~17),protocol为UDP,校验和为0;第二片offset为6×8=48,IP载荷为116字节;没有更多的分片,也就是结束片。第三片offset为0,more frag为1,也就是还有分片,40字节的IP option,都是EOL,IP载荷为224字节。
5、fawx攻击
是一种分片错误的IGMP报文。特征是:发送IGMP报文分片,一共两片,第一片9个bytes,第二个分片offset=8,IP载荷长度为16字节,没有结束分片。
6、bonk攻击
Bonk攻击和newtear攻击相似,只是第一片IP载荷为36bytes,UDP checksum为0;第二片offset=32,长度为4字节。
7、死亡之ping攻击
ICMP echo request总长度大于65535,导致协议栈崩溃。此攻击的方法就是通过简单的IP分片,使IP载荷加上IP头部长度大于65535。
8、Jolt攻击
和死亡之ping很相似,一共173个分片,每个分片380的IP载荷,那么总长度:173*380+20=65760,远远超过65535。
9、重复分片攻击
把同样的分片再次发送(可能发送多于2次),这里有两种情况:前后分片相同,因为IP报文传输过程可能会有重传;前后分片不相同,那么,哪一个分片才是应该保留,哪个应该丢弃,还是都丢弃。
10、NewTear攻击
Newtear攻击分片方面和syndrop相似,但是protocol使用UDP,第一片28载荷(0~27,包含UDP头部,UDP checksum为0),第二片offset=24,载荷总长度=4(24~27)。
11、Rose攻击
IP protocol可以是UDP或者TCP,可以选择。
(1)TCP:一共两片分片,第一片IP载荷长度48bytes,第二片IP载荷长度是32bytes,但是offset=65408,more frag=0,表示最后一片。
(2)UDP:一共两片分片,第一片IP载荷长度40bytes,第二片IP载荷长度是32bytes,但是offset=65408,more frag=0,表示最后一片。
11、交换机分片报文攻击防范配置维护方法
1、使能、去使能分片报文防攻击(缺省情况下,使能分片报文的攻击防范):
anti-attack fragment enable
undo anti-attack fragment enable
2、查看所有接口板或指定的接口板上分片报文攻击的统计数据
display anti-attack statistics fragment
3、清除所有接口板或指定的接口板上分片报文攻击的统计数据
reset anti-attack statistics fragment