内网用户在外网用×××登陆内网得需输入用户名与密码,如果是在公共场合登陆的话用户名与密码很容易泄露造成不必要的损失。当然用智能卡可以不用输入用户名与密码,但是成本还是有的。今天我做的这个试验是只需用户在内网申请个 用户证书与公司内部的 CA服务器证书把它导出到移动设备上,在外网用的时候 导入用户证书到计算机就可以直接通过VNP连接到公司内部而无须输入账号与密码,用户不用时在把用户证书 导出就可以了。零成本 (*^__^*) 嘻嘻……(注意:得需外网信任内网的CA服务器,如果在公共场合只需把公司的CA证书安装上就可以了)
 
试验目的:内网用户在外网只需把证书导入到自己的的计算机,不用输入用户名与密码就能通过×××连接到内网。
 
拓扑图:
          绘图1
 
如拓扑图所示:
Denver是contoso.com的域控制器,DNS服务器,CA服务器和Radius服务器,Beijing是ISA2006服务器,而且处在工作组环境,Istanbul是外网的一台客户机。
在我试验的环境中,我已经可以具备了下列条件:
1 Denver 上安装了企业根 CA 服务器。(必须是企业根
2 所有的实验计算机都信任 Denver 上的 CA 服务器。
3 Beijing 上已经配置成了 ××× 服务器,支持用户用 PPTP L2TP 拨入。
4 Beijing 可以利用 Denver 上的 Radius 服务器对域用户进行身份验证。
 
大概流程是: 在域控制器上的CA证书颁发机构添加2个模板,并让内网CA颁发机构给域管理员颁发注册代理证书(有了这个注册代理证书后,才有资格为其他用户申请证书,显然这是为了防止随意颁发证书而导致安全隐患)。在域控制器上给Radius服务器申请证书并配置让它能够进行验证,在对ISA防火墙上的×××做下设置,让防火墙的×××身份验证方法支持使用证书来对身份进行验证。最后在域内的stserver用户申请用户证书并通过导出导入到外网计算机上,在外网计算机上创建个 连接 让在外网的域内用户的不需要输入用户名与密码选择证书就能通过×××连接到内网。(注意:不用在外网计算机上创建与域内相同的用户,打个比方 我在外网是用的administration用户登陆的,在使用stserver用户证书登陆后在域内就显示是域内用户stserver登录的)
 
第一步:在Denver上对CA服务器添加证书模板。
1.)在Denver的管理工具中打开证书颁发机构,选择新建“要颁发的证书模板”。然后添加二个证书模板,分别是“注册代理”,“注册代理(计算机)”,点击“确定”。
1 02
  03
2.)在Win2003的CA服务器中,如果要为用户申请证书,那么管理员必须先拥有一个注册代理证书。要申请注册代理证书,确保在Denver上是以域管理员身份登录,然后运行MMC,如下图所示,添加一个证书管理单元。
4
选择使用定制的证书管理单元管理选择 我的用户账号
5
如下图所示,在用户证书管理工具中切换到个人-证书,选择“申请新证书”。
6
出现证书申请向导,选择“下一步”。
7
申请的证书类型选择“ 注册代理”。
8
如下图所示,为申请的注册代理证书取个名字以及进行简单描述 直接下一步
9
点击“完成”结束申请。管理员administrator已经获得了CA颁发的注册代理证书。
10
11
如上图 这样域内管理员administrator就有资格为用户颁发证书了。
第二步:配置ISA服务器
在ISA服务器选择管理器展开到虚拟专用网络,在右侧的任务面板中点击“选择身份验证方法”上选择“可扩展的身份验证协议(EAP),使用智能卡或其他证书”。
28
第三步:在域控制器上给Radius服务器申请证书 并配置
1.)我们在Radius服务器上申请一个服务器证书,这样×××客户机使用证书登录时可以利用这个证书验证Radius服务器的身份,避免登录到了错误的服务器上,提高整体安全性。我们在Denver的浏览器中输入 [url]http://denver/certsrv[/url],如下图所示,选择“申请一个证书”。
29
选择提交一个高级证书申请
30
选择“创建并向此CA提交一个申请”。
31
选择申请一个Web服务器证书,证书姓名输入denver.contoso.com,选择把证书保存在计算机存储中。参数填写完毕后,点击“申请”。
32
如下图所示,申请的证书已经颁发,选择安装此证书
33
2.)配置Radius远程访问策略
我在Radius服务器中创建一个新的远程访问策略,在这个策略中配置使用EAP协议验证用户请求。在Denver的管理工具中打开Internet验证服务,如下图所示,选择“新建远程访问策略”。
34
如下图所示,出现远程访问策略创建向导,选择下一步
35
选择使用向导完成远程访问策略的设置,为策略命名为 身份验证 下一步
111
远程访问的类型是  ×××   然后点击 下一步
37
授予contoso.com域中的Domain users组远程访问权限
38
勾选使用EAP协议,类型选择“智能卡或其他证书”,点击“配置”按钮选择使用刚才申请的denver.contoso.com证书来证明自己的身份。
39
接下来选择远程访问策略支持的加密级别,我们使用默认设置选择支持所有加密级别即可。
40
点击 完成 结束新建远程访问策略的创建。
41
第四步:给域内用户申请用户证书
在域控制器上创建用户(stserver),然后以新创建的用户登录
12
这个用户申请证书。在Denver的浏览器中输入 [url]http://denver/certsrv[/url],如下图所示,选择“申请一个证书”。
13
选择提交一个高级证书申请
14
选择“创建并向此CA 提交一个申请”。
15
在模板中选择“用户”,在选择“ 标记密钥为可导出”,点击“提交” 如下图。
16
如下图 然后  选择安装此证书
17
用户证书就申请好了 然后在域内计算机导出证书 在开始运行 输入MMC 进入到证书 选择计算机帐户
18
选择 刚申请的用户证书 选择 导出
20
弹出导出向导 下一步
  22
选择 “是,导出私钥” 如图 (如果在申请证书时没有选择“标记密钥为可导出”的话那这里就是灰色的)
23
选择 导出的格式 按默认下一步
24
这一步 是为了保护私钥而设置的密码(由于是在做实验这个密码简单了点)
25
选择 证书导出的位置 (随自己,我这里选择C盘)点击下一步
26
在检查下确认无误后点击 完成 用户证书导出完毕。
27
第五步:测试 在外网机器上创建个连接看看是否能用用户证书登陆到域内来访问下域内的机器
打开外网的Istanbul在网络连接里点击“新建连接向导”
42
弹出向导 直接下一步
43
选择“连接到我的工作场所的网络” 下一步
44
选择 “虚拟专用网络连接” 下一步
45
填写 连接到的服务器名字(我这个名字与Radius远程访问策略里用到的证书名一样)
46
输入 ×××服务器的IP地址 点击下一步
48
问 此连接为 只是我还是任何人使用 选择默认 下一步
47
点击 完成连接创建完成。
49
然后在配置下刚创建的连接 在新建连接 点击 属性
50
在属性里的“安全”标签里选择“设置” 在设置里选择 “使用可扩展的身份验证协议(EAP)”
51
如上图所示在高级安全设置里 在选择属性
选择 “在次计算机上使用证书”,并填写内网的能验证证书的服务器IP 与 选择 受信任的根颁发机构(如果你的本机没有在内网域控制器上的用户的话选择“为此连接使用一步不同的用户名”)
52
选择好了点击确定 。这样连接 配置好了。把在内网申请的证书导入到外网这台计算机中我以导入好了如图(注意:是导入到当前用户)
53
然后 双击 打开刚才创建好的连接  点击“连接”
54 55
选择 要使用的用户证书 如图
56 
点击完 确定后会弹出 来验证用户证书的验证服务器证书 确认无误点击确定
57
然后连接成功 !
58
我拿外网连接下内网域内的机器资源 能正常访问  测试成功!!
112
 
在此感谢 岳雷老师 对我的栽培。