用命令行写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有其他类似的工具)

ubuntu下怎么通过命令行打开各种类型的文件

ubuntu下通过命令行打开各种类型文件
  • nlznlz
  • nlznlz
  • 2014年05月07日 02:09
  • 2447

kettle 命令行运行作业(kitchen)和转换(pan)以及一路下来编写的例子

Kettle好的论坛:http://www.flybi.net/category/31 BI教程学习地址:http://www.hellobi.com/course/37 Kettle 命令行使用说...
  • lan12334321234
  • lan12334321234
  • 2017年04月11日 11:27
  • 2100

Cocos2D-X2.2.3学习笔记1(vs开发环境和Android环境交叉编译)

一.开发平台
  • q269399361
  • q269399361
  • 2014年05月05日 17:27
  • 1535

adb命令使用之抓取log并过滤

开发过程中,解决各种问题bug,不管是性能问题还是ANR问题,还是各种严重崩溃问题,经常需要抓取log,从log中分析找到问题源头,并进行修改。 但是,统一时间点下,可能会有很多log打印出来,...
  • zhuhai__yizhi
  • zhuhai__yizhi
  • 2015年08月16日 22:44
  • 1313

本地git和远程github连接完整教程

一、注册账户以及创建仓库 要想使用github第一步当然是注册github账号了。之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Cre...
  • sihai12345
  • sihai12345
  • 2017年05月17日 14:36
  • 354

《C语言及程序设计》实践参考——用命令行运行程序

返回:贺老师课程教学链接【项目1-用命令行运行程序】下面的程序,用于复制命令行中给出的文件。请利用命令行的方式运行程序。#include #include int main(int argc,char...
  • sxhelijian
  • sxhelijian
  • 2015年05月02日 11:41
  • 2232

如何使用Liquibase

如何利用Liquibase进行数据库的版本控制以及升级维护
  • jason9988
  • jason9988
  • 2016年02月18日 11:27
  • 4533

用命令行编译libjpeg.lib

原文地址::http://blog.csdn.net/shuixin536/article/details/5706820 今天在折腾libjpeg,这是一个开源的JPG文件的编码函数库。因为...
  • xqhrs232
  • xqhrs232
  • 2013年07月08日 16:16
  • 812

干货!开发人员必备技能——SVN实用命令行指令演练

01. 将服务器文件下载到本地 # 切换工作目录 $ cd 经理的工作目录 # checkout服务器上的代码仓库 $ svn co http://xx.x.x.xx/svn/weibo -...
  • qq_17354271
  • qq_17354271
  • 2015年05月16日 22:47
  • 904

用命令行 给 apk 签名

一、需求          在腾讯开放平台把apk 加固了,然后呢就让我重新签名  二、签名 2.1建议将待签名的apk  和  签名(keystore 或者 jks) 放到同一目录下,这样更方...
  • qq_18524107
  • qq_18524107
  • 2016年09月30日 10:54
  • 352
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用命令行写IPSec(win)
举报原因:
原因补充:

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