防火墙出口过滤实战:日志和防火墙配置

日期: 2010-04-06 作者:Scott Floyd翻译:Lily 来源:TechTarget中国 英文

部署出口防火墙通信过滤在很多时候都是说起来容易做起来难。部署可能看起来很简单:就是在防火墙上运行一个访问控制列表阻止所有外出通信,然后仅允许公司安全政策许可的通信。如果实施出口防火墙通信过滤真的如此简单,为什么却很少有公司这么做?原因是这牵扯到如果阻止了外出与互联网的通信,通常不知道哪些应用程序或者服务可能会被中断。   在本文中,我们一起回顾一下如何在边界防火墙上实施防火墙出口过滤,同时尽量减少任何业务中断或常规错误。

  规划出口防火墙通信过滤   在项目开始之前,我们先作一些假设。首先,我们假设所有涉及防火墙的更改是与企业安全政策一致的。其次,我们假设是从默认配置开始,默认配置允许受信任……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

部署出口防火墙通信过滤在很多时候都是说起来容易做起来难。部署可能看起来很简单:就是在防火墙上运行一个访问控制列表阻止所有外出通信,然后仅允许公司安全政策许可的通信。如果实施出口防火墙通信过滤真的如此简单,为什么却很少有公司这么做?原因是这牵扯到如果阻止了外出与互联网的通信,通常不知道哪些应用程序或者服务可能会被中断。

  在本文中,我们一起回顾一下如何在边界防火墙上实施防火墙出口过滤,同时尽量减少任何业务中断或常规错误。

  规划出口防火墙通信过滤

  在项目开始之前,我们先作一些假设。首先,我们假设所有涉及防火墙的更改是与企业安全政策一致的。其次,我们假设是从默认配置开始,默认配置允许受信任网络(内部接口)到未受限制的互联网的所有通信。最后,我们默认所有更改的配置在应用到实际生产环境之前都进行了测试。

  所有的防火墙配置参考将基于思科系统公司ASA 8.2版(1)多功能安全设备(其中包括防火墙功能)。虽然不用多说,但我们还是要指出:不同设备之间,具体配置的详细信息是各不相同的。我们还将利用Splunk,它是一款从防火墙收集和索引所有日志来分析的IT搜索和分析引擎。

  Splunk提供60天免费的产品版本。60天免费期后,Splunk每天只能检索500MB大小的日志。不过,试用版也容易满足我们的要求。
默认情况下,思科ASA防火墙内部接口有两条内置的访问控制列表(ACL)规则。第一条规则允许所有到较为安全网络的外出通信,第二条规则阻止外出的通信。规则自上而下生效,这就是说如果第一条规则允许了所有的外出通信,第二条规则就永远不会实际应用。当内部接口应用了其它规则后,第一条内置的规则就将失效,给管理员带来麻烦和阻止通信。默认配置允许防火墙内部接口后面没有被过滤的主机访问互联网。在这个例子中,访问控制列表 “inside_access_in”将被应用到防火墙的内部接口上,使内部主机可以访问互联网:

  

access-group inside_access_in in interface inside 

  日志

  接下来,安装Splunk。Splunk可以安装在笔记本电脑、工作站或专用服务器上。安装好Splunk后,就开始配置“数据输入”,让Splunk作为一台系统日志服务器,在UDP端口514上监听,接收从防火墙的日志数据输入。然后,参照下面的例子,配置防火墙让它发送系统日志消息到Splunk。例子假设当前还没有启用任何的日志记录。

logging enabled
logging timestamp
logging trap Informational
logging host inside 192.168.10.10

  【* 192.168.10.10只是一个假设的Splunk的Ip地址。管理员可以使用任何一个防火墙内部接口可以达到的IP地址作为Splunk服务器的地址。】

  这些步骤完成后,检查一下是否可以看到Splunk索引的事件。根据防火墙的负荷情况,考虑是否使用日志过滤器,以减少发送到Splunk的事件数量 。

  防火墙配置

  为了监测和实施防火墙出口过滤,我们要建立防火墙规则需要使用的一个网络对象和三个服务对象。对象组可以包含许多IP主机、网络、协议,网络对象组里面的每一个Ip地址都是该组的一个成员。

  让我们来看看下面的例子:

object-group network egress_allow_networks
description Allowed egress networks
network-object host 10.10.10.100 
object-group service egress_allow_ports
description Allowed egress ports
service-object tcp eq http
service-object tcp eq https
object-group service egress_block_ports
description Blocked egress ports
service-object tcp-udp range 65534 65535 
object-group service egress_monitor_ports
description Monitor egress ports
service-object tcp-udp range 50000 65533 

  创建对象组的时候,必须添加一个成员。在这个例子中,添加了从65534到65535的TCP / UDP端口到阻止外出端口组。默认情况下阻止这些端口与外界通信是比较安全的。另外,上面将10.10.10.100添加到允许外出通信到达的目的网络中。

翻译

Lily
Lily

相关推荐