内网安全之证书服务基础知识

news2024/11/16 19:35:20

PKI公钥基础设施

PKI(Public Key Infrastructure)公钥基础设施,是提供公钥加密和数字签名服务的系统或平台,是一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。企业通过采用 PKI 框架管理密钥和证书可以建立一个安全的网络环境。
PKI 的基础技术包括:公钥加密、数字签名、数据完整性机制、数字信封(混合加密)、双重数字签名等。
PKI 体系能够实现的功能有:

  • 身份验证;
  • 数据完整性
  • 数据机密性
  • 操作的不可否认性

微软的活动目录证书服务 ADCS 就是对 PKI 的实现,活动目录证书服务能够跟现有的活动目录域服务(ADDS:Active Directory Domain Service)进行结合, 可以用于身份验证、公钥加密和数字签名等。ADCS 提供所有与 PKI 相关的组件作为角色服务。每个角色服务负责证书基础架构的特定部分,同时协同工作以形成完整的解决方案。
ADCS 允许你做如下的操作

  • 设置 Web 注册、网络设备注册服务和在线响应器服务。
  • 管理用户、计算机、服务和路由器等网络设备的证书的注册和吊销。
  • 使用组策略来分发和管理证书

CA证书颁发机构

CA(Certificate Authority,证书颁发机构)是 PKI 系统的核心。其作用包括处理证书申请、 证书发放、 证书更新、管理已颁发的证书、吊销证书和发布证书吊销列表(CRL)等。
Active Directory 证书服务中的 CA 有企业 CA 和独立 CA。企业 CA 必须是域成员,并且通常处于联机状态以颁发证书或证书策略。而独立 CA 可以是成员、 工作组或域。独立 CA 不需要 ADDS 活动目录域服务,并且可以在没有网络的情况下使用。但是在域中基本都是使用企业 CA,因为企业 CA 可以和活动目录域服务 ADDS 进行结合,其信息也存储在 Active Directory 数据库中。企业 CA 支持基于证书模块创建证书和自动注册证书。
image.png
在创建 CA 后,会自动创建 CA 的公私钥对:

  • 私钥只有 CA 知道,私钥用于对颁发的证书进行数字签名。
  • 公钥任何人都可以知道,公钥用于验证证书是否由 CA 颁发

然后 CA 使用自己的私钥签署新证书来生成自己的根 CA 证书,也就是说根 CA 证书是自签名的。ADCS 会将根 CA 证书的 Subject 和 Issuer 字段设置为 CA 的名称,将 Basic Constraints 设置为 Subject Type=CA,并将 NotBefore/NotAfter 字段设置为五年(默认情况下)。域内所有主机会将根 CA证书添加到受信任的根证书颁发机构中。此后,该 CA 签名发行的所有证书都会被域内主机所信任。
在我们根 CA 颁发的证书这里可以看到已经颁发的证书,以下证书应用的网站会被域内所有机器信任。
image.png
域外机器如何信任域内搭建的根CA颁发的证书呢
只需把域内搭建的根CA证书手动导入到系统中即可
访问ADCS证书服务器的/certsrv/certcarc.asp 路径,点击下载 CA 证书,然后将下载的 CA 证书导入系统“受信任的根证书颁发机构”内,并勾选始终信任
image.png

CA层次结构

常见的 CA 层次机构有两个级别,根和二级 CA,二级 CA 也叫子从属 CA。 根 CA 位于顶级,子从属 CA 在第二级。在这种层次机构下,根 CA 给子从属 CA 颁发证书认证,子从属 CA 给下面的应用颁发和管理证书,根 CA 不直接给应用颁发证书。
image.png
CA 的层次结构,有以下优点:

  • 管理层次分明,便于集中管理、政策制订和实施
  • 提高 CA 中心的总体性能、减少瓶颈;
  • 有充分的灵活性和可扩展性
  • 有利于保证 CA 中心的证书验证效率

CRL证书作废列表

CRL (Certificate Revocation List):证书作废列表,就是我们所称的“证书黑名单”,在证书的有效期期间,因为某种原因(如人员调动、私钥泄漏等等),导致相应的数字证书内容不再是真实可信。此时,进行证书撤销,说明该证书无效,CRL 中列出了被撤销的证书序列号。
image.png

证书

证书是 X.509 格式的数字签名文档,用户加密、消息签名或身份验证等功能 。证书通常具有多个字段,包括如下:

  • Subject:主题,可以标识证书的所有者
  • Public Key:公钥,用于将主题(Subject)与单独存储的私钥相关联
  • NotBefore and NotAfter dates:证书的有效期
  • Serial Number:CA 分配的证书标识符
  • Issuer:标识颁发证书的人(通常是 CA)
  • SubjectAlternativeName(SAN):主题备用名称,定义一个或多个可供主题(Subject)使用的可选名称
  • Basic Constraints:基本约束,标识证书是 CA 还是最终实体,以及在使用证书时是否存在任何约束
  • Extender key Usages(EKU):扩展密钥用法,描述证书将如何使用的对象标识符(OID) 。常见的 EKU OID 如下:
    • 代码签名(OID 1.3.6.1.5.5.7.3.3):证书用于签署可执行代码
    • 加密文件系统(OID 1.3.6.1.4.1.311.10.3.4):证书用于加密文件系统
    • 安全电子邮件(OID 1.3.6.1.5.5.7.3.4):证书用于加密电子邮件
    • 客户端身份验证(OID 1.3.6.1.5.5.7.3.2):证书用于身份验证到另一个服务器
    • 智能卡登录(OID 1.3.6.1.4.1.311.20.2.2):证书用于智能卡认证
    • 服务器认证(OID 1.3.6.1.5.5.7.3.1):证书用于识别服务器 (例如HTTPS 证书)
    • PKINIT 客户端身份验证,对应的 OID 为 1.3.6.1.5.2.3.4
    • 任何目的,对应的 OID 为 2.5.29.37.0
  • Signature Algorithm:签名算法,指定用于签署证书的算法
  • Signature:使用颁发者的私钥对证书进行签名

PKINIT Kerberos认证

ADCS 服务可以和 ADDS 紧密搭配使用,那么自然利用证书来进行 Kerberos 预身份认证
申请新证书
image.png
导出该证书,选择和私钥一起导出
image.png
设置密码为root
image.png
导出成功
image.png
使用 Rubeus 执行如下命令用证书 administrator.pfx 进行 Kerberos 认证

Rubeus.exe asktgt /user:Administrator /password:root /certificate:administrator.pfx /domain:tmac.com /dc:WIN-3EAQBB8A70H.tmac.com

在微软的官方文档中有这么一句话:为了支持连接到不支持 Kerberos 身份验证的网络服务的应用程序的 NTLM 身份验证,当使用 PKCA 时, KDC 将在 PAC 特权属性证书的 PAC_CREDENTIAL_INFO 缓冲区中返回用户的 NTLM Hash。也就是说当使用证书进行 Kerberos 认证时,返回的票据的 PAC 中是包含用户的 NTLM Hash 的
使用 kekeo 执行如下命令获得 administrator.pfx 证书对应的 administrator 用户的 NTLM Hash

tgt::pac /subject:administrator /castore:current_user /domain:tmac.com /user:administrator /cred

后续无论用户密码怎么更改,使用该功能获取用户的 NTLM Hash 都是最新的
在使用 kekeo 获取证书对应用户的 NTLM Hash 时,需要先将证书导入 到系统中。
能用于 Kerberos 认证的模版证书

  • 客户端身份验证,对应的 OID 为 1.3.6.1.5.5.7.3.2
  • PKINIT 客户端身份验证,对应的 OID 为 1.3.6.1.5.2.3.4
  • 智能卡登录,对应的 OID 为 1.3.6.1.4.1.311.20.2.2
  • 任何目的,对应的 OID 为 2.5.29.37.0
  • 子CA

活动目录数据库中的ADCS

安装完 ADCS 证书服务后,可以在活动目录数据库中找到相关数据,完整路径为:CN=Public Key Services,CN=Services,CN=Configuration,DC=tmac,DC=com
image.png

Certification Authorities

Certification Authorities 是 CA 认证机构类,里面的实例都是受信任的CA,AD将这些CA的证书下发到每台 Windows 计算机的受信任的根证书颁发机构证书存储区。为了使 AD 认为证书是可信的,证书的信任链最终必须以该容器中定义的根 CA 之一结束。
image.png
CA 证书类的 objectClass 属性为 certificationAuthority,cACertificate 属性为 CA 证书的二进制内容
image.png

Certificate Templates

Certification Authorities 是证书模板类,里面的实例都是证书模板
image.png
证书模板的 objectClass 属性为 pKICertificateTemplate
image.png

Enrollment Services

Enrollment Services 是企业 CA 类,里面的实例都是企业 CA
image.png
企业 CA 的 objectClass 属性为 pKIEnrollmentService、dNSHostName 属性是企业 CA 的主机名、cACertificate 属性值包含 CA 证书的二进制内容、 certificateTemplates 字段定义了启用的证书模板。证书模板是 CA 在创建证书时 使用的设置 “蓝图”,包括 EKU、注册权限、证书到期、颁发要求和加密设置等内容。
image.png

NTAuthCertificates

该容器定义了有资格颁发身份验证证书的 CA 证书。这个对象的 objectClass 属性值为 certificateAuthority,并且 cACertificate 属性定义了一个 可信 CA 证书的二进制数组。加入 AD 的 Windows 机器将这些 CA 证书下发到每 台机器上的中间证书颁发机构证书存储区。仅当 NTAuthCertificates 对象定义的 CA 签署了身份验证客户端的证书时,客户端应用程序才能使用证书向 AD 进行身份验证。
image.png

AIA(Authority Information Access)

该容器保存了中间 CA 证书的 AD 对象。中间 CA 是 PKI 树层次结构中根 CA 的 “子代”,因此,此容器的存在是为了帮助验证证书链。与 Certification Authorities 容器一样,每个 CA 在 AIA 容器中表示为一个 AD 对象,其中 objectClass 属性设置为 CertificationAuthority,并且 cACertificate 属性包含 CA 证书的二进制内容。当有新的 CA 安装时,它的证书则会自动放到 AIA 容器 中。这些 CAs 传播到每台机器上的中间证书颁发机构证书存储区。
image.png

不同后缀的证书文件

我们经常会看到不同后缀格式的证书,如下是不同后缀格式证书包含的内容:

  • pfx、.p12、.pkcs12 后缀:包含证书和私钥,最有用。会有密码保护,导出该类型证书时会要求你输入一个密码
  • .pem 后缀:含有证书和私钥
  • .cer/.crt 后缀:包含证书
  • .key后缀:只包含私钥
  • .csr 后缀:证书申请文件,既不包含公钥也不包含私钥
  • jks/.keystore/.keys:Java 密钥库,可能包含 Java 应用程序使用 的 certs +私钥

.pfx 格式的文件 可以转化成.pem 格式的文件
.pem 格式的文件中可以转化成.cer 证书文件 + .key 私钥

导出pfx证书文件

导出
image.png
勾选将私钥和证书一起导出
image.png
这里需要输入一个密码,我们输入的是root
image.png

从.pfx文件中提取出包含私钥和证书的.pem文件

openssl pkcs12 -in administrator.pfx -nodes -out administrator.pem

image.png
image.png

从.pem文件中提取出.cer证书文件

openssl x509 -in administrator.pem -out administrator.cer

定位证书服务器

域内

在域内的话,可以执行如下命令定位证书服务器

certutil.exe
#弹框
certutil -config - -ping

image.png
image.png

域外

在域外的话,可以利用certipy工具执行命令定位证书服务器
certipy安装方法

pip3 install certipy-ad
certipy find -u administrator@xie.com -p admin@123 -dc-ip 192.168.1.11 -dc-only

image.png
image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1688258.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c【语言】了解指针,爱上指针(4)

了解指针,爱上指针(4) 字符指针变量数组指针变量二维数组传参的本质函数指针变量typedef关键字函数指针数组转移表 字符指针变量 如整型指针变量一样,它是指针变量的其中一个类型:char* 一般,我们是这样使…

通胀担忧仍存,美联储降息预期或又推迟

KlipC报道:周三,美联储公布4月30日至5月1日政策会议纪要,会议纪要显示美联储对通胀仍感到担忧,将更长时间维持利率不变,必要时进一步收紧政策。 尽管在前不久公布的4月CPI数据显示通胀有所缓解,但是被认为…

网站如何建设

#### 环境准备 - 安装Java Development Kit (JDK):这是Java开发的基础,用于编译Java源代码。 - 安装Web服务器:常用的有Tomcat、Jetty、GlassFish或JBoss。它们负责将Java应用程序部署到Web上,并处理来自客户端的请求。 - 安装…

flutter开发实战-美颜前后对比图效果实现

flutter开发实战-美颜前后对比图效果实现 最近使用代码中遇到了图片前后对比,这里使用的是CustomClipper来实现 一、CustomClipper 我们实现CustomClipper子类来实现美颜后的图片裁剪功能 getClip()是用于获取剪裁区域的接口,由于图片大小是6060&am…

一张SSL证书如何同时保护多个域名及其子域名?

在互联网时代,数据安全和隐私保护变得至关重要,而SSL证书作为确保网站安全的重要工具,其重要性不言而喻。本文将详细探讨一种特殊的SSL证书——多域名通配符SSL证书,它为网站管理员提供了一种高效、经济的方式来保护多个域名及其子…

第一后裔加速器推荐 第一后裔免费加速器用哪个

知名游戏开发商NEXON对于许多老玩家来说都不会陌生,它旗下的泡泡堂和DNF可谓是一代人的青春。就在最近NEXON又为玩家们带来了最新作品《第一后裔》,该款游戏为搭建在虚幻5引擎上的一款多人联机射击掉宝类游戏,一上线就受到了许多游戏玩家的关…

高速公路定向广播(声光一体) HT-600D

1、产品概述: HT-600D声光一体平面波IP定向广播是北京恒星科通创新性研发产品,采用公司自主研发的平面波传声技术,该产品具有高声压、强指向性、高清晰度等特点,采用定向声传声技术将声音聚集到正前方定向传输,周边声压级明显降低…

【EXCEL_VBA_实战】两组数据比对是否一致(字符串数组)

工作背景:比对两组数据是否一致(位置非一一对应) 思路构建:两组数据转换为两组字符串数组,比对所包含元素是否相同 问题点:A数组的第一个元素不一定与B数组的第一个元素对应,此时无法通过公式…

数据仓库和数据挖掘基础

文章目录 1. 数据仓库基础知识1.1 数据仓库的基本特性1.2 数据仓库的数据模式1.3 数据仓库的体系结构 2. 数据挖掘基础知识2.1 数据挖掘的分类2.2 数据挖掘技术2.3 数据挖掘的应用过程 传统数据库在联机事务处理(OLTP)中获得了较大的成功,但是对管理人员的决策分析要…

SAP---成本中心采购跟消耗性采购的区别

1.常规库存采购业务的说明: 1.从业务层面分析,企业的常规库存物料采购是: 采购部门下采购订单后,供应商送货,当货物到厂后,由库管员执行收货操作,先将货物收到仓库中,再由各个需求…

tomcat jdbc连接池的默认配置配置方案

MySQL 5.0 以后针对超长时间数据库连接做了一个处理,即一个数据库连接在无任何操作情况下过了 8 个小时后(MySQL 服务器默认的超时时间是 8 小时),MySQL 会自动把这个连接关闭。在数据库连接池中的 connections 如果空闲超过 8 小时,MySQL 将…

肌肤暗沉与胶原蛋白:解锁透亮肌肤的秘密

🌸亲爱的小仙女们,今天我们来聊聊肌肤暗沉与胶原蛋白之间的神秘联系。你是不是也曾为肌肤的暗沉而烦恼?其实,很多时候,肌肤的暗沉不仅仅是外部因素造成的,更与肌肤内部的胶原蛋白含量密切相关。&#x1f31…

element ui 下拉框Select 选择器 上下箭头旋转方向样式错乱——>优化方案

目录 前言1、问题复现2、预期效果3、input框样式修改解析4、修改方案 🚀写在最后 前言 测试A:那啥!抠图仔,样式怎么点着点着就出问题了。 前端:啥?css样式错乱了?你是不是有缓存啊&#xff01…

智慧仓储新动力:EasyCVR+AI视频智能监管系统方案助力仓储安全高效管理

一、背景 随着物流行业的快速发展和智能化水平的提升,智慧仓储视频智能监管系统已成为现代仓储管理的重要组成部分。本系统通过综合运用物联网、视频分析、边缘计算等技术手段,实现对仓储环境的全面监控、智能分析和高效管理。 TSINGSEE青犀视频汇聚Ea…

李斌阻击马斯克,也不放过李想

市场唯一不变的就是变化。 当年特斯拉开放专利,引起了国内电动车的创业潮,蔚来比小鹏、理想早几个月成立,也是造车新势力中首家实现交付的品牌。 但时过境迁,现在已经不是蔚来领衔“蔚小理”的时代了,理想是其中销量…

Java对象的内存分配机制

下面以一段代码为示例: public class Person{int age;String name; } class Test{public static void main(String[]args){Person A new Person();A.age10;A.name"张三";System.out.println(A.age);System.out.println(A.name);} }

【话题】你眼中的IT行业现状与未来趋势

大家好,我是全栈小5,欢迎阅读小5的系列文章,这是《话题》系列文章 目录 引言一、IT行业的现状1.1 云计算与大数据1.2 人工智能与机器学习1.3 物联网与5G通信1.4 区块链技术 二、IT行业未来发展趋势2.1 边缘计算与智能设备2.2 深度学习与自然语…

SBC3568启动升级,灵活更换动画logo

今天小智将会带着大家体验如何在openharmony sdk内替换开机logo和动态动画。 1. 更换开机logo 开机logo分为uboot阶段【logo.bmp】和kernel阶段【logo_kernel.bmp】的logo两个文件,对图片的要求是:必须为bmp格式,8或者24位深,且…

小程序-收货地址管理模块实现

页面结构代码&#xff1a; address-form.vue --->新建地址和修改地址页面 <template><view class"content"><form><!-- 表单内容 --><view class"form-item"><text class"label">收货人</text>…

青少年 CTF 练习平台:Misc(一)

前言 当然&#xff0c;我可以更详细地介绍一下青少年CTF练习平台。 青少年CTF练习平台是一个专为青少年设计的网络安全竞赛和训练平台。该平台由思而听&#xff08;山东&#xff09;网络科技有限公司与克拉玛依市思而听网络科技有限公司共同建设&#xff0c;自2018年创建以来…