现在NAT(网络地址转换Network Address Translating)技术已经应用到各个领域,前段时间搞得轰轰烈烈的蜜罐系统也是使用NAT技术来实现的,其实NAT技术在Cisco中实现了。
先来看看什么是NAT技术吧!NAT的出现原本是为了解决IP地址枯竭的问题,如果一个公司中请连接Internet,可能分配到的合法IP仅仅为16个,或者更少,那么公司的内部网络就不能全部上网了,可能有些人会这样想,我做个路由不就OK了,可是内部网络一般使用保留IP,这些IP能够路由出去,却不能回来,因为你的上一级路由是不会把目标地址为保留IP的包送到你的路由器的。
NAT的实现过程是这样的:通常在一个firewall或者routers起NAT,firewall有两个NIC,一个接Internet,为合法IP,一个接LAN,为保留IP.LAN用户的defualt gateway指向NAT的内部(LAN)接口,所有从LAN通过NAT出去的包在NAT处会进行一个转换,通常会把这些包的源IP地址转换成NAT的外部接口的合法IP地址,同时NAT在自己的连接表中添加一条记录,以便这个包的应答包回来时知道应该送到哪里。改了源IP地址的包送到Internet,它的应答包肯定能够回到NAT的外部接口,NAT接到应答包后,通过查看自己的连接表的记录,更改应答包的目标IP,然后送到发出请求的工作站。目前,一些硬件厂商已在其网络设备中加入了这一功能,比如Cisco路由器中己经加入这一功能,网络管理员只需在路由器的IOS中设置NAT功能,就可以实现对内部网络的屏蔽。而对于资金有限的小型企业来说,现在通过软件也可以实现这一功能Windows 98 SE.Windows2000部包含了这一功能,另外一些软件厂商,如WinGate,在其3.0以后的版本中提供了NAT功能。另外,SyGate和WinRoute也提供了这一功能。但是我想Cisco的PTX的NAT功能是最方便的!
看了上面的原理,大家会觉得NAT的功能很强大吧!如果大家换种思路的话,我们用NAT就可以对网络进行安全设置了,我们可以利用NAT很好地来防护我们的内部网络。我们在内部网络放置我们的服务器,在防火墙的外部架设一个堡垒主机。再将内部服务端口NAT到我们的堡垒主机上。这样就算给人入侵了,入侵者也只入侵了我们的堡垒主机上。而我们的服务器实际上还有一层防火墙来保护。
下面我们就具体看看是如何来实现这一功能的,我们可以分两块来介绍,第一种是利用Cisco的PTX来实现 (主要是对中大企业),第二是用Winndows2000来实现 (小型企业)。 对于Cisco的PTX来说,我们主要是使用了它的端口重定向功能,这个功能在PIX版本6.0以上才有。所以说,现在基本的PTX都有这个功能了,在这里我们使用的是Cisco PTX525给大家演示。
假设我们的网络拓扑是这样的:外部TSP分配给我们的IP地址是从202.106.184.100-202.106.184.120(可怜吧,固定IP值钱啊!现在我们1OM共享的加保证2M的带6个固定IP的连路都要7000),内部自己分配的TP地址是从:192.168.1OO.1OO-192.168.100.220.
我们的Web.Ftp.Mail.SQL、Game服务器分别是:192.168.100.101.192.168.100.102.192.168.100.103、192.168.100.104.192.168.100.105。而现在为了安全起见和节约IP地址,我们把这5个服务器的IP利用到的端口都定向到一个堡垒主机 (IP地址202.106.184.101)上去。先要登录
PIX吧(其实和路由器差不多的):
先来看看Web服务器:外部用户直接访问地址202.106.184.101 www(即80端口),通过PIX重定向到内部192.168.100.101的主机的www(即80端口):
再看FTP服务器吧:
接着是Manil的:
最后要来显示设置和保存一下哦.
举个例子来说明为什么这样配置比较安全。我们设想你的SQL的SA密码为空好了,别人一定会通过SQL的客户端来添加用户的了。当然他的确是可以添加用户,也添加到了用户,但是当它用这个添加的用户根本不能连到我们真正的SQL服务器上去,也就是192.168.100.104,其中的原因大家应该很明白了吧。这个就是端口定向的好处了。
注意:这样的配置虽然是安全,但是如果我们的密码给人家知道。人家一样有办法入侵的,只是相对比较难而己。还有堡垒主机的安全型问题。如果我们的堡垒主机不够安全一样很危险的。我们可以把堡垒主机的没有用的端口都给关了,密码一定要定期更换,复杂程度当然要够。
再看看如果使用Win2K Server来做NAT,用Win2K来做的话比较受限制,因为我们只能直接连在外网的机器上做NAT(那就是双网卡的机器),其实这样来说我们的这台机器就是堡垒主机了。它实现起来也很简单,比PTX来得简单得多。因为都是图形化的操作界面。看看步骤吧:
选择"控制面板-管理工具-路由和远程访问",在"路由和远程访问"对话框的树目录左边,单击"hardi(本地)"目录,在右键菜单中选择"配置并启用路由和远程访问"选项,系统弹出"路由和远程访问服务器安装向导",根据向导提示设置"有网络地址转换(NAT)路由协议的路由器",并创建Internet连接。然后根据系统给出的"请求拔号接口向导"进行有关设置,设置完成后的"路由和远程访问"界面中,其中对"hardi(本地)-IP路由选择"目录下的网络地址转换(NAT)"进行设置如下 "远程接口"即连接Cable Modem的接口名,在其右键菜单中选择 "属性"选项,在"远程路由器属性"对话框的"常规"选项卡中选中"公用接口连接到Internet"和"转换TCP/IP头"选项,"在特殊端口中配置端口定向功能",我们可以新建一个定向,点击"添加",后面的步骤就很简单了,都是很友好的界面,大家自己可以尝试配置一下。对于"本地连接"接口,在其"本地连接属性"对话框中选择"专用接口到专用网络"选项。另外,在Windows2000 Server上启动DNS服务,设置转发功能。至此,服务器端设置完毕。
NAT技术在网络安全上应用很多,我们现在用到的只是冰山的一角而已了。希望大家今后自己摸索,发现更多的用途。