Sqlserver安全篇之_TLS的证书概念
证书的理解
参考Sqlserver的官方文档https://learn.microsoft.com/zh-cn/sql/database-engine/configure-windows/certificate-overview?view=sql-server-ver16
TLS(Transport Layer Security)传输层安全和SSL(Secure Sockets Layer)安全套接字层协议位于应用程序协议层和TCP/IP层之间,它们可在其中保护应用程序数据并将其发送到传输层。 TLS/SSL协议使用密码套件中的算法来创建密钥并对信息加密。 在建立连接的初始连接(预登录)阶段,客户端和服务器协商用于加密的协议版本和密码套件。SQL Server可以使用TLS对通过网络在SQL Server实例与客户端应用程序之间传输的数据进行加密。 TLS使用证书来实现加密。 从SQL Server 2016开始,SSL已停止使用。 改为使用TLS,SQL Server 2022引入了对TLS 1.3的支持。
数字证书是电子文件,其运行方式如同可验证用户或计算机身份的联机密码。 使用它们创建用于客户端通信的加密通道。 证书是由证明证书持有者的身份的证书颁发机构(CA)颁发的数字声明,它使各方可通过使用加密来安全地进行通信。
数字证书提供以下服务:
加密:它们有助于保护交换的数据不被盗窃或篡改。
身份验证:它们验证其持有者(用户、网站甚至是路由器等网络设备)自称的身份是否的确属实。 通常,身份验证是单向的,其中源会验证目标的身份,但也可以进行相互的 TLS 身份验证。
证书包含一个公钥,并将该公钥附加至用户、计算机或持有相应私钥的服务的身份。 公钥和私钥由客户端和服务器用于在数据传输前对数据进行加密。 对于 Windows 用户、计算机和服务,当在受信任的根证书存储中定义了根证书且该证书包含有效的证书路径时,将在CA中建立信任。 如果证书尚未被撤销(它不在 CA 的证书吊销列表或 CRL 中)或已过期,则将其视为有效。
数字证书的三种主要类型
1自签名证书:证书由创建它的应用程序签名,或使用 New-SelfSignedCertificate 创建。证书不会被客户端计算机和移动设备自动信任。 需要手动将证书添加到所有客户端计算机和设备上的受信任的根证书存储中,但并非所有移动设备都允许更改受信任的根证书存储。
2由内部CA颁发的证书:该证书由组织中的公钥基础结构颁发, 例如Active Directory证书服务。 证书不会被客户端计算机和移动设备自动信任。 需要手动将证书添加到所有客户端计算机和设备上的受信任的根证书存储中,但并非所有移动设备都允许更改受信任的根证书存储。
3由商业CA颁发的证书:证书是从受信任的商业CA购买的。证书部署简化,因为所有客户端、设备和服务器都自动信任证书。
若要证明证书持有者自称的身份属实,证书必须向其他客户端、设备或服务器准确地标识证书持有者。实现此目的的三种基本方法:
1证书使用者匹配:证书的“使用者”字段包含主机的公用名。例如,颁发给www.contoso.com的证书可用于网站https://www.contoso.com。只能将证书用于指定的主机。 例如,即使将服务安装在同一台服务器上,也不能对 ftp.contoso.com使用www.contoso.com 证书。与所有客户端、设备和服务都兼容。撤销某个主机的证书不影响其他主机。
2证书使用者可选名称匹配:除了“使用者”字段之外,证书的“使用者可选名称”字段还包含多个主机名的列表。 例如:www.contoso.com或ftp.contoso.com或ftp.eu.fabrikam.net。可以对多个不同域中的多个主机使用同一证书。在创建证书时,需要提供主机列表。你确切地知道哪些主机能够使用证书。
3通配符证书匹配:证书的“使用者”字段包含作为通配符()以及单个域或子域的公用名。 例如,.contoso.com通配符证书可用于:www.contoso.com或ftp.contoso.com或mail.contoso.com。很灵活。 在请求证书时,不需要提供主机列表,且可在将来可能需要的任何数量的主机上使用该证书。不能将通配符证书与其他顶级域一起使用, 例如,不能将 *.contoso.com 通配符证书用于 *.contoso.net 主机。只能在通配符级别上对主机名使用通配符证书, 例如,不能将 *.contoso.com 证书用于 www.eu.contoso.com, 也不能将 *.eu.contoso.com 证书用于 www.uk.eu.contoso.com。
Windows中查看证书的有效期的cmd命令
certutil -dump G:\Share\TLS\star.panaray.com.pem | findstr /C:"NotBefore" /C:"NotAfter"
certutil -dump G:\Share\TLS\star.panaray.com.pem | findstr "NotBefore NotAfter"
linux中查看证书的有效期的shell命令
openssl x509 -in /etc/elasticsearch/certs/star.panaray.com.pem -noout -dates
所以,现在如果公司局域网内的域名是dai.com,所有数据库服务器都在这个域名内,也就是说数据库服务器的FQDN完整主机名都是dbservername.dai.com这样子的,所以如果需要给公司局域网内的数据库服务器启用TLS,那么证书最好就是使用商业CA颁发的证书(数字证书的三种主要类型中的第三种),并且使用通配符来匹配证书(证明证书持有者自称的身份属实的三种方法中的第三种),通配符为*dai.com
相关文章:
Sqlserver安全篇之_TLS的证书概念
证书的理解 参考Sqlserver的官方文档https://learn.microsoft.com/zh-cn/sql/database-engine/configure-windows/certificate-overview?viewsql-server-ver16 TLS(Transport Layer Security)传输层安全和SSL(Secure Sockets Layer)安全套接字层协议位于应用程序协议层和TCP/…...

Kafka生产者相关
windows中kafka集群部署示例-CSDN博客 先启动集群或者单机也OK 引入依赖 <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.9.0</version></dependency>关于主题创建 理论…...
技术问题汇总:前端怎么往后端传一个数组?
场景 现在一个专门负责复习算法的服务,筛选出了用户今天需要复习的笔记的ids,现在要调用笔记服务根据ids查询的接口。 请问复习服务怎么将ids发到笔记服务,笔记服务怎么接收。 思路 发的时候肯定是用字符串,接收的时候…...
【03】STM32F407 HAL 库框架设计学习
【03】STM32F407 HAL 库框架设计学习 摘要 本文旨在为初学者提供一个关于STM32F407微控制器HAL(Hardware Abstraction Layer)库框架设计的详细学习教程。通过本文,读者将从零开始,逐步掌握STM32F407的基本知识、HAL库的配置步骤…...

智能图像处理平台:图像处理配置类
这里我们先修改一下依赖,不用JavaCV,用openCV。 导入依赖: <!-- JavaCV 依赖,用于图像和视频处理 --> <!-- <dependency>--> <!-- <groupId>org.bytedeco</groupId>--> &l…...

【图文详解】什么是微服务?什么是SpringCloud?
目录 一.认识微服务架构 ??微服务带来的挑战 二.微服务解决方案SpringCloud ??SpringCloud的版本 ??SpringCloud和SpringBoot的关系 ??SpringCloud实现方案 Spring Cloud Netfix Spring Cloud Alibaba ??Spring Cloud 实现对比 在入门Spring Cloud 之前&…...

基于ssm的校园跑腿管理系统+vue
作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 系统共有管理员、用户两个角色 管理员主要的功能用户信息管理、任务信息管理、任务类型管理、接单信息管理、公告信息管理、投诉信息管理、公告类型管…...

5个GitHub热点开源项目!!
1.自托管 Moonlight 游戏串流服务:Sunshine 主语言:C,Star:14.4k,周增长:500 这是一个自托管的 Moonlight 游戏串流服务器端项目,支持所有 Moonlight 客户端。用户可以在自己电脑上搭建一个游戏…...
docker通用技术介绍
docker通用技术介绍 1.docker介绍 1.1 基本概念 docker是一个开源的容器化平台,用于快速构建、打包、部署和运行应用程序。它通过容器化技术将应用及其依赖环境(如代码、库、系统工具等)打包成一个标准化、轻量级的独立单元,实…...

#渗透测试#批量漏洞挖掘#某图创图书馆集群管理系统updOpuserPw SQL注入(CVE-2021-44321)
免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停…...

智能合约安全 | 合约无效化攻击
目录: 智能合约安全 合约无效化攻击 合约自毁函数 selfdestruct 攻击实现 漏洞防御 总结 智能合约安全 合约无效化攻击 合约无效化攻击类同于web安全中的逻辑漏洞中的一种 我们这里拿一个典型的例子来讲解 有这样一份智能合约, 每个人可以向其中发送1 eth 第七个…...

RabbitMQ 的介绍与使用
一. 简介 1> 什么是MQ 消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。 其主要用途:不同进程Process/线程T…...
【手撕算法】K-Means聚类全解析:从数学推导到图像分割实战
摘要 聚类算法是探索数据内在结构的利器!本文手撕K-Means核心公式,结合Python代码实现与图像分割案例,详解: ✅ 欧氏距离计算 ✅ 簇中心迭代更新 ✅ 肘部法则优化 目录 摘要 目录 一、算法核心思想 二、数学原理详解 2.1 …...

【SQL技术】不同数据库引擎 SQL 优化方案剖析
一、引言 在数据处理和分析的世界里,SQL 是不可或缺的工具。不同的数据库系统,如 MySQL、PostgreSQL(PG)、Doris 和 Hive,在架构和性能特点上存在差异,因此针对它们的 SQL 优化策略也各有不同。这些数据库…...
RabbitMQ系列(二)基本概念之Publisher
在 RabbitMQ 中,Publisher(发布者) 是负责向 RabbitMQ 服务器发送消息的客户端角色,通常被称为“生产者”。以下是其核心功能与工作机制的详细解析: 一、核心定义与作用 消息发送者 Publisher 将消息发送到 RabbitMQ 的…...

OAK相机的抗震性测试
在工业环境中,双目视觉相机必须具备与工作环境同等的坚固性。鉴于部分客户会将我们的相机应用于恶劣环境(例如安装在重型机械上),我们依据EN 60068-2-6:2008标准对相机进行了振动耐受性测试。 测试涉及的相机型号包括:…...
2025最新Nginx高频面试题
2025最新Nginx高频面试题 摘要:本文整理了2025年企业高频Nginx面试题,覆盖核心原理、配置优化、安全防护及云原生场景实战,助你轻松应对技术面试! 核心原理篇 1. Nginx的Master-Worker架构优势是什么? 答案…...
【Kubernetes】API server 限流 之 maxinflight.go
这个文件实现了一个基于信号量(Channel)的简单限流器。 基础知识 总共有四种channel 带缓冲的channel nonMutatingChan、mutatingChan 都是带缓冲的channel ,这类channel 的特点是: 这允许最多 mutatingLimit /nonMutatingLimit 个请求同时获取令牌并执…...
推荐算法工程师的技术图谱和学习路径
推荐算法工程师的技术图谱和学习路径可以从多个维度进行概述,可以总结如下: 一、技术图谱 推荐算法工程师需要掌握的技术栈主要分为以下几个方面: 数学基础: 微积分、线性代数、概率论与统计学是推荐算法的基础,用于理解模型的数学原理和优化算法。高等数学、最优化理论…...

Milvus高性能向量数据库与大模型结合
Milvus | 高性能向量数据库,为规模而构建Milvus 是一个为 GenAI 应用构建的开源向量数据库。使用 pip 安装,执行高速搜索,并扩展到数十亿个向量。https://milvus.io/zh Milvus 是什么? Milvus 是一种高性能、高扩展性的向量数据…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...

沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...
书籍“之“字形打印矩阵(8)0609
题目 给定一个矩阵matrix,按照"之"字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为:1,…...

Xcode 16 集成 cocoapods 报错
基于 Xcode 16 新建工程项目,集成 cocoapods 执行 pod init 报错 ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchro…...