从较低安全级别到较高安全级别的 ASA 跟踪路由

网络工程 思科 思科 防火墙 安全
2021-07-11 15:18:11

在以下场景中,安全级别50(dmz-1) 到安全级别75(dmz-2) 跟踪路由不起作用。我认为 traceroute 使用特定端口来实现无法访问的功能,但在以下场景中,我不知道它将选择哪个 udp 端口​​。

在此处输入图片说明

我有以下配置

access-list DMZ-1-IN extended permit icmp any any unreachable
access-list DMZ-1-IN extended permit icmp any any time-exceeded
access-list DMZ-1-IN extended permit icmp any any traceroute
!
access-group DMZ-1-IN in interface dmz-1
!
class class-default
  set connection decrement-ttl

更新:

这是日志

Oct 20 2017 09:47:04: %ASA-4-106023: Deny udp src dmz-1:10.5.8.40/48236 dst dmz-1:10.5.16.40/33434 by access-group "DMZ-1-IN" [0x0, 0x0]
Oct 20 2017 09:47:04: %ASA-4-106023: Deny udp src dmz-2:10.5.8.40/53052 dst dmz-2:10.5.16.40/33435 by access-group "DMZ-1-IN" [0x0, 0x0]
2个回答

是的,您需要更新您的 ACL 以允许更多 UDP 端口覆盖来自类 Unix 操作系统的 traceroute 数据包。

根据Traceroute维基百科页面:

  • 在类 Unix 操作系统上,traceroute 发送(默认情况下)目标端口范围为 33434 - 33534 的 UDP 数据包序列。
  • 在 Windows 操作系统上,traceroute 发送 ICMP 回显请求而不是 UDP 数据包。这就是为什么当您从 Windows 主机跟踪路由时,您不会遇到这个问题。

因此,当从 Linux/Unix 等主机和服务器进行跟踪路由时,您需要使用以下规则更新 ACL 以允许目标 UDP 端口:

access-list DMZ-1-IN extended permit udp any any range 33434 33534

我希望它对您有所帮助并回答您的问题。

更新:

两个要求是:

  • 从内部 -> 外部检查 ICMP
  • 允许来自外部的 ICMP 超时入站

    access-list OUTSIDE_IN 备注* ALLOW ICMP BASED TRACEROUTE * access-list OUTSIDE_IN 扩展允许 icmp 任何时间超过

    接口外的访问组 OUTSIDE_IN

    class-map inside-inspection 匹配 default-inspection-traffic

    策略映射内部策略类内部检查检查 icmp

    service-policy inside-policy 接口 里面


以下示例允许主机 172.16.2.15 或子网 172.22.1.0/16 上的主机在外部接口接收回显回复消息:

 hostname(config)# icmp permit host 172.16.2.15 echo outside 
 hostname(config)# icmp permit 172.22.1.0 255.255.0.0 echo outside 
 hostname(config)# icmp permit any unreachable outside

这是来自https://www.cisco.com/c/en/us/td/docs/security/asa/asa82/command/reference/cmd_ref/i1.html#wp1697623的示例