在网络实际环境中,随着计算机性能的不断提升,针对网络中的交换机、路由器或其它计算机等设备的***趋势越来越严重,影响越来越剧烈。交换机作为局域网信息交换的主要设备,特别是核心、汇聚交换机承载着极高的数据流量,在突发异常数据或***时,极易造成负载过重或宕机现象。为了尽可能抑制***带来的影响,减轻交换机的负载,使局域网稳定运行,交换机厂商在交换机上应用了一些安全防范技术,网络管理人员应该根据不同的设备型号,有效地启用和配置这些技术,净化局域网环境。本文以华为3COM公司的Quidway系列交换机为例,分两期为您介绍常用的安全防范技术和配置方法。以下您将学到广播风暴控制技术、MAC地址控制技术、DHCP控制技术及ACL技术。
  广播风暴控制技术
  网卡或其它网络接口损坏、环路、人为干扰破坏、***工具、病毒传播,都可能引起广播风暴,交换机会把大量的广播帧转发到每个端口上,这会极大地消耗链路带宽和硬件资源。可以通过设置以太网端口或VLAN的广播风暴抑制比,从而有效地抑制广播风暴,避免网络拥塞。
  1.广播风暴抑制比
  可以使用以下命令限制端口上允许通过的广播流量的大小,当广播流量超过用户设置的值后,系统将对广播流量作丢弃处理,使广播所占的流量比例降低到合理的范围,以端口最大广播流量的线速度百分比作为参数,百分比越小,表示允许通过的广播流量越小。当百分比为100时,表示不对该端口进行广播风暴抑制。缺省情况下,允许通过的广播流量为100%,即不对广播流量进行抑制。在以太网端口视图下进行下列配置:
  broadcast-suppression ratio
  2.为VLAN指定广播风暴抑制比
  同样,可以使用下面的命令设置VLAN允许通过的广播流量的大小。缺省情况下,系统所有VLAN不做广播风暴抑制,即max-ratio值为100%。
  
  MAC地址控制技术
  以太网交换机可以利用MAC地址学习功能获取与某端口相连的网段上各网络设备的MAC 地址。对于发往这些MAC地址的报文,以太网交换机可以直接使用硬件转发。如果MAC地址表过于庞大,可能导致以太网交换机的转发性能的下降。MAC***利用工具产生欺骗的MAC地址,快速填满交换机的MAC表,MAC表被填满后,交换机会以广播方式处理通过交换机的报文,流量以洪泛方式发送到所有接口,这时***者可以利用各种嗅探工具获取网络信息。TRUNK接口上的流量也会发给所有接口和邻接交换机,会造成交换机负载过大,网络缓慢和丢包,甚至瘫痪。可以通过设置端口上最大可以通过的MAC地址数量、MAC地址老化时间,来抑制MAC***。
  1.设置最多可学习到的MAC地址数
  通过设置以太网端口最多学习到的MAC地址数,用户可以控制以太网交换机维护的MAC地址表的表项数量。如果用户设置的值为count,则该端口学习到的MAC地址条数达到count 时,该端口将不再对MAC地址进行学习。缺省情况下,交换机对于端口最多可以学习到的MAC地址数目没有限制。
  在以太网端口视图下进行下列配置:
  mac-address max-mac-count count
  2.设置系统MAC地址老化时间
  设置合适的老化时间可以有效实现MAC地址老化的功能。用户设置的老化时间过长或者过短,都可能导致以太网交换机广播大量找不到目的MAC地址的数据报文,影响交换机的运行性能。如果用户设置的老化时间过长,以太网交换机可能会保存许多过时的MAC地址表项,从而耗尽MAC地址表资源,导致交换机无法根据网络的变化更新MAC地址表。如果用户设置的老化时间太短,以太网交换机可能会删除有效的MAC地址表项。一般情况下,推荐使用老化时间age的缺省值 300秒。
  在系统视图下进行下列配置: mac-address timer { aging age | no-aging }
  
  使用参数no-aging时表示不对MAC地址表项进行老化。
  3.设置MAC地址表的老化时间
  这里的锁定端口就是指设置了最大学习MAC地址数的以太网端口。在以太网端口上使用命令mac-address max-mac-count设置端口能够学习的最大地址数以后,学习到的MAC地址表项将和相应的端口绑定起来。如果某个MAC地址对应的主机长时间不上网或已移走,它仍然占用端口上的一个MAC地址表项,从而造成MAC地址在这5个MAC地址以外的主机将不能上网。此时可以通过设置锁定端口对应的MAC 地址表的老化时间,使长时间不上网的主机对应的MAC地址表项老化,从而使其他主机可以上网。缺省情况下,锁定端口对应的MAC地址表的老化时间为1小时。
  在系统视图下进行下列配置:
  lock-port mac-aging { age-time | no-age }
DHCP控制技术
  DHCP Server可以自动为用户设置IP地址、掩码、网关、DNS、WINS等网络参数,解决客户机位置变化(如便携机或无线网络)和客户机数量超过可分配的 IP地址的情况,简化用户设置,提高管理效率。但在DHCP管理使用上,存在着DHCP Server冒充、DHCP Server的Dos***、用户随意指定IP地址造成网络地址冲突等问题。
  1.三层交换机的DHCP Relay技术
  早期的DHCP协议只适用于DHCP Client和Server处于同一个子网内的情况,不可以跨网段工作。因此,为实现动态主机配置,需要为每一个子网设置一个DHCP Server,这显然是不经济的。DHCP Relay的引入解决了这一难题:局域网内的DHCP Client可以通过DHCP Relay与其他子网的DHCP Server通信,最终取得合法的IP地址。这样,多个网络上的DHCP Client可以使用同一个DHCP Server,既节省了成本,又便于进行集中管理。DHCP Relay配置包括:
  (1)配置IP 地址
  为了提高可靠性,可以在一个网段设置主、备DHCP Server。主、备DHCP Server构成了一个DHCP Server组。可以通过下面的命令指定主、备DHCP Server的IP地址。
  在系统视图下进行下列配置:
  dhcp-server groupNo ip ipaddress1 [ ipaddress2 ]
  (2)配置VLAN接口对应的组
  在VLAN接口视图下进行下列配置:
  dhcp-server groupNo
  (3)使能/禁止VLAN 接口上的DHCP安全特性
  使能VLAN接口上的DHCP安全特性将启动VLAN接口下用户地址合法性的检查,这样可以杜绝用户私自配置IP地址扰乱网络秩序,同DHCP Server配合,快速、准确定位病毒或干扰源。
  在VLAN接口视图下进行下列配置:
  address-check enable
  (4)配置用户地址表项
  为了使配置了DHCP Relay的VLAN内的合法固定IP地址用户能够通过DHCP安全特性的地址合法性检查,需要使用此命令为固定IP地址用户添加一条IP地址和MAC地址对应关系的静态地址表项。如果有另外一个非法用户配置了一个静态IP地址,该静态IP地址与合法用户的固定IP地址发生冲突,执行DHCP Relay功能的以太网交换机,可以识别出非法用户,并拒绝非法用户的IP与MAC地址的绑定请求。
  在系统视图下进行下列配置:
  dhcp-security static ip_address mac_address
  2.其它地址管理技术
  在二层交换机上,为了使用户能通过合法的DHCP服务器获取IP地址,DHCP-Snooping安全机制允许将端口设置为信任端口与不信任端口。其中信任端口连接DHCP服务器或其他交换机的端口;不信任端口连接用户或网络。不信任端口将接收到的DHCP服务器响应的DHCPACK和DHCPOFF报文丢弃;而信任端口将此DHCP报文正常转发,从而保证了用户获取正确的IP地址。
  (1)开启/关闭交换机DHCP-Snooping 功能
  缺省情况下,以太网交换机的DHCP-Snooping功能处于关闭状态。
  在系统视图下进行下列配置,启用DHCP-Snooping功能:
  dhcp-snooping
  (2)配置端口为信任端口
  缺省情况下,交换机的端口均为不信任端口。
  在以太网端口视图下进行下列配置:
  dhcp-snooping trust
  (3)配置VLAN接口通过DHCP方式获取IP地址
  在VLAN 接口视图下进行下列配置:
  ip address dhcp-alloc
  (4)访问管理配置——配置端口/IP地址/MAC地址的绑定
  可以通过下面的命令将端口、IP地址和MAC地址绑定在一起,支持Port+IP、Port+MAC、Port+IP+MAC、IP+MAC绑定方式,防止私自移动机器设备或滥用MAC地址***、IP地址盗用***等,但这种方法工作量巨大。
ACL(访问控制列表)技术
  为了过滤通过网络设备的数据包,需要配置一系列的匹配规则,以识别需要过滤的对象。在识别出特定的对象之后,网络设备才能根据预先设定的策略允许或禁止相应的数据包通过。访问控制列表(Access Control List,ACL)就是用来实现这些功能。ACL通过一系列的匹配条件对数据包进行分类,这些条件可以是数据包的源地址、目的地址、端口号等。ACL应用在交换机全局或端口,交换机根据ACL中指定的条件来检测数据包,从而决定是转发还是丢弃该数据包。访问控制列表又可分为以下几种类型。
  基本访问控制列表:根据三层源IP制定规则,对数据包进行相应的分析处理。
  高级访问控制列表:根据源IP、目的IP、使用的TCP或UDP端口号、报文优先级等数据包的属性信息制定分类规则,对数据包进行相应的处理。高级访问控制列表支持对三种报文优先级的分析处理:TOS(Type Of Service)优先级、IP优先级和DSCP优先级。
  二层访问控制列表:根据源MAC地址、源VLAN ID、二层协议类型、报文二层接收端口、报文二层转发端口、目的MAC地址等二层信息制定规则,对数据进行相应处理。
  用户自定义访问控制列表:根据用户的定义对二层数据帧的前80个字节中的任意字节进行匹配,对数据报文作出相应的处理。正确使用用户自定义访问控制列表需要用户对二层数据帧的构成有深入的了解。
  访问控制列表在网络设备中有着广泛的应用,访问控制列表配置、启用包括以下几个步骤,最好依次进行,其中前两个步骤可以不用配置,采用默认值。
  (1)配置时间段
  在系统视图下使用time-range命令配置时间段。例如,如果想在每周的上班时间8:00--16:00控制用户访问,可以使用下面的命令:
  time-range ourworingtime 8:00 to 16:00 working-day
  (2)选择交换机使用的流分类规则模式
  交换机只能选择一种流分类规则模式:二层ACL模式或者三层ACL模式。在二层ACL模式下,只有二层ACL可以被定义、激活或者被其他应用引用,三层 ACL模式类似。可以通过下面的命令来选择使用L2或L3模式的流分类规则。缺省情况下,选择使用IP-based流分类规则模式,即L3流分类规则。
  在系统视图下进行下列配置:
  acl mode { ip-based | link-based }
  (3)定义访问控制列表(命令较多,只以高级访问控制列表为例)
  ①进入相应的访问控制列表视图
  acl { number acl-number | name acl-name advanced } [ match-order { config | auto } ]
  ②定义访问列表的子规则
  在系统视图下使用rule命令配置规则。
  例如,如果想控制内网10.10.2.0/24用户在工作时间使用ftp下载,可以使用下面的命令:
  acl number 3006
  rule 1 deny tcp source 10.10.2.0 255.255.255.0 destination any destination-port eq ftp time-range ourworingtime
  ③激活访问控制列表
  不同的交换机型号配置命令不太相同,以S6500系列为例,在QoS 视图下进行下列配置:
  packet-filter inbound { ip-group { acl-number | acl-name } [ rule rule ] | link-group { acl-number | acl-name } [ rule rule ] }
 流量及端口限速控制技术
  为了防止因大流量数据传输引起的端口阻塞,消除恶意用户或者中毒用户对网络的影响,可以采用流量及端口限速控制技术。

  配置端口流量阈值
  通过配置端口流量阈值,系统可以周期性地对端口的数据流量进行监控。当端口的数据流量超出配置的阈值后,系统将根据指定的方式进行处理:自动关闭端口并发送告警信息或仅发送告警信息。在以太网端口视图下配置端口的流量阈值及超出阈值后的处理方式:
  flow-constrain time-value flow-value { bps | pps }
  flow-constrain method { shutdown | trap }
  流量监管
  流量监管是基于流的速率限制,它可以监督某一流量的速率,如果流量超出指定的规格,就采用相应的措施,如丢弃那些超出规格的报文或重新设置它们的优先级。
  端口限速
  端口限速就是基于端口的速率限制,它对端口输出报文的总速率进行限制。
  TCP属性及CPU负载控制技术
  ***扫描、蠕虫病毒等都会引起过多TCP连接,CPU负载过重与此也有关系,适当地调整交换机的TCP属性和送达CPU的报文,可以有效地降低CPU负载。
  配置TCP 属性
  synwait定时器:当发送SYN报文时,TCP启动synwait定时器,如果synwait超时前未收到回应报文,则TCP连接将被终止。synwait定时器的超时时间取值范围为2~600秒,缺省值为75秒:
  tcp timer syn-timeout time-value
  finwait定时器:当TCP的连接状态由FIN_WAIT_1变为FIN_WAIT_2时,启动finwait 定时器,如果finwait定时器超时前仍未收到FIN报文,则TCP连接被终止。finwait的取值范围为76~3600秒,finwait的缺省值为675秒:
  tcp timer fin-timeout time-value
  面向连接Socket的接收和发送缓冲区的大小:范围为1~32K字节,缺省值为4K字节:
  tcp window window-size
  配置特殊IP报文是否送CPU处理
  在交换机的IP报文转发过程中,通常重定向、TTL超时及路由不可达的报文会送到CPU,CPU在收到以上报文后会通知对方处理。但如果配置错误或有人恶意***,则会造成CPU负载过重,这时便可通过下面的命令设置相应报文不送CPU处理,以保护系统的正常运行。缺省情况下,重定向、路由不可达的报文不送CPU处理,TTL超时报文送CPU处理:
  undo ip { redirects | ttl-expires | unreachables }
ARP技术
  IP地址不能直接用来进行通信,因为链路层的网络设备只能识别MAC地址。ARP用于将IP地址解析为MAC地址,ARP动态执行并自动寻求IP地址到以太网MAC地址的解析,无需管理员的介入,也可以手工维护。通常将手工配置的IP地址到MAC地址的映射,称之为静态ARP。
  免费ARP技术通过对外发送免费ARP报文,防止通过各种ARP欺骗手段产生的***。
  
  动态ARP老化定时器
  交换机允许用户指定动态ARP老化定时器的时间。动态地址表的老化时间是指在该表项从交换机地址表中删除之前的生存时间,若定时器超时,就将该表项从地址表中删除。缺省情况下,动态ARP老化定时器为20分钟:
  arp timer aging aging-time
  免费ARP技术
  免费ARP功能:网络中设备可以通过发送免费ARP报文来确定其他设备的IP地址是否与自己冲突。如果发送免费ARP报文的设备正好改变了硬件地址,那么这个报文就可以通知其他设备及时更新高速缓存中旧的硬件地址。例如:设备收到一个免费ARP报文后,如果高速缓存中已存在此报文对应的ARP表项,那么此设备就用免费ARP报文中携带的发送端硬件地址(如以太网地址)对高速缓存中相应的内容进行更新。设备接收到任何免费ARP报文都要完成这个操作。
  免费ARP报文的特点:报文中携带的源IP和目的IP地址都是本机地址,报文源MAC地址是本机MAC地址。当设备收到免费ARP报文后,如果发现报文中的IP地址和自己的IP地址冲突,则给发送免费ARP报文的设备返回一个ARP应答,告知该设备IP地址冲突。缺省情况下,交换机的免费ARP报文发送功能处于开启状态,免费ARP报文学习功能处于关闭状态。在系统视图下免费ARP的配置过程如下:
  arp send-gratuitous enable
  gratuitous-arp-learning enable
  
  登录和访问交换机控制技术
  目前,以太网交换机提供了多种用户登录、访问设备的方式,主要有通过Console口、SNMP访问、通过TELNET或SSH访问和通过HTTP访问等方式。以太网交换机提供对这几种访问方式进行安全控制的特性,防止非法用户登录、访问交换机设备。
  安全控制分为两级:第一级安全通过控制用户的连接实现,通过配置ACL对登录用户进行过滤,只有合法用户才能和交换机设备建立连接;第二级安全主要通过用户口令认证实现,连接到设备的用户必须通过口令认证才能真正登录到设备。
设置口令
  为防止未授权用户的非法侵入,必须在不同登录和访问的用户界面(AUX用户界面用于通过Console口对以太网交换机进行访问, VTY用户界面用于通过Telnet对以太网交换机进行访问)设置口令,包括容易忽略的SNMP的访问口令(一定不要用“public”的默认口令)和Boot Menu口令,同时设置登录和访问的默认级别和切换口令。
  在不同登录和访问的用户界面,使用如下命令设置口令:
  authentication-mode password
  set authentication password { cipher | simple } password
  配置ACL对登录用户进行过滤
  通过配置ACL对登录用户进行过滤控制,可以在进行口令认证之前将一些恶意或者不合法的连接请求过滤掉,保证设备的安全。配置ACL对登录用户进行过滤控制需要定义访问控制列表和引用访问控制列表。
  配置举例及步骤:仅允许来自10.10.1.66和10.10.1.78的TELNET用户访问交换机:
  # 定义基本访问控制列表。
  [Quidway] acl number 2008 match-order config
  [Quidway-acl-basic-2008] rule 1 permit source 10.10.1.66 0
  [Quidway-acl-basic-2008] rule 2 permit source 10.10.1.78 0
  [Quidway-acl-basic-2008] quit
  # 引用访问控制列表。
  [Quidway] user-interface vty 0 4
  [Quidway-user-interface-vty0-4] acl 2008 inbound
  镜像技术
  以太网交换机提供基于端口和流的镜像功能,即可将指定的1个或多个端口的报文或数据包复制到监控端口,用于报文的分析和监视、网络检测和故障排除(以S6500系列为例):
  mirroring-group groupId { inbound | outbound } mirroring-port-list & mirrored-to mornitor-port
  由于大多数对局域网危害较大的网络病毒和人为破坏都具有典型的欺骗和扫描、快速发包、大量ARP请求等特征,考虑局域网的实际情况,综合采用上述技术中的某几种,在接入层、汇聚层交换机上分级配置,可以在一定程度上自动阻断恶意数据包,及时告警,准确定位病毒源、故障或干扰点,及时采取措施,把对局域网的危害减轻到尽可能小的程度。