<b>手把手教您如安在IIS 7.0上安装SSL</b>[服务器安全]
本文“<b>手把手教您如安在IIS 7.0上安装SSL</b>[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在IIS 7.0 和IIS 6.0中配置SSL的高级别步骤基本相同:
· 获得符合的证书
· 在网站成立HTTPS衔接
· 通过向该网站发送恳求来举行测试
· 挑选性地配置SSL选项,比方将SSL作为必要条件
本文供应了一些有效的信息,以及若何操纵差别的方法启用SSL:
· 利用IIS管理器用户界面(GUI)
· 利用appcmd号令行工具
· 通过Microsoft.Web.Administration举行编程
· 操纵WMI脚本
SSL配置
从IIS 6.0到IIS 7.0,SSL的安装布置也有所改变,在Windows Server 2003中,全部的SSL配置都存储在IIS元数据库中,并且加密/解密历程都发生在用户情势(需求大量的内核情势/用户情势间的转换),在Windows Vista 和Windows Server® 2008中,HTTP.sys处理内核情势的SSL加密/解密历程,为安全衔接供应了更好的性能.
将SSL转移到内核情势需求将SSL衔接存储在两个地方,首先,该衔接需求被存储在网站的以下位置: %windir%\system32\inetsrv\applicationHost.config ,当网站启动时,IIS 7.0会将衔接发送到HTTP.sys,然后HTTP.sys开始接纳拟定IP:Port的恳求(对全部衔接有效).其次,与该衔接相关的SSL配置被存储在HTTP.sys配置中,利用netsh来查看存储在HTTP.sys中的SSL配置:
netsh http show sslcert
当客户端衔接并启动一个SSL变更时,HTTP.sys会查看其SSL配置中该客户端衔接到的IP:Port对的信息,HTTP.sys的SSL配置必须保护一个证书和证书存储位置的名称,以完成SSL变更.
疑问懂答:假如SSL衔接碰到艰难,该当确认该衔接是在applicationHost.config中配置的,并确保HTTP.sys 存储中包含有效的证书以及存储名称.
挑选证书
你但愿终究用户可以通过证书来考证服务器的身份吗?假如是的话,可以成立一个证书恳求,然后将证书恳求发送至已知的CA(如VeriSign大概GeoTrust),大概在企业内部网域的CA处获得证书,浏览器普通会查抄服务器证书的三个问题:
1. 证书日期是有效的
2. 证书的“公用名称(CN)”与恳求中的主机名称相匹配,比方,假如某客户端向以下网址发送恳求: http://www.contoso.com/,,那么CN也必须是http://www.contoso.com/
3. 证书公布方是出名的可托赖的CA
假如这三项查抄失利时,浏览器会向用户发出告诫.假如互联网网站大概内部局域网中存在不熟习的终究用户,最好始终确保履行以上三个参数的查抄.
自签名证书是指计算机自己公布的证书,这种证书实用于终究用户不需求信任服务器的环境中,比方测试环境等.
AppCmd
你不能利用appcmd发送恳求大概成立证书,一样也不能成立SSL衔接.
配置SSL设置
你可以利用appcmd配置网站只能举行服务器https衔接,只需通过改正拜候设置中的sslFlags属性便可.比方,在applicationHost.config(即:–commitPath:APPHOST)中为“Default Web Site”配置设置:
D:\Windows\system32\inetsrv>appcmd set config "Default Web Site" -commitPath:APPHOST -section:access -sslFlags:Ssl
Applied configuration changes to section "system.webServer/security/access" for
"MACHINE/WEBROOT/APPHOST/Default Web Site" at configuration commit path "MACHINE
/WEBROOT/APPHOST"
假如需求128位的SSL,将sslFlags值改成Ssl128
下面的示例展示的是查看Default Web Site 的区域设置,sslFlags属性已经设置成功:
D:\Windows\system32\inetsrv>appcmd list config "Default Web Site" -section:access
后来果是:<system.webServer>
<security>
<access flags="Script, Read" sslFlags="Ssl" />
</security>
</system.webServer>
WMI
你不能利用WebAdministration WMI命名控件发送恳求大概成立证书
成立SSL衔接
该脚本显示了若何成立新HTTPS衔接以及为HTTP.sys和IIS 7.0增添符合的配置:
Set oIIS = GetObject("winmgmts:root\WebAdministration")
'''''''''''''''''''''''''''''''''''''''''''''
' CREATE SSL BINDING
'''''''''''''''''''''''''''''''''''''''''''''
oIIS.Get("SSLBinding").Create _
"*", 443, "4dc67e0ca1d9ac7dd4efb3daaeb15d708c9184f8", "MY"
'''''''''''''''''''''''''''''''''''''''''''''
' ADD SSL BINDING TO SITE
'''''''''''''''''''''''''''''''''''''''''''''
Set oBinding = oIIS.Get("BindingElement").SpawnInstance_
oBinding.BindingInformation = "*:443:"
oBinding.Protocol = "https"
Set oSite = oIIS.Get("Site.Name='Default Web Site'")
arrBindings = oSite.Bindings
ReDim Preserve arrBindings(UBound(arrBindings) + 1)
Set arrBindings(UBound(arrBindings)) = oBinding
oSite.Bindings = arrBindings
Set oPath = oSite.Put_
注意:证书信号和存储位置必须触及服务器上一个真正的有效的证书,假如证书信号和/或存储名称是假的,脚本将会呈现错误.
配置SSL 设置
以下脚本显示了若何通过IIS 7.0 WMI供应程序设置SSL:
This value can be found in the IIS_Schema.xml file
CONST SSL = 8
Set oIIS = GetObject("winmgmts:root\WebAdministration")
Set oSection = oIIS.Get( _
"AccessSection.Path='MACHINE/WEBROOT/APPHOST',Location='Default Web Site'")
oSection.SslFlags = oSection.SslFlags OR SSL
oSection.Put_
以上是“<b>手把手教您如安在IIS 7.0上安装SSL</b>[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |