用命令行写IPSec(win)

原创 2004年09月09日 12:44:00

用命令行写IPSec(win)
http://www.chinaunix.net 作者:t920  发表于:2003-12-13 22:12:13

前些时候有客户要求在win上自动进行IPsec规则的设置,kao
抓狂!!!!!

废了偶大半天的功夫终于搞定,其实也没什么,就是用了mS提供的一个命令行形式下的工具IPSECPOL.EXE 

hohohoho偶都有点开始稀饭微软啦!!!!!

×××××××××××××××××××××××××××××××××××


用 IPSECPOL.EXE 编写策略的脚本

IPSECPOL.EXE 包括在 Windows 2000 Resource Kit 中,它是一个用于创建、指派和删除 IPSec 策略的命令行实用程序。IPSECPOL.EXE 非常灵活,它可在 Active Directory 以及本地和远程注册表中创建动态和静态策略。有关完整信息,请参阅 Resource Kit 中的文档。此处,将在本地计算机的注册表中创建静态策略。

IPSECPOL.EXE 有许多参数,它的语法开始时不易理解。但是,如果您按照此处提供的示例操作,则可用三个命令复制以前的 GUI 示例中显示的全部配置。您可能希望在每个命令之后打开 MMC 并刷新其显示,以便验证该命令按照预期方式执行。让我们开始吧。

第一个命令(如下所示)创建新策略、在策略中添加规则并在规则中添加两个筛选器列表和一个筛选器操作。

ipsecpol –w REG –p“数据包筛选器” –r“入站 Web 协议”
-f *+131.107.1.1:80:TCP –f *+131.107.1.1:443:TCP –n PASS

该命令按两行显示以便于打印,请按一行输入。其中包括以下参数:

    * –w REG — 向注册表中写入静态策略。这与使用 MMC 完全相同。
    * –p“数据包筛选器” — 创建名为“数据包筛选器”的策略。
    * –r“入站 Web 协议” — 创建名为“入站 Web 协议”的规则。
    * -f *+131.107.1.1:80:TCP — 添加筛选器,其中 * 指定任何源地址和任何端口,131.107.1.1:80 指定目标地址(服务器本身的地址)和特定端口,:TCP 指定协议,+ 指明筛选器已被镜像。
    * –f *+131.107.1.1:443:TCP — 除了目标地址为 443 以外,与上述参数相同。
    * –n PASS — 传递通信而不协商安全。 

请注意,-w、-f 和 -n 参数的值区分大小写,只使用大写!

您可以包括任意多个筛选器。切记以前对基于角色的筛选器列表的讨论,如果您的服务器运行多个服务,则应该针对每类筛选器使用单独的 IPSECPOL.EXE 命令。例如,以下命令可允许端口 110、995、143、993 和 25 的入站连接,并允许端口 25 到任何地方的出站连接。

ipsecpol –w REG –p “数据包筛选器” –r“入站/出站邮件”
-f *+131.107.1.1:110:TCP –f *+131.107.1.1:995:TCP
-f *+131.107.1.1:143:TCP –f *+131.107.1.1:993:TCP
-f *+131.107.1.1:25:TCP –f 131.107.1.1+*:25:TCP
–n PASS

(最后一个筛选器 –f 131.107.1.1+*:25:TCP 看上去稍有不同。它允许从服务器自身地址上的任何端口发起、到任何服务器上 25 端口的出站连接。该筛选器允许服务器启动到 Internet 的出站 SMTP 连接。}

下一个命令创建匹配并阻止所有通信的一般规则:

ipsecpol –w REG –p“数据包筛选器” –r“所有入站通信”
-f *+131.107.1.1 –n BLOCK

其中包括以下参数:

    * –w REG — 向注册表中写入静态策略。这与使用 MMC 完全相同。
    * –p“数据包筛选器” — 添加到名为“数据包筛选器”的现有策略中。
    * –r“所有入站通信” — 创建名为“所有入站通信”的规则。
    * -f *+131.107.1.1 — 添加筛选器,其中,* 指定任何源地址和任何端口,131.107.1.1 指定目标地址和任何端口,协议空缺意味着使用任何协议,+ 并指明筛选器已被镜像
    * –n BLOCK — 阻止通信。 

最后一个命令指派策略:

ipsecpol –w REG –p“数据包筛选器” –x

其中包括以下参数:

    * –w REG — 向注册表中写入静态策略。这与使用 MMC 完全相同。
    * –p“数据包筛选器” — 添加到名为“数据包筛选器”的现有策略中。
    * –x — 指派策略。 

这就是所有的命令。那么,利用三个命令,您已经完成了与使用 GUI 所完成的相同的任务。在服务器编译脚本中添加 IPSECPOL.EXE 支持时,切记在完全创建服务器之前,您可能不希望实际指派策略。因此脚本中应该只包括 -n PASS 和 -n BLOCK 命令;在所有的服务器安装完毕后,可使用以下形式的命令远程指派策略:

ipsecpol //机器名 –w REG –p "策略名" –x

您需要具备该命令中指定机器的管理权限。如果需要临时取消对策略的指派,请用 -y 替换 -x。

您可用以下命令删除整个策略(包括所有相关的筛选器列表和筛选器操作):

ipsecpol –w REG –p "策略名" –o

如果您的服务器创建过程允许您动态更改服务器的角色(无需重新启动),则这将很有用。删除现有的策略,然后创建和指派新策略。如果您希望远程编写在所有服务器上创建策略的脚本,则可向所有形式的命令中添加 //主机名。

GUI 和 IPSECPOL.EXE 的区别。 是的,二者存在一些区别,但只与某些内容在 GUI 中显示的方式有关。

    * 无法禁用默认响应规则,但是在数据包筛选器示例中,这确实无关紧要,因为传入的连接不是始终被允许就是始终被阻止。
    * 规则名用作筛选器列表名。
    * -n PASS 和 -n BLOCK 命令不使用现有的允许和阻止(如果在 GUI 中已创建它)操作;而是为每个规则创建新的允许或阻止操作,并将新操作命名为“规则列表名 negpol”。
    * 在每个筛选器操作的属性中,存在安全方法的默认列表,但是,因为不存在实际的安全协商,所以该列表将被忽略。
    * 用 -o 命令删除策略时还将删除与之相关的筛选器列表和筛选器操作。在 GUI 中删除策略时并不删除与之相关的筛选器列表和筛选器操作。 

那么,这是否确实有效?

总之,这确实有效。在 Windows 2000 发布后不久,一个流行的行业杂志测试了许多 Web 服务器的安全性。Microsoft 应邀参加了该测试。我们创建了一个启用 Internet Information Services 5.0 的 Windows 2000 Server。为保护服务器,我们所做的一切就是为管理员帐户添加了一个密码并创建了一个象此处示例中那样的 IPSec 策略。服务器直接连接到 Internet,并幸免于几周内尝试进行的攻击。


**************************************************

这东东的用处大家慢慢体会吧!!!hohohoho
想让那家伙上不了网么????
ipsecpol -w REG -p FW -r outdeny -f 0=* -n BLOCK
一行搞定!!!
(只限于win2000,xp和2003有其他类似的工具)

自己动手从0到1写嵌入式操作系统

这不是rtos源码分析的课程,而是为零基础的同学设计,从最基础原理讲师,一步步不断迭代设计rtos的课程! 用不到【2000行代码,汇编代码仅18行】(不含注释)实现一个精巧的可以运行在ARM Cortex-M内核芯片上的RTOS! 该RTOS功能与ucos类似,具体实现不同。学习之后,再去学习ucos之类的系统将没有什么问题。
  • 2017年04月06日 11:44

使用命令行编译器使用命令行编译器

  • 2010年05月14日 18:22
  • 304KB
  • 下载

用命令行方法查找ARP地址欺骗病毒

  • 2009年05月01日 18:43
  • 23KB
  • 下载

c# command line calculator

  • 2010年10月21日 13:56
  • 26KB
  • 下载

网络经典命令行

  • 2007年10月10日 12:16
  • 35KB
  • 下载

程序的代码

  • 2014年01月22日 20:46
  • 60KB
  • 下载

用命令行隐藏文件的简单方法

  • 2012年05月04日 08:00
  • 631B
  • 下载

java五子棋(命令行)

简单的命令行五子棋小程序人机对战、电脑随机下棋想写成人人对战,简单修改即可运行截图如下: package Gobang;import java.time.temporal.IsoFields; im...
  • aa8568849
  • aa8568849
  • 2016-09-22 16:30:16
  • 274

命令行让你的工作更轻松

这些命令行小技巧可以让你的工作更轻松!(Mac环境排名不分先后)cd:切换目录,其中cd ..表示返回上一目录,而cd -则表示返回上一次操作所在的目录ls:默认列出当前目录下的所有非隐藏文件名,加上...
  • abc_12366
  • abc_12366
  • 2018-01-23 08:26:39
  • 156

关于git的命令行使用,新手学习笔记(新手入门级)

该博客内容纯属个人学习理解,如有错误欢迎修改。 一、打开命令行程序 二、设置用户名和邮箱及部分设置(只需初次使用时设置) 1、设置用户名和邮箱 $ git config --global user...
  • a985364654
  • a985364654
  • 2016-01-24 13:13:52
  • 1356
收藏助手
不良信息举报
您举报文章:用命令行写IPSec(win)
举报原因:
原因补充:

(最多只允许输入30个字)