zoukankan      html  css  js  c++  java
  • 利用SSL加密HTTP通道加强IIS安全性

    由于NT系统的易维护性,越来越多的中小企业在自己的网站上和内部办公管理系统上采用它,而且很多都是用默认的IIS来做WEB服务

    器使用。当然不能否认近来威胁NT系统的几个漏洞都是由于IIS配置不当造成的,未来IIS还会被发现很多新的漏洞和安全问题,但只

    要我们做好合理的安全配置,还是可以避免很多安全隐患的。现在让我们来说说如何从利用SSL加密HTTP通道来讲如果加强IIS安全的

    建立SSL安全机制
        IIS的身份认证除了匿名访问、基本验证和Windows NT请求/响应方式外,还有一种安全性更高的认证,就是通过SSL(Security

    Socket Layer)安全机制使用数字证书。SSL(加密套接字协议层)位于HTTP层和TCP层之间,建立用户与服务器之间的加密通信,确

    保所传递信息的安全性。SSL是工作在公共密钥和私人密钥基础上的,任何用户都可以获得公共密钥来加密数据,但解密数据必须要

    通过相应的私人密钥。使用SSL安全机制时,首先客户端与服务器建立连接,服务器把它的数字证书与公共密钥一并发送给客户端,

    客户端随机生成会话密钥,用从服务器得到的公共密钥对会话密钥进行加密,并把会话密钥在网络上传递给服务器,而会话密钥只有

    在服务器端用私人密钥才能解密,这样,客户端和服务器端就建立了一个惟一的安全通道。
       建立了SSL安全机制后,只有SSL允许的客户才能与SSL允许的Web站点进行通信,并且在使用URL资源定位器时,输入https:// ,

    而不是http:// 。
      简单的说默认情况下我们所使用的HTTP协议是没有任何加密措施的,所有的消息全部都是以明文形式在网络上传送的,恶意的攻击

    者可以通过安装监听程序来获得我们和服务器之间的通讯内容。这点危害在一些企业内部网络中尤其比较大,对于使用HUB的企业内

    网来说简直就是没有任何安全可讲因为任何人都可以在一台电脑上看到其他人在网络中的活动,对于使用交换机来组网的网络来说虽

    然安全威胁性要小很多,但很多时候还是会有安全突破口,比如没有更改交换机的默认用户和口令,被人上去把自己的网络接口设置

    为侦听口,依然可以监视整个网络的所有活动。
      所以全面加密整个网络传输隧道的确是个很好的安全措施,很可惜的是现在网络上有关于具体给IIS配置SSL的文章并不是很多,我

    简单的摸索了下把我的经验拿出来给大家分享。

    操作办法
      以WIN2000服务器版本为例子,我们首先需要在控制面板里的填加删除WINDOWS组件中去安装证书服务,这个服务在默认安装中是没

    有安装在系统里的,需要安装光盘来安装。
      然后选择独立根CA的安装类型。然后在下一步中给自己的CA起一个名字来完成安装就可以了。
      安装完成后,我们就可以启动我们的IIS管理器来申请一个数字证书了,启动INTERNET管理器选择我们需要配置的WEB站点:
    选择站点属性里的,目录安全性-安全通信-服务器证书
      由于我们是第一次配置,所以选择创建一个新的证书。用默认的站点名称和加密位长设置就可以了。
      其实上面的设置都是非常简单的,最好选择一个地方把我们刚才生成的一个请求证书保存起来。

      完成上面的设置后,我们就要把我们刚刚生成的服务器证书提交给我们刚刚在本地安装的证书服务器。在默认情况下证书服务器完

    成安装后会在本地的IIS里的WEB服务器里面生成几个虚拟的目录。
      (1)打开http://localhost/CertSrv/default.asp
      (2)选择申请证书
      (3)在选择申请类型的时候,选择高级申请。
      (4)选择使用base64的编码方式来提交我们的证书申请。
      (5)在证书申请的地方把我们刚刚生成的certreq.txt的内容拷备进去,然后选择提交。
      (6)提交成功以后,会返回一个页面给我们告诉我们证书已经成功提交了,现在是挂起状态就是等待CA中心来颁发这个证书了。
      (7)接下来启动管理工具里的证书颁发机构,在待定申请中找到我们刚刚的申请条目然后点击鼠标右键选择颁发就好了。
      (8)颁发成功以后我们在颁发的证书里找到刚才颁发的证书,双击其属性栏目然后在详细信息里选择将证书复制到文件
      (9)我们需要把证书导出到一个文件,这里我们把证书导出到c:\ sql.cer这个文件里。
      (10)重新回到IIS的WEB管理界面里重新选择证书申请,这个时候出来的界面就是挂起的证书请求了。
      (11)选择我们导处的sql.cer这个文件.确定一切信息正确以后,就可以点击下一步确定来完成SSL的安装了。
      (12) 默认安装结束后,SSL并没有启动我们需要自己给我们的站点SSL的加密通道,并且确定HTTPS使用的端口是443 。
      
      第一次通过HTTPS进入站点的时候,会有一个对话框让我们确认是否同意当前证书,选择同意
      这个时候我们看这个网站的时候所有信息在网上就是以加密的方式来传送的了,任何人都无法再轻易了解其中的内容了。
      加密过的SSL会比普通的没有加密的WEB浏览的时候慢一点,主要是因为加密的隧道额外还要占用一点CPU的资源,对于那些没有任

    何秘密可言的WEB站点没有需要用加密的SSL通道。只要对于那些重要的目录和站点才有这个必要性。

  • 相关阅读:
    C#.Net Winform 应用程序莫名其妙崩溃。
    不小心点击安装了搜狗手机助手,顿时有一种草搜狗全体人员的感觉。
    家乐福张江店班车时刻表
    为什么学习设计模式
    同一端口如何区分不同的Socket
    用命令行CMD .bat 相关操作 如: 创建快捷方式 复制文件等
    C++ 时间获取和时间测量
    get all ODBC drivers 驱动
    命令行 编译C#.NET项目
    如何打开.hlp文件指定的topic
  • 原文地址:https://www.cnblogs.com/younggun/p/1685076.html
Copyright © 2011-2022 走看看