防火墙的基本功能,是通过六个命令来完成的。一般情况下,除非有特殊的安全需求,这个六个命令基本上可以搞定防火墙的配置。下面笔者就结合CISCO的防火墙,来谈谈防火墙的基本配置,希望能够给大家一点参考。
第一个命令:interface
Interface是防火墙配置中最基本的命令之一,他主要的功能就是开启关闭接口、配置接口的速度、对接口进行命名等等。在买来防火墙的时候,防火墙的各个端都都是关闭的,所以,防火墙买来后,若不进行任何的配置,防止在企业的网络上,则防火墙根本无法工作,而且,还会导致企业网络不同。
1、 配置接口速度
在防火墙中,配置接口速度的方法有两种,一种是手工配置,另外一种是自动配置。手工配置就是需要用户手工的指定防火墙接口的通信速度;而自动配置的话,则是指防火墙接口会自动根据所连接的设备,来决定所需要的通信速度。
如:interface ethernet0 auto --为接口配置“自动设置连接速度”
Interface ethernet2 100ful --为接口2手工指定连接速度,100MBIT/S。
这里,参数ethernet0或者etnernet2则表示防火墙的接口,而后面的参数表示具体的速度。
笔者建议
在配置接口速度的时候,要注意两个问题。
一是若采用手工指定接口速度的话,则指定的速度必须跟他所连接的设备的速度相同,否则的话,会出现一些意外的错误。如在防火墙上,若连接了一个交换机的话,则交换机的端口速度必须跟防火墙这里设置的速度相匹配。
二是虽然防火墙提供了自动设置接口速度的功能,不过,在实际工作中,作者还是不建议大家采用这个功能。因为这个自动配置接口速度,会影响防火墙的性能。而且,其有时候也会判断失误,给网络造成通信故障。所以,在一般情况下,无论是笔者,还是思科的官方资料,都建议大家采用手工配置接口速度。
2、 关闭与开启接口
防火墙上有多个接口,为了安全起见,打开的接口不用的话,则需要及时的进行关闭。一般可用shutdown命令来关闭防火墙的接口。但是这里跟思科的IOS软件有一个不同,就是如果要打开这个接口的话,则不用采用no shutdown命令。在防火墙的配置命令中,没有这一条。而应该采用不带参数的shutdown命令,来把一个接口设置为管理模式。
笔者建议
在防火墙配置的时候,不要把所有的接口都打开,需要用到几个接口,就打开几个接口。若把所有的接口都打开的话,会影响防火墙的运行效率,而且,对企业网络的安全也会有影响。或者说,他会降低防火墙对于企业网络的控制强度。
第二个命令:nameif
一般防火墙出厂的时候,思科也会为防火墙配置名字,如ethernet0等等,也就是说,防火墙的物理位置跟接口的名字是相同的。但是,很明显,这对于我们的管理是不利的,我们不能够从名字直观的看到,这个接口到底是用来做什么的,是连接企业的内部网络接口,还是连接企业的外部网络接口。所以,网络管理员,希望能够重命令这个接口的名字,利用比较直观的名字来描述接口的用途,如利用outside命令来表示这个接口是用来连接外部网络;而利用inside命令来描述这个接口是用来连接内部网络。同时,在给端口进行命名的时候,还可以指定这个接口的安全等级。
Nameif命令基本格式如下
Nameif hardware-id if-name security-level
其中,hardware-id表示防火墙上接口的具体位置,如ethernet0或者ethernet1等等。这些是思科防火墙在出厂的时候就已经设置好的,不能够进行更改。若在没有对接口进行重新命名的时候,我们只能够通过这个接口位置名称,来配置对应的接口参数。
而if-name 则是我们为这个接口指定的具体名字。一般来说,这个名字希望能够反映出这个接口的用途,就好象给这个接口取绰号一样,要能够反映能出这个接口的实际用途。另外,这个命名的话,我们网络管理员也必须遵守一定的规则。如这个名字中间不能用空格,不同用数字或者其他特殊字符(这不利于后续的操作),在长度上也不能够超过48个字符。
security-level表示这个接口的安全等级。一般情况下,可以把企业内部接口的安全等级可以设置的高一点,而企业外部接口的安全等级则可以设置的低一点。如此的话,根据防火墙的访问规则,安全级别高的接口可以防卫安全级别低的接口。也就是说,不需要经过特殊的设置,企业内部网络就可以访问企业外部网络。而如果外部网络访问内部网络,由于是安全级别低的接口访问安全级别高的接口,则必须要要进行一些特殊的设置,如需要访问控制列表的支持,等等。
笔者建议
在给接口配置安全等级的时候,一般不需要设置很复杂的安全等级。在安全要求一般的企业,只需要把接口的安全登记分为两级(一般只用两个接口,一个连接外部网络,一个连接内部网络),如此的话,防火墙的安全级别管理,会方便许多。
另外,就是企业内部网络的安全级别要高于外部网络的安全级别。因为从企业安全方面考虑,我们的基本原则是内部网络访问外部网络可以放开,而外部网络访问内部网络的话,就要有所限制,则主要是出于限制病毒、木马等给企业网络所造成的危害的目的。不过,若企业内部对外部访问也有限制的话,如不允许访问FTP服务器,等等,则可以借助访问控制列表或者其他技术手段来实现。
在对接口进行命名的时候,要能够反映这个接口的用途,否则的话,对其进行命名也就没有什么意思了。一般的话,如可以利用inside或者 outside来表示连接内网与外网的接口。如此的话在,网络管理员在一看到这个接口名字,就知道这个接口的用途。这几可以提高我们防火墙维护的效率。对于我们按照这个名字来对接口进行配置的时候,就比较容易实现,而不需要再去想我需要配置的接口名字是什么。若我们真的忘记了接口名字的话,则可以利用 show nameif命令来检验接口名字的配置。
第三个命令:IP address
在防火墙管理中,要为每个启用的防火墙接口配置IP地址。一般来说,防火墙的IP地址支持两种取得方式,一是通过自动获得,如可以通过企业内网的DHCP服务器取得IP地址;二是用户通过手工指定IP地址。
这个命令的具体格式为
Ip adress if-name IP [NETMASK]
若我们用上面的IF-NAME命令,给防火墙的接口配置好别名之后,则在后续的其他命令中,如这个配置IP地址的命令,则就不需要采用接口的位置名,而直接可以利用这个别名为具体的接口设置相关的参数。
若我们通过手工指定IP地址的时候,需要注意几个问题。一是若企业中还有DHCP服务器的话,则要注意这个网络地址冲突的问题。这个防火墙上的接口IP地址,在企业的整个网络中,也必须保持唯一,否则的话,就会造成IP地址冲突的错误。所以,若企业中还有DHCP服务器的话,则在DHCP服务器配置的时候,需要注意,这个防火墙接口所用的IP地址不应该在DHCP服务器的自动分配IP的地址池中,否则的话,很容易造成IP地址的冲突。
另外,在给他手工配置IP地址的时候,为了管理上的方便,最好能够指定连续的IP地址。也就是说,防火墙各个接口的IP地址为连续的。笔者在企业的IP地址规划中,特意为防火墙的接口预留了4个IP地址。即使,现在没有使用到这个接口,为了避免以后用到时,IP地址不连续,所以,在整个网络的 IP地址规划中,还是为其预留了足够多的IP地址。
这里的网络掩码不是必须的。若网络管理员在配置防火墙的时候,没有配置这个网络掩码的话,则防火墙会自动根据企业内部网络的结构,则防火墙会自动给其设置一个网络掩码。所以,在一般的情况下,这个网络掩码可以不用设置,免得填写错误的话,还造成不必要的损失。
笔者建议
若是采用DHCP方式取得接口的IP地址的,则在DHCP服务器配置的时候,最好能够给防火墙的各个接口配置连续的IP地址。如此的话,可以方便我们对防火墙的接口进行管理。若企业的网络规模比较大,安全级别比较高的话,则一般建议不要采用DHCP的方式,而需要给防火墙的各个接口手工指定 IP地址。
第四个命令:NAT 与GLOBAL、STATIC命令
使用NAT(网络地址转换)命令,网络管理员可以将内部的一组IP地址转换成为外部的公网地址;而global命令则用于定义用网络地址转换命令NAT转换成的地址或者地址的范围。简单的说,利用NAT命令与GLOBAL命令,能够实现IP地址之间的转换,还可以实现IP地址到端口的映射。
这个网络地址转换命令在实际工作中非常的有用。我们都知道,现在公网IP地址非常的缺乏,基本上,一家企业只有一到两个公网地址。而对于企业来说,他们的文件服务器、OA系统、邮件服务器等等可能都需要外部访问,而如果没有NAT技术的话 ,则在公网中要进行访问的话,必须具有公网的IP地址。这就大大限制了企业内部信息化系统的外部访问,家庭办公、出差时访问企业内部网络等等,变的无法实现。而现在网络地址转换技术,就是为解决这个问题而产生的。在网络地址转换技术的帮助下,可以把企业内部的IP地址跟端口唯一的映射到外部公网的IP地址。如此的话,内网的IP地址就有了一个合法的公网IP地址,则在公司外面的员工就可以通过互联网访问企业内部的信息化系统。
在实际工作中,用的最多的就是将本地地址转换为一个担搁的全局地址,而不是一个地址范围。如公司内部的ERP服务器IP地址为 192.168.0.6,此时,若我们希望,外部的员工,如在其他城市的一个销售办事处,他们能够利用202.96.96.240这个公网地址访问这台服务器。若要实现这个需求,该如何配置呢?
Static (inside,outside) 192.168.0.6 202.96.96.236
此时,外部用户就可以利用这个202.96.96.236公网IP地址,来访问企业内部的ERP系统。
其实,配置了这条命令之后,在防火墙服务器中,就有了这个一一对应的关系。当外部网络通过访问202.96.96.236这个IP地址时,在防火墙服务器中,就会把这个IP地址转换为192.268.0.6,如此就实现了外部网络访问企业的内部信息化系统。
不过,此时若不止这么一个信息化系统,现在OA系统(192.168.0.5)与ERP系统(192.168.0.6),在家办公的人或者出差在外的人都需要能够访问这两个服务器,此时,该如何处理呢?
如企业有两个公网IP地址,那也好办,只需要把OA系统与ERP系统分别对应到一个公网IP地址即可。但是,现在的问题是,企业只有一个IP 地址,此时,该如何处理呢?为此,我们可以利用static命令,实现端口的重定向。简单的说,端口重定向,允许外部的用户连接一个内部特定的IP地址与端口,并且让防火墙将这个数据流量重定向到合适的内部地址中去。
作者提醒
1、 应该有足够的全局IP地址去匹配NAT命令指定的本机IP地址。否则的话,可以结合使用PAT(根据端口对应IP地址)来解决全局地址的短缺问题。而对于绝大部分中国企业来说,基本上地址都是不够的,要采用PAT技术来解决地址短缺问题。PAT技术,最多允许64000个客户端(内部IP地址)使用同一个公网的IP地址。
2、 网络地址转换除了可以解决公网ID地址短缺问题的话,还有一个很好的副作用。就是可以把内部的主机隐藏起来,从而实现内部主机的安全性。如上面的例子中,如外面的用户需要访问企业内部的ERP服务器的话,则他们只需要知道公网地址就可以了,不需要知道到底他们访问的是内部的那台服务器,这台服务器的IP地址是多少。如此的话,就可以最大限度的保护企业内部服务器的安全。
第五个命令:ICMP命令
当我们做好相关的配置之后,接下去的工作我们就需要利用测试命令,来判断我们所配置的准确性。最基本的两个测试命令,就是PING与DEBUG命令。
Ping 命令我们网络管理员都是很熟悉的了。但是,在防火墙中有一个比较特殊的地方,就是在默认情况下,防火墙会拒绝所有来自于外部接口的ICMP输入流量。当我们PING 一个外网的IP地址时,若跟对方连接通畅的话,则对方会返回一个ICMP响应的回答。而防火墙默认的情况下,是会拒绝这个ICMP流量的。这主要是出于安全方面的考虑。但是,在我们进行测试的时候,我们不喜欢防火墙禁止接收这个ICMP响应回答,不然的话,我们就无法进行测试工作了。
所以,在防火墙刚刚开始配置的时候,我们往往需要让防火墙允许接收这个流量,我们需要利用permit命令来让防火墙通过这个流量。
我们可以利用这条命令来实现这个需求:icmp permit any any outside。这个命令的意识就是允许ICMP协议在防火墙上畅通无阻的运行,允许防火墙接收来自外部的ICMP流量。
笔者提醒
不过,在测试完以后,最好还是能够还原原先的设置,即让防火墙拒绝接收这个来自外部接口ICMP流量,这对于提高企业内部的安全性,非常有帮助,如可以很好的防止DOS攻击,等等。
第六个命令:write memory.
一般来说,我们在对防火墙配置所做的更改,是不会直接写入当防火墙的闪存中的。防火墙如此的设计,是为了防止网络管理员万一不小心,做了一些难以恢复的设置时,只需要重新启动一下防火墙,就可以恢复以前的设置了。也就是说在,对防火墙的更新配置,在没有应该命令把他写入到闪存中,防火墙一般都是先把它存放在RAM 中。而RAM中的数据,当防火墙重新启动后,都会丢失。
所以,当配置测试完成之后,千万要记住,要利用write memory命令,把相关的更改配置写入到闪存中。如此的话,才能够在防火墙重新启动后,这些相关的配置仍然能够起作用。
笔者提醒
在没有测试之前,最好不要把更改配置写入到闪存中。因为一旦写入到闪存中,你若做了一些难以恢复的配置,而在测试的时候出现了问题,此时,你只能够重置防火墙,以前的配置将会全部丢失,回复到出厂状态,那对于我们网络管理员来说,是个很大的打击。所以,一般需要对相关的配置测试无误后,才能够利用这个命令,永久的保存配置。
不过,在防火墙配置的时候,要注意不要断电,否则的话,你做的配置将会全功尽弃。不过,若在防火墙一端,接上UPS电源,是一个比较明智的做法。