我正在按以下方式集成 Cisco ASA 5505 防火墙:
内部 IP 范围(VLAN-AWTP):192.168.127.xxx(工业设备)
DMZ IP 范围(VLAN-OPC):192.168.77.xxx(仅具有访问工业网络设备的 OPC Server PC)
外部 IP 范围(VLAN-MWTP):192.168.50.xxx(OPC 客户端)
防火墙的目的是授予 VLAN-MWTP 访问 VLAN-OPC 上的 PC 的权限(完全访问是可以的),并且为 OPC 服务器提供对工业设备的有限访问(单个 TCP 端口)。这涉及到 NATing 等,我认为我已经实现好了。
这是我目前的状况和我的问题:
VLAN-OPC能访问VLAN-AWTP成功(可以访问工业设备上的TCP端口)。
-VLAN-MWTP 上的一台 PC能使用 NATed 192.168.50.32(转换为 192.168.77.4)ping 和 rdp 到 VLAN-OPC 服务器 PC,但似乎它无法浏览或连接到 OPC 服务器。我收到错误“RPC 服务器不可用”
-我已将其归结为防火墙问题,而不是 Windows DCOM,因为这是 OPC 连接的常见问题(已经遇到过这种问题!)我通过将 OPC PC 的 IP 设置为与 MWTP-VLAN 相同的子网并绕过防火墙进行了测试。连接正常。
-我尝试了几种不同的方法,例如按照一些论坛的指示启用 DCERPC 检查,但仍然没有成功,但到了这个时候,我感觉力不从心,所以我很可能做错了什么。您可能已经看到我的检查政策从哪里开始变得马虎了。
-基本上,我对从 VLAN-MWTP 到 VLAN-OPC 的完全访问(包括 RPC、DCOM 等)感到满意。我没想到这会这么难??
配置如下:
ASA Version 8.2(5)
!
hostname AAA-AAAAA
enable password HxFQQ4ozRZkZGyAK encrypted
passwd HxFQQ4ozRZkZGyAK encrypted
names
!
interface Ethernet0/0
switchport access vlan 100
!
interface Ethernet0/1
switchport access vlan 200
!
interface Ethernet0/2
switchport access vlan 300
!
interface Ethernet0/3
shutdown
!
interface Ethernet0/4
shutdown
!
interface Ethernet0/5
shutdown
!
interface Ethernet0/6
shutdown
!
interface Ethernet0/7
shutdown
!
interface Vlan100
no forward interface Vlan300
nameif VLAN-AWTP
security-level 100
ip address 192.168.127.4 255.255.255.0
!
interface Vlan200
nameif VLAN-OPC
security-level 0
ip address 192.168.77.1 255.255.255.0
!
interface Vlan300
nameif VLAN-MWTP
security-level 0
ip address 192.168.50.245 255.255.255.0
!
ftp mode passive
same-security-traffic permit inter-interface
same-security-traffic permit intra-interface
object-group network opc-chw-ip
access-list opc-access-in extended permit tcp host 192.168.77.4 host 192.168.77.50 eq 44818
access-list vws-access-out extended permit tcp host 192.168.77.4 host 192.168.127.50 eq 44818
pager lines 24
mtu VLAN-AWTP 1500
mtu VLAN-OPC 1500
mtu VLAN-MWTP 1500
icmp unreachable rate-limit 1 burst-size 1
no asdm history enable
arp timeout 14400
static (VLAN-AWTP,VLAN-OPC) 192.168.77.50 192.168.127.50 netmask 255.255.255.255
static (VLAN-OPC,VLAN-MWTP) 192.168.50.32 192.168.77.4 netmask 255.255.255.255
access-group vws-access-out out interface VLAN-AWTP
access-group opc-access-in in interface VLAN-OPC
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute
timeout tcp-proxy-reassembly 0:01:00
timeout floating-conn 0:00:00
dynamic-access-policy-record DfltAccessPolicy
aaa authentication telnet console LOCAL
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
crypto ipsec security-association lifetime seconds 28800
crypto ipsec security-association lifetime kilobytes 4608000
telnet timeout 5
ssh 192.168.127.0 255.255.255.0 VLAN-AWTP
ssh timeout 60
console timeout 0
threat-detection basic-threat
threat-detection statistics access-list
no threat-detection statistics tcp-intercept
username aaaaaaaa password Tpz8OQBnrHIDp010 encrypted privilege 15
!
class-map icmp-class
match default-inspection-traffic
class-map inspection-default
class-map CM-DCERPC
match port tcp eq 135
class-map inspection_default
match default-inspection-traffic
!
!
policy-map type inspect dns preset_dns_map
parameters
message-length maximum client auto
message-length maximum 512
policy-map icmp_policy
class icmp-class
inspect icmp
policy-map global_policy
class inspection_default
inspect dns preset_dns_map
inspect ftp
inspect h323 h225
inspect h323 ras
inspect ip-options
inspect netbios
inspect rsh
inspect rtsp
inspect skinny
inspect esmtp
inspect sqlnet
inspect sunrpc
inspect tftp
inspect sip
inspect xdmcp
inspect icmp
inspect dcerpc
class CM-DCERPC
inspect dcerpc
policy-map PM-DCERPC
class CM-DCERPC
inspect dcerpc
!
service-policy global_policy global
service-policy icmp_policy interface VLAN-AWTP
service-policy PM-DCERPC interface VLAN-OPC
service-policy PM-DCERPC interface VLAN-MWTP
prompt hostname context
no call-home reporting anonymous
call-home
profile CiscoTAC-1
no active
destination address http https://tools.cisco.com/its/service/oddce/services/DDCEService
destination address email [email protected]
destination transport-method http
subscribe-to-alert-group diagnostic
subscribe-to-alert-group environment
subscribe-to-alert-group inventory periodic monthly
subscribe-to-alert-group configuration periodic monthly
subscribe-to-alert-group telemetry periodic daily
Cryptochecksum:f545ff56444cbffecda9d652f2261e2d
: end
我尝试连接的 OPC PC 具有静态 IP 192.168.77.4/24,网关为 192.168.77.1(此防火墙)。
任何帮助都将不胜感激!
答案1
您忘记了正在使用的许可证,但考虑到“无前向接口 Vlan300”,我假设是“基本”许可证。
无论如何,为什么会有这些言论?
相同安全流量允许接口内 ... 访问列表 opc-access-in 扩展允许 tcp 主机 192.168.77.4 主机 192.168.77.50 eq 44818 ... 接口 VLAN-OPC 中的访问组 opc-access-in
似乎他们试图过滤同一子网上主机之间的流量,但这种流量不应该穿过防火墙,对吧?192.168.77.50 是谁?我唯一能想到的是,你正试图将工业设备映射到 OPC 网络的 IP...通过执行“静态 (VLAN-AWTP,VLAN-OPC) 192.168.77.50 192.168.127.50 网络掩码 255.255.255.255”并应用接口内等。
此外,两个功能齐全的接口具有相同的安全级别(0),而且应用于特定接口的服务策略对我来说没有多大意义。
请不要误会,我只是想了解整体情况。
我能想到的可能的解决方案是:
由于 RPC 有不同的变体,并且 RPC 使用端点映射器 (EPM) 为在端口 135 上启动请求的客户端生成新连接(类似于主动 FTP 行为),因此一个可能的问题可能与 ASA 版本 <9.4 的某些 RPC 变体/消息的支持有限有关(http://www.cisco.com/c/en/us/td/docs/security/asa/asa94/release/notes/asarn94.html- “DCERPC 检查支持 ISystemMapper UUID 消息 RemoteGetClassObject opnum3”);根据您软件使用的调用(例如,如果使用非 EPM 调用),可能需要升级(请记住配置语句的更改,特别是从 8.3 开始)。
鉴于您告诉我们 ping 和 RDP 可以工作,但 RPC 不能,重新设计完整配置可能不是一个很好的解决方案,但我会尝试编写一个可能适合的更简单的配置,假设:
- 您不需要在使用私有 IP 寻址的内部网络之间进行 NAT(nat-control 似乎确实被禁用了)。
- 您不需要接口内通信。
ASA 版本 8.2(5) ! 主机名 AAA-AAAAA 启用密码 HxFQQ4ozRZkZGyAK 加密 密码 HxFQQ4ozRZkZGyAK 加密 名称 ! 接口以太网0/0 交换机端口无协商 交换机端口模式访问 交换机端口访问 VLAN 100 ! 接口Ethernet0/1 交换机端口无协商 交换机端口模式访问 交换机端口访问 VLAN 200 ! 接口Ethernet0/2 交换机端口无协商 交换机端口模式访问 交换机端口访问 VLAN 300 ! 接口Ethernet0/3 关闭 ! 接口Ethernet0/4 关闭 ! 接口Ethernet0/5 关闭 ! 接口Ethernet0/6 关闭 ! 接口以太网0/7 关闭 ! 接口 Vlan100 无转发接口 Vlan300 nameif VLAN-AWTP 安全级别 100 IP地址 192.168.127.4 255.255.255.0 ! 接口 Vlan200 nameif VLAN-OPC 安全级别 20 IP地址 192.168.77.1 255.255.255.0 ! 接口Vlan300 nameif VLAN-MWTP 安全级别 90 IP地址 192.168.50.245 255.255.255.0 ! ftp 模式被动 访问列表 vws-access-out 扩展允许 tcp 主机 192.168.77.4 主机 192.168.127.50 eq 44818 传呼机线路 24 icmp 不可达速率限制 1 突发大小 1 没有启用 asdm 历史记录 arp 超时 3600 访问组 vws-access-out 出接口 VLAN-AWTP 超时 xlate 3:00:00 超时连接 1:00:00 半封闭 0:10:00 udp 0:02:00 icmp 0:00:02 超时 sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00 超时 sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00 超时 sip-provisional-media 0:02:00 uauth 0:05:00 绝对 超时 tcp-代理重组 0:01:00 浮动连接超时 0:00:00 动态访问策略记录 DfltAccessPolicy aaa 身份验证 ssh 控制台本地 没有 snmp 服务器位置 没有 snmp 服务器联系 snmp-server 启用陷阱 snmp 身份验证 linkup linkdown coldstart 加密 ipsec 安全关联生存期秒 28800 加密 ipsec 安全关联生存期千字节 4608000 telnet 超时 5 ssh 192.168.127.0 255.255.255.0 VLAN-AWTP ssh 超时 60 控制台超时 0 威胁检测 基本威胁 威胁检测统计访问列表 没有威胁检测统计 tcp 拦截 用户名 aaaaaaaa 密码 Tpz8OQBnrHIDp010 加密权限 15 ! 类映射检查默认 匹配默认检查流量 ! ! 策略映射类型检查 DNS preset_dns_map 参数 消息长度最大客户端自动 消息长度最大为 512 策略图 global_policy 检查类_默认 检查 DNS preset_dns_map 检查 ftp 检查 h323 h225 检查 h323 ras 检查 ip 选项 检查 netbios 检查 rsh 检查 rtsp 检查瘦 检查 esmtp 检查 sqlnet 检查 sunrpc 检查 tftp 检查 SIP 检查 xdmcp 检查 icmp 检查 dcerpc ! 服务策略 global_policy 全局 提示主机名上下文 无需回电报告 匿名 回电 简介 CiscoTAC-1 无活动 目标地址 http https://tools.cisco.com/its/service/oddce/services/DDCEService 目标地址电子邮件[电子邮件保护] 目标传输方法 http 订阅警报组诊断 订阅警报组环境 订阅警报组库存定期每月 订阅警报组配置定期每月 订阅警报组遥测定期每日 加密校验和:f545ff56444cbffecda9d652f2261e2d : 结尾
当然,我不能保证它在您的环境下能起作用,但是“debug dcerpc ?”和“packet tracer ?”命令对于捕捉您实时设备上的错误很有用。