TCP 规范化技术
- 确保流量遵循TCP协议,阻止逃避攻击
- 默认情况下,只允许最小TCP特性
- 执行TCP初始化序列号扰乱功能以保护内部主机
- 为上层监控提供对字节流的重组装
- ASA需要对应用层进行监控
- 将TCP会话缓存起来,进行排序,针对TCP数据里的关键字进行正则表达式过滤
- ASA需要对应用层进行监控
TCP 规范化丢包检查
- show asp drop
- caputre type asp 显示每个被丢弃的数据包以及详细的原因代码
- show service-policy 显示与特定检查匹配的数据包数量等等
TCP 序列号猜测攻击
解决方案
TCP 状态化旁路
- 使用MPF技术来归类特定流量
- 指定该特定流量只查询ACL是否放行,不在查询状态化信息
- 同时关闭以下安全机制
- AIC
- AIP-SSM
- SSC-SSM
- cut-through
- proxy
- TCP规范化处理
- AIC
- 确保旁路流量是安全可信的
ciscoasa(config)# access-list vpn extended permit tcp any any
ciscoasa(config)# class-map C1
ciscoasa(config-cmap)# match access-list vpn
ciscoasa(config-cmap)# exit
ciscoasa(config)# show run policy-map
ciscoasa(config)# policy-map global_policy
ciscoasa(config-pmap)# class inspection_default
ciscoasa(config-pmap-c)# exit
ciscoasa(config-pmap)# class
ciscoasa(config-pmap)# class C1
ciscoasa(config-pmap-c)# set connection advanced-options tcp-state-bypass
ASA 序列号扰乱功能对BGP的影响
- BGP 开启密钥认证后会对以下信息一起做哈希
- BGP条目
- TCP头部
- 其中包含序列号
- 其中包含序列号
- TCP伪头部
- BGP密钥
- BGP条目
- ASA扰乱序列号以后会导致哈希值不匹配
R2#show run | s bgp
router bgp 1
bgp log-neighbor-changes
neighbor 172.16.1.1 remote-as 1
neighbor 172.16.1.1 password cisco
neighbor 172.16.1.1 update-source Ethernet0/0
R1#show run | s bgp
router bgp 1
bgp log-neighbor-changes
neighbor 172.16.2.1 remote-as 1
neighbor 172.16.2.1 password cisco
neighbor 172.16.2.1 update-source Ethernet0/0
R2#
*Dec 25 06:40:38.444: %TCP-6-BADAUTH: Invalid MD5 digest from 172.16.1.1(56910) to 172.16.2.1(179) tableid - 0
R2#
*Dec 25 06:40:40.449: %TCP-6-BADAUTH: Invalid MD5 digest from 172.16.1.1(56910) to 172.16.2.1(179) tableid - 0
R2#
解决方案
ASAv(config)# class-map bgp
ASAv(config-cmap)# match port tcp eq bgp
ASAv(config-cmap)# policy-map global_policy
ASAv(config-pmap)# class bgp
ASAv(config-pmap-c)# set connection random-sequence-number disable
*Dec 25 06:46:47.935: %TCP-6-BADAUTH: Invalid MD5 digest from 172.16.1.1(53948) to 172.16.2.1(179) tableid - 0
R2#
*Dec 25 06:47:14.168: %BGP-5-ADJCHANGE: neighbor 172.16.1.1 Up
ASA 序列号扰乱功能对异步路由影响
- 如果在异步路由中一部分流量经过安全设备,而一部分流量没有经过安全设备,则会导致数据包序列号在数据收发双方不可用!