`
ideage
  • 浏览: 324104 次
社区版块
存档分类
最新评论

安全第一,在sql server和client之间配置ssl连接

阅读更多
MS SQL Server的密码明文传输是安全上的一个缺陷。具体的我就不描述了,有兴趣可以参考一下这个文章:深入探索sql2000网络连接安全问题
所以我只能说说我是怎么实现sql server 2000的ssl的。因为资料很多,我只说一个大概步骤。并且我把我用过的资料、我遇到的问题都在后面列举出来了。需要的可以自己参考
关于启用 sql server 2000 ssl 连接的操作
在默认情况下,Sql Server2000对于客户端的连接是明文的,有可能被网络中的其他恶意攻击者使用嗅探软件所监听。所以在需要高度安全性的场合,可以考虑在客户端和服务器端使用ssl连接以提高安全性。
配置sql2000使用ssl ,必须在网络中存在Certificate Server 。配置步骤:
1. 在“添加删除程序”-添加组建—选择“证书服务”
2. 按照证书服务的提示,选择安装企业根ca或者独立根ca 。我选择的是独立根ca
3. 完成安装后,确认管理工具里面,出现“证书颁发机构”的插件
下面是为sql server 请求一个证书的操作:
1. 如果前面选择的是独立根ca的话,打开ie浏览器。在地址栏输入:http://servername/certsrv ,向你的证书服务器提交一个证书申请。
2. 在申请页面,选择请求证书—高级请求—使用表格提交请求,下一步
3. 在证书内容里面,要填写证书的名称。这里要注意名称必须选择服务器的fqdn名称,否则有可能会出现错误。申请的证书选择“服务器验证证书(Server Authentication Certificate)”,并且选择“使用本地计算机存储”,提交请求
4. 在ca中许可这个申请,然后在ie中选择察看提交的申请选项,并且安装证书
下面可以确认证书安装是否正确:
1. 在ie—属性—内容—证书选项,查看是否存在刚才颁发的证书,并且作用为“服务器身份验证”
2. 打开mmc控制台,添加“证书”插件(包括计算机帐号)。确认刚才颁发的证书存在。

Sql服务器上的操作:
1. 在sql的“服务器实用工具(SQL Server Network Utility)”里,选择“强制使用协议加密”
2. 重新启动MSSQLServer service 。确认能正常启动
3. 在“客户端实用工具” ,选择“强制使用协议加密”

测试:
可以使用Query Analyzer和ODBC application进行连接,然后使用网络监视软件进行抓包,确认是否启用了ssl 。

常见错误:
1. 在安装证书服务的时候,将证书服务的名称设置成和主机名一样的名称。这样会导致sql server在初始化时失败,这个问题可以看kb:http://support.microsoft.com/default.aspx?scid=kb;en-us;302409&Product=sql2k
2. 在申请证书的时候,证书的名称没有使用fqdn完全限定域名。这是引起sql server “SSL Security error :ConnectionOpen (SECDoClientHandshake()”错误的原因之一。Kb309398阐述了这个问题:http://support.microsoft.com/default.aspx?scid=kb;en-us;309398&Product=sql2k
3. 关于可以参考的安装配置文章:HOW TO: Enable SSL Encryption for SQL Server 2000 with Certificate Server 可以参看kb:http://support.microsoft.com/default.aspx?scid=kb;en-us;276553&Product=sql2k#2(有ppt可下载)
http://support.microsoft.com/default.aspx?scid=kb;en-us;324777&Product=sql2k
分享到:
评论
1 楼 litsen 2010-01-20  
在配置ms sqlserver的过程中遇到些问题,从Google处扫索到了此处。

我的基本配置是这样的:ms windows server 2003(服务器名faserver) + ms sql server 2008

博主的文章中提到申请证书时,证书名称必须是服务器的fqdn名称,我的服务器没有配置域,此处fqdn名称应该是主机名(faserver),或是主机IP地址(从网上搜得别一篇相关文章中说也可以用IP替代fqdn)?

按照博主博文步骤,一步步来,遇到两处不明白的地方:

1 在未安装自生成的证书前,sqlserver configuration tool中,如果配置安全连接,证书下拉列表中就已经存在一个名称为faserver的可用证书,没搞懂这个证书从何而来?

2 安装自生成证书后,在configuration tool中,证书下拉列表处仍然只有faserver一个证书,并没有看到自生成的证书。

望博主能忙里抽空回答一下。谢谢

相关推荐

    c++连接远程sqlserver

    1. **安装ODBC驱动**:在C++中使用ODBC之前,你需要确保已安装适用于SQL Server的ODBC驱动,比如Microsoft的"SQL Server Native Client"或"ODBC Driver for SQL Server"。这些驱动程序提供了与SQL Server通信的接口...

    SQLServer2000JDBC驱动程序

    - JDBC驱动还涉及安全配置,如SSL加密连接、角色管理以及权限控制。这些可以通过设置连接URL中的相关参数来实现,确保数据传输的安全性。 综上所述,SQLServer2000 JDBC驱动程序是Java开发者与SQL Server 2000进行...

    sqlserver2000 jdbc

    1. 下载:从官方渠道或可靠的第三方网站下载适合SQLServer 2000的JDBC驱动JAR文件,通常文件名为`sqljdbc.jar`或`msjdbc.jar`等。 2. 添加依赖:将下载的JAR文件放入Java项目的类路径中,如果是Maven项目,可以在...

    instantclient_11_2_64bit

    - PL/SQL Developer是一款专用于Oracle数据库的集成开发环境,支持编写、调试和优化PL/SQL代码,它依赖于Instant Client来实现与数据库的连接。 - Navicat是一款跨平台的数据库管理工具,支持多种数据库系统,包括...

    oracle instantclient 12_1 odbc

    在这个特定的"oracle instantclient 12_1 odbc"版本中,我们主要关注的是ODBC(Open Database Connectivity)组件,这是一种用于在不同操作系统和编程语言之间提供数据库访问标准的接口。以下是对这个主题的详细解释...

    WINCE 访问SQL2000数据库

    在Windows CE(简称WINCE)环境下访问SQL Server 2000数据库是一项常见的任务,尤其在PDA(个人数字助手)设备开发中。这涉及到移动设备与服务器之间的数据交互,以便实现离线数据处理和同步。以下是关于这个主题的...

    citrix 中文管理操作手册

    在启用了用户帐户控制的情况下安装和配置 SSL Relay 工具 135 获取并安装服务器和根 SSL 证书 136 选择 SSL 证书颁发机构 136 获取已签名 SSL 证书和密码 137 启用 SSL Relay 并选择中继凭据 137 1.8.5.2.5. TCP ...

    vCenter Server 和主机管理指南

    - **数据库设置**:配置vCenter Server连接到数据库的方式,确保数据的一致性和完整性。 - **SSL证书验证**:确保与旧版主机之间的通信安全。 - **高级设置**:提供更多的配置选项,以满足特定需求。 #### 提供...

    CAS单点登录配置步骤说明书

    在配置SSL的过程中,第一步是生成证书。这一步骤可以通过Java提供的`keytool.exe`工具来完成。具体的命令如下: ```bash keytool -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore ``` 这里解释一下...

    oracleLient

    在本文中,我们将深入探讨Oracle客户端的配置过程以及如何使用PL/SQL进行连接。 首先,安装Oracle客户端是必要的第一步。这通常包括Oracle Instant Client或完整的Oracle Database Client。Instant Client是一种轻...

    VMWare虚拟化软件平台用户手册.docx

    配置vCenter涉及调整各种设置,如SSL证书、用户权限、警报阈值等,以满足组织的安全和管理需求。此外,还需要确保vCenter服务器能够正常连接到所有的ESXi主机,以便管理和监控虚拟机。 第2章:VMware vSphere安装 ...

    NetBackup81_Network_Ports_Reference_Guide.pdf

    NetBackup支持使用SSL/TLS进行安全通信,这可能涉及到额外的端口和证书配置。默认情况下,NetBackup使用443端口进行HTTPS通信,但这个端口可以根据组织的安全策略进行调整。 三、数据库连接 NetBackup使用SQL...

    C/S登录与认证

    在IT行业中,C/S(Client/Server)架构是一种常见的分布式应用模式,主要用于构建客户端和服务器之间的通信系统。在这个场景中,我们关注的是“C/S登录与认证”这一主题,这通常涉及到用户身份验证、安全传输以及...

    navicat12.rar

    - **SSH 和 SSL 链接**:通过 SSH 和 SSL 加密,保证远程数据库连接的安全性。 - **预定任务**:创建和调度自动化任务,如备份、同步和脚本执行。 - **SQL 编辑器**:提供智能提示、代码折叠和自定义代码片段等功能...

    NetBackup772_RefGuide_Network_Ports.pdf

    1. **网络端口使用**:NetBackup操作涉及多个端口,这些端口用于不同组件之间的通信,包括Media Server(介质服务器)、Master Server(主服务器)、Catalog(目录)和Clients(客户端)。了解并配置这些端口对于...

    mysql 服务端 加客服端

    - 加密连接:启用SSL连接可以加密客户端和服务端之间的通信,保护数据安全。 5. **性能优化**: - 索引优化:合理创建和使用索引可以显著提高查询速度。 - 查询优化:避免全表扫描,利用EXPLAIN分析查询计划,...

    Mysql客户端服务端安装包

    1. 下载安装包:首先,你需要从MySQL官方网站或可靠的第三方源下载对应操作系统的安装包,确保它包含了服务端和客户端的组件。 2. 安装服务端:运行安装程序,选择“Server-only”或“Server with Client”模式。...

    mysql安装配置教程.txt

    - **安全性**:支持多种安全特性,如SSL加密、用户权限管理等。 - **跨平台性**:可以在多种操作系统上运行,包括Windows、Linux、Mac OS X等。 - **稳定性**:经过长时间的实际应用验证,具有较高的稳定性和可靠...

    clickhouse安装包20.8.rar

    为了保护数据安全,你需要配置用户权限、使用SSL加密通信,以及考虑如何横向扩展ClickHouse集群以应对更大的数据量和查询负载。 通过以上步骤,你就可以成功安装并运行ClickHouse数据库了。理解并掌握这些知识点,...

Global site tag (gtag.js) - Google Analytics