博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
穿越ASA进行traceroute或tracert测试
阅读量:7221 次
发布时间:2019-06-29

本文共 2184 字,大约阅读时间需要 7 分钟。

一.概述:

   默认情况下,ASA不会回应TTL Exceeded的包,因此traceroute/tracert看不到ASA设备;另外,由于防火墙策略限制,traceroute/tracert也无法穿越防火墙。

二.基本思路:

   根据traceroute/tracert不同处理方式,确定为什么无法穿越防火墙,从而放开相应的防火墙策略:

A.Windows主机:

   Windows主机tracert命令,发出icmp request包,从TTL=1开始,逐跳TTL加1,每跳发送三个包,中间设备回复ICMP type 11 Code 0 的TTL超时的ICMP包,目的设备回复icmp reply的包。
----如果开启icmp审查,虽然内网发出的icmp reply的包可以正常返回,但是TTL超时的ICMP包不能正常返回,需要策略放行。  

B.Linux、网络设备:

   Linux、网络设备traceroute命令,发出UDP包,第一个包目的端口为33434,从TTL=1开始,每个TTL会发三个包,逐跳TTL加1,UDP目的端口每个包会加1,中间设备回复ICMP type 11的TTL超时的ICMP包,目的设备回复ICMP type 3 Code 3的端口不可达的ICMP包 。

----Linux、网络设备traceroute默认支持30跳,每跳发三个UDP包,所以UDP目的端口为33434~33434+30*3-1,即33434~33523

----如果从防火墙的高安全区到低安全区进行traceroute,则需要放行TTL超时的ICMP包和端口不可达的ICMP包 

----如果从防火墙的低安全区到高安全区进行traceroute,则只需要放行起始的UDP包,目标端口从33434~33523

三.防火墙策略设置:

A.从高安全区到低安全区

---比如从Inside到Outside

①ASA设备回复TTL超时
class-map ALL_IP
match any 
policy-map global_policy
class ALL_IP
set connection decrement-ttl

②全局开启ICMP审查

policy-map global_policy
class inspection_default

 inspect icmp 
 inspect icmp error   //*这个还不明白到底是什么作用,针对什么情况

③防火墙策略:

access-list outside_access_in remark ICMP type 11 for Windows Traceroute
access-list outside_access_in extended permit icmp any any time-exceeded
access-list outside_access_in remark ICMP type 3 for Cisco and Linux
access-list outside_access_in extended permit icmp any any unreachable
access-group outside_access_in in interface outside

④调整icmp unreachable的速率

ciscoasa(config)#icmp unreachable rate-limit 10 burst-size 5 !--- Adjust ICMP unreachable replies: !--- The default is rate-limit 1 burst-size 1. !--- The default will result in timeouts for the ASA hop:

----比如从outside到inside(如果为互联网边界防火墙,不建议配置)

①ASA设备回复TTL超时

同上。

②放行初始流量

1.对于windows主机放行icmp echo流量

access-list outside_access_in permit icmp any any echo

----ACL中icmp echo包,等同于icmp echo request包

2.对于linux和网络设备放行udp流量

access-list outside_access_in remark Tracert from outside

access-list outside_access_in permit udp any any range 33434 33523

access-group outside_access_in in interface outside

----因为放行了icmp echo和udp33434~33523,无法避免outside区域设备利用它们对inside区域的设备进行DOS或DDOS攻击,因此如果是互联网边界防火墙没有必要进行开放;如果为公司内部不同安全区之间的防火墙,可根据需要确定是否放行。

本文转自 碧云天 51CTO博客,原文链接:http://blog.51cto.com/333234/1221671,如需转载请自行联系原作者

你可能感兴趣的文章
Scala学习笔记-12
查看>>
eq与gt的妙用
查看>>
哈哈哈
查看>>
projectEuler pro10
查看>>
聚焦“云开发圆桌论坛”,大前端Serverless大佬们释放了这些讯号!
查看>>
数学模板
查看>>
c#中英文混合字符串截取指定长度
查看>>
.NetCore应用多个target framework
查看>>
pdfminer获取整页文本
查看>>
windows服务器多端口Redis安装步骤
查看>>
第二次作业心得
查看>>
爬虫——请求库之requests
查看>>
android子线程更新UI,与主Thread一起工作
查看>>
50行实现简易HTTP服务器
查看>>
细讲递归(recursion)
查看>>
进程和进程间通信
查看>>
微处理器的两种结构比较
查看>>
ORACLE EXPIRED(GRACE)
查看>>
Markdown应用样例
查看>>
多文本框的值得存放和赋值
查看>>