一、网络设备安全概况
1.1 交换机安全威胁
交换机是构成网络的基础设备,主要的功能是负责网络通信数据包的交换传输
交换机设备厂商
- 国内代表厂商:主要有华为、锐捷、中兴、华三等
- 国外代表厂商:主要有思科 (Cisco)、Juniper等
目前,工业界按照交换机的功能变化,将交换机分为五代
- 集线器是第一代交换机,工作于OSI (开放系统互联参考模型)的物理层,主要功能是对接收到的信号进行再生整形放大,延长网络通信线路的传输距离,同时,把网络中的节点汇聚到集线器的一个中心节点上,集线器会把收到的报文向所有端口转发
- 第二代交换机又称以太网交换机,工作于OSI的数据链路层,称为二层交换机。二层交换机识别数据中的MAC地址信息,并根据MAC地址选择转发端口
- 第三代交换机俗称三层交换机,针对ARP/DHCP等广播报文对终端和交换机的影响,三层交换机实现了虚拟网络(VLAN)技术来抑制广播风暴,将不同用户划分为不同的VLAN,VLAN之间的数据包转发通过交换机内置的硬件路由查找功能完成,三层交换机工作于OSI模型的网络层
- 第四代交换机为满足业务的安全性、可靠性、QoS等需求,在第二、第三代交换机功能的基础上新增业务功能,如防火墙、负载均衡、IPS等。这些功能通常由多核CPU实现
- 第五代交换机通常支持软件定义网络(SDN),具有强大的QoS能力
交换机面临的网络安全威胁主要有
- MAC地址泛洪(Flooding):通过伪造大量的虚假MAC地址发往交换机,由于交换机的地址表容量的有限性,当交换机的MAC地址表被填满之后,交换机将不再学习其他MAC地址
- ARP欺骗:攻击者可以随时发送虚假ARP包更新被攻击主机上的ARP缓存,进行地址欺骗,干扰交换机的正常运行
- 口令威胁:攻击者利用口令认证机制的脆弱性,如弱口令、通信明文传输、口令明文存储等,通过口令猜测、网络监听、密码破解等技术手段获取交换机口令认证信息,从而非授权访问交换机设备
- 漏洞利用:攻击者利用交换机的漏洞信息,导致拒绝服务、非授权访问、信息泄露、会话劫持
1.2 路由器安全威胁
路由器不仅是实现网络通信的主要设备之一,而且也是关系全网安全的设备之一,它的安全性、健壮性将直接影响网络的可用性
无论是攻击者发动DoS、DDoS攻击,还是网络蠕虫爆发,路由器往往会首当其冲地受到冲击,甚至导致路由器瘫痪,从而造成网络不可用
路由器面临的网络安全威胁主要有
- 漏洞利用:网络设备厂商的路由器漏洞被攻击者利用,导致拒绝服务、非授权访问、信息泄露、会话劫持、安全旁路
- 口令安全威胁:路由器的口令认证存在安全隐患,导致攻击者可以猜测口令,监听口令,破解口令文件
- 路由协议安全威胁:路由器接收恶意路由协议包,导致路由服务混乱
- DoS/DDoS威胁:攻击者利用TCP/IP协议漏洞或路由器的漏洞,对路由器发起拒绝服务攻击。攻击方法有两种
- 一是发送恶意数据包到路由器,致使路由器处理数据不当,导致路由器停止运行或干扰正常运行
- 二是利用僵尸网络制造大的网络流量传送到目标网络,导致路由器处理瘫痪
- 依赖性威胁:攻击者破坏路由器所依赖的服务或环境,导致路由器非正常运行。例如,破坏路由器依赖的认证服务器,导致管理员无法正常登录到路由器
二、网络设备安全机制与实现技术
2.1 认证机制
为防止网络设备滥用,网络设备对用户身份进行认证,用户需要提供正确口令才能使用网络设备资源
市场上的网络设备提供的口令认证有:Console口令、AUX口令、VTY口令、user 口令、privilege-level口令等多种形式
以路由器为例,Console 口令的使用过程如下:
Router #config terminal
Enter configuration commands,one per line. End with CNTL/Z.
Router (config) #line console 0
Router (config-line) #login
Router (config-line) #password console-password
Router (config-line) #^Z
Router#
为了便于网络安全管理,交换机、路由器等网络设备支持TACACS+ (Terminal Access Controller Access Control System)认证、RADIUS (Remote Authentication Dial In User Service)认证
TACACS+认证的过程如图
假定服务器的密钥是MyTACACSkey,配置网络设备使用TACACS+服务器的步骤如下:
- 使用aaa new-model命令启用AAA(认证、授权、审计)
- 使用tacacs-server host命令指定网络设备能用的TACACS+服务器
- 使用tacacs-server key命令告知网络设备TACACS+服务器的密钥
- 定义默认的AAA认证方法,并将本地认证作为备份
- 配置使用AAA认证方法
现以路由器通过AUX、VTY使用TACACS+进行认证为例,其中,TACACS+服务器的IP地址为X.Y.Z.10,服务器的密钥是MyTACACSkey
其配置过程如下:
Router#config terminal
Enter configuration commands,one per line. End with CNTL/Z.
Router (config) #aaa new-model
Router (config) #tacacs-server host X.Y.Z.10
Router (config) #tacacs-server key MyTACACSkey
Router (config) #aaa authentication login default group tacacs+ local
Router (config) #line aux 0
Router (config-line) #login authentication default
Router (config-line) #exit
Router (config) #line vty 0 4
Router (config-line) #login authentication default
Router (config-line) #^Z.
Router#
TACACS+要求用户提供用户名和口令进行认证,认证通过后再进行授权操作和审计
相比于TACACS+,RADIUS的认证过程简单,如图
配置网络设备使用RADIUS认证的步骤如下
- 使用aaa new-model命令启用AAA
- 使用radius-server host命令指定网络设备能用的RADIUS服务器
- 使用radius-server key命令告知网络设备RADIUS服务器的密钥
- 定义默认的AAA认证方法,并将本地认证作为备份
- 配置使用AAA认证方法
2.2 访问控制
网络设备的访问可以分为
- 带外(out-of-band)访问不依赖其他网络
- 带内(in-band) 访问则要求提供网络支持
网络设备的访问方法:主要有控制端口(Console Port)、辅助端口(AUX Port)、VTY、HTTP、TFTP、SNMP,Console、AUX和VTY称为line,每种访问方法都有不同的特征
- Console Port属于默认设置访问,要求物理上访问网络设备
- AUX Port提供带外访问,可通过终端服务器或调制解调器Modem连接到网络设备,管理员可远程访问
- VTY提供终端模式通过网络访问网络设备,通常协议是Telnet或SSH2,VTY的数量一般设置为5 个,编号是从0到4
- 网络设备也支持使用HTTP协议进行Web访问
- 网络设备使用TFTP (Trivial File Transfer Protocol)上传配置文件
- SNMP提供读或读写访问几乎所有的网络设备
1. CON端口访问
为了进一步严格控制CON端口的访问,限制特定的主机才能访问路由器
可做如下配置,其指定X.Y.Z.1可以访问路由器
Router (Config) #Access-list 1 permit X.Y.Z.1
Router (Config) #line con 0
Router (Config-line) #Transport input none
Router (Config-line) #Login local
Router (Config-line) #Exec-timeoute 5 0
Router (Config-line) #access-class 1 in
Router (Config-line) #end
2. VTY访问控制
为保护VTY的访问安全,网络设备配置可以指定固定的IP地址才能访问,并且增加时间约束
3. HTTP访问控制
限制指定IP地址可以访问网络设备
4. SNMP访问控制
为避免攻击者利用Read-only SNMP或Read/Write SNMP对网络设备进行危害操作,网络设备提供了SNMP访问安全控制措施,具体如下:
一是 SNMP访问认证:当通过SNMP访问网络设备时,网络设备要求访问者提供社区字符串(community strings)认证,类似口令密码
如下所示,路由器设置SNMP访问社区字符串
(1)设置只读SNMP访问模式的社区字符串
Router # config terminal
Enter configuration commands,one per line. End with CNTL/Z.
Router (config) # snmp-server community UnGuessableStringReadOnly RO
Router (config) #^Z
(2)设置读/写SNMP访问模式的社区字符串
Router# config terminal
Enter configuration commands,one per line. End with CNTL/Z.
Router (config) # snmp-server community UnGuessableStringWriteable RW
Router (config) #^Z
二是限制SNMP访问的IP地址:如下所示,只有X.Y.Z.8和X.Y.Z.7的IP地址对路由器进行SNMP只读访问
Router # config terminal
Enter configuration commands,one per line. End with CNTL/Z.
Router (config) #access-list 6 permit X.Y.Z.8
Router (config) #access-list 6 permit X.Y.Z.7
Router (config) #access-list 6 deny any
Router (config) # snmp-server community UnGuessableStringRead0nly RO 6
Router (config) #^Z
三是关闭SNMP访问:如下所示,网络设备配置no snmp-server community命令关闭SNMP访问
Router #config terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router (config) #no snmp-server community UnGuessableStringReadOnly RO
Router (config) #^Z
5.设置管理专网
远程访问路由器一般是通过路由器自身提供的网络服务来实现的,例如Telnet、SNMP、Web服务或拨号服务
虽然远程访问路由器有利于网络管理,但是在远程访问的过程中,远程通信时的信息是明文,因而,攻击者能够监听到远程访问路由器的信息,如路由器的口令
为增强远程访问的安全性,应建立一个专用的网络用于管理设备,如图
同时,网络设备配置支持SSH访问,并且指定管理机器的IP地址才可以访问网络设备,从而降低网络设备的管理风险,具体方法如下
- 将管理主机和路由器之间的全部通信进行加密,使用SSH替换Telnet
- 在路由器设置包过滤规则,只允许管理主机远程访问路由器
6.特权分级
针对交换机、路由器潜在的操作安全风险,交换机、路由器提供权限分级机制,每种权限级别对应不同的操作能力
在Cisco网络设备中,将权限分为0~15共16个等级,0为最低等级,15为最高等级,等级越高,操作权限就越多
具体配置如下
Router>show privilege
Current privilege level is 1
Router>enable 5
Password: level-5-password
Router#show privilege
Current privilege level is 5
Router#
2.3 信息加密
网络设备配置文件中有敏感口令信息,一旦泄露,将导致网络设备失去控制
为保护配置文件的敏感信息,网络设备提供安全加密功能,保存敏感口令数据
- 未启用加密保护的时候,配置文件中的口令信息是明文,任何人都可以读懂
- 启用service password-encryption配置后,对口令明文信息进行加密保护
2.4 安全通信
网络设备和管理工作站之间的安全通信有两种方式
1. SSH
为了远程访问安全,网络设备提供SSH服务以替换非安全的Telnet,其配置步骤如下
- 使用hostname指定设备名称
- 使用ip domain-name配置设备域
- 使用crypto key generate rsa生成RSA加密密钥。建议最小密钥大小为1024位
- 使用ip ssh设置SSH访问
- 使用transport input命令配置使用SSH
如下所示,是在路由器RouterOne上设置 SSH访问,VTY配置成只允许SSH访问
Router #config terminal
Enter configuration commands,one per line. End with CNTL/Z.
Router (config) #hostname RouterOne
RouterOne (config) #ip domain-name mydomain.com
RouterOne (config) #crypto key generate rsa
The namefor the keys will be: RouterOne
Choose the size of the key modulus in the range of 360 to :2048 for your General Purpose Keys. Choosing a key modulus greater than 512 may take a few minutes.
How many bits in the modulus [512] : 1024
Generating RSA keys ...
[OK]
RouterOne (config) #ip ssh time-out 60
RouterOne (config) #ip ssh authentication-retries 2
RouterOne (config) #line vty 0 4
RouterOne (config-line) #transport input ssh
RouterOne (config-line) #^Z
RouterOne#
2. IPSec VPN
网络设备若支持IPSec,则可以保证管理工作站和网络设备的网络通信内容是加密传输的
其主要配置步骤如下:
- 设置ISAKMP预共享密钥
- 创建可扩展的ACL
- 创建IPSec transforms
- 创建crypto map
- 应用crypto map到路由接口
2.5 日志审计
网络运行中会发生很多突发情况,通过对网络设备进行审计,有利于管理员分析安全事件
网络设备提供控制台日志审计(Console logging)、缓冲区日志审计(Buffered logging)、终端
审计(Terminal logging)、SNMP traps、AAA 审计、Syslog 审计等多种方式
由于网络设备的存储信息有限,一般是建立专用的日志服务器,并开启网络设备的Syslog
服务,接收网络设备发送出的报警信息
2.6 安全增强
为了增强网络设备的抗攻击性,网络设备提供服务关闭及恶意信息过滤等功能,以提升网络设备的自身安全保护能力
1.关闭非安全的网络服务及功能
网络设备自身提供许多网络服务,例如Telnet、Finger、HTTP 等,为了增强网络设备的安全,减少网络攻击面,网络设备应尽量不提供网络服务,或关闭危险的网络服务,或限制网络服务范围
2.信息过滤
过滤恶意路由信息,控制网络的垃圾信息流
3.协议认证
为保证路由协议的正常运行,用户在配置路由器时要使用协议认证。否则路由器就会来者不拒,接收任意的路由信息,从而可能被恶意利用
安全措施
- 启用 OSPF 路由协议的认证
- RIP 协议的认证:只有 RIP-V2 支持,RIP-VI 不支持,建议启用 RIP-V2, 并且采用 MD5 认证
- 启用 IP Unicast Reverse-Path Verification:能够检查源 IP 地址的准确性,从而可以防止一定的 IP Spooling,只能在启用 CEF(Cisco Express Forwarding) 的路由器上使用
2.7 物理安全
物理安全是网络设备安全的基础,物理访问必须得到严格控制
物理安全的策略如下
- 指定授权人安装、卸载和移动网络设备
- 指定授权人进行维护以及改变网络设备的物理配置
- 指定授权人进行网络设备的物理连接
- 指定授权人进行网络设备的控制台使用以及其他的直接访问端口连接
- 明确网络设备受到物理损坏时的恢复过程或者出现网络设备被篡改配置后的恢复过程
个人导航:http://xqnav.top/