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 是一种高性能、高扩展性的向量数据…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
