从零开始发布安全的web服务器

从零开始发布安全的 web 服务器 传统的防火墙对这种加密的数据没有发现数据包内容的能力,一般像在企业内网发布一个 web 服务器的话,传统防火墙会直接放行,因为它采用的是一种不作为的隧道模式,基本上防火墙就形同虚设, isa 对此作了改进,采用一种全新的桥接模式,把外网发过来的加密数据包解密、检查后,在加密、在传给内网的 web 服务器,这样一来,由于 isa 能检查数据包的内容。相对来说还是安全一点的,今天我们就用实验来实现这个过程。 实验环境, beijing ip 内网 10.1.1 .1 外网 192.168.11.101Istanbul ip192.168.11.102 网关和 dns 均不填, ,,,,,, 内网 ca 服务器 florenceip 10.1.1.3 本地网卡、 网关写成 isa 服务器 beijing 的内网卡 10.1.1.1web 服务器 Berlin 10.1.1.2 网关为 10.1.1.1 本地网卡。先简单的介绍到这:这里呢网关可以不写,没有什么问题。 具体步骤,此次实验的重点是解决内外网的信任问题,即 beijing 要想先解开外网的加密数据,自己首先的有这个能力, 还要交代的是此次实验不再域环境下作,当然域环境下的身份验证相对比较方便,安装 isa2006 就没必要说了吧,记得先做个宽松点的访问策略。。 第一步,创建 ca 服务器 今天是实验环境,所以不比生产环境,我们手动做一个 ca 服务器 florence 上配好 ip 开始,设置,控制面板,添加删除程序,添加删除 windows 组建,勾选证书服务项,出现风险提示框,不必理会,是,下一步,这使我们发现工作组环境下只能选择独立根,而不是域环境下的企业根,下一步,输入公用名称如 itetca 下一步,数据库及日志存放地点默认即可,下一步,出现提示框问要不要停止 Internet 服务,停吧没事,挂上镜像文件,完成。 在 Berlin 上 ie 浏览器输入 http://10.1.1.3/certsrv 下载一个 ca 证书,证书链或 CRL ,下载 CA 证书,保存文件到 C 盘根目录下,名字默认的就行如 certnew.cer ,下载完毕的时候,关闭该对话框即可,有了 CA 根证书之后,要把它手工导入被信任的根证书颁发机构中。开始运 行 mmc ,接着在开始运行 -mmc- 打开控制台 1- 选择 - 文件 - 添加删除管理单元 - 添加 - 找到证书项添加 - 我的计算机账户 - 完成,关闭确定。证书下,受信任的根证书颁发机构下证书上右击,所有任务导入,下一步,文件名,浏览到刚才保存的 C 盘根目录下,证书的存放地点默认就行,下一步,完成,提示导入成功。看看右边框里有没有吧,同样的动作在 isa 服务器 beijing 上做一下,毕竟需要证书的不只 Berlin 一家, 【从零开始发布安全的web服务器】
接着在 beijing 上把 florence 的发布出来,以便外网计算机可以申请到证书, isa 的防火墙策略,新建 ,网站发布规则,输入规则名,下一步允许,下一步,选择发布单个网站,使用不安全连接,输入网站名,这里呢了、考虑访问的用户可能来自互联网,所以我们添个完全合格域名,你也可以把 ip 添进去下一步,路径 /* 就行了,就收请求的公用名称,写完全合格域名,下一步,监听器那,要新建一个监听 80 端口的新规则(选新建,不安全的连接,从外部来,身份验证就采用没有身份验证,下一步下一步完成,)身份验证委派选无委派,无委派,客户端无法进行身份验证,所有用户,完成,应用确定,这里在罗嗦一句,早点把 IIS 里的默认网站给停掉。 接着 我就在 Istanbul 上的 ie 浏览器里输入 [url]http://192.168.11.101/certsrv[/url], 下载一个 ca 证书,证书链或 CRL ,下载 CA 证书,保存文件到 C 盘根目录下,名字默认的就行如 certnew.cer ,下载完毕的时候,关闭该对话框即可,接着在开始运行 -mmc- 打开控制台 1- 选择 - 文件 - 添加删除管理单元 - 添加 - 找到证书项添加 - 我的计算机账户 - 本地计算机,关闭确定。证书下,受信任的根证书颁发机构下证书上右击,所有任务导入,下一步,文件名,浏览到刚才保存的 C 盘根目录下,证书的存放地点默认就行,下一步,完成,提示导入成功。看看右边框里有没有吧 这时准备工作基本上已经做完了 , 这个证书的申请顺序,基本就是这样,这里还要多说一句,那就是你的istanbul上有没有解析能力,没有的话你得在hosts文件里先做个解析,没有什么必须的顺序但是你要是想在外网的测试机子上先申请,那就得先发布。 第二步 , 在 Berlin 上申请一个证书 , 成为 web 站点 , 可能有朋友好问了 , 刚才不是已经申请过了吗 , 怎么还要 , 刚才只是承认这个证书颁发机构的合法性,这次的可是不一样的 ,, 看步骤吧 . 在 ie 浏览器里 , 输入 [url]http://10.1.1.3/certsrv[/url] 选择申请一个证书 , 高级证书申请 , 创建并向 CA 提交申请 ,,, 在接下来的资料框里要填写好多重要信息 , 小心了 , 姓名那可不是添个张三就能应付过去的 , 要写个完全合格域名嘛 , 可以方便互联网用户访问 , 如 Berlin.contoso.com, 其他的都是描述性的资料可以不填,需要的正式类型为服务器身份验证正书,勾选标记密钥可以导出,勾选将证书保存到本地计算机存储中, florence 上的开始程序,管理工具,证书颁发机构,点开 itetca 前的加号,点击查看挂起的请求,右击后所有任务,颁发, berlin 上,接刚才的页面,回到主页,查看挂起的状态,安装一下,,出来一个风险提示框,提示成功安装 ,手动把下载的 CA 根证书保存到 C:\certnew.cert 。


现在呢 Berlin 已经申请到证书了,现在他要把证书和私钥导出给 isa , isa 有了证书才可以证明自己是被信任的,有了私钥才可以解出加密数据包的内容,然后在加密传给 web 服务器 Berlin 导出也是有多种途径,现在就来试试,用 IIS 管理器下的网站,默认网站,右击属性,目录安全性,服务器证书,下一步,分配现有证书,选择证书下一步, 443 端口,下一步,下一步完成,,接着查看证书,详细信息选项卡,复制到文件,下一步,导出私钥,下一步,输入保护私钥的密码,导出的路径,添个 c:\Berlin.pfx, 下一步,确认没有错误后完成,导出成功,完成, isa 现在要把刚刚 Berlin 导出的证书给导入进来,先把证书拷过来,接着在控制台根节点下,证书,个人,右击所有任务,导入,下一步,文件名浏览那要指定路径路径写个 \\10.1.1.2\c$\Berlin.pfxC$ 主要是因为 Berlin 上并没有把这个文件共享,才要这么写,你也可以想把它共享一下,在拷过来,接着在本地导入,,密码。默认存储,确认完成,要想查看刚才导入的证书也很简单,控制台,个人证书下,看一下有没有刚才导入的证书吧 Berlin,contoso.com 到这呢基本的准备工作都差不多做完了, isa 也可以对外宣称自己就是 Berlin 了,外网的 Istanbul 访问他的时候,拿一个加密的数据包 isa 现在就可以解密检查一下,确保没有问题在加密传给 web 服务器了, 第三部分接着我们在 isa 上发布个安全的 web 站点,用 Istanbul 访问测试一下吧。 Isa 上防火墙策略,新建,网站发布规则,输入个可以识别的名字,允许,发布单个网站或负载平衡器,用 https 连接,填写内部站点的完全合格域名,如 Berlin.contoso.com, 路径还是 /*, 公用名称细节还是 perth 的完全合格域名,侦听器那需要(新建一个监听 443 端口的规则,https 连接,从外部来,选择一个证书,很显然列表里就有一个,并且是有效地,身份验证由于发布的是web 就不用做了,下一步下一步完成) 无委派,客户端可以直接进行身份验证,所有用户,完成,应用,确定。 拿 istanbul 来测一下,打开 IE 输入 [url]https://perth.contoso.com[/url] 试试吧! 一定记得istanbul要有解析能力。 祝愿每一个进行此实验的人都能从中有所发现,有所收获。 转载于:https://blog.51cto.com/yuzeying/134418

    推荐阅读