帮助与文档

在IIS 7.0上使用自签证书来启用SSL

2018-06-24 10:57:01    来源: 鸿网互联

  很多企业都会租用韩国服务器的公司,进行官网、甚至是网络商城的搭建,但网站的安全性是一个很重要的问题。这时可以采用SSL来进行加密,SSL加密技术是为保护敏感数据在传送过程中的安全,而设置的加密技术。

  SSL允许浏览器与web服务器在一个安全的通道上交换信息,以防范窃听,篡改和消息伪造。你应该总是在登录页面(用户在上面输入用户名和密码),以及网站上其他所有安全敏感的网页上使用SSL,譬如,那些显示财务或个人信息的帐号网页。

  在Windows早期的IIS版本上配置SSL很痛苦,搞清楚如何安装和管理证书,然后如何将证书与一个网站相关联,我敢说是大多数web开发人员并不知道怎么做的事情。

  好消息是,IIS 7.0使配置和启用SSL成为小菜一碟。IIS 7.0现在对创建“自签证书(Self Signed Certificates)”也有内置的支持,自签证书允许你轻松地创建测试或个人证书,然后你可以用之来为开发或测试目的对一个网站快速启用SSL。

  使用IIS 7.0的话,你可以在30秒内对一个现有的网站完成启用SSL。下面的教程示范该怎么来做。

  第一步:创建一个新网站

  我们先使用新的IIS 7.0管理工具创建一个新的网站。这个管理工具是对以前IIS管理工具的完全重写的结果(是使用Windows Forms全部用托管代码写成的),提供了对web特性更逻辑的组织。它对所有的ASP.NET和IIS设置提供了一个GUI管理体验:

  

step0[1].jpg

 

  要在机器上创建一个新的网站,在左手的树形视图窗口里右击“网站(Web Sites)”节点,选择“添加网站(Add Web Site)”上下文菜单选项。输入适当的细节创建一个新的网站:

  

step1[1].jpg

 

  Windows Vista上IIS7的一个很棒的特性是,你现在可以在本机上拥有的网站数目不再受限制(早期Windows客户机上IIS版本只允许一个网站)。早期Windows客户机IIS版本的10个并发请求的限制在IIS 7.0上也不再存在。

  我们完成上面的步骤后,在我们的IIS web服务器上就有一个崭新的网站在运行了。

  第二步:创建一个新的自签证书

  在把SSL规则绑定到我们的新网站之前,我们首先需要引入和建立一个安全证书来用于SSL绑定。

  在IIS 7.0中,可以这么来管理证书,点击左手树形视图管理器里的根机器节点(root machine node),然后在右边的特性视窗里选择“服务器证书(Server Certificates)”图案:

  

step3[1].jpg

 

  这会列出在机器上注册了的所有证书,并允许你引入或者创建新的证书。

  我也可以去象Verisign这样的证书机构购买一个证书,然后用这个管理界面来引入。或者,我也可以创建一个“自签证书”,这是个测试证书,我可以在开发期间用来测试我的网站。可以这么做,在管理工具的右手边点击“创建自签证书(Create Self-Signed Certificate)”链接:

  

step4[1].jpg

 

  给证书输入一个名字 (譬如:“test”),点击OK. 然后IIS7就会自动为你创建一个自签加密证书(self-signed crypto certificate),同时与机器注册该证书:

  

step5[1].jpg

 

  第三步: 为我们的网站启用HTTPS绑定

  要给我们在前面创建的网站启用SSL,在左手边的树形视图窗口里选择网站节点,然后在屏幕右手边的“操作(actions)”视窗里点击“绑定(Bindings)”链接:

  

step6[1].jpg

 

  这会调出一个对话框,上面列出了将访问者(traffic)导向该网站的所有的绑定规则 (即,该网站的主机头(host-header)/IP地址/端口组合):

  

step7[1].jpg

 

  要给网站启用SSL,我们要点击“添加(Add)”按钮。这会调出一个“添加绑定(add binding)”对话框,我们可以用来添加HTTPS协议支持。我们可以从对话框上的SSL证书下拉框里选择我们先前创建的自签证书, 这么做表明在SSL上给内容加密时,我们要使用那个证书:

  

step8[1].jpg

 

  Click ok, and we now have SSL enabled for our site:点击OK,我们就给我们的网站启用了SSL:

  

step9[1].jpg

 

  第四步:对我们的网站做测试

  给网站添加一个“default.aspx”网页,然后在浏览器里输入 https://localhost/default.aspx 来试着访问该页,注意这里“https”(而不是“http”)的用法,表示你要通过SSL来连接。

  如果你使用IE7,你会看到这个谨防欺诈(anti-phishing)的错误信息:

  

step10[1].jpg

 

  如果这发生的话,别怕,这只不过是IE想帮你,向你表明你本地机器的自签证书看上去有点可疑。点击“继续连接这个网站(Continue to this website)”链接跳过这个安全警告,继续连接到该网站上。你会发现你的default.aspx网页现在是在SSL保护下运行的:

  

step11[1].jpg

 

  至此,全部完成!

  附录:几个关于SSL的注意事项

  最后,几个涉及SSL的注意事项:

  IIS 7.0管理工具有个“SSL设置(SSL Settings)”节点,你可以针对每个网站,目录或者文件来做选择,这允许你控制特定的资源执行时是否需要SSL请求。这对login.aspx这样的网页来说很有用,因为你要保证只有在加过密的通道上提交信息时,用户才能输入他们的身份信息。假如你配置login.asp需要SSL的话,IIS 7.0就会堵截浏览器的访问,除非是通过SSL来访问的。

  在ASP.NET网页或处理器(handler)里,你可以通过检查Request.IsSecure属性,用编程的手法检查当前请求是否使用了SSL(假如进来的浏览器请求是通过SSL的,该属性会返回true)。

  你可以设置web.config文件中的 配置部分的“requireSSL”属性,要求ASP.NET的表单认证系统确保表单认证cookie只有在启用了SSL的网页和URLs上才可以设置和使用。这避免了黑客在不受SSL保护的网页上试着拦截认证cookie,然后试着从另外的机器上使用“重放攻击(Replay Attack)”来冒充用户的危险。

  • 波浪
  • 波浪
  • 工作:9:00-24:00
  • 免长途热线