此文参考思科网络安全部分书箱所作笔记,当然此笔记只是二层网络安全防范里的一部分,需要根据自身的实际环境回以实施以保证网络安全。
MAC***与防范:
***:MAC Address泛洪***,可利用某些工具(如:Ettercap、macof)产生大量MAC Address占满交换机MAC Table,导致整个网络瘫痪
防范:1) port security 端口安全
2) MAC address activity notification MAC 地址活动性通告
3) unknow unicast flooding protection 未知单播泛洪保护(6509才有此功能)
STP生成树***与防范
***:1)人为伪造网桥根(bridge ID)
2) 利用BPDU泛洪的DoS***(网络环路)
3) 利用配置BPDU泛洪
4) 模拟一台双双宿主机(Dual-homed)交换机桥接
防范:1) Root guard(根保护),确保该端口为指定端口(designated port)
2) BPDU-guard(BPDU保护)
3) BPDU Filtering (BPDU过滤)
4) Layer 2 PDU rate limiter(第二层的PDU速率限制器)
VLANN***与防范
***:利用工具劫持標籤Vlan即是TAG vlan。注:native VLAN 上幀是被无标记(untagged)传播的。工具:Yersinia可实现cdp、dhcp、dot1q、dtp、hsrp、isl、mpls、stp、vtp等***;
防范:1).确保不将native VLAN分配给任何访问端口
2).从Trunk中清除native VALN(不建议使用)
3).强制Trunk上所有的流量都携带一个tag
DHCP***与防范
说明:DHCP客户端侦听数据报协议(User Datagram Protocol, UDP)的68 Port,而DHCP服务器侦听UDP的67 Port;
***:1) 耗尽DHCP的地址池范围(DHCP scope exhaustion);
2) 安装一台非法(rouge)DHCP服务器
防范:利用DHCP snooping 监视并限制DHCP操作:
a. 端口级DHCP消息速率限制;
b. DHCP消息确认(validation)
c. Option 82的插入和移除
** ip dhcp snooping informationoption -->写入option82
d. 防止通过DHCP发起的DoS***
DHCP Snooping配置如下:
Switch(config)#ip dhcp snooping //打开DHCP Snooping功能
Switch(config)#ip dhcp snooping vlan 10 //设置DHCP Snooping功能将作用于哪些VLAN
Switch(config)#ip dhcp snooping verify mac-address//检测非信任端口收到的DHCP请求报文的源MAC和CHADDR字段是否相同,以防止DHCP耗竭***,该功能默认即为开启
Switch(config-if)#ip dhcp snooping trust //配置接口为DHCP监听特性的信任接口,所有接口默认为非信任接口
Switch(config-if)#ip dhcp snooping limit rate 15 //限制非信任端口的DHCP报文速率为每秒15个包(默认即为每秒15个包)如果不配该语句,则show ip dhcp snooping的结果里将不列出没有该语句的端口,可选速率范围为1-2048
建议:在配置了端口的DHCP报文限速之后,最好配置以下两条命令
Switch(config)#errdisable recovery cause dhcp-rate-limit//使由于DHCP报文限速原因而被禁用的端口能自动从err-disable状态恢复
Switch(config)#errdisable recovery interval 30 //设置恢复时间;端口被置为err-disable状态后,经过30秒时间才能恢复
Switch(config)#ip dhcp snooping information option //设置交换机是否为非信任端口收到的DHCP报文插入Option 82,默认即为开启状态
Switch(config)#ip dhcp snooping information option allow-untrusted //设置汇聚交换机将接收从非信任端口收到的接入交换机发来的带有选项82的DHCP报文
Switch#ip dhcp snooping binding 000f.1fc5.1008 vlan 10 192.168.10.131interface fa0/2 expiry 692000 //特权模式命令;手工添加一条DHCP监听绑定条目;expiry为时间值,即为监听绑定表中的lease(租期)
witch(config)#ip dhcp snooping database flash:dhcp_snooping.db//将DHCP监听绑定表保存在flash中,文件名为dhcp_snooping.db
Switch(config)#ip dhcpsnooping database tftp://10.133.131.142/Switch/dhcp_snooping.db //将DHCP监听绑定表保存到tftp服务器;192.168.2.5为tftp服务器地址,必须事先确定可达。URL中的Switch是tftp服务器下一个文件夹;保存后的文件名为dhcp_snooping.db,当更改保存位置后会立即执行“写”操作。
Switch(config)#ip dhcp snooping database write-delay 30//指DHCP监听绑定表发生更新后,等待30秒,再写入文件,默认为300秒;可选范围为15-86400秒
Switch(config)#ip dhcp snooping database timeout 60//指DHCP监听绑定表尝试写入操作失败后,重新尝试写入操作,直到60秒后停止尝试。默认为300秒;可选范围为0-86400秒
说明:实际上当DHCP监听绑定表发生改变时会先等待write-delay的时间,然后执行写入操作,如果写入操作失败(比如tftp服务器不可达),接着就等待timeout的时间,在此时间段内不断重试。在timeout时间过后,停止写入尝试。但由于监听绑定表已经发生了改变,因此重新开始等待write-delay时间执行写入操作……不断循环,直到写入操作成功。
Switch#renew ip dhcp snooping database flash:dhcp_snooping.db//特权级命令;立即从保存好的数据库文件中读取DHCP监听绑定表。
显示DHCP Snooping的状态
Switch#show ip dhcpsnooping //显示当前DHCP监听的各选项和各端口的配置情况
Switch#show ip dhcp snooping binding//显示当前的DHCP监听绑定表
Switch#show ip dhcp snoopingdatabase //显示DHCP监听绑定数据库的相关信息
Switch#show ip dhcp snoopingstatistics//显示DHCP监听的工作统计
Switch#clear ip dhcp snoopingbinding //清除DHCP监听绑定表;注意:本命令无法对单一条目进行清除,只能清除所有条目
Switch#clear ip dhcp snoopingdatabase statistics//清空DHCP监听绑定数据库的计数器
Switch#clear ip dhcp snoopingstatistics //清空DHCP监听的工作统计计数器
ARP***与防范
ARP的风险分析:缺乏认证、信息泄露、可用性问题
***:ARP spoofing(ARP欺骗),***工具:dsniff、ettercap、cain
防范:
1) 增加三层交换机。借助于从DHCP学到的正规(ip,mac)映射,丢弃所有欺骗的ARP应答数据包
2) 主机,可以忽略免费ARP数据包
3) ***检测系统(Intrusion Detection System,IDS)。可以保持所有(ip,mac)映射的状态,并能检测是否有人企图改变现有映射
** Cisco IOS启用DAI
**Cisco IOS中高级的DAI配置
PoE以太网***与防范
PoE检测机制:
1).Cisco标准,从5类线的一对双绞线上发送一个交流电(AC)信号并检查该电流是否能够从另一对返回。
2).IEEE 802.3af。从5类线的两对双绞线上以一个直流(DC)电压,并检查是否有电流流动。
PoE风险分析:
1). 电能损耗(Power Gobbling)。未经授权的设备连接至交换机上请求大量的电能,以至于授权PES无电可用
2). 改变功率(Power Changing)
3). 烧毁(Burning)。***者欺骗交换机的供电检测机制,导致交换机向不需要通过5类线供电的末端工作站提供电能
4). 关闭(shutting down) 如果***者关闭交换机或切断电缆,PES将无法收到电源并被关闭
防范:1) 防疫偷电行为
** 设备端口为7W(7000mw)
HSRP***与防范
HSRP说明:HSRP运行在UDP之上,IPV4的端口号为1985,IPv6的端口号为2029。HSRP数据包被发送至多播地址224.0.0.2 或是224.0.0.102,TTL值被设定为1。
HSRP***:
1).DoS***,工具IRPAS软件包中的HSRP工具,命令如下:
hsrp -d 224.0.0.2 -v 192.168.0.8 -a cisco -g-i eth0 -S 192.168.0.66
2).中间人***
3).信息泄露
HSRP防范:1).强制认证,使用MD5 HMAC验证所有的HSRP消息
2).使用ACL过滤非源自附连接主机发送HSRP消息
VRRP***与防范
VRRP说明:VRRP运行在IP协议上,端口号为112.VRRP数据包被发往多播地址224.0.0.18,TTL值为225。
VRRP***:1).中间人***(MIMT),所有末端工作站将数据包发送给***者而非真正的路由器
2).DoS***
VRRP防范:1).使用强制认证,使用MD5验证VRRP消息
2).使用ACL过滤非源自附连接主机发送的VRRP欺骗
CDP***与防范
CDP说明:CDP并非运行在IP协议之上,而是直接在数据链路层上运行。
CDP***:1).软件或是系统BUG
2).辅助(Auxiliary) VLAN,***者可获悉IP电话所使用的VLAN
3).CDP缓存溢出
4).占用CDP缓存
CDP防范:1).检查系统BUG并升级
2).关闭CDP
交换机三种平面
数据平面:数据平面完成数据包转发。
控制平面:1)地址解析协议(ARP)数据包
2)Cisco 发现协议(CDP)数据包
3)VLAN Trunk协议(VTP) / 生成树协议(STP)数据包
4)路由协议信息
管理平台:管理平面负责对交换机的转发行为进行控制/配置
***交换机:
1) 大多数数据平面流量仅影响交换机的fabric和以太网控制器
2) 控制平面流量由一个以太阳网控制器传入,并经一条交换机通首进入中央CPU
3) 管制平面流量与控制平面流量所经过经历的路径相同
防范交换机***:
1) 尽量使用带外管理
2) 仅接受来自特定子网或主机的流量
3) 对所有管理流量加密(SSH和SNMP V3)
4) 使用认证、授权和计账(AAA)
5) 启用syslog / SNMP Trap消息监控所有管理平面的行为
控制平面的监管
驻留于控制平面的数据:
1) 二层处理(L2 Processing)。一台交换机必须处理和响应以下数据包STP、PVST、LACP、PAgP、802.1X、CDP、DTP、UDLD、VTP以及keepalive数据包
2) Internet管理组管理协议(IGMP)
3) Internet控制消息协议(ICMP)
4) 三层处理(L3 Processing)
5) 管理流量
保护交换机的控制平面:
1)基于硬件的CoPP(Hardware-based CoPP),针对不必要的流量,运用底层的ASIC特性将丢弃,或对其实行速率限制(rate-limit),C6509具备硬件的CoPP,使用mls rate-limit命令来改变速率限制器的值。如为了限制因TTL到期而被丢弃的每秒数据包的量;
C6509(config)#mls rate-limit all ttl-failure 10
* C6509上启动多层交换(MLS) QoS特性,就可以在中央策略特性卡(Policy Feature Card,PFC)以及支持分布式转发的线卡 上启用基本硬件的CoPP;
C6509(config)#mls qos
2)基于软件的CoPP(Software-basedCoPP,针对不必要的流量,使用中央CPU将其丢弃或对其实行速率限制
a. 关键流量等级(critical)
b. 重要流量等级(important)
c. 正常(normal)
d. 不必要流量特级
e.默认流量等级
利用交换机发现数据平面的拒绝服务***(DoS)
使用NetFlow检测DoS
利用RMON(Remote Monitoring,远程监控)保护网络
线速访问控制列表保护网络
过滤Bogons网段 ,bogon网段不会出现在Internet上. 包括下列地址:
1)RFC 1918定义的私有地址
2)Loopback 口地址(127.0.0.0/8).
3)IANA 保留的地址.
4)多播地址(224.0.0.0/4).
5)学术研究用地址 (240.0.0.0/4).
6)DHCP 本地私有地址 (169.254.0.0/16). This is what your PC uses if it cannot find aDHCP server from which to acquire its addressing information.
这些地址不在互联网上的路由表中出现,***经常使用这些地址用来发起DOS***,或是IP欺骗等,可以使用下面的方法来堵塞这些地址:
1)ACL filtering
2)BGP prefix filtering
3)Black hole routing
4)Route policy filtering with route maps
在Internet的进口处启用ACL过滤Bogons
Router(config)# ipaccess-list extended ingress-filter
Router(config-ext-nacl)#remark Unassigned IANA addresses //IANA未分配的地址
Router(config-ext-nacl)#deny ip 1.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 2.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 5.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 7.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 23.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 27.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 31.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 36.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 37.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 39.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 41.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 42.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 49.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 50.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 58.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 59.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 60.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 70.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 71.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 72.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 73.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 74.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 75.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 76.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 77.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 78.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 79.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 83.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 84.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 85.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 86.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 87.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 88.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 89.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 90.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 91.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 92.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 93.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 94.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 95.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 96.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 97.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 98.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 99.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 100.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 101.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 102.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 103.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 104.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 105.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 106.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 107.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 108.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 109.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 110.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 111.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 112.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 113.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 114.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 115.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 116.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 117.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 118.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 119.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 120.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 121.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 122.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 123.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 124.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 125.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 126.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 197.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 201.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#remark RFC 1918 private addresses //RFC1918定义的私有地址
Router(config-ext-nacl)#deny ip 10.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 172.16.0.0 0.15.255.255 any
Router(config-ext-nacl)#deny ip 192.168.0.0 0.0.255.255 any
Router(config-ext-nacl)#remark Other bogons //其他bogons地址
Router(config-ext-nacl)#deny ip 224.0.0.0 15.255.255.255 any //组播地址
Router(config-ext-nacl)#deny ip 240.0.0.0 15.255.255.255 any //学术研究地址
Router(config-ext-nacl)#deny ip 0.0.0.0 0.255.255.255 any
Router(config-ext-nacl)#deny ip 169.254.0.0 0.0.255.255 any //DHCP 本地私有地址
Router(config-ext-nacl)#deny ip 192.0.2.0 0.0.0.255 any //测试地址
Router(config-ext-nacl)#deny ip 127.0.0.0 0.255.255.255 any //回环口地址
Router(config-ext-nacl)#remark Internal networks //内部网段的地址
Router(config-ext-nacl)#deny ip 200.1.1.0 0.0.0.255 any //内部服务器网段的地址
Router(config-ext-nacl)#remark Allow Internet to specific services
Router(config-ext-nacl)#remark permit
Router(config-ext-nacl)#deny ip any any
Router(config-ext-nacl)#exit
Router(config)#interface ethernet1
Router(config-if)# ipaccess-group ingress-filter in 在WAN口的IN方向上应用