• (1.3.2)登录验证(加密连接与登录验证)


    1.加密连接

      与之前版本不同的是,在sql server 2005中,始终对客户端应用程序与sql server2005连接时传输的凭证(在登录数据包中)进行加密。加密使用可信证书颁发机构颁发的证书(如果可用)进行;如果未安装可信证书,则在启动实例时sql server将生成自签名证书,并使用自签名证书对凭据进行加密。

      如果要对在sql server 实例和客户端应用程序之间传输的所有数据进行加密,则需要将sql server网络协议的ForceEncryption 选项值设置为 '是'。该选项可以通过sql server【配置工具】中的【sql server配置管理器进行设置】

      (1)sql server服务端配置

        【1】依次单击  开始-》程序-》Microsoft sql server 2005 -》配置工具-》 sql server configuration manager

        

        【2】在界面中展开左侧列表 sql server 2005网络配置,右击要配置的实例协议

          

        【3】如果设置为事,则所有的数据传输都要求以加密形式进行;如果设置为否,则由客户端决定发起的会话是否需要加密。

      注意:传输的凭证(在登录数据包中)始终被加密

        【4】在【证书】选项卡中,可以配置sql server使用可信证书颁发机构办法的证书进行加密:如果不配置指定的证书,则使用自签名证书进行加密。

      (2)sql server客户端配置

      【1】依次单击  开始-》程序-》Microsoft sql server 2005 -》配置工具-》 sql server configuration manager

      【2】右键左侧列表中的 sql server Native client-》打开【属性】,ForceEncryption属性确定是否强制进行协议加密,设置为事,表示所有的数据传输都要求以加密的形式进行;设置为否,表示不要求加密传输的数据。

      (3)证书申请

      自签名证书有助于提高安全性,但它不提供身份验证,容易在传输中途受到攻击。在生产环境中或在链接到interNet的服务器上,应该使用可信证书颁发机构颁发的证书进行SSL加密。这要求在sql server实例的计算机上安装证书颁发机构颁发的服务器证书,并且客户端必须新人同一个根证书签发颁发机构。

      用户sql server 2005 的SSL 加密需求的证书需满足一下条件:

      --证书的subject属性必须指明共用名称(CN)与主机名或服务器完全限定的域名一样。如果sql server在故障转移群集中运行,则共用名称必须与虚拟服务器的主机名或FQDN相同,并且在故障转移群集的所有节点上都必须提供这些证书。

      --证书必须用于服务器身份验证。这要求使用该证书的增强型密钥用法属性执行服务器身份验证(1.3.6.1.5.5.7.3.1)

      --后面省略了,太多了,有兴趣的朋友可以自行百度。

    2.登录验证

      (1)登录身份

      分为2种,一个是sql server登录(账户密码形式),一种是windows登录(域形式)

      【1】sql server登录

    --基本用法
    create
    login log_name with password = 'password' [HASHED] [MUST_CHANGE] --HASHED:哈希运算密码 MUST_CHANGE:第一次登录必须要密码 [,SID = sid] [,DEFAULT_DATABASE = database] --默认所属数据库 [,DEFAULT_LANGUAGE = language] --默认语言 [,CHECK_EXPIRATION = {ON|OFF}] --如果为on,指示对此登录启用密码强制过期策略。
    [,CHECK_POLICY = {ON|OFF}]   --如果为ON,表示对此登录名强制运行实例计算机上的windows密码策略;
    [,CREDENTIAL = credential_name]

      【2】windows登录

      windows登录时操作系统的windows登录在sql server中的登录映射,这意味着windows登录除了需要再sql server中创建之外,还需要在操作系统中创建与之对应的登录。

      

    
    
    --login_name 必须与操作系统的windows登录对应,域名用户名或组名。被映射的windows登录可以是组或者具体的用户;
    --如果是组,则该组的所有成员登录时都使用此sql server映射中的windows登录进行身份验证。

    create
    login login_name from windows [ with [,DEFAULT_DATABASE = database] [,DEFAULT_LANGUAGE = language] ]

      无论是sql server登录还是windows登录,都可以使用ALTER LOGIN修改其属性,通常通过DISABLE与ENABLE选项禁用/启用摸个登录。sql server登录密码修改一般也通过ALTER LOGIN来完成。

      (3)身份验证和身份验证模式

      当用户用值得的登录名称和密码从非新人连接进行连接时,sql server通过检查是否已设置sql server登录账户,以及指定的密码是否与以前记录的密码匹配,自行进行身份验证。如果sql server未设置登录账户,则身份验证失败,而且用户将受到错误信息。

      当用户通过用户账户进行连接时,sql server通过回叫windows以获得用户当前登录windows的信息来重新验证账户名和密码。也就是说,使用windows身份登录时,用户无法指定连接sql server的用户名和密码。

      【1】 windows身份验证模式

      windows身份验证模式仅允许使用windows登录来访问sql server实例。

      【2】混合模式(windows身份验证和sql server身份验证)、

      在混合模式下,这两种模式均可用于访问sql server实例。

      身份验证模式可以在安装sql server实例时设置。在安装sql server视力好,也可以随时调整身份验证模式。

      --操作步骤如下

      --打开ssms,在对象资源管理器中连接到需要操作的实例,如果没有打开它可以按F8打开或【视图】-》【对象资源管理器】

      --右击实例名,属性

      --在弹出界面中点击【安全性】选项卡 ,在服务器身份验证选项组中,可以修改。

      --如图

      

      

  • 相关阅读:
    【转】ps墨镜哥教你怎么变成合影帝
    【转】MySQL修改密码方法总结
    【技术贴】五分钟解决打开软件提示windows正在设置Microsoft Office Profes
    【技术贴】IIS相关问题解决笔记。
    【技术贴】五分钟解决打开软件提示windows正在设置Microsoft Office Profes
    【转】小生我怕怕工具包[2010.06.17](转自52破解论坛)
    【技术贴】Realtek HD声卡下QQ语音话筒没声音解决办法
    【技术贴】所有好友的QQ空间都打不开进不去的超简单解决办法!
    ASP.NET IIS 注册工具
    关于服务器如何设置动易系统数据库路径的方法
  • 原文地址:https://www.cnblogs.com/gered/p/9174671.html
Copyright © 2020-2023  润新知