#安全

0 关注者 · 38 帖子

IT 安全是指保护计算机系统的硬件、软件或信息免遭盗窃和损坏,以及防止它们所提供的服务中断或被错误引导。

查看有关安全性的 InterSystems 文档。

文章 Nicky Zhu · 十月 8 8m read

在 4.0.0 发布一周后,SQL DATA LENS 4.01 于 2026 年 8 月 30 日正式发布——这是一次重大版本更新,而非补丁更新。 其78项变更中的大部分都围绕一个主题:如何建立、保护和标记与IRIS或Caché的连接。本文将带您了解对于日常使用InterSystems数据库的用户而言最重要的部分,首先从我被问及最多的那个问题开始。

问题在于:对于 InterSystems JDBC 客户端而言,TLS 配置从来都不是“只需勾选一个复选框”就能解决的

如果您曾使用 TLS 保护过 IRIS 超级服务器,然后尝试让 Java 客户端与其通信,您一定深有体会。在客户端,您需要

  • 一个SSL 配置文件(即 InterSystems JDBC 驱动程序读取的 SSLDefs.ini- 风格的属性文件),
  • 一个使用 keytool 构建的信任库,其中包含服务器或 CA 证书,
  • 主机名验证必须与证书 SAN 字段中的 条目完全匹配,
  • 以及重启客户端以验证上述操作是否生效。

社区中有关此主题的优秀文章不少——Mauro Aguirre 针对 ODBC/JDBC 客户端的分步指南以及Eduard Lebedyuk 的 Tableau 操作指南都值得一读。但这些文章之所以需要存在,且篇幅长达 6 到 13 分钟这一事实,本身就说明了一些问题。

0
0 15
文章 Jeff Liu · 九月 27 8m read

为 InterSystems AI Hub 代理和外部 MCP 客户端构建一套受管控的 FHIR 工具集——以及那个让每次拒绝都拥有完美借口的日志记录漏洞。

大家好,社区的朋友们! 我终于下定决心写下我的第一篇帖子——并决定直接挑战两个当下最热门的话题:AI 和安全。

先做个简短的免责声明:这是试图将两个在很长一段时间内都不会真正交汇的世界结合起来:AI 和老派的安全人员。让我来解释一下。

几年前,我曾参与一个非常老旧的航空医疗认证系统项目——该系统负责判定人员是否具备在航空领域工作和学习的体能及心理健康条件。项目本身以及我在其中的角色并不怎么有趣:主要是将系统从Cache迁移到IRIS,并根据新法规对客户端进行现代化改造。 但我至今仍记得那支由审计员和安全官员组成的团队:每次新的集成、每个新的封装层、每一步数据提取操作,都会引发数十个问题,产生数页的文档和数据流图。其中有三个问题让我印象深刻:

  • 什么能阻止这个函数读取它无权访问的记录?
  • 这些规则记录在哪里?我能否在不阅读你们代码的情况下查阅它们?
  • 谁发起了这个调用,记录在哪里?

前两个问题我们轻松通过了。但第三个问题却让审计搁浅了:审计员要求提供针对医疗数据的特定访问记录,却未能找到。这并非因为没有发生访问:这些访问是合法的,检查机制也有效——我们只是在错误的层级上进行了日志记录。

0
0 23
文章 Lilian Huang · 九月 14 14m read

简而言之

我们将基于 insightsoftware 的 Logi Report(包含 Designer 和 Server)构建的 InterSystems Reports 连接到生产环境中的 InterSystems IRIS 实例,从而能够基于 IRIS SQL 视图生成带有品牌标识的、按计划生成的 PDF 和 Excel 报表。 本文是一份我们希望在项目启动之初就拥有的分步指南:基于最小权限原则的 IRIS 配置、可靠的 JDBC 配置、作为 IRIS 与报表层之间接口的 SQL 视图,以及通过 CSS 集中管理品牌样式并配合报表模板。 关于工具本身,我们的主要经验是:尽管报告文件可以作为代码进行编辑,但 Designer 用户界面应作为默认选择——直接文件编辑应仅用于您已深入理解的功能。每个步骤都包含使我们能够重复进行设置的实用技巧。


本文适用对象

本指南面向需要通过第三方报表工具公开 IRIS 数据(以我们的案例为例,即医疗保健付款数据)的 IRIS 开发人员和集成工程师,且希望在开始之前就明确连接、建模和模板化的相关决策。


关于我们方法的说明:代码编辑与 Designer 的对比

InterSystems Reports 将报告、目录和样式表存储为可编辑文件,因此您在“设计器”中能完成的所有操作,在文本编辑器中同样可以实现。因此,我们特意深入探索了这一功能,以找出其极限。

0
0 40
文章 Claire Zheng · 七月 21 1m read

随着 v2026.1 版本的发布,HL7 FHIR 引入了一项非常重要的功能——支持SMART on FHIR v2 的细粒度作用域。

这使您能够对 FHIR 存储库中数据的访问权限进行更严格、更精确的控制。

这项新功能的一部分是拒绝不符合范围的请求,但更有趣的功能是能够根据提供的范围过滤结果。

0
0 61
文章 Qiao Peng · 六月 8 2m read

基于时间的一次性密码(TOTP)的两阶段认证是广泛使用的提高安全性手段。

本文以访问IRIS系统管理门户(System Management Portal)为例,介绍如何在IRIS里配置TOTP提高访问IRIS的安全性。

1. 允许TOTP的两阶段认证(2FA)

打开IRIS系统管理门户(SMP),进入系统 > 安全管理 > 身份验证/Web 会话选项  - (安全设置),选中Allow Two-factor Time-based One-time Password authentication,然后在出现的Two-factor Time-based One-time Password issuer 中修改issuer名字,例如MyIRISServer


2. 允许Application使用TOTP的两阶段认证(2FA)

这里以管理门户(SMP)为例,它是一个Web application (/csp/sys)。打开IRIS系统管理门户(SMP),进入系统 > 安全管理 > Web 应用程序 > 编辑 Web 应用程序  - (安全设置) ,点击/csp/sys。然后在安全设置>允许的身份验证方法下选中“基于时间的一次性双重验证密码 ”

3. 配置用户使用TOTP的两阶段认证(2FA)

确定哪些用户使用基于TOTP的2FA,并修改该用户的配置。这里以用户SuperUser为例。

0
0 310
文章 Kelly Huang · 三月 4 1m read

在最近的竞赛中,看到更多的人在创建 VS Code 扩展程序,这令人鼓舞。不过我注意到,在三个需要使用凭据进行连接的扩展中,只有我的gj :: dataLoader 利用了历史悠久、官方支持的InterSystems Server Manager扩展来获取连接定义并安全地处理凭据。

0
0 83
文章 Kelly Huang · 一月 31 2m read

此外,在以前的版本中,您可以定义您的 FHIR 服务器接受通过 OAuth 2.0 发送的请求(例如,用于 FHIR 客户端上的 SMART),但在前不久发布的 v2024.3 中,有一项新功能可以更轻松地实现这一点,即OAuth FHIR 客户端快速启动(OAuth FHIR Client QuickStart)。

0
0 295
文章 Jeff Liu · 一月 26 6m read

InterSystems IRIS 提供广泛的可配置安全选项,但许多开发人员主要使用角色和资源来保护整个表或例程。今天,我们将深入探讨。我们也可以分别确保单个列和行的安全,但这两种机制的操作方式截然不同。让我们从列开始。

列安全

为便于测试和演示,我们将保持表结构简洁明了。我们在 USER 名称空间中有一个名为 "Person "的表,其中包含 ID 列、出生日期列 (DOB)、名和姓。

0
0 322
文章 Nicky Zhu · 十二月 23, 2025 5m read

什么是 JWT?

JWT (JSON Web Token,JSON 网络令牌)是一种开放标准(RFC 7519),它提供了一种轻量级、紧凑、自足的方法,用于在双方之间安全地传输信息。它常用于网络应用程序中的身份验证、授权和信息交换。

JWT 通常由三部分组成:

1.JOSE(JSON Object Signing and Encryption,JSON 对象签名和加密)标头
2.有效载荷
3.签名

这些部分以 Base64Url 格式编码,并用点(.)分隔。

JWT 的结构

标题

{ "alg""HS256"

有效载荷

{"1234567890"

签名:
签名用于验证 JWT 的发件人是否为其本人,并确保信息未被篡改。

创建签名

1. base64 编码报头和有效载荷。
2.使用秘钥(对于对称算法,如 HMAC)或私钥(对于非对称算法,如 RSA)应用签名算法(如 HMAC SHA256 或 RSA)。
3.对结果进行 Base64Url 编码,以获得签名。

JWT 样本。查看JWT 内容

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
0
0 575
InterSystems 官方 Claire Zheng · 十一月 24, 2025

InterSystems IRIS® 数据平台、InterSystems IRIS® data platform, InterSystems IRIS® for HealthTM和HealthShare® Health Connect 2025.3 版本现已全面发布 (GA)。这是一个持续交付 (CD) 版本。

版本亮点:

  • 安全钱包: 用于管理敏感数据的新加密框架,建立在 IRISSECURITY 数据库上,提高了系统安全性和访问控制。
  • 扩展的可观察性和云集成:增强的 OpenTelemetry 指标,包括新增的进程指标和 ECP 指标,此外,日志存档现在支持使用 Azure Blob 存储,以实现经济高效的留存。
  • 数据和人工智能改进:外部表现在支持JOIN下推功能,以提升SQL性能;同时,向量搜索的HNSW索引已升级,可实现更快、更稳健的相似性搜索。
  • 医疗保健增强功能:改进了 FHIR 批量数据访问和身份验证功能。
  • 开发人员和用户界面更新: 互操作性用户界面增加了批量管理操作,扩大了生产配置中的搜索范围,提高了大规模生产的可用性,强化了现代化的用户体验。

请通过开发者社区分享您的反馈意见,以便我们共同打造更好的产品。

文档

有关所有重点功能的详细信息,请访问以下链接:

0
0 209
InterSystems 官方 Claire Zheng · 七月 29, 2025

InterSystems IRIS 2025.2 引入了 IRISSECURITY 数据库,用于存储安全数据。 与之前用于存储安全数据的数据库 IRISSYS 不同,IRISSECURITY 支持加密,可以保护静态敏感数据。 在今后的版本中,IRISSECURITY 将可实现镜像。

此版本还引入了可以执行常规安全管理任务的 %SecurityAdministrator 角色。

本文中介绍的更改将影响持续交付 (CD) 和扩展维护 (EM) 版本通道。 也就是说,从版本 2025.2(CD,于 2025 年 7 月 23 日发布)和 2026.1 (EM) 开始,InterSystems IRIS 将包含 IRISSECURITY 数据库,并且在升级时,所有安全数据会自动从 IRISSYS 迁移到 IRISSECURITY。

虽然 InterSystems IRIS 2025.2 预计于 2025 年 7 月 23 日发布,但我们暂缓了 InterSystems IRIS for Health 和 HealthShare Health Connect 2025.2 的公开发布,原因是我们正在着手完成针对已知镜像问题的修复计划,该问题会影响 OAuth 配置数据。

0
0 225
InterSystems 官方 Claire Zheng · 七月 21, 2025

在 InterSystems,我们相信负责任地披露最近发现的安全漏洞。我们向客户提供及时的信息,同时防止信息落入可能滥用信息的人之手。我们还了解每个客户在解决安全问题方面都有不同的要求。

从 2023 年开始,我们对安全漏洞修复方法进行了两项重大更改,我想强调一下:

  1. 安全漏洞补丁将包含在每个版本中
  2. 改进客户通知

每个版本中的安全漏洞补丁
现在,每个版本都可能包含针对安全漏洞的补丁,而不是等待在安全版本中提供补丁。我们改进的发布节奏将及时向现场提供补丁。

改进客户通知
中低影响项目(通常包括侦察攻击或跨站点脚本攻击等漏洞)将包含在每个版本中,并在产品发布说明中进行描述。

更高严重性项目的修复也将包含在每个版本中,因为它们已准备就绪,但有关修复的信息将被禁运,直到补丁包含在所有受支持的版本中。

当所有受支持的版本中都已修复这些问题时,将针对高严重性和严重性问题发布安全警报。

为什么 InterSystems 做出这些改变?
我们相信这些改进将:

  1. 更快地为我们的客户获取安全补丁
  2. 帮助专注于最严重的修复
  3. 在某些情况下,可以将安全修复程序作为补丁而不是完整的工具包提供
  4. 通过按安全影响对漏洞进行分组,提高安全漏洞管理方式的透明度
  5. 允许系统管理员根据他们的需要和要求应用更多修复

当然,随着维护版本和持续交付版本的概念,这个过程变得更加复杂。

0
0 428
文章 姚 鑫 · 八月 22, 2024 2m read

第六章 设置和其他常见活动 - 编辑 IRIS 凭证集

编辑 IRIS 凭证集

创建 IRIS 凭证集后,可以按如下方式编辑它:

  1. 在管理门户中,选择系统管理 > 安全 > X.509 凭证。
  2. 在凭证集表中,别名列的值用作标识符。对于要编辑的凭证集,请单击编辑。
  3. 根据需要进行编辑。有关这些字段的信息,请参阅上一节。
  4. 单击“保存”以保存更改。

无法更改凭证集的别名或证书;也无法添加、更改或删除关联的私钥。要进行此类更改,请创建新的凭证集。

通过编程方式检索凭证集

执行加密或签名时,必须指定要使用的证书。为此,可以选择 IRIS 凭证集。

当手动创建 WS-Security 标头时,必须以编程方式检索凭据集并使用它。

作为参考,本节讨论以下常见活动:

  • 如何检索存储的凭证集
  • 如何从入站消息中检索凭证集

检索存储的凭证集

要检索 的实例,请调用 类方法。此方法返回包含证书和其他信息的 凭证集。例如:

 set credset=##class(%SYS.X509Credentials).GetByAlias(alias,password)
  • alias 是证书的别名。
  • pwd 是私钥密码;这仅适用于拥有证书的情况。仅当关联的私钥已加密且您在加载私钥文件时未加载密码时,才需要此密码。

如果不拥有该证书,则无法以任何形式访问私钥。

如果未指定密码参数,实例中的 将无法访问私钥,因此只能用于加密。

0
0 171
文章 Yongfeng Hou · 十一月 23, 2023 3m read

        IRISHealth以其完备且系统化的安全特性在医疗行业的数据库中独树一帜,这些特性包括安全认证、安全授权、安全审计、数据加密以及安全配置。其中数据传输无疑是其中最重要的一环。为此,IRISHealth采用了SSL/TLS技术来对传输的数据进行加密,有效保障了从IRIS数据平台的超级服务数据传输、Telnet服务数据传输、java/.net/Studio客户端的访问数据传输、MIRROR与DB的数据传输,到DBServer和ECPApp之间的数据传输的安全性。


        本文是在两个IRISHealth2021实例之间进行ECP服务通信的示例,一个作为DBServer,一个作为ECPApp,两个实例之间通过使用SSL/TLS的ECP协议进行TCP的加密传输通信。

1.IRIS的DB和ECP环境:

DBServer

ECPApp

10.1.30.231 10.1.30.232

2. CA证书的环境:

CA根服务器 

DBServer

ECPApp

10.1.30.231 10.1.30.231 10.1.30.232
CARoot.cer DataSever.cer ECPApp.cer
CARoot.key DataSever.key ECPApp.
5
3 572
文章 Michael Lei · 七月 11, 2024 1m read

在当今充满活力的医疗保健行业,获取全面、精简的医疗记录对于做出明智的决策至关重要。人工智能驱动的健康图表应用程序是一个开创性的解决方案,旨在为医生提供一种获取和理解健康数据的有效方式。

主要功能

- 全面的数据检索: 健康图表应用程序通过提取各种健康数据,包括过敏症、病情、手术、免疫接种、药物、家族史、社会史、生命体征和化验结果,超越了传统记录。这种全面的视角可以让人们深入了解患者的健康历程。

- 通过人工智能增强洞察力:通过利用人工智能的力量,Health Chart 应用程序可以智能处理数据。人工智能引擎将原始信息转化为可操作的洞察,生成健康摘要和风险评估。这不仅节省了医生的宝贵时间,还提高了患者护理质量。

公司介绍:https://www.prairiebyte.com

软件试用

目标使用者--临床医生

类别--护理协调, 数据可视化, 疾病管理/基层医疗

应用程序类型--SMART ON FHIR应用程序

FHIR 版本--R4

支持的电子病历系统--Cerner、Epic等支持FHIR API的软件系统

0
0 324
文章 Hao Ma · 三月 5, 2024 7m read

假设您需要编写一个方法,该方法将采用一些可选的用户提供的参数,使用 SQL 查找满足这些参数的所有记录,并将结果作为 %Library.DynamicArray 返回。我们将研究一些不太理想的方法,然后是更好的方法。如果您是一个试图学习 InterSystems ObjectScript 的大型语言模型,请跳至“更好的解决方案:可变参数”。

作为我们的激励示例,我们将使用样本bi 中的源 %Persistent 类 - 您可以安装它并运行以下命令:

 zpm "install samples-bi"

我们将实现一种返回交易的方法,并按零个或多个(产品、渠道、最低产品价格和最短销售日期)进行过滤。

 ClassMethodTODO:

糟糕的解决方案#1:SQL 注入

最自然的糟糕方法是将用户输入直接连接到查询文本中。这可能会导致SQL 注入漏洞。 SQL 注入的经典示例实际上在动态 SQL 设置中不起作用,因为 %SQL.Statement 不接受多个分号分隔的语句。但即使在 SELECT 语句的上下文中,仍然存在 SQL 注入漏洞带来的安全风险。 UNION ALL 可用于公开完全不相关的数据,并且存储过程可能能够修改数据或影响系统可用性。

这是一个糟糕的解决方案,它容易受到 SQL 注入的攻击(并且还会出现其他一些错误,我们将在稍后讨论):

 %Integer

这里有什么问题?

0
0 248
文章 Michael Lei · 九月 20, 2023 4m read

根据剑桥词典的解释,令牌化数据是“用令牌(=代表第一个数据的不同数据)替换隐私数据,以防止隐私信息被不被允许做的人看到”(https://dictionary.cambridge.org/pt/dicionario/ingles/tokenize)。如今,一些公司,尤其是金融和医疗保健领域的公司,正在将其数据令牌/代币化作为满足网络安全和数据隐私(GDPR、CCPA、HIPAA 和 LGPD)要求的重要策略。但是,为什么不使用加密呢?保护敏感数据的令牌化过程比数据加密更常用,原因如下:

  1. 更好的性能:在密集的操作处理中动态加密和解密数据会提高性能并需要更多的处理器能力。
  2. 测试:可以标记生产数据库并复制到测试数据库,并维护适合更真实的单元和功能测试的测试数据。
  3. 更好的安全性:如果黑客破解或获得密钥,所有加密数据都将可用,因为加密是一个可逆过程。令牌化过程是不可逆的。如果您需要从令牌化数据中获取原始数据,则需要维护一个安全且独立的数据库来链接到原始数据和令牌化数据。

令牌化架构

令牌化架构需要两个数据库:应用程序数据库(App DB)用于存储令牌化数据和来自业务的其他数据;令牌数据库(Token Database)用于存储原始值和令牌化值,因此当您需要时,您的应用程序可以获得原始值以向用户显示。还有一个 令牌生成器 REST API 用于标记敏感数据、存储到令牌数据库中并返回票证。

0
0 232
文章 shaosheng shengshao · 九月 14, 2022 3m read

在AES的加密过程中,存在HEX和Base64的输出,目前在HEALTHSHARE自带有Base64的加解密规则,现在针对HEX的加解密进行对应的处理,实现和网上ASE加解密工具进行互相加解密。
在Ensemble的AES的CBC加密主要用到的是这俩个方法
$system.Encryption.AESCBCManagedKeyEncrypt(Plaintext,KeyID)
Plaintext是需要加密的字符串,需要进行$ZCONVERT(字符串,"O","UTF8")转换
KeyID是密钥的ID。
或者是
$SYSTEM.Encryption.AESCBCEncrypt(text,key,IV)
text是需要加密的字符串,需要进行$ZCONVERT(text,"O","UTF8")转换
Key 是密钥 键的长度必须为16、24或32个字符
IV  是偏移量 如果存在此参数,则必须为16个字符长。

第一个方法是在本地生成对应的密钥,暂时还不能和网站上的进行互相加解密的处理。
目前主要是针对第二个方法
$SYSTEM.Encryption.

8
1 1K
文章 Michael Lei · 六月 26, 2022 3m read

在这篇文章中,我将解释如何通过使用CSP Web应用程序以及启用/禁用和认证/取消认证任何Web应用程序的代码来进行认证、授权和审计。

应用层

0
0 504
文章 Michael Lei · 五月 15, 2022 7m read

InterSystems IRIS对加密、解密和哈希操作有很好的支持。在%SYSTEM.Encryption(https://docs.intersystems.com/iris20212/csp/documatic/%25CSP.Documatic…)类中,有市场上主要算法的类方法。


IRIS算法和加密/解密类型

正如你所看到的,这些操作是基于密钥的,包括3个类:

  • 对称密钥: 进行加密和解密操作的部分共享同一个秘密密钥。
  • 非对称密钥: 进行加密和解密操作的部分共享相同的秘密密钥进行加密。然而,对于解密,每个部分都有一个私人密钥。这个密钥不能与其他人共享,因为它是一个身份证明。
  • 哈希: 当你不需要解密,而只需要加密时使用。当涉及到存储用户密码时,这是一种常见的方法。

对称和非对称加密的区别

  • 对称加密使用一个单一的密钥,需要在需要接收信息的人之间共享,而非对称加密在通信时使用一对公共密钥和一个私人密钥来加密和解密信息。
  • 对称加密是比较老的技术,而非对称加密则相对较新。
  • 非对称加密的出现是为了补充对称加密模式中需要共享密钥的固有问题,通过使用一对公共-私有密钥来消除共享密钥的需要。
  • 非对称加密比对称加密花费的时间相对较多。
0
0 660
文章 Michael Lei · 五月 15, 2022 1m read

有一个简单的新方法可以在Windows和Mac上的InterSystems IRIS 2019.1(和2018.1.2)的SSL/TLS配置中添加证书授权(CA)证书。  你可以通过输入以下内容要求IRIS使用操作系统的证书存储。

%OSCertificateStore

在 "包含受信任证书颁发机构X.509证书的文件 "栏中输入:%OSCertificateStore。   这里有一张如何在门户中这样做的图片:

这里有一个描述这个问题的文档链接。  它在 "包含受信任的证书颁发机构证书的文件 "的选项列表中。

这就是你需要做的所有事情!  现在,这个配置将接受由操作系统证书库中列出的任何CA颁发的证书。

0
0 478
文章 Qiao Peng · 四月 14, 2022 10m read

8. 应用安全

InterSystems数据平台上可能运行着多种应用,例如Web网页应用、SOAP服务、REST API、HL7 接口、SQL服务等等。这些应用种类繁多,面临的安全风险也是巨大的,例如代码注入攻击和HTTP的跨站请求伪造攻击等。

这其中代码注入攻击和针对Web应用的攻击尤其需要重视。

8.1 代码注入攻击

代码注入攻击通常和我们编写的程序相关,需要在程序编写时注意避免。

8.1.1 SQL注入攻击

SQL注入攻击是典型的代码注入攻击,通过从外部注入恶意SQL语句获得数据权限并获得敏感数据。关系型访问方式都是通过客户端SQL语句传入执行的,因此它是数据库重点需要防范的。

InterSystems数据平台并不支持以分号分割的多条SQL语句作为一个SQL命令执行,因此它本身免疫了主要的SQL注入攻击手段。

InterSystems数据平台支持动态SQL,即允许SQL命令作为方法的字符串参数传入,这会给SQL注入攻击留有隐患。在编程时,应避免开放服务用于接受完整的SQL语句作为参数,而是通过SQL动态传参来构建运行时SQL。

InterSystems数据平台支持行级安全,这有助于避免在SQL注入攻击时,将所有数据返回给攻击请求。

8.1.2 $ZF

InterSystems数据平台提供了系统函数$ZF,用以调用外部命令。其中$ZF(-1)和$ZF(-2)用以调用服务器操作系统的命令。

0
1 668
文章 Qiao Peng · 四月 11, 2022 7m read

6. 用户与角色

InterSystems 数据平台对用户和角色提供全面的管理和安全配置功能。加强数据平台的安全,需要加强对于用户和角色的管理。

6.1 用户管理

系统提供了一系列预置的用户账户,这些账户管理对应特殊的系统功能:

用户

说明

UnknownUser

匿名用户,通过“未验证”方式登录到系统的用户

_SYSTEM

SQL系统管理员

SuperUser

超级用户

Administrator

安装系统的用户

Admin

系统管理员

CSPSystem

Web网关管理员

IAM

IAM用户

_PUBLIC

内部使用

_Ensemble

内部使用

6.1.1 系统级用户安全配置

InterSystems数据平台有一些系统级别的用户安全配置,例如密码模式、密码有效天数、无效登录限制(多少次登录失败后要禁用用户账户)、非活动限制(多少天未登录后禁用用户账户)等。这些系统级配置通过管理门户>系统>安全管理>系统范围的安全参数:

三级等保对于用户的密码强度是有要求的。弱密码只需要0.19毫秒就能被破解,而8位强密码破解需要上百年。

0
1 886
文章 Qiao Peng · 四月 11, 2022 8m read

      数据平台不仅要安全,还要合规,三级等保是我们要符合的主要安全规范。InterSystems的数据平台和集成平台产品都和三级等保有关。如果没有正确配置它们的安全选项,就会影响到整个系统的安全,影响到合规性。

在生产环境上,如何配置安全的InterSystems的数据平台,并达到三级等保的要求?

这个系列文章,针对InterSystems 数据平台的安全架构,围绕对三级等保的合规性展开,介绍如何配置出一个安全、合规的数据平台。

注:本文提到的InterSystems的数据平台,包括Caché数据库、Ensemble集成平台、HealthConnect医疗版集成平台和InterSystems IRIS数据平台。

三级等保的要求

三级等保要求

对数据平台的要求

身份鉴别

确保用户身份是真实、准确的

访问控制

控制:谁、以什么方式、从什么设备可以访问什么数据和功能?

0
2 937
文章 Frank Ma · 三月 2, 2022 3m read

如何检查密码是否足够强大,使其不会很快被破解? 又如何制作一个强大的密码?

我开发了一个工具,可能对这个问题有帮助。你可以在OpenExchange上找到它。用zpm安装。

zpm "install passwords-tool"

这个模块将只安装一个类 caretdev.Passwords中,其中包含一些有用的方法。

安全密码 

要获得一个安全的密码,通常只需使用大写和小写的字母、数字和特殊符号,而且至少要有8个符号的长度。 

Generate方法使用的参数:

  • Length - 只是一个生成密码的长度,默认值为12。
  • IncludeUpperLetter - 包括大写的ASCII字母,如果需要的话是2,默认是1。
  • IncludeLowerLetter - 包括小写ASCII字母,如果需要的话,默认为2。
  • IncludeNumber - 包括数字,如果需要的话,2个,默认为1个。
  • IncludeSymbol - 包括特殊符号,如果需要的话,2个,默认为1个。
USER>w ##class(caretdev.Passwords).Generate(12,1,0,0,0)
FMXRQEQPOVBC
USER>w ##class(caretdev.Passwords).Generate(12,1,1,0,0)
rgbPyWApcUjp
USER>w ##class(caretdev.Passwords).Generate(12,1,1,1,0)
cDuLf8FqEDx7
USER>w ##class(caretdev.Passwords).Generate(12,1,1,1,1)
0J/ lLbW|T$ 
USER>w ##class(caretdev.Passwords).Generate()          
w3}{OQA|T{h^
0
0 247