一个像锋芒毕露的剑,攻城略地,所向披靡。一个似雄浑坚挺的盾,刀光箭雨,甘之若饴。鱼与熊掌得其一已算奢侈。然而在网络世界里,就有这么一个鱼与熊掌兼得的机会。
下载地址: | ARP防火墙 |
下载地址: | 江民防火墙 |
下载地址: | 瑞星个人防火墙 |
DNS的角色便是所说的“鱼”,一直奔走国门内外,担当起开疆破土的重任;御敌国门,保四海升平,防火墙自然当仁不让。DNS和防火墙的结合堪称完美,已非鱼与熊掌的阶段。如此完美的组合该如何设置呢?
当DNS和防火墙一起使用,应考虑两件事:节点或企业的安全政策以及将使用的防火墙的类型。首先必须考虑安全政策,以决定哪些流量允许通过防火墙。而防火墙的类型将决定数据在专用网络、DMZ以及Internet之间将如何处理。
防火墙可以有若干功能,包括分组过滤、代理、状态检测和告警等。状态检测是检查存储进、出防火墙的分组信息以决定会话状态的机制。这个状态将由检测机制来决定是否允许此分组通过防火墙。
将身份验证、加密和高度的审核组合在一起就可以提供若干强有力的安全工具。许多防火墙解决方案可直接支持DNS;或者提供模板来进行设置,使得域名服务的请求可以从一边通过到另一边。对于要设计节点的安全政策的管理员来说,至少可以有两种考虑:
使所有资源都可以访问,但要做好备份。对每台机器的访问都是有限制的,只允许对你的网络最需要的流量通过。在第一种方案中,甚至在作为到Internet的网关的路由器都不使用过滤器。而第二种方案,只允许某些端口、协议,以及一些指定名字的机器,而这些在同一网络上的机器还要进一步互相防卫。
防火墙可以有多种设置,DNS也可以有相应的多种处理方法。关键是要注意两件事,其一是要使外部世界可以访问一台授权域名服务器,以便从本地解析可公用的主机;其二是内部的主机应能访问外部域名服务器(通过某种机制,如前向服务器或代理服务器)以便查找其他的域的主机。
对域名服务器的最好保护措施是定期地备份域区和配置信息,而且应确保这些备份信息在需要恢复文件时立即可用。将一个域对外界隐藏起来当然是一种很好的保护措施,但对于想访问外部世界的网络内部用户却不方便。
备份域区信息的一种方法是指定一个备份DNS服务器,在主服务器上把它作为一个合法的辅服务器,主服务器上的每一个域区都能快速映射到辅服务器上。可以把这种方法用于负载量很大的主服务器上,以减少备份时间,而且,在一些UNIX的解决方案中,该技术可从辅服务器中重新注入这些域区,而不用移动文件等。
对今天的大多数企业来说,它的网络上的用户至少要通过Internet访问Web节点和使用电子邮件。凡在这种情况下,将域隐藏起来不是一个很好的解决方案。如果出自安全性的考虑,管理员要限制外界对域的访问,则通过拆分式DNS或者其他限制对外公开主机的方法也许是最好的解决方案。
传统的拆分式DNS需要两台主服务器:一台在防火墙内,另一台在防火墙外。防火墙外的外部主域名服务器的域区文件只有少量的条目,一般只有域的MX记录、关于WWW和ftp服务器的记录。另外,这些条目取决于防火墙的类型,有些条目是为了在由防火墙内部用户建立的会话过程中供外部主机用来进行反向查找的。
有些防火墙使用地址翻译来重新分配已确定的IP地址列表。为了使这些IP地址在有些过程中可以使用,还需要将它们反向映射为有效的主机名。这些主机名只能由外部域名服务器来处理,而不能被内部域名服务器所解析。内部主域名服务器将包含域中每个主机的条目(包括外部主机)。内部DNS将设置为转接到外部DNS,也就是从属于外部DNS。外部转发器可以是外部公共DNS服务器,或者是企业专门用来作为转发器的服务器,这些取决于能力、预算、安全性的外延及安全政策。
其结果是当域名服务器不能回答客户机的查询时,就将查询转到外部域名服务器。因为内部域名服务器设置为外部域名服务器的从属服务器,因此内部服务器自己将不进行查询的解析,而是等待外部服务器来提供答案。如防火墙设置为只允许域名服务器查询在这些主机之间传送,则可以防止外部主机的查询到达内部域名服务器。需要考虑的是内部转发机器是一个完全从属的缓存还是包含有内部域区数据,如果没有内部信息、没有客户,只有其他的DNS服务器,则可直接使用它,如果有内部域区数据,则应包含所有内部域区数据,仅从属于Internet名。转发机器应转发它不能提供权威回答的所有查询,甚至可以提供参考另一个内部DNS服务器。因此,它应该包含完整的域区文件,这也导致了希望把它放在一个更安全的地方,而且,预算、网络大小和负载、关心的程度也都将限制对方案的选择,记住转发功能作为检查点也是设计中的瓶颈。
因为此时的内部和外部域名服务器都是主服务器,所以也没有域区传送需要通过防火墙。这种安排的困难在于管理员必须分别维护两组域区文件,若是防火墙两边还有辅服务器,维护工作量将加大。这也可能出现人为错误和混乱命名导致名字冲突,因为内部域和外部域看起来是相同的。如使用不同的内部和外部域名,则仅需做一个小小的变动就可解决这个问题,但对将来名字空间的发展有了一定的限制。
设置可以通过防火墙工作的DNS服务器的关键步骤是:
1)建立内部主DNS服务器和辅服务器。
2)建立外部主DNS服务器和辅服务器。
3)决定域中哪些主机要对外。
4)决定外部客户将如何解析外部分和如何配置内部服务器来提供这些功能。
5)使得只有对指定主机的域名服务才能通过防火墙。
6)对设计进行测试,确保其工作和预期的相同。
最后一步的目的是很清楚的。一定要确保设计能正常工作,特别是从外部节点来测试,以确定是否只有管理员允许公布的信息才可使用。同样,也要从内部来确定防火墙是否已适当地设置,以及防火墙内部的用户是否能解析外部域。外部域的大规模解析对容量和可靠性的要求可能需要提供并行路径。
一种DNS通过防火墙的很好的配置方法是在防火墙或DMZ内部有一个主服务器存放外部名字空间,在其外部有一个辅服务器。就全世界来说,外部服务器可以是主服务器,因为区别仅在于何时考虑谁拥有主域区文件。可以在内部服务器上执行所有的维护操作,而外部服务器将按所要求更新域区,这样可能需要运行三个服务器,但这样肯定比允许从外部访问主服务器更安全。而且,如果域区被毁坏,还可以在内部控制主服务器域区。如果想使用这种技术,要确保防火墙仅用于辅服务器到主服务器的通信(反之亦然)。有些专家还建议,为了确保更安全,要用没有用过的高端口进行通信而不是标准DNS的53端口。这仅涉及到有关DNS设计的一些可选方案和一些防火墙产品的特点。这是一个很大的主题而且附加的资源可直接用于防火墙类型和能力,在应用中可作为参考。
不得天下,如何安天下,所以得为先,得天下而不安天下,必造唾骂,因此安为本。一个一路高歌猛进所向披靡,一个运筹帷幄给世人安心,这就是完美。DNS与防火墙缔造的奇迹。