当前位置: 首页 > news >正文

身份认证、访问控制技术、SSO单点登录技术、特权访问管理、身份治理与管理——数据安全守护者

文章目录

  • 一、身份认证机制
    • 1.1 基于密码的认证
    • 1.2 多因素认证(MFA)
    • 1.3 生物特征认证
    • 1.4 基于证书的认证
    • 1.5 FIDO2/WebAuthn无密码认证
  • 二、访问控制模型
    • 2.1 自主访问控制(DAC)
    • 2.2 强制访问控制(MAC)
    • 2.3 基于角色的访问控制(RBAC)
    • 2.4 基于属性的访问控制(ABAC)
    • 2.5 基于风险的自适应访问控制(RAAC)
  • 三、单点登录技术
    • 3.1 OAuth 2.1
    • 3.2 OpenID Connect
    • 3.3 SAML 2.0
    • 3.4 Kerberos
  • 四、特权访问管理(PAM)
    • 4.1 最小权限原则实现
    • 4.2 特权会话管理与记录
    • 4.3 特权账户密码保险库
    • 4.4 即时特权提升(JIT)
  • 五、身份治理与管理
    • 5.1 身份生命周期管理
    • 5.2 自动化供应与解除供应
    • 5.3 身份认证与授权中心化
    • 5.4 零信任身份验证框架


一、身份认证机制

身份认证是确保访问者"你是你所声称的人"的基本安全控制措施,是数据安全的第一道防线。

1.1 基于密码的认证

密码认证虽是最传统的方式,但仍然是当今最广泛使用的身份认证机制。

安全密码存储原则

密码绝不应以明文形式存储,而应采用以下技术保护:

  • 加盐哈希(Salted Hash):为每个密码生成随机盐值(Salt),与密码结合后再进行哈希运算,防止彩虹表攻击。盐值应至少16字节长,使用加密安全的随机数生成器产生。
  • 哈希算法选择:应使用专为密码设计的现代哈希算法,如Argon2id(推荐首选)、bcrypt、PBKDF2或scrypt,而非MD5或SHA1等普通哈希函数。
  • 密钥拉伸(Key Stretching):通过多次迭代哈希函数(如PBKDF2中的迭代次数设为10,000以上)增加破解难度,对抗暴力攻击。
  • 工作因子(Work Factor):定期评估并增加工作因子(如bcrypt的cost参数),以抵消计算能力增长带来的风险。

实现工具:

  • 用于Java的库:Spring Security的PasswordEncoder,jBCrypt
  • 用于Python的库:passlib,Werkzeug
  • 用于PHP的库:password_hash()内置函数
  • 用于.NET的库:ASP.NET Identity的PasswordHasher

强密码策略

  • 复杂性要求:强制使用大小写字母、数字和特殊字符的组合。
  • 最小长度:至少12-16个字符,随着计算能力提升应定期调整。
  • 密码历史:防止重复使用近期密码(如禁止使用最近12个密码)。
  • 定期轮换:每90-180天要求更换密码,但需注意过于频繁可能导致不安全行为(如写在便利贴上)。
  • 密码黑名单:禁止使用常见密码、字典词和个人信息。

实现工具:

  • 企业级密码策略管理:Microsoft Active Directory,Okta,OneLogin
  • 密码强度评估库:zxcvbn(Dropbox开发),haveibeenpwned API

前几篇博客:

  • 对称加密算法(AES、ChaCha20和SM4)Python实现——密码学基础(Python出现No module named “Crypto” 解决方案)
  • 非对称加密算法(RSA、ECC、SM2)——密码学基础
  • 哈希函数详解(SHA-2系列、SHA-3系列、SM3国密)案例:构建简单的区块链——密码学基础
  • 对比表格:数字签名方案、密钥交换协议、密码学协议、后量子密码学——密码学基础

1.2 多因素认证(MFA)

多因素认证通过结合多种不同类型的认证因素提高安全性,这些因素通常包括:

  • 你知道的(密码、PIN码)
  • 你拥有的(手机、令牌、智能卡)
  • 你是什么(生物特征)
  • 你在哪里(位置信息)
  • 你做什么(行为特征)

基于时间的一次性密码(TOTP)

TOTP算法(RFC 6238)基于共享密钥和当前时间生成临时验证码:

  • 原理:TOTP = HMAC(密钥, 时间戳 ÷ 时间步长),再截取为6-8位数字
  • 时间步长:通常为30秒,这是验证码的有效期
  • 实现标准:基于HMAC-SHA-1、SHA-256或SHA-512
  • 同步机制:允许±1个时间步长的偏差,处理服务器与设备间的时间差

实现工具:

  • 开源库:Google Authenticator PAM模块,pyotp(Python),otplib(Node.js)
  • SaaS解决方案:Duo Security,Authy,LastPass Authenticator
  • 硬件方案:YubiKey,RSA SecurID

基于HMAC的一次性密码(HOTP)

HOTP算法(RFC 4226)使用递增计数器代替时间戳:

  • 原理:HOTP = HMAC(密钥, 计数器),再转换为6-8位数字
  • 计数器同步:服务器和客户端各自维护计数器,每次验证成功后递增
  • 查找窗口:设置一个合理范围(如10)来尝试匹配未同步的计数器值

HOTP相比TOTP的主要优势是不依赖准确的时钟同步,但需要额外的计数器管理。

推送认证

  • 工作流程:用户尝试登录→服务器发送推送通知→用户在已注册设备上确认→认证完成
  • 安全增强:可添加设备解锁确认(如生物识别、PIN码)
  • 离线风险缓解:应提供备用认证方式(如TOTP)

实现工具:

  • 商业解决方案:Duo Push,Okta Verify,Microsoft Authenticator

1.3 生物特征认证

生物特征认证基于人体独特的物理或行为特征进行身份验证。

主要生物特征技术

  • 指纹识别:基于指纹的脊线模式与细节点(minutiae)比对
  • 面部识别:分析面部特征及其相对位置关系
  • 虹膜识别:捕捉并分析虹膜纹理的细微差异,准确度极高
  • 声纹识别:分析语音的频率特征和发音模式
  • 行为生物特征:键盘敲击模式、行走姿态、签名动态等

性能评估指标

  • 错误接受率(FAR):系统错误接受未授权用户的概率,反映安全性
  • 错误拒绝率(FRR):系统错误拒绝合法用户的概率,反映可用性
  • 等错误率(EER):FAR=FRR时的错误率,用于整体系统评估
  • 失败注册率(FTE):无法完成初始注册的用户比例
  • 失败获取率(FTA):系统无法获取可用生物特征的比例

不同生物特征技术的性能比较:

生物特征类型典型FAR典型FRR抗欺骗能力用户接受度
指纹识别0.01-0.1%0.5-1%中等
面部识别0.1-1%2-5%低到中等很高
虹膜识别0.0001-0.01%0.5-1%中等
声纹识别1-5%5-10%

生物特征数据保护

  • 模板保护:应用单向变换存储特征模板,而非原始生物数据
  • 可撤销生物特征:采用可重新生成的转换函数,允许在泄露时"重置"
  • 偏差管理:设计算法考虑不同人口统计群体间的准确性差异

实现工具:

  • 开发框架:BioAPI(ISO/IEC 19784),NIST生物特征评估工具包
  • 硬件方案:指纹传感器(Fingerprint SDK),虹膜扫描仪(EyeLock)
  • 商业集成平台:Aware Biometrics,Neurotechnology MegaMatcher

1.4 基于证书的认证

基于证书的认证利用公钥基础设施(PKI)验证身份,广泛用于企业和Web安全。

X.509证书结构

X.509证书是数字签名的数据结构,包含:

  • 版本号:标识X.509版本(通常为v3)
  • 序列号:证书颁发机构(CA)分配的唯一标识符
  • 签名算法:用于签署证书的算法(如RSA-SHA256)
  • 颁发者信息:颁发CA的可分辨名称(DN)
  • 有效期:证书的开始和结束日期
  • 主体信息:证书持有者的可分辨名称
  • 公钥信息:持有者的公钥及算法标识符
  • 颁发者唯一标识符:可选,用于标识颁发者
  • 主体唯一标识符:可选,用于标识持有者
  • 扩展信息:可选,包含额外属性如用途限制、分发点等
  • 证书签名:CA对证书内容的数字签名

PKI组件与流程

PKI系统的核心组件:

  • 证书颁发机构(CA):签发并验证证书的可信第三方
  • 注册机构(RA):验证申请者身份并处理证书请求
  • 证书存储库:存储和分发有效证书
  • 证书吊销列表(CRL):发布已吊销证书的列表
  • 在线证书状态协议(OCSP):实时查询证书有效性
  • 时间戳服务:提供可信的时间证明

证书生命周期管理:

  1. 申请:生成密钥对,提交公钥和身份信息
  2. 验证:RA验证申请者身份
  3. 签发:CA签发证书并返回给申请者
  4. 分发:将证书发布到目录服务或直接使用
  5. 更新:在证书到期前续期
  6. 吊销:在密钥泄露或身份变更时撤销证书

实现工具:

  • CA软件:OpenSSL,Microsoft Active Directory Certificate Services,Let’s Encrypt
  • HSM(硬件安全模块):用于保护CA私钥,如Thales nShield,Utimaco SafeGuard
  • PKI管理平台:Entrust PKI,DigiCert PKI Platform

1.5 FIDO2/WebAuthn无密码认证

FIDO2是一套开放标准,旨在用公钥加密替代传统密码,由WebAuthn(Web认证)和CTAP(客户端到认证器协议)组成。

核心原理

  • 基于公钥加密:每个服务生成独立的密钥对,私钥安全存储在用户设备中
  • 去中心化:凭证仅在特定服务上有效,消除集中式身份提供商风险
  • 抵抗网络钓鱼:认证绑定到原始域名,防止凭证在欺诈网站使用
  • 多因素集成:可结合生物特征或PIN码进行本地验证

WebAuthn认证流程

  1. 注册阶段

    • 服务器生成挑战(challenge)并确定接受的认证器类型
    • 客户端请求用户同意并激活认证器(authenticator)
    • 认证器生成新密钥对和凭证ID
    • 公钥和元数据返回给服务器并与用户账户关联
  2. 认证阶段

    • 服务器发送包含随机挑战的认证请求
    • 认证器使用私钥对挑战签名
    • 服务器使用存储的公钥验证签名

认证器类型

  • 平台认证器:内置于设备的认证机制,如手机的指纹传感器、Windows Hello
  • 跨平台认证器:可在多个设备间使用的外部认证器,如YubiKey、Feitian
  • 第一因素认证器:可直接替代密码的认证器
  • 第二因素认证器:需与其他认证方式配合使用的认证器

实现工具:

  • 服务器库:Duo WebAuthn,SimpleWebAuthn(Node.js),webauthn4j(Java)
  • 客户端库:WebAuthn.io,@simplewebauthn/browser
  • 硬件认证器:YubiKey,Google Titan,Feitian BioPass

二、访问控制模型

访问控制确保只有授权用户才能访问特定资源,是数据安全的核心机制。

2.1 自主访问控制(DAC)

自主访问控制允许资源所有者自行决定谁可以访问其资源,是最常见的模型之一。

DAC特性与原理

  • 所有权中心:每个对象都有明确的所有者,通常是创建该对象的用户
  • 委派权限:所有者可决定将访问权分配给其他用户
  • 访问控制矩阵:理论上用矩阵表示主体(用户)对客体(资源)的权限
  • 实现方式:通常通过访问控制列表(ACL)或访问能力列表实现

访问控制列表(ACL)

ACL为每个受保护对象维护一个权限列表:

  • 结构:<主体, 权限列表>的序列
  • 优势:直观管理单一资源的访问权限
  • 劣势:难以查看单一用户的所有权限;管理大量用户时权限爆炸
  • 权限传播:支持显式拒绝和继承机制

实现工具:

  • 文件系统ACL:NTFS ACL,POSIX ACL
  • 云服务ACL:AWS IAM Policy,Azure RBAC,GCP IAM

能力列表(Capability Lists)

与ACL相反,能力列表关联每个主体可访问的对象:

  • 结构:<对象, 权限列表>的序列
  • 表现形式:如访问令牌、Cookie、能力URL
  • 优势:容易检查用户权限;支持权限委托
  • 劣势:撤销权限较为复杂;需要保护能力不被盗用

实现示例:

  • 基于令牌的系统:OAuth 2.0访问令牌
  • 操作系统:KeyKOS,EROS

2.2 强制访问控制(MAC)

强制访问控制基于系统强制执行的安全策略,用户无法自行修改权限分配。

多级安全模型(MLS)

MLS使用安全标签控制信息流动:

  • 安全级别:如绝密(Top Secret)、机密(Secret)、可公开(Unclassified)
  • 安全分类:如军事、财务、人事等信息领域
  • 标签组成:敏感度级别+零个或多个分类
  • BLP模型:Bell-LaPadula模型确保机密性
    • 无读上(No Read Up):主体不能读取高于自身级别的对象
    • 无写下(No Write Down):主体不能写入低于自身级别的对象
  • Biba模型:确保数据完整性
    • 无读下(No Read Down):主体不能读取低于自身级别的对象
    • 无写上(No Write Up):主体不能写入高于自身级别的对象

类别安全模型

除级别外,还通过专门的类别控制访问:

  • 隔间化(Compartmentalization):将信息划分为相互独立的区域
  • 需要知道原则:用户只能访问执行任务所必需的信息
  • 访问规则:用户必须拥有对象所有类别的访问权限

实现工具:

  • 操作系统级MAC:SELinux,AppArmor,Trusted Solaris
  • 大数据平台:Apache Ranger,Cloudera Sentry
  • 容器安全:Kubernetes Pod Security Policies

2.3 基于角色的访问控制(RBAC)

RBAC通过预定义角色分配权限,是企业环境中最广泛使用的模型。

RBAC核心组件

  • 用户(User):系统的活动主体
  • 角色(Role):职责或工作功能的集合
  • 权限(Permission):对特定资源执行操作的授权
  • 会话(Session):用户临时激活角色的环境

RBAC模型家族

  • 核心RBAC:基本用户-角色-权限结构
  • 层次化RBAC:增加角色继承关系
  • 约束RBAC:添加职责分离等约束条件
    • 静态分离(SSD):用户不能同时被分配冲突角色
    • 动态分离(DSD):用户不能同时激活冲突角色

RBAC实施策略

  • 基于任务的设计:根据工作职能定义角色
  • 最小权限原则:角色仅包含必要权限
  • 角色工程:系统性方法确定最佳角色集
    • 自上而下:从业务流程分解职能
    • 自下而上:从用户权限模式挖掘角色
    • 混合方法:结合两种方法优势

实现工具:

  • 身份管理系统:Microsoft Identity Manager,SailPoint IdentityIQ
  • 云平台RBAC:AWS IAM Roles,Azure RBAC,Kubernetes RBAC
  • 应用框架:Spring Security,ASP.NET Identity

2.4 基于属性的访问控制(ABAC)

ABAC使用属性集合做出访问决策,提供比RBAC更细粒度、更灵活的控制。

ABAC核心属性类别

  • 主体属性:用户ID、角色、部门、职位、安全级别等
  • 对象属性:资源类型、创建者、分类标签、敏感度等
  • 操作属性:功能类型、预期影响等
  • 环境属性:时间、位置、威胁级别、网络安全状态等

ABAC策略评估

  • 策略语言:通常基于条件逻辑表达式
  • 策略评估点(PEP):拦截访问请求并获取授权决策
  • 策略决策点(PDP):评估策略并做出授权决定
  • 策略管理点(PAP):定义和管理策略
  • 策略信息点(PIP):提供评估所需的额外属性

XACML标准

可扩展访问控制标记语言(XACML)是ABAC实现的行业标准:

  • 标准化:提供访问控制策略语言的通用模型
  • 策略结构:策略集(PolicySet)包含策略(Policy),策略包含规则(Rule)
  • 决策组合:定义如何处理多规则冲突(如Deny-Override)
  • 上下文处理:将请求翻译为XACML上下文

实现工具:

  • XACML引擎:WSO2 Balana,Axiomatics Policy Server
  • 云原生解决方案:Open Policy Agent(OPA),AWS ABAC
  • 商业平台:NextLabs Control Center,PlainID

2.5 基于风险的自适应访问控制(RAAC)

RAAC根据实时计算的风险分数动态调整访问决策,是最前沿的访问控制范式。

风险评估因素

  • 用户行为特征:登录时间、位置、设备、数据访问模式
  • 资源敏感度:分类级别、业务价值、法规要求
  • 上下文情境:组织安全状态、外部威胁情报
  • 历史模式:用户正常行为基准、偏差检测

自适应响应机制

  • 阈值响应:基于风险分数触发不同安全措施
  • 渐进式认证:根据风险增加认证要求(如添加MFA)
  • 会话控制:动态调整会话权限和监控级别
  • 持续评估:在整个会话期间持续重新计算风险

RAAC实施框架

  1. 风险引擎:整合和分析风险信号
  2. 策略定义:设置基于风险的决策规则
  3. 实时监控:持续观察用户行为
  4. 执行机制:实施访问决策
  5. 反馈循环:学习并改进风险模型

实现工具:

  • 用户行为分析(UBA):Microsoft Defender for Identity,Splunk UBA
  • 平台集成:Microsoft Conditional Access,Okta ThreatInsight
  • 风险引擎框架:RAdAC参考架构,NIST SP 800-207零信任架构

三、单点登录技术

单点登录(SSO)允许用户使用单一凭证访问多个相关系统,提高用户体验同时增强安全性。

3.1 OAuth 2.1

OAuth 2.1是一种授权框架,允许第三方应用代表资源所有者有限访问资源。

OAuth 2.1核心角色

  • 资源所有者:能够授予对受保护资源的访问权限的用户
  • 客户端:请求访问的应用程序
  • 授权服务器:验证身份并颁发令牌
  • 资源服务器:托管受保护资源,接受并验证访问令牌

令牌类型

  • 访问令牌(Access Token):用于访问受保护资源的凭证
  • 刷新令牌(Refresh Token):用于获取新访问令牌,通常寿命更长
  • 授权码(Authorization Code):短期凭证,用于获取访问令牌

授权流程

  1. 授权码流程:最完整安全的流程

    • 客户端重定向用户到授权服务器
    • 用户认证并同意授权
    • 授权服务器重定向回客户端,提供授权码
    • 客户端使用授权码交换访问令牌
    • 适用场景:服务器端Web应用
  2. 客户端凭证流程

    • 客户端直接向授权服务器验证自身
    • 授权服务器颁发访问令牌
    • 适用场景:服务器到服务器通信
  3. 设备授权流程

    • 为输入受限设备设计
    • 设备显示用户码和验证URL
    • 用户在另一设备上输入码并授权
    • 适用场景:智能电视、IoT设备等

OAuth 2.1与2.0的区别

OAuth 2.1合并了最佳安全实践:

  • 强制使用PKCE(Proof Key for Code Exchange)
  • 移除隐式授权流程
  • 要求严格的重定向URI匹配
  • 禁止密码授权流程

实现工具:

  • 服务器库:Spring Security OAuth,IdentityServer,OpenID Connect Provider
  • 客户端库:AppAuth(移动),oauth2-client(Node.js)
  • 开源授权服务器:Keycloak,Hydra,Auth0

3.2 OpenID Connect

OpenID Connect(OIDC)是构建在OAuth 2.0之上的身份认证层,提供标准化的用户身份信息。

核心组件

  • ID令牌:包含用户身份信息的JWT(JSON Web Token)
  • UserInfo端点:提供额外用户属性
  • 动态客户端注册:允许客户端自动注册
  • 会话管理:支持单点登出功能

JWT结构

JWT由三部分组成,以点分隔:

  • Header:声明令牌类型和签名算法
  • Payload:包含声明(Claims)的JSON对象
    • 注册声明:预定义的标准字段(如iss、sub、exp等)
    • 公开声明:应用自定义但非敏感信息
    • 私有声明:参与方共同定义的信息
  • Signature:确保令牌完整性的签名

认证流程

  1. 授权码流程

    • 遵循OAuth 2.0授权码流程
    • 额外返回ID令牌
    • 支持使用OpenID scope请求特定用户信息
  2. 隐式流程:(不推荐使用)

    • 前端应用直接获取ID令牌
    • 安全性较低,已被PKCE流程取代
  3. 混合流程

    • 结合授权码和隐式流程
    • 同时在前端和后端处理令牌

实现工具:

  • 提供商:Auth0,Okta,KeyCloak,Microsoft Entra ID
  • 客户端库:oidc-client-js,passport-openidconnect
  • 开发工具:JWT.io(令牌解码)

3.3 SAML 2.0

安全断言标记语言(SAML)是一个基于XML的开放标准,用于在身份提供商和服务提供商之间交换身份认证和授权数据。

SAML核心概念

  • 身份提供商(IdP):验证用户身份并生成SAML断言
  • 服务提供商(SP):依赖身份提供商验证用户身份
  • 断言(Assertion):包含用户认证和属性信息的XML文档
  • 元数据:描述提供商能力和要求的配置信息

SAML断言类型

  • 认证断言:声明主体已在特定时间点通过特定方式认证
  • 属性断言:包含关于主体的额外属性信息
  • 授权决策断言:指明主体是否被授权执行特定操作

主要SAML流程

  1. SP发起的SSO

    • 用户访问服务提供商
    • SP生成认证请求并重定向到IdP
    • 用户在IdP认证
    • IdP返回SAML断言
    • SP验证断言并建立会话
  2. IdP发起的SSO

    • 用户首先在IdP认证
    • 用户选择要访问的服务
    • IdP生成断言并将用户重定向到SP
    • SP验证断言并建立会话

安全考虑

  • 断言签名:所有SAML断言必须使用XML签名保护
  • 消息加密:敏感属性应使用XML加密保护
  • 受众限制:断言应明确指定预期接收者
  • 时间有效性:包含NotBefore和NotOnOrAfter条件
  • 重放防护:实现断言ID唯一性检查和有效期限制

实现工具:

  • 服务端库:Spring Security SAML,OneLogin SAML PHP,PySAML2
  • IdP软件:Shibboleth,SimpleSAMLphp,ADFS
  • 测试工具:SAML Tracer(Firefox插件),SAML Developer Tools

3.4 Kerberos

Kerberos是一种基于票据的网络认证协议,设计用于在不安全网络上提供强认证。

关键组件

  • 密钥分发中心(KDC):包含两个主要服务
    • 认证服务(AS):验证用户身份并颁发TGT
    • 票据授予服务(TGS):根据TGT颁发服务票据
  • 票据授予票据(TGT):证明用户已认证的凭证
  • 服务票据:用于访问特定服务的凭证
  • 领域(Realm):Kerberos管理的一组系统

认证流程

  1. AS交换

    • 客户端发送用户ID到AS
    • AS返回使用用户密钥加密的包含TGT和会话密钥的消息
    • 客户端使用用户密码派生密钥解密消息
  2. TGS交换

    • 客户端发送包含TGT和服务ID的请求到TGS
    • TGS验证TGT并返回服务票据和服务会话密钥
  3. CS交换

    • 客户端向服务发送服务票据和认证者
    • 服务验证票据和认证者,建立会话

Kerberos特性与限制

  • 优势

    • 无需传输密码
    • 相互认证支持
    • 有限时间窗口减少重放攻击风险
    • 集中凭证管理
  • 限制

    • 时钟同步要求(通常±5分钟)
    • KDC成为单点故障
    • 密码仍需保护(抵御字典攻击)
    • 初始票据暴露风险

实现工具:

  • MIT Kerberos:最常见的开源实现
  • Microsoft Active Directory:集成Kerberos的企业目录服务
  • 跨平台客户端:Heimdal Kerberos,SSPI/GSS-API

四、特权访问管理(PAM)

特权访问管理专注于保护、控制和监控拥有提升访问权限的账户使用情况。

4.1 最小权限原则实现

最小权限原则要求用户只获得执行特定任务所需的最低权限。

特权分类与分级

  • 超级用户权限:全系统完全访问权(如root、Administrator)
  • 系统管理权限:特定系统区域的管理权限
  • 应用管理权限:特定应用程序的管理功能
  • 数据访问权限:数据库或敏感数据的特殊访问
  • 网络管理权限:网络基础设施的配置控制

职责分离(SoD)实施

  • 静态职责分离:不同角色在组织上由不同人员担任
  • 动态职责分离:同一人不能在同一事务中执行冲突操作
  • 双人控制:关键操作需要两人协作完成
  • 四眼原则:一人执行,另一人审查批准

权限发现与整合

  • 权限发现工具:自动识别系统中过度权限
  • 权限分析:比对实际使用与分配权限的差距
  • 特权账户整合:减少特权账户总数
  • 特权访问模型:建立适合组织的特权访问框架

实现工具:

  • 特权发现:BeyondTrust Discovery,CyberArk Discovery & Audit
  • 特权智能:Securonix Privilege Analytics,Thycotic Privilege Behavior Analytics

4.2 特权会话管理与记录

特权会话管理确保所有特权访问都经过集中监控、记录和审计。

会话代理技术

  • 透明代理:无需客户端修改的中间会话管理
  • 协议代理:特定于RDP、SSH、数据库等协议的代理
  • 适配器/连接器:支持遗留系统集成的连接组件
  • 跳板机:用于集中访问多个目标系统的强化堡垒主机

会话监控与审计

  • 实时监控:主动观察特权会话,发现可疑活动
  • 命令过滤:禁止或警告特定敏感命令的执行
  • 视频录制:捕获全程会话屏幕活动
  • 键盘日志:记录所有命令和输入操作
  • 生物特征监控:分析输入模式识别潜在用户切换

取证级记录要求

  • 时间戳与用户绑定:精确记录每个操作的时间与执行者
  • 防篡改机制:数字签名或区块链确保日志完整性
  • 链式证据:维护完整审计链,无中断点
  • 独立存储:日志存储与被审计系统分离
  • 长期保留:符合法规要求的记录保留策略

实现工具:

  • 会话代理:CyberArk PSM,BeyondTrust Privileged Remote Access
  • 特权监控:Centrify Privilege Audit,Ironsphere Session Manager
  • 取证工具:Splunk Security,Symantec Information Centric Analytics

4.3 特权账户密码保险库

密码保险库集中管理特权账户凭证,实施自动轮换并控制访问。

保险库架构与技术

  • 安全存储:使用强加密存储凭证
  • 分布式架构:高可用性设计避免单点故障
  • 访问控制:精细权限控制谁可检索特定凭证
  • 硬件安全模块(HSM):专用密码管理硬件增强保护
  • 挂起恢复机制:应急情况下的凭证恢复流程

密码轮换策略

  • 自动定期轮换:按照预设时间表自动更改密码
  • 使用后轮换:一次性使用后立即更改密码
  • 异常检测轮换:发现可疑活动时强制更改
  • 不同复杂度策略:根据账户重要性设置不同策略
  • 密码生成器:确保生成的密码符合复杂度要求

应用程序身份集成

  • 应用程序对应用程序凭证管理:管理系统间身份验证
  • API密钥与证书管理:集中存储和更新API密钥和证书
  • 凭证提取API:应用程序以编程方式获取凭证
  • 嵌入式SDK:直接集成到应用程序代码中

实现工具:

  • 企业级保险库:HashiCorp Vault,CyberArk Enterprise Password Vault,Thycotic Secret Server
  • 开源方案:Passbolt,Passwordstate,KeePass Enterprise

4.4 即时特权提升(JIT)

JIT提供按需临时特权访问,减少持久特权和相关风险。

JIT授权模型

  • 零常驻权限:用户默认无特权,需要时才申请
  • 基于时间的访问:特权具有严格的时间限制
  • 基于任务的访问:特权限于特定任务范围
  • 自动审批工作流:基于预定条件自动批准常规请求
  • 多级审批:高风险访问需多人审批

上下文感知授权

  • 风险评分:基于多因素计算访问风险
  • 异常检测:比对历史模式识别异常请求
  • 环境敏感性:考虑时间、位置、设备等因素
  • 请求理由评估:分析访问理由的合理性
  • 与CMDB集成:验证请求与变更管理记录匹配

权限提升机制

  • 突破口账户:用于初始访问的受限账户
  • sudo/RunAs:临时执行特定命令的提升权限
  • 一次性令牌:临时授权标记
  • 特权代理:通过受控中间层执行特权操作
  • 特权容器:在隔离环境中提供特权访问

实现工具:

  • JIT平台:BeyondTrust Privilege Management,CyberArk JIT Access
  • 高级特权管理:Saviynt PAM+,Centrify Privileged Access Service
  • 云JIT:AWS IAM Access Analyzer,Azure PIM,GCP IAP

五、身份治理与管理

身份治理与管理(IGA)关注用户身份全生命周期管理和治理。

5.1 身份生命周期管理

身份生命周期管理自动化用户身份从创建到退出的全过程。

身份来源与主账户

  • 权威来源:人力资源系统作为人员信息主数据源
  • 主账户和派生账户:主身份用于生成各系统账户
  • 全局唯一标识符:持久标识用户的不变ID
  • 元目录:维护账户关系映射的中央存储
  • 身份关联:连接不同系统中同一用户的账户

生命周期事件触发

  • 入职流程:新员工自动创建所需账户和权限
  • 内部流动:部门调动自动调整权限
  • 休假管理:临时休假期间的账户暂停
  • 外部人员管理:承包商、合作伙伴账户的特殊生命周期
  • 离职流程:员工离开时自动撤销所有访问权限

集成框架与技术

  • 事件驱动架构:通过事件总线传播身份变更
  • API网关:统一接口促进系统集成
  • 批处理同步:定期同步身份信息
  • 连接器:预构建的集成组件连接常见系统
  • SCIM标准:跨域身份管理系统标准接口

实现工具:

  • 企业级IGA:SailPoint IdentityIQ,Saviynt Identity Governance
  • 云原生IGA:Okta Lifecycle Management,Azure Identity Governance
  • 开源方案:Keycloak,Apache Syncope

5.2 自动化供应与解除供应

自动化供应确保用户资源访问权限的及时分配和撤销。

供应流程设计

  • 访问请求门户:用户自助服务请求访问
  • 基于规则的供应:基于预定义规则自动分配权限
  • 基于角色的供应:根据职能角色分配权限集
  • 基于属性的供应:根据用户属性动态分配权限
  • 批量供应:处理大规模权限变更

工作流自动化

  • 多级审批流程:逐级上报审批复杂请求
  • 基于委托的审批:支持审批代理和转发
  • 动态路由:基于请求内容智能选择审批人
  • 条件逻辑:根据多种因素决定流程路径
  • SLA监控:跟踪审批时效并进行升级

供应连接器与标准

  • 具备API的目标系统:通过API实现自动化
  • 无API系统:通过RPA、脚本或代理实现自动化
  • 云应用连接器:基于SCIM或特定API的云服务集成
  • 直接数据库集成:特殊情况下的数据库级别集成
  • 供应协议:SPML、SCIM等标准化接口

实现工具:

  • 供应引擎:Microsoft Identity Manager,Oracle Identity Governance
  • 服务自动化:ServiceNow Identity,Ivanti Identity Director
  • RPA工具:UiPath,Automation Anywhere(针对遗留系统)

5.3 身份认证与授权中心化

中心化身份服务提供统一的认证和授权控制点。

5.3.1 身份联合架构

  • 身份提供商(IdP):集中管理用户身份与认证
  • 服务提供商(SP):依赖IdP验证用户身份
  • 联合网关:桥接不同身份标准和协议
  • 多域信任:建立跨组织身份信任关系
  • 联合元数据:描述联合实体能力的配置信息

混合身份架构

  • 云身份同步:本地目录与云身份同步
  • 密码哈希同步:安全地复制密码哈希到云服务
  • 直通认证:通过本地代理验证本地存储的凭证
  • 条件访问策略:基于设备、位置、风险应用访问策略
  • 多云身份统一:跨多个云提供商的一致身份体验

API安全网关

  • API密钥管理:集中分发和撤销API凭证
  • JWT验证:验证令牌有效性和声明
  • 范围验证:确保客户端仅请求授权范围
  • 速率限制:防止API滥用的流量控制
  • 请求转换:在客户端和后端之间转换请求格式

实现工具:

  • 企业IdP:Ping Identity,ForgeRock Identity Platform
  • 混合身份:Microsoft Entra ID,Okta Workforce Identity
  • API网关:Apigee,Kong,AWS API Gateway

5.4 零信任身份验证框架

零信任模型假设网络已被入侵,要求对每个访问请求进行严格验证。

零信任核心原则

  • 永不信任,始终验证:验证每个访问请求,无论来源
  • 最小权限访问:仅授予完成任务所需的最小权限
  • 假设入侵:设计防御假定攻击者已在网络内部
  • 明确验证:基于身份、设备健康和行为进行验证
  • 持续监控:实时监控所有资源访问

零信任身份验证组件

  • 强身份验证:多因素和自适应认证机制
  • 设备信任:验证设备符合安全标准
  • 动态策略引擎:根据风险和上下文评估访问请求
  • 微分段:精细网络隔离减少横向移动
  • 加密通信:所有通信默认加密

零信任身份验证流程

  1. 请求访问:用户/设备请求访问特定资源
  2. 收集信号:系统收集身份、设备、行为和环境数据
  3. 评估风险:策略引擎根据收集的数据计算风险分数
  4. 应用策略:基于风险分数和策略决定允许/拒绝访问
  5. 限制会话:批准的访问限于特定资源和时间
  6. 持续验证:在整个会话期间不断重新评估访问权限

实现工具:

  • 零信任访问:Zscaler Private Access,Palo Alto Prisma Access
  • 零信任平台:Google BeyondCorp,Cisco Zero Trust
  • 微分段方案:VMware NSX,Illumio Core

在这里插入图片描述

http://www.xdnf.cn/news/280477.html

相关文章:

  • 支撑座的安装精度对滚珠丝杆性能有哪些影响?
  • 5.3【T】pc
  • 【Java idea配置】
  • load_dotenv()详解
  • 数据采集文氏管旋风高效湿式除尘器文丘里旋风除尘组合实验装置
  • Nginx核心功能 02
  • SAM-Decoding_ 后缀自动机助力大模型推理加速!
  • 《“昊龙一号”:开启中国航天货运新时代》
  • Linux网络编程 day3 五一结假
  • uniapp开发微信小程序时如何进行分包(新手图文)
  • 人工智能(AI)未来会产生意识吗?
  • 【Qt】常用的类与数据类型
  • 卷积神经网络实战(2)
  • llfc项目分布式服务笔记
  • LeetCode - 91.解码方法
  • linux系统线程实现原理浅析
  • 企业架构革新指南:中台的定义、实践与未来
  • 嵌入式复习第二章
  • 修复笔记:SkyReels-V2项目中的 from_config 警告
  • 历史观以及文化和文明的相关知识
  • 序列到序列学习
  • 软件测试报告机构如何保障软件质量并维护其安全性?
  • Vultr之Ubuntu重设密码
  • 湖北理元理律师事务所:债务优化的合规化探索
  • 2025年- H26-Lc134- 226. 翻转二叉树(树)---java版
  • Java学习手册:SQL 优化技巧
  • 正态分布习题集 · 答案与解析篇
  • LabVIEW比例阀性能自动测试
  • 【Redis】哈希(hash)与列表(list)
  • 【SimSession 】2:PacedReceiver:支持与 PacedVideoSender 本地联调