基于 Spectrum Scale 的数据安全
基于 Spectrum Scale的数据安全 龚玮 IBM 中国系统实验室高级开发工程师
常见的数据安全需求 与 GPFS 能力 关键安全需求 Spectrum Scale 的功能 原生数据加密 动态数据加密 认证 授权 安全管理 不可变性 防火墙 Hadoop 安全 云分层安全 审计记录 杀毒 已基本覆盖(即将推出)
Spectrum Scale数据安全总览 网络 协议节点 协议节点 GPFS 节点 NSD 服务器 NSD 服务器 客户端 客户端 客户端 目录服务 活动目录 LDAP 透明云分层 Hadoop 客户端节点 IPS 支持 网络 动态数据加密 防火墙 动态数据加密 SSL/TLS Kerberos Kerberos 动态数据加密 Hadoop 连接器 Postgres 基于 Sudo 的管理访问 协议节点 协议节点 GPFS 节点 对象终止 不可变性支持 文件/对象 ACL 日志管理命令 集群间通信加密 基于 Sudo 的管理访问 NSD 服务器 NSD 服务器 针对数据放置及数据隔离的丰富策略支持 原生数据加密 外部密钥管理 安全擦除 IBM Spectrum Scale 中国用户交流会暨 20周年庆典
(IBM SKLM 或 Vormetric DSM 密钥服务器) 原生数据加密 加密策略规则: 原生数据加密 - 哪些文件待加密; 采用何种算法; 采用何种 MEK。 文件在存储到磁盘上之前进行加密 密钥从不会写到磁盘上 无“数字粉碎”:安全删除是一个加密运算符 安全删除 能够在确保无数据残留的前提下销毁文件 加密策略规则示例 RULE 'myEncRule1' ENCRYPTION 'E1' IS ALGO 'DEFAULTNISTSP800131A' KEYS('1:RKM_1', '2:RKM_2') RULE 'Encrypt files with extension doc with rule E1' SET ENCRYPTION 'E1' FOR FILESET('fs1') WHERE NAME LIKE '%.doc' *.doc *.txt 文件 POSIX 分析 透明 HDFS Spark 区块 OpenStack Manilla 对象 透明云 S3 Cinder NFS SMB iSCSI Glance Swift *.doc 文件集 fs1 *.txt 文件集 fs2 Spectrum Scale 文件系统 *.doc 未加密的 *.txt 加密的 *.doc *.txt 密钥管理服务器 (IBM SKLM 或 Vormetric DSM 密钥服务器)
动态数据加密 动态数据又称作“传输中数据”,是指正在通过(内部或外部)网络被访问,因而可能被网络上的恶意用户截留的数据。 根据您的业务需求或正在通过网络被访问数据的敏感程度,您可能需要在传输过程中通过加密对其进行保护。 EMPTY(无授权、无签名、无隐私) Spectrum Scale 节点 AUTHONLY(授权) Spectrum Scale 节点 CIPHER(授权+签名+隐私) 当用户访问来自另一集群的文件系统时,文件系统所在的集群可以针对每个连接的集群指定一个不同的安全级别。
Spectrum Scale Protocol 服务协议(NFS 和 SMB) 协议认证 协议认证 (NFS/SMB) 支持目录服务器: RFC2307 方案兼容的轻量级目录访问协议 (LDAP) 服务器 Microsoft 活动目录 (AD) 服务器 网络信息服务 (NIS) 服务器 AD 和 LDAP 认证方案均支持 Kerberos 认证 LDAP 和基于 NIS 的认证方案均支持使用存储在认证服务器上的网络组定义来保护 NFS 导出的安全。 对象认证 IBM Spectrum Scale 支持使用以下身份后台配置 Keystone: Microsoft AD 服务器 LDAP 服务器 Postgres 数据库(本地) Keystone 服务可使用 https 进行配置 可以将 Keystone 服务与身份后台 (Microsoft AD/LDAP) 之间的通信配置为通过 TLS 来实现。 ID 映射服务器 NIS LDAP RFC 2307 NAS(内部 - 自动生成) 目录服务器 活动目录 LDAP 服务器 0.获取凭证 用户 2.验证用户 4.授权访问用户 1.使用凭据连接 3.获取用户/用户组 ID MAP Spectrum Scale Protocol 服务协议(NFS 和 SMB) LDAP/AD/数据库 用户名+密码 有效用户 Keystone Swift 令牌 数据请求+令牌 用户名+密码 数据 CURL/REST 客户端
授权 Spectrum Scale 客户端 授权 NFS 和 SMB 用户 授权对象(OpenStack Swift 和 S3)用户 支持 POSIX ACL 支持 NFS V4 ACL 授权 NFS 和 SMB 用户 NFSv4 ACL ACL 继承 SMB ACL NFSv4 和 SMB ACL 之间的映射 授权对象(OpenStack Swift 和 S3)用户 支持 OpenStack Swift 和 S3 协议,以实现对象数据访问。 使用 Keystone 服务进行身份管理,而对象用户对对象存储项目的访问则由以下项目进行控制: 用户角色 - 根据为用户所定义的角色,对象用户可以是管理员用户或非管理员用户。 容器 ACL 使用 Swift3 Middleware for OpenStack Swift 来支持 S3 ACL,进而允许通过 Amazon Simple Storage Service (S3) API 来访问 IBM Spectrum Scale。
安全管理 Spectrum Scale 的管理需要远程外壳和远程副本 有限的管理节点 SSH 和 scp 是默认设置,建议采用 adminMode 配置属性用于规定是集群中的所有节点均可被用于发布 IBM Spectrum Scale 管理命令, 还是仅节点子集可用于发布命令。 allToAll - 用于规定集群中的所有节点均可用于运行 IBM Spectrum Scale 管理命令。 central - 用于规定仅节点子集可用于运行 IBM Spectrum Scale 命令。 “central”管理模式的主要优势在于必须具有其他节点根级别访问权限的节点数量受到了限制,而且最 少可以是 1。
安全管理 在不使用远程根登录的情况下运行 IBM Spectrum Scale 在多个环境中,企业的 IT 策略都会要求禁用 ssh PermitRootLogin 参数,以防止远程根登录。 借助 sudo 和 IBM Spectrum Scale sudo 包装程序,可以使用非根 ID 安全地执行 IBM Spectrum Scale 管理操作。 借助IBM Spectrum Scale sudo 包装程序: 可以使用非根用户安全地执行 IBM Spectrum Scale 管理操作,需要使用 ssh 包装程序,才能使用非根用户 ID 启动远程命令。之后在远程节点上使用 sudo,以运行必要的命令。
安全管理 使用 GUI 确保安全管理 REST API 提供安全管理 通过基于角色的访问控制,使用 GUI 确保安全管理 IBM Spectrum Scale 的 GUI 支持不同的管理角色。这些预定义的角色与 GUI 中定义工作范围的用户组相关联。 该功能支持按照角色划分多个管理员的职责。 在 GUI 中,用户可以是本地用户,也可以是来自 Microsoft 活动目录 (AD) 或 LDAP 等中央 目录服务的用户。 . 支持 sudo 包装程序 IBM Spectrum Scale 支持通过 https 安全访问 GUI,还支持自签署的或可信的证书机构 (CA) REST API 提供安全管理 通过强制要求经认证的请求; 支持基于角色的访问控制 (RBAC); 利用 SSL/TLS 确保传输中安全管理; 支持在部署时使用 IBM Spectrum Scale sudo 包装程序,以便通过非根远程凭据实现安全管理。
不可变性 通过不可变性功能确保数据不被篡改 Spectrum Scale 可用于监管法规要求需要通过归档来防止文件被修改或被删除的归档用例。 IBM Spectrum Scale 的不可变性以不可变的文件集为基础 可使用网络文件系统 (NFS) 协议或服务器消息块 (SMB) 协议导出不可变文件集。 在不可变文件集中,文件可以是不可变文件或追加型文件,可使用标准文件系统命令配置保留时间。 对于每个不可变文件集,IBM Spectrum Scale 支持以下某种不可变性 (IAM) 模式: None(无):不设置不可变性模式(默认)。文件集为常规文件集。 Advisory(咨询):允许设置保留时间和不可变性,但可通过适当的文件权限删除文件。 Noncompliant(不合规):在 Advisory 模式的基础上,如果保留时间尚未到期,则无法删除文件。不过,保留时间可以重置,文件可以删除,但不能更改。 Compliant(合规):在 Noncompliant 模式的基础上,保留时间无法重置。当保留时间到期后,可以删除文件, 但不能更改文件。 IBM Spectrum Scale Version 4.2 中的不可变性功能 已由经认可的审计机构依照美国的 US SEC17a-4f 法规以及德国和瑞士的相关法规进行了评估。
Hadoop 安全 通过 Hadoop Distro 确保 Hadoop 生态系统安全 Spectrum Scale 对 Hadoop 而言的优势 在 Hadoop 部署中,Spectrum Scale 借助以下优势而替代了 HDFS: 认证:Kerberos 授权:基于 POSIX 的授权,支持数据授权和服务级别授权 集中管理安全策略:Sentry 和 Ranger 提供了一个集中位置来管理所有的安全相关任务(基于角色或基于属性的访问控制、精细化授权、认证、审计和数据保护) 安全的 REST 访问:Apache Knox Gateway 能够针对与 Hadoop 集群的所有 REST 交互提供单个访问点。它集成了主流的企业身份管理服务,而且针对 Hadoop 集群的 REST 访问提供了单一的控制、管理、监控与审计点。 就地分析 - 无数据移动 企业级数据安全;计算和存储可分开单 独扩展 统一的文件数据访问和对象数据访问 使用 ILM 功能确保企业级的数据管理 企业备份功能 可扩展性 联合 面向 Hadoop 部署的 Spectrum Scale 安全功能 在 Hadoop 部署中,Spectrum Scale 可提供以下安全功能: 通过文件系统加密确保原生数据安全(FIPS 合规) 企业级密钥生命周期管理功能 通过 Spectrum Scale Hadoop Transparency 连接器(数据节点 + 名称节点)确保动态数据安全 确保所有其他访问接口(NFS/SMB/对象)中动态数据的安全 数据删除安全 已分类数据不可变,确保合规性 数据备份安全
IBM Spectrum Scale (GPFS) 安全对接云存储 数据在推动至云对象存储(内部或外部)之前进行加密 (AES 256) 支持两种类型的加密密钥管理提供程序存储加密密钥 IBM Security Key Lifecycle Manager 和 Java Key Store 在与云进行通信时,使用 TLS 协议。 透明云分层 (内嵌在存储平台中) 云存储提供程序 存储产品 复制 加密 数据 数据 完整性保护 IBM Spectrum Scale (GPFS) 与提供程序无关的 KVS API 提供程序特定的 REST API
文件审计记录 捕获给定文件系统上的文件操作并对其进行记录,以供审计之用 采用易于解析的格式显示存储的事件 捕获文件系统上最常见的文件操作活动类型 {创建、打开、关闭、销毁、重命名、ACL 更改、XATTR 更改、rmdir、撤销链接} 与协议无关 - 支持原生 GPFS、NFS、SMB 配置简单 容错 Kafka 队列 该协议节点正在向 Windows 客户端提供 SMB 共享实例。 该 Windows 客户端正在通过与上方红色部分所示协议节点相关的 IP 地址访问 SMB 共享。 协议节点提供 NFS、SMB 和对象共享 集群文件系统 A CES 公用 IP 地址 1.)客户机打开文件 2.)GPFS Producer 添加文件系统事件到 Kafka 队列 3.)GPFS 集群节点上运行的使用程序处理文件系统事件 4.)作为文件系统事件处理过程的一部分,使用程序在 IAM 文件集中写入一条日志消息 客户机
文件审计用例:使用 ELK 分析文件系统 I/O 在 IBM Spectrum Scale 基本 ELK 设置中配置 FAL 使用 Beats 将活动的 IBM Spectrum Scale FLA 日志传输给 ELK 使用 Logstash 解析 Spectrum Scale FLA 日志 使用 Kibana 对已解析的数据进行可视化,以便对其进行分析 ELK 服务器 C. 在 5601 端口上运行的 Kibana 服务 B. 在 9200 和 9300 端口上运行的 Elasticcearch 服务 A. 在 5044 端口上运行的 Logstash 服务 CES 节点 1 CES 节点 2 存储节点 1 存储节点 2 存储节点 N 存储 Spectrum Scale 集群 博客链接
谢谢