原文:Chapter 1 Securing Your Server and Network(5):使用SSL加密会话

原文出处:http://blog.csdn.net/dba_huangzj/article/details/38063823,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349

未经作者同意,任何人不得以“原创”形式发布,也不得已用于商业用途,本人不负责任何法律责任。

前一篇:http://blog.csdn.net/dba_huangzj/article/details/38037457

前言:

在SQL Server和客户端之间,数据和SQL查询会以网络包的形式传输。可以使用一些包嗅探器,如Wireshark(http://www.wireshark.org/)等,把这些网络包转换成可读形式。

Tabular Data Stream (TDS),表格数据流,也有译成扁平数据流,是SQL Server在网络中传输包的协议。如果想保护这些数据不被嗅探器侦测,需要使用SSL加密客户端和服务器之间的交互。

准备工作:

如果你希望使用SSL保护通信,需要从凭证管理中心(Certificate Authority /CA)如VeriSign, Comodo, 或者 DigiCert购买SSL证书。也可以自己生成证书,但是并不是保证效果,特别是由不被信任的第三方生成的证书,安全性不高。

为了让SQL Server使用证书,需要以运行SQL Server服务的相同帐号安装证书。或者,如果SQL Server服务由Windows 系统帐号、托管帐号或者虚拟帐号运行SQL Server服务,那么要使用服务器上有管理员权限的帐号来安装证书。

实现:

1. 打开SQL Server配置管理器,选择【SQL Server 网络配置】,并选择对应的实例,本例使用【SQL2012的协议】如图:

2.右键对应的协议 ,选择【属性】:

3. 把【标志】页中的【强制加密】项设为【是】,这会使得你不允许非加密连接:

4. 在【证书】页,添加已经安装好的证书。注意,如果你没有选择证书,SQL Server会自动创建并使用一个【自签名】证书。

5.点击确定并重启SQL Server服务。

原理:

当你选择了强制加密之后,客户端会自动使用SSL连接。你也可以在客户端连接字符串中指定,比如:

Driver={SQL Server Native Client 11.0};Server=myServerAddress;Database=myDataBase; Trusted_Connection=yes;Encrypt=yes;

另外还可以在SSMS中使用下面方式连接:

1. 在【连接到服务器】的界面中,打开【选项】:

2.在【连接属性】中勾上【加密连接】:

3. 点击【连接】

4.然后可以在SQL Server中查看是否已经加密:

SELECT encrypt_option FROM sys.dm_exec_connections WHERE session_id = @@SPID;

如果已加密,会显示【True】,否则显示【FALSE】

注意:证书必须有效,并且必须在证书过期前更新。

下一篇:http://blog.csdn.net/dba_huangzj/article/details/38082123

Chapter 1 Securing Your Server and Network(5):使用SSL加密会话的更多相关文章

  1. Chapter 1 Securing Your Server and Network(10):使用扩展保护避免授权中继攻击

    原文:Chapter 1 Securing Your Server and Network(10):使用扩展保护避免授权中继攻击 原文出处:http://blog.csdn.net/dba_huang ...

  2. Chapter 1 Securing Your Server and Network(9):使用Kerberos用于身份验证

    原文:Chapter 1 Securing Your Server and Network(9):使用Kerberos用于身份验证 原文出处:http://blog.csdn.net/dba_huan ...

  3. Chapter 1 Securing Your Server and Network(8):停止未使用的服务

    原文:Chapter 1 Securing Your Server and Network(8):停止未使用的服务 原文出处:http://blog.csdn.net/dba_huangzj/arti ...

  4. Chapter 1 Securing Your Server and Network(7):禁用SQL Server Browse

    原文:Chapter 1 Securing Your Server and Network(7):禁用SQL Server Browse 原文出处:http://blog.csdn.net/dba_h ...

  5. Chapter 1 Securing Your Server and Network(6):为SQL Server访问配置防火墙

    原文:Chapter 1 Securing Your Server and Network(6):为SQL Server访问配置防火墙 原文出处:http://blog.csdn.net/dba_hu ...

  6. Chapter 1 Securing Your Server and Network(4):使用虚拟服务帐号

    原文:Chapter 1 Securing Your Server and Network(4):使用虚拟服务帐号 原文出处:http://blog.csdn.net/dba_huangzj/arti ...

  7. Chapter 1 Securing Your Server and Network(3):使用托管服务帐号

    原文:Chapter 1 Securing Your Server and Network(3):使用托管服务帐号 原文出处:http://blog.csdn.net/dba_huangzj/arti ...

  8. Chapter 1 Securing Your Server and Network(1):选择SQL Server运行账号

    原文:Chapter 1 Securing Your Server and Network(1):选择SQL Server运行账号 原文出处:http://blog.csdn.net/dba_huan ...

  9. Chapter 1 Securing Your Server and Network(1):选择SQL Server业务经理

    原版的:http://blog.csdn.net/dba_huangzj/article/details/37924127  ,专题文件夹:http://blog.csdn.net/dba_huang ...

随机推荐

  1. 获取Google音乐的具体信息(方便对Google音乐批量下载)

    Google音乐都是正版音乐, 不像百度所有都是盗链, 并且死链也多. 但有一个麻烦就是要下载Google音乐的时候得一个一个的点击下载链接, 进入下载页面再点"下载", 才干下载 ...

  2. Creating Contextual Menus创建上下文菜单

    A contextual menu offers actions that affect a specific item or context frame in the UI. You can pro ...

  3. js面向对象编程:命名空间

    在其它语言中为了避免类和方法重名问题,都有一个类似命名空间的概念,在js中实现类似的功能吗? 能够实现,主要是借助于js中对象的概念来实现,比如:  1 在命名空间中定义方法属性 var GiantC ...

  4. 007 字符串(keep it up)

    如果你有一个isSubstring函数.能够检測一个字符串是否是还有一个字符串的子串.  给出字符串s1和s2.仅仅使用一次isSubstring就能推断s2是否是s1的旋转字符串, 请写出代码.旋转 ...

  5. [置顶] quartznet任务调度和消息调度(JAVA与C#版对比)

    quartznet任务调度和消息调度 1.  作用 自动执行任务. 2.  下载地址 NET版本 JAVA版本 1下载 http://quartznet.sourceforge.net/downloa ...

  6. 【架构之路之WCF全析(一)】--服务协定及消息模式

    上周微软开公布会说.NET支持全然跨平台和并开放Core源代码的新闻,让我们顿时感到.NET要迎来它的春天.尽管早在几年前.NET就能开发Android和IOS,可是这次的跨平台把Linux都放到了微 ...

  7. 【甘道夫】Apache Hadoop 2.5.0-cdh5.2.0 HDFS Quotas 配额控制

    前言 HDFS为管理员提供了针对文件夹的配额控制特性,能够控制名称配额(指定文件夹下的文件&文件夹总数),或者空间配额(占用磁盘空间的上限). 本文探究了HDFS的配额控制特性,记录了各类配额 ...

  8. 简单fcgi程序

    1.头文件 #include <fcgi_stdio.h> 2.while(FCGI_Accept()>=0)//这里进入循环,前台每请求一次fcgi服务,就循环一次 循环内处理: ...

  9. ORA-00020的思考

    今天,历史的图书馆例行检查DB,发现alert.log有一"ORA-00020: maximum number of processes (150) exceeded",这是一个常 ...

  10. 解决alaert.builder二次调用报错的bug

    报错的代码是: The specified child already has a parent. You must call removeView() on the child's parent f ...