华为设备安全加固和维护最全指南!从零基础到精通,收藏这篇就够了!
华为设备安全加固和维护最全指南!从零基础到精通,收藏这篇就够了!
本文是一篇关于华为设备安全加固和维护的详细指南,内容涵盖了路由器安全加固策略的级别、设备登录的安全、AAA用户管理的安全、本机防攻击、攻击防范以及设备转发面安全防御能力等多个方面。文章结构清晰,内容详实,提供了具体的配置维护方法和建议,具有较高的实用性和参考价值。
路由器安全加固策略的级别
按照网络安全需求,可以将路由器的安全加固策略分为Level-1、Level-2两个级别。
- Level-1:代表的是必须要配置的安全加固策略。
- Level-2:代表的是加强的安全加固策略,用户可以根据自己的业务有选择的进行配置。
Level-1的安全加固策略(必配)
一、设备登录的安全
1.1 使用Console口登录设备
串口(Console口)属于物理接口,在设备部署、组网上通过物理隔离,可防止恶意用户通过串口登录设备。串口登录支持密码认证和AAA认证两种方式。当设备第一次启用时,需要通过串口进行第一次配置。
配置维护方法:
设置串口验证方式为AAA验证:
- 执行命令system-view,进入系统视图。
- 执行命令user-interface console interface-number,进入Console用户界面视图。
- 执行命令authentication-mode aaa,设置用户验证方式为AAA验证。
- 执行命令quit,退出Console用户界面视图。
- 执行命令aaa,进入AAA视图。
- 执行命令local-user user-name password { irreversible-cipher | cipher } password,配置本地用户名和密码。
- 执行命令local-user user-name service-type terminal,配置本地用户的接入类型为Console用户。
- 执行命令local-user user-name privilege level level,配置本地用户的级别。
- 执行命令quit,退出AAA视图。
配置维护建议:
- 为保证串口安全,建议正确配置串口的认证方式:
- 串口认证支持密码认证和AAA认证,建议用户使用AAA认证,通过用户名和密码验证用户。
- 在串口没有认证配置的情况下,设备允许用户登录并配置密码,建议用户此时,将Console用户界面的认证方式修改为AAA认证,并在AAA视图下配置正确的用户名和密码。
1.2 使用SSH登录设备
安全策略介绍
- 支持认证
SSH Server支持密码认证和Public-Key认证,只有通过认证的用户才能登录设备,进入命令行界面。 - 支持关闭服务
当开启SSH Server服务器时,设备将开启Socket获取,易被攻击者扫描。当不使用SSH Server时,可以关闭SSH Server和端口号获取功能。 - 支持变更端口号
SSH Server 22号端口属于知名端口号,易被扫描和攻击。可以修改SSH Server的端口为私有端口,减小被扫描攻击的概率。 - 支持ACL
在用户界面视图(user-interface)可以配置各个VTY通道的ACL过滤规则,通过ACL控制允许登录的客户端IP。
攻击方法介绍
- 暴力破解密码
攻击者在获取到SSH端口后,尝试进行连接,设备提示认证,则其会进行暴力破解尝试通过认证,获取访问权限。 - 拒绝服务式攻击
SSH Server支持的用户数有限,在用户登录达到上限后,其他用户将无法登录。这个可能是正常使用造成,也可能是攻击者造成。
配置维护方法
- 配置关闭SSH服务(SSH服务默认开启)
执行命令system-view,进入系统视图。
执行命令undo stelnet server enable,关闭STelnet服务。 - 配置变更端口号为53555
执行命令system-view,进入系统视图。
执行命令ssh server port 53555,调整端口号为53555。 - 配置通过ACL设置呼入呼出权限限制
执行命令system-view,进入系统视图。
执行命令acl [ number ] acl-number [ match-order { auto | config } ],使用编号创建一个数字型的高级ACL,并进入高级ACL视图。
执行命令rule [ rule-id ] { deny | permit } protocol [ destination { destination-ip-address destination-wildcard | any } | fragment | source { source-ip-address source-wildcard | any } | time-range time-name | dscp dscp ],配置ACL规则。
执行命令quit,退出ACL视图。
执行命令user-interface vty first-ui-number [ last-ui-number ],进入VTY用户界面视图。
执行命令acl acl-number { inbound | outbound },配置VTY类型用户界面的呼入呼出限制。
当需要限制某个地址或地址段的用户登录到路由器时,使用inbound。
当需要限制已经登录的用户登录到其它路由器时,使用outbound。
配置维护建议
- 单独规划设备管理的网络IP,防止设备被扫描和窃听。
- 修改SSH Server端口号。
- 配置ACL策略,限定SSH允许访问的IP。
- 提供对SSH用户增加Public-key的认证。
二、AAA用户管理的安全
AAA是Authentication(认证)、Authorization(授权)和Accounting(计费)的简称。它提供对用户进行认证、授权和计费三种功能。具体如下:
- 认证(Authentication):验证用户是否可以获得访问权,确定哪些用户可以访问网络。
- 授权(Authorization):授权用户可以使用哪些服务。
- 计费(Accounting):记录用户使用网络资源的情况。
由于涉及到用户的认证、授权和计费,和业务强相关,配置也是非常灵活的。
安全策略介绍
远端认证:将用户信息(包括本地用户的用户名、密码和各种属性)配置在认证服务器上。支持通过RADIUS(Remote Authentication Dial In User Service)协议或HWTACACS (HUAWEI Terminal Access Controller Access Control System,是在TACACS(RFC1492)基础上进行了功能增强的一种安全协议)协议进行远端认证。
授权:RADIUS/HWTACACS认证成功后授权。
对某些管理用户,可以采用先本地后Radius认证的方式;当管理员用户通过Telnet或者SSH等方式登录设备时,如果认证时输入的用户名中未包含域名,则设备默认该管理员用户属于一个缺省管理域。
攻击方法介绍
黑客可以通过用户名、密码等关键信息进行遍历尝试来获取系统管理员的登录权限。
配置维护方法
针对这种常见的用户名、密码攻击和破解尝试,可配置用户可认证失败次数和可再次进行认证的时间间隔的参数来防止非法用户登录。配置了这两个参数后,在用户登录失败N次后,会暂时将用户阻塞一段时间,降低试探成功的机率,增强设备的安全性。
三、本机防攻击
3.1 基于CPCAR报文速率限制的CPU防护
基于CPCAR报文速率限制防攻击,是指通过对上送报文根据协议类型进行分类,用CPCAR控制转发平面送往CPU的报文的带宽、优先级和包长,同时控制总的上送带宽,以达到控制上送报文的数量,优先保证高优先级业务,防止单板CPU过载以及攻击产生时发出过多告警以达到防御的目的。
目前CPU被攻击时对业务的影响主要来自于三方面原因:
- 没有区分合法协议报文和非法协议报文,CPU忙于处理大量非法协议报文,利用率大幅升高,影响了对正常协议报文的处理。
- 部分协议报文使用同一通道上送CPU处理,当其中一个协议由于网络发生环路,导致海量报文被“链式反应”复制堵塞了上送CPU的通道,影响了其他协议。
- 协议报文的上送通道带宽不合理(要么太大,要么太小),发生流量冲击时影响其他上送通道的协议处理。为了避免由于人因差错、IT管理导致的安全事故,要求做到:
a. 收集设备上运行的各种业务涉及的协议,并进行归类。
b. 用ACL对报文进行过滤,非法报文进入黑名单。
c. 对黑名单的优先级,上送带宽,告警功能进行规划。
d. 基于TCP协议的应用层协议,识别重要的业务,走高优先级,保证带宽。
e. 非三层业务进行带宽限制,设备上不部署的业务有选择地关闭。
部分协议的攻击报文,可能影响对设备的管理。例如在业务层发起ICMP或Telnet报文攻击,如果业务接口和管理接口合用,则接口会丢弃Ping报文或者Telnet报文,导致设备无法管理。为了避免此类情况,有如下建议:
① 如果设备支持独立的管理接口,则使用管理接口管理设备,避免业务层的攻击影响管理接口;如果设备不支持独立的管理网口,则组网时将业务接口和管理接口规划独立,可在业务接口配置ACL策略,过滤管理协议的报文;也可以配置端口策略,例如设置指定的管理接口允许客户端Telnet或STelnet。
② 修改管理设备使用的协议的端口号,例如Telnet,减少攻击发生的几率。
③ 在设备上行方向配备防火墙设备,阻隔大部分的攻击报文。
3.2 攻击溯源
攻击溯源包括以下功能:
- 攻击溯源白名单
通过定义ACL设置攻击溯源白名单,设备将不对攻击溯源白名单用户进行溯源,可以保证白名单用户的合法报文能够正常上送CPU处理。 - 攻击溯源检查功能
通过配置攻击溯源检查阈值以及攻击溯源采样比,当可能的攻击源在单位时间内发送某种协议类型的报文超过检查阈值时,设备开始溯源,并将攻击源记录到日志中,以日志方式提醒网络管理员,可以方便管理员采取一定的措施来保护设备。 - 攻击溯源告警功能
通过配置攻击溯源告警阈值,当可能的攻击源在单位时间内发送某种协议类型的报文超过告警阈值时,设备将以告警的方式通知网络管理员,可以方便管理员采取一定的措施来保护设备。 - 攻击溯源惩罚功能
通过配置攻击溯源惩罚功能,设备将对检测到的攻击源进行惩罚,惩罚措施为丢弃攻击报文或者将攻击报文进入的接口shutdown,可以达到及时保护CPU的目的。
四、攻击防范
4.1 TCP SYN泛洪攻击防范
安全策略介绍:
TCP SYN泛洪攻击是一种古老而有效的攻击方式。它属于拒绝服务攻击,这类攻击完全依赖于TCP连接的建立方式。
对于TCP SYN泛洪攻击,华为公司采取对TCP SYN报文总的速率进行限制,保证受到攻击时系统资源不被耗尽。
攻击方法介绍:
在TCP的3次握手期间,当服务器收到来自客户端的初始SYN信息时,向客户端返回一个SYN+ACK报文并在内存中创建一个入口。服务器在等待客户端的最终ACK信息时,该连接一直处于半连接状态。如果服务器最终没有收到ACK信息包,则重新发送一个SYN+ACK到客户端。如果经过多次重试,客户端始终没有返回ACK信息,则服务器关闭会话并从内存中刷新会话。从传输第一个SYN+ACK到会话关闭大约需要30秒。
在这段时间内,攻击者可能将数十万个SYN信息发送到开放的端口,并且不回应服务器的SYN+ACK信息。服务器内存很快就会超过负荷,且无法再接受任何新的连接,并将现有的连接断开。
攻击者通常不接收来自服务器的SYN-ACK信息,因此他们可以伪造SYN信息的源地址,这就使发现攻击的真实来源更加困难。
因为SYN+ACK信息没有发送到攻击者,因此为攻击者节省了带宽。
配置维护方法:
- 使能、去使能TCP SYN泛洪攻击防范(缺省情况下,使能TCP SYN泛洪攻击防范)。
执行命令system-view,进入系统视图。
执行命令anti-attack tcp-syn enable,使能TCP SYN泛洪攻击防范功能。
执行命令anti-attack tcp-syn car cir cir,限制TCP SYN报文接收的速率。
缺省情况下,TCP SYN报文接收的速率为155000000bit/s。 - 查看分片报文攻击的统计数据。
display anti-attack statistics tcp-syn - 清除所有接口板或指定的接口板上分片报文攻击的统计数据。
reset anti-attack statistics tcp-syn
4.2 ICMP泛洪攻击防范
安全策略介绍
在接口板对总的ICMP报文进行速率控制。通过命令行对ICMP速率可配置,实现命令行实现单板粒度使能ICMP FLOOD防攻击。
攻击方法介绍
ICMP-Flood攻击发送速度极快的ICMP报文,当一个程序发送数据包的速度达到了每秒1000个以上,它的性质就成了洪水产生器,大量的ICMP Echo Request报文发送给攻击被测对象,被测对象主机就不得不回复很多ICMP Echo Reply或ICMP不可达报文,攻击者伪造了虚假源地址后,被测对象主机就会徒劳的回复大量ICMP报文给虚假地址,从而消耗自身的系统资源,最终可能导致服务器停止响应。同时也可能存在ICMP其他类型的报文攻击。
配置维护方法:
- 使能、去使能ICMP泛洪攻击防范功能(缺省情况下,使能ICMP泛洪攻击防范)。
anti-attack icmp-flood enable
undo anti-attack icmp-flood enable - 查看设备上ICMP泛洪攻击报文攻击的统计数据。
display anti-attack statistics icmp-flood - 清除设备上ICMP泛洪攻击报文的统计数据。
reset anti-attack statistics icmp-flood
五、设备转发面安全防御能力
5.1 ACL访问控制列表
访问控制列表是一系列有顺序的规则组的集合,这些规则根据数据包的源地址、目的地址、端口号等来描述。ACL通过规则对数据包进行分类,这些规则应用到路由设备上,路由设备根据这些规则判断哪些数据包可以接收,哪些数据包需要拒绝。
例如可以用访问列表描述:拒绝任何用户终端使用Telnet登录本机。允许每个用户终端经由SMTP向本机发送电子邮件。
每个ACL中可以定义多个规则,根据规则的功能分为基本ACL规则、高级ACL规则和二层ACL规则。ACL规则是一个匹配选项的集合,由用户根据不同业务进行选择配置。
5.2 URPF
URPF(Unicast Reverse Path Find)是单播反向路径检查的缩写,分为严格模式和松散模式,其原理是数据报文从网络接口进入到转发引擎,对于三层IP报文,查找路由表FIB,如果是本机路由则上送CP处理,在上送之前需要做URPF检查,检查数据报文的源IP地址是否合法,检查的原理是根据数据包的源IP地址查路由表。
支持配置检查模式为严格模式和松散模式,以及允许匹配缺省路由的方式。
- 对于严格模式:如果报文能匹配明细路由,并且入接口跟匹配路由的出接口一致,则允许报文上送,否则丢弃报文。
- 对于松散模式:如果报文匹配上明细路由,则运行报文上送,否则丢弃报文,不检查接口是否匹配。默认情况下,会认为缺省路由不存在,不会去匹配缺省路由,只有进行了配置时候,才会去匹配缺省路由的。
对允许匹配缺省路由的模式,必须和严格模式一起配置,报文匹配明细路由或者缺省路由,并且报文入接口跟匹配路由的出接口一致才上送,否则丢弃。不支持缺省路由与松散模式一起配置,因为这样无法达到防攻击的效果。松散模式和严格模式互斥,只能配置一种模式。
5.3 DHCP Snooping
DHCP Snooping是一种DHCP安全特性。通过MAC地址限制,DHCP Snooping安全绑定、IP+MAC绑定、Option82特性等功能过滤不信任的DHCP消息,解决了设备应用DHCP时遇到DHCP DoS攻击、DHCP Server仿冒攻击、ARP中间人攻击及IP/MAC Spoofing攻击的问题。DHCP Snooping的作用就如同在Client和DHCP Server之间建立的一道防火墙。
DHCP Snooping功能用于防止:
- DHCP地址池耗尽攻击
- DHCP Server仿冒者攻击
- 中间人攻击与IP/MAC Spoofing攻击