如何通过 Cisco ACL 将对内部 Web 服务器的外部访问列入白名单?

如何通过 Cisco ACL 将对内部 Web 服务器的外部访问列入白名单?

这是我们公司的互联网网关路由器。我想在 Cisco 2691 路由器上实现以下功能:

  • 所有员工都需要能够不受限制地访问互联网(我已经使用 ACL 阻止了 Facebook,但除此之外,还有完全访问权限)
  • 有一个内部 Web 服务器,应该可以从任何内部 IP 地址访问,但只能从少数几个外部 IP 地址访问。基本上,我想将来自网络外部的访问列入白名单。
  • 我没有硬件防火墙设备。

到目前为止,Web 服务器还不需要外部访问……或者在任何情况下,偶尔使用 VPN 即可满足需要。因此,以下配置已足够:

access-list 106 deny   ip 66.220.144.0 0.0.7.255 any
access-list 106 deny   ip ... (so on for the Facebook blocking)
access-list 106 permit ip any any
!
interface FastEthernet0/0
 ip address x.x.x.x 255.255.255.248
 ip access-group 106 in
 ip nat outside

fa0/0是具有公共 IP 的接口

然而,当我添加...

ip nat inside source static tcp 192.168.0.52 80 x.x.x.x 80 extendable

...为了将网络流量转发到网络服务器,这完全打开了网络服务器。这对我来说很有道理。但这正是我感到困惑的地方。如果我在 ACL 中添加一行以明确允许(白名单)某个 IP 范围……如下所示:

access-list 106 permit tcp x.x.x.x 0.0.255.255 192.168.0.52 0.0.0.0 eq 80

... 那么我该如何阻止其他外部访问网络服务器,同时仍保持内部员工不受限制的互联网访问?

我尝试移除access-list 106 permit ip any any。结果却是非常短暂的配置:)

类似access-list 106 permit ip 192.168.0.0 0.0.0.255 any“由外而内”的做法可行吗?

答案1

我认为您的外部访问列表应根据 NAT 操作顺序指南引用 192.168.0.52 的全局内部地址 (xxxx) (http://www.cisco.com/en/US/tech/tk648/tk361/technologies_tech_note09186a0080133ddd.shtml

因此,以下配置将阻止 facebook,允许来自允许子网 yyyy 的 TCP 访问 xxxx,拒绝发往 xxxx 端口 80 的所有其他请求,然后允许其他所有请求。

access-list 106 deny   ip 66.220.144.0 0.0.7.255 any
access-list 106 deny   ip ... (so on for the Facebook blocking)
!Where y.y.y.y equals an 'allowed' subnet to hit the webserver, and x.x.x.x equals your outside IP address
access-list 106 permit tcp y.y.y.y 0.0.255.255 host x.x.x.x eq 80
access-list 106 deny tcp any x.x.x.x eq 80
access-list 106 permit ip any any
!
interface FastEthernet0/0
 ip address x.x.x.x 255.255.255.248
 ip access-group 106 in
 ip nat outside

相关内容