我试图学习如何使用思科ASA防火墙,我真的不知道我在做什么。 我试图设置一些出口过滤,目的是只允许最小量的networkingstream量,即使它来自内部接口。 换句话说,我试图设置dmz_in和inside_in ACLs,好像内部接口不太可靠。
我还没有完全掌握所有的概念,所以我有几个问题。
假设我们正在使用三个接口:内部,外部和DMZ。
假设我有一台服务器(XYZ1),它必须响应PING,HTTP,SSH,FTP,MySQL和SMTP。 我的ACL看起来像这样:
access-list outside_in extended permit icmp any host XYZ1 echo-reply access-list outside_in extended permit tcp any host XYZ1 eq www access-list outside_in extended permit tcp any host XYZ1 eq ssh access-list outside_in extended permit tcp any host XYZ1 eq ftp access-list outside_in extended permit tcp any host XYZ1 eq ftp-data established access-list outside_in extended permit tcp any host XYZ1 eq 3306 access-list outside_in extended permit tcp any host XYZ1 eq smtp
我像这样应用它:
access-group outside_in in interface outside
我的问题是,我可以做什么出口过滤? 我只想让最小量的stream量。 我只是“反转”的规则(即smtp规则成为
access-list inside_out extended permit tcp host XYZ1 any eq smtp
)并称之为一天,还是我可以进一步挑选我的select? 我可以安全地阻止什么?
此外,在进行出口过滤时,将“倒置”规则应用于外部接口是否足够,还是应该考虑使dmz_in和inside_in acls?
我曾经听说过“出口过滤”这个词,但是我真的不知道自己在做什么。 任何指向良好的资源和阅读的指针也将是有帮助的,我发现的大部分指望我知道的比我多得多。
一个小概述,在得到具体细节之前。 每个接口有两个ACL; 一个入口ACL(名为interface_in)和一个出口ACL(名为interface_out)。 命名的诀窍就是避免用“内部”和“外部”来思考它。 相反,可以从“stream入(stream入/stream出)这个接口的stream量”来考虑。
这在给定规则应用的地方给予了很大的灵活性,但是也可能成为不必要的复杂性的巨大来源。
所以,以你为例。 如果您想要阻止来自内部主机的端口25(smtp)上的连接并发往Internet主机,您有两种select:
access-list inside_in extended deny tcp host XYZ1 any eq smtp
和
access-list outside_out extended deny tcp host XYZ1 any eq smtp
如果只有两个接口,这些命令将具有相同的效果。 当这变得复杂的时候,你有更多的接口; 比如说,一个DMZ接口。
第一个命令(在inside_in ACL中)只会在内部 – >外部,而不是dmz->外部时阻止stream量。 第二个命令(在outside_out ACL上)将阻止两者。
所以,那些是在哪里应用出口规则的选项。 为了您自己的理智,我的build议是只使用两个选项中的一个(如果必须的话,重复一些规则); 如果您强制自己检查5个不同的ACL来解决一个stream量问题,那么您将会在自己的脚下开枪。