DMZ 到外部的访问列表

DMZ 到外部的访问列表

我正在学习防火墙和访问列表,并试图决定我应该在 DMZ 上使用哪种访问列表,特别是关于出站流量。有些出站流量我不想允许 - 显然,SMTP 应该只允许来自邮件服务器等等。但是,我听说如果太严格,出站过滤通常会导致问题,因为可以请求很多合法资源,而且很难知道所有资源。

我的问题是,一旦我有一个 ACL,允许仅从邮件服务器发送 SMTP 等内容,我应该在 ACL 末尾放置哪些规则才能不破坏所有内容?说

access-list tcp permit any any
access-list udp permit any any
access-list ip permit any any

似乎有点不安全。我可以安全关闭哪些端口?或者许可证几乎是我唯一的选择?

谢谢!

答案1

您可以在 cisco ACL 中使用gtlt,因此您可能需要类似于倒数第二行的内容:

access-list foo permit tcp 192.168.1.0/24 gt 1024 any
access-list foo permit udp 192.168.1.0/24 gt 1024 any

其中 192.168.1.0/24 是您的内部网络,您希望允许来自非特权端口的流量。最后一行是拒绝任何流量。

根据操作系统的不同,你可能需要更改 1024 以匹配临时端口范围适用于那些操作系统。

(语法可能不正确,因为我已经有一段时间没有使用过 Cisco ACL 了)

话虽如此,我并不认为对出站流量设置默认允许 ACL 是一件可怕的事情——它可能导致的故障排除可能不值得增加安全性。

答案2

如果你想将路由器用作防火墙,我强烈建议你放弃“常规”ACL,并根据你的 IOS 版本进行配置,中央空调(基于上下文的访问控制)或锌锌合金(基于区域的策略防火墙)。如果您有最新版本的 IOS(以及“启用安全的图像”或以前称为“K9”的图像),我强烈建议您查看 ZBF。

常规 ACL 是无国籍者。我的意思是,您可能会遇到问题,因为根据出站流量的协议,路由器无法知道必须为返回流量打开哪种端口。FTP 就是典型的例子。

您可能知道,FTP 客户端会与服务器协商它们将用于在 FTP 的“控制通道”内进行数据传输的 TCP 端口。如果路由器/防火墙不检查此流量,则无法知道要打开哪个端口以允许数据传输,并且可能会出现问题。有许多协议属于此类别(语音和视频协议就是很好的例子)

有了 CBAC,或者更好的是,有了 ZBF,这种情况就不会发生。它们是有状态的。我的意思是,路由器能够检查流量(并且可能发现正在协商的 udp/tcp 端口),因此路由器“知道”要打开哪些端口,允许谁与谁进行通信,甚至从安全角度来看更重要的是,何时动态关闭它们。

相关内容