无法从无线子网访问 Exchange OWA - 防火墙规则?

无法从无线子网访问 Exchange OWA - 防火墙规则?

问题

问题是我无法访问 Exchange 服务器上的端口 80(或 443),除非我添加一条综合规则以允许从客户端到服务器子网的所有流量。

如果我添加一条规则,专门允许从客户端到 Exchange 服务器的端口 80 流量,则我无法连接,如 telnet 会话所示。

如果我启用规则以允许所有流量Exchange 服务器从客户端,我仍然无法连接。如果我启用从客户端到 Exchange 服务器的所有流量子网,这样我才能连接到 Exchange 服务器上的 80 端口。

谜题

这根本说不通。当我使用 ProcessMonitor 查看网络流量时,我只看到 http 和 https 流量。当我在使一切正常运行的防火墙规则上记录活动时,我仍然只看到 http 和 https 流量。即使添加规则以允许所有流量到 Exchange 服务器、DNS 服务器和其他服务器,我也无法连接。

为什么到特定服务器的简单 TCP 端口 80 连接会依赖于通过防火墙的其他类型的连接?为什么这不会记录在似乎使一切正常运行的规则中?显然,我不希望无线客户端拥有对专用 LAN 的完全访问权限,但我不知道需要打开哪些漏洞才能访问 OWA。(或者甚至是 Exchange 服务器上的简单端口 80。)

解决方法

在进一步的反复试验中,我发现如果通过公共 IP 访问 OWA,我可以让 OWA 正常工作。(在我们的防火墙上映射到私有 IP)这对于 OWA 有效,但我们在其他方面仍然存在问题,例如管理员电子邮件警报的传递。我认为如果我能解决上述问题,我就可以解决这些额外的问题。

细节

我们使用的是 Exchange 2007,在 Active Directory 网络中的 Server 2008 上运行。防火墙是 Juniper SSG5。无线网络使用防火墙接口进行分段,并在与 LAN 不同的子网上运行。我们对无线网络使用 Untangle 系统,配置为网关模式(无 NAT)。静态路由允许流量通过 Untangle 网关从 LAN 流向无线子网。

“使事情正常运作”的规则是防火墙规则,允许所有来自无线客户端(通过 IP)的流量到 LAN 子网。不起作用的是仅允许从客户端到 Exchange 服务器 IP 的端口 80。

ScreenOS 配置

以下是路由器配置的相关部分...

set zone "Trust" vrouter "trust-vr"
set zone "Untrust" vrouter "untrust-vr"
set zone "DMZ" vrouter "untrust-vr"
set zone "VLAN" vrouter "trust-vr"
set zone id 103 "Wireless"
set zone "Wireless" vrouter "untrust-vr"

set interface "ethernet0/0" zone "Trust"
set interface "ethernet0/1" zone "Wireless"

set interface ethernet0/0 ip 192.168.254.1/24
set interface ethernet0/0 nat
set interface ethernet0/1 ip 10.11.1.1/24
set interface ethernet0/1 nat

set interface "ethernet0/4" mip 50.249.213.37 host 192.168.254.213 netmask 255.255.255.255 vr "trust-vr"

set policy id 33 name "Wireless Internet" from "Wireless" to "Untrust"  "Any" "Any" "ANY" permit 
set policy id 33
exit
set policy id 65 name "Wireless DNS" from "Wireless" to "Trust"  "Any" "obcontrol02" "DNS" permit log 
set policy id 65
exit
set policy id 66 name "Anti-virus updates" from "Wireless" to "Trust"  "Any" "obwinapp07" "Nod32 Anti-virus Update" permit log 
set policy id 66
exit
set policy id 67 name "hqitdept" from "Wireless" to "Trust"  "Any" "Mailserver" "HTTPS" permit log 
set policy id 67
set dst-address "tsapp01"
exit
set policy id 68 name "hqitdept" from "Wireless" to "Trust"  "Any" "Internal Web - ati.iblp.org" "HTTP" permit 
set policy id 68
set dst-address "Internal Web - iblp.org.au"
set dst-address "Internal Web - tw.iblp.org"
set dst-address "Mailserver"
exit

set vrouter "untrust-vr"
set route 0.0.0.0/0 interface ethernet0/4 gateway 50.249.213.46 preference 10 permanent description "comcast"
set route 10.10.0.0/16 interface ethernet0/1 gateway 10.11.1.2
set route 192.168.254.0/24 vrouter "trust-vr" preference 20 metric 1
exit
set vrouter "trust-vr"
set source-routing enable
unset add-default-route
set route source 0.0.0.0/0 vrouter "untrust-vr" preference 20 metric 1
exit

只有添加以下规则后,我才能连接到端口 80 上的 Exchange 服务器。

set policy id 69 name "Blanket Rule" from "Wireless" to "Trust"  "10.10.94.187/32" "192.168.254.0/24" "ANY" permit log 
set policy id 69
exit

其他规则(如 LAN 的 DNS 查找、另一台服务器的 SSL 以及防病毒更新)都运行良好。只有 Exchange 服务器无法连接,除非打开整个子网。

解开配置

在此处输入图片描述

在以下屏幕中,您可以看到(当前已禁用的)静态 DNS 条目,用于强制 mail.iblp.org 解析为外部映射 IP。(这是上面描述的解决方法。)域条目允许无线客户端在我们的分区 DNS 上解析本地网站的内部主机名。

在此处输入图片描述

ScreenOS 调试输出

****** 3449299.0: <Wireless/ethernet0/1> packet received [60]******
  ipid = 28817(7091), @03be38d0
  packet passed sanity check.
  flow_decap_vector IPv4 process
  ethernet0/1:10.10.94.187/49659->192.168.254.213/80,6<Root>
  no session found
  flow_first_sanity_check: in <ethernet0/1>, out <N/A>
  chose interface ethernet0/1 as incoming nat if.
  flow_first_routing: in <ethernet0/1>, out <N/A>
  search route to (ethernet0/1, 10.10.94.187->192.168.254.213) in vr untrust-vr
for vsd-0/flag-0/ifp-null
  cached route 1 for 192.168.254.213
  [ Dest] 1.route 192.168.254.213->192.168.254.213, to ethernet0/0
  routed (x_dst_ip 192.168.254.213) from ethernet0/1 (ethernet0/1 in 0) to ether
net0/0
  policy search from zone 103-> zone 2
 policy_flow_search  policy search nat_crt from zone 103-> zone 2
  RPC Mapping Table search returned 0 matched service(s) for (vsys Root, ip 192.
168.254.213, port 80, proto 6)
  No SW RPC rule match, search HW rule
swrs_search_ip: policy matched id/idx/action = 320000/-1/0x0
  Searching global policy.
swrs_search_ip: policy matched id/idx/action = 320000/-1/0x0
policy id (320000)
  packet dropped, denied by policy
Policy id deny policy, ipv6 0, flow_potential_violation 0

在此先感谢您对此提供的任何见解...:-)如果有其他具体信息有助于理解问题,请告诉我。

答案1

根据您的调试输出在此处输入图片描述

您的源 IP 是 10.10.94.187

但是您的 eth0/1 是 10.11/24,因此该策略没有区域匹配。

您需要调整 eth0/1 vlan 以正确适应该区域。

答案2

经过几个小时的故障排除,我终于找到了罪魁祸首。我的邮件服务器的 IP 地址中有一个数字被调换了。(在 ScreenOS 地址列表中)我的防火墙规则使用的是命名地址条目,因此这解释了为什么即使规则正确,它们也无法正常工作。

在此处输入图片描述

有点尴尬,但我确实想发布解决方案,以防其他人遇到类似的问题。非常感谢(+1)@TheCleaner 提供的有关调试流量流的提示!我相信这以后会派上用场。

答案3

您是否为服务器的网卡分配了多个 IP 地址?如果是这样,并且客户端访问地址 1,而服务器响应地址 2/3/等等。那么一个地址的防火墙规则可以/将阻止流量从服务器返回到客户端。

相关内容