利用IPSec使用策略和规则提升网络安全性
首先,认识一下IPSec协议:
IPsec是跨平台的一项增强系统安全的策略软件,兼容性很强,既可以运行于windows上,也可以运行与UNIX(Linux)上。IPSec 协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构,包括网络认证协议 Authentication Header(AH)、封装安全载荷协议Encapsulating Security Payload(ESP)、密钥管理协议Internet Key Exchange (IKE)和用于网络认证及加密的一些算法等。IPSec 规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上提供了访问控制、数据源认证、数据加密等网络安全服务。
下来简单主要介绍一下windows下的IPSec策略使用。
使用规则包括:筛选器、筛选器动作、身份认证方法
默认三种策略:Client,Server,Secure Service
IPSec策略的功能很强大,在有的时候,其实用性可不必一些防火墙上的内置策略以及一些第三方软件差,而且使用起来特别的方便,下来我们只要通过两个具体实例简单说明一些IPSec策略的强大功能。当然,这仅仅是它的一小部分功能,更多的功能需要你去开发。
一、利用IPSec禁用协议(主要针对ICMP协议)
利用IPSec策略可以禁用各种协议的使用,这里为了能够更好的理解,选用了ICMP协议,因为大家所熟悉的ping命令所使用的协议就是ICMP协议。
总所周知,Ping命令在网络界使用是非常广泛的,利用ping命令的最大优势就是可以快速测试网络的连通性,使用起来非常方便。而使用ping命令导致网络风暴甚至死机的也不少,大家都知道,Tcp/Ip协议导致ping包只能少于等于65500字节,如果ping的数据包大于65500(使用的命令是“ping –l number”),对方的计算机就会蓝屏。当然,微软没有那么傻,默认情况下如果ping的数据包大于65500,就会报一个错误,换句话说,默认情况下是不允许ping大于65500的数据包的。可黑客却没那么笨,只要用黑客软件做两个ping包,让这两个ping包都小于65500,将这两个ping包发到对方电脑上就会自动组合在一起,ping的数据包就会大于65500,接下来的后果我就不多说了……
下来我们做这个阻止ping的试验
首先,在MMC下添加“IP安全策略管理”单元,(打开MMC的方法是在“开始”—“运行”下输入“mmc”命令,打开一个MMC控制台,然后选择“文件”—“添加/删除管理单元”。)
IPSec策略既可以用于本地计算机,又可以用于其它计算机中,当然也可以用于AD中(前提:必须要有域环境),本试验用于本地计算机上进行测试。
添加好之后,默认有三个使用规则,这是系统内置的规则,不过都没有启用,从下往上安全性一次加强,至于里面设置了什么样的策略,打开就知道了,这里就不多说了。如果想启用某一个策略,只需要选中策略,然后单击右键选择“指派”即可。IPSec策略的生效是很快的,即时生效。
下来,我们不使用系统自带的IP安全策略,自己创建一个IP安全策略,在空白处单击右键选择“创建IP安全策略”。
在此过程中,为了便于更好的管理,可以设置名称,描述等选项。
系统有默认的相应规则,这里就不激活了,自己建一个响应规则。
*******好了,下来定义ping的数据类型******
首先定义IP筛选器列表,系统默认有两个自己定义好的列表。这里就不选用了。
添加一个IP筛选器列表,可以定义名称和描述。然后选中“添加”
在属性列表里寻址源地址选择“任何IP地址”目标地址选中“我的IP地址”(注意:是其它计算机ping本机哦)
注意:如果勾选“镜像……”这一项,那么返回结果应该为Destination host unreachable。如果没有勾选“镜像……”那么返回的结果应该为Request timed out。原因很简单,前面那个是不能使用ping命令ping出本机的;而后一个是能够ping出本机,但是反不回来。而一个完整的ping过程是ping出去然后反回来。但是,只要使用此IPSec策略,无论你是否勾选“镜像……”双方都无法ping通对方。
下来我们选中协议选项类型为“ICMP”,ICMP协议工作于网络层,而不是传输层,当然就没有端口可言了,所以下面的选项都以灰色显示。
这样,ping命令的IP筛选器列表就定义好了,然后选中刚刚定义的列表,如下图所示:
****接下来定义不让对方ping通过的这个动作*****
选中“筛选器操作”,默认也有三个选项,这里我们自己定义一个,选中下面的“添加”。
在筛选器属性里的安全措施里选中“阻止”即可。这样,ping命令就被阻挡在外面了。
当然,也可以加一些文字性的描述,都是为了以后查看或者修改方便。
创建好筛选器操作之后,选中创建的那一项。(注意:是单选哦)
此策略基本创建完了,至于后面的“身份验证方法”和“隧道设置”这里就用不到了。
创建好策略之后,默认情况下是不生效的,必须指派之后才生效。当然,如果要关闭策略,不指派就可以了。
注意:在此策略的设置过程中,一定要注意“IP筛选器列表”和“筛选器操作”所设置的选项是不一样的,前者告诉你想要做什么,后者告诉你怎么去做。不可搞混了哦!
二、利用IPSec关闭端口(以关闭139端口为例)
系统端口的重要性,我就不多说了,如果让一个非法的用户知道了你计算机上开放的那个端口,然后通过连接(telnet ip 端口号)或是一些第三方软件是相当可怕的哦!
使用Netstat –an命令可以查看本机开启的端口状态,如果为LISTENING则为开放状态,如果为ESTABLSHED则为连接状态。
如何查看对方计算机上开启了那些端口呢,在命令提示符下,输入“telnet ip 端口号”,如果出现黑屏,而且有一个光标在闪烁,则说明已经连接对方的计算机开放了这个端口上;反之,则提示服务超时。
简单介绍以下windows防火墙上关闭端口的方法:
首先选中“本地连接”—“Internet协议(Tcp/Ip)”—“属性”—“高级”—“选项”—“属性”就出现下面的窗口了。
注意:微软的这个设计是有缺陷的,大家想想看,如果要关闭某个端口,那岂不是要选取所有只允许端口,这样是很麻烦的,没有单一选择性。
下来我们以禁用139端口(NETBIOS协议需要此端口的支持,使用的协议为TCP如果禁用,则一些共享问题则出错)为例来设置其数据类型,这里只说主要步骤,其它步骤同上。首先在寻址里选择源地址为“任何IP地址”,目标地址为“我的IP地址”。
协议类型选中TCP,IP协议端口设置从任意端口到此端口(139)
注意:服务器开放的端口都为固定端口,像什么http协议使用的80端口,ftp协议使用的21端口之类的,而连接它的计算机的端口为随即生成的,二者不可搞混哦!
接下来设置动作,跟禁止ping命令的设置是一样的,因此就用刚才ping命令设置的动作。当然,也可以自己另建一个动作策略。设置为“阻止”即可。
试验基本做完了,这只是IPSec的一点点功能的体现,不过,却体现出了它的实用性哦,更多的功能像数据传输加密方面,数据传输完整性方面都能在IPSec上体现出来。所以,希望大家一遇到像什么关闭端口啊,或者禁止ping命令之类的问题,首先应想到系统自带的一些安全措施,除了IPSec之外,像本地安全策略之类的同样也可以增强系统的安全性。
本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/123652,如需转载请自行联系原作者