DMZ到外部访问列表

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

我的问题是,一旦我有一个ACL只允许来自邮件服务器的SMTP之类的东西,我应该在ACL的最后放置什么规则以防止破坏所有内容? 话

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

似乎有点不安全。 我可以安全closures的端口范围是多less? 或者是任何几乎我唯一的select的许可证?

谢谢!

您可以在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是您的内部networking,并且您希望允许来自非特权端口的stream量。 那么最后一行是否定的。

根据操作系统的不同,您可能需要更改1024以匹配这些操作系统的临时端口范围的底部。

(语法可能closures,稍后还没有完成思科ACL)

这就是说,我不认为有一个出口stream量的默认许可ACL是一件可怕的事情 – 可能导致的故障可能不值得增加的安全性。

如果你想用你的路由器作为防火墙,我强烈build议你不要使用“常规”ACL,根据你的IOS版本configurationCBAC (基于上下文的访问控制)或者ZBF (基于区域的策略防火墙)。 如果你有最新版本的IOS(和“安全启用的图像”或以前被称为“K9”图像),我强烈build议你看看ZBF。

事情就是有规则的ACL是无状态的 。 这意味着你可能会陷入困境,因为根据出站stream量的协议,路由器无法知道它要为返回的stream量打开什么样的端口。 FTP是这个的典型例子。

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

与CBAC,更好,与ZBF,这不会发生。 他们是有状态的 。 有了这个,我的意思是路由器能够检查stream量(并可能发现udp / tcp端口正在被协商),因此路由器“知道”哪个端口可以打开谁向谁进行通信,甚至更重要从安全的angular度来看,何时dynamicclosures它们。