使用IBM Security Guardium保护和保护Cassandra数据库

NoSQL和大数据系统的扩散和增加的使用与偷窃数据的货币化以及随之而来的数据泄露事件的增加完全吻合,从而掀起了网络犯罪机会的风暴。 尽管与关系系统相比,NoSQL系统上的违规情况相对较少,但我们预计,随着更多有价值的数据存储在这些新系统中,这些事件将会增加。

对于已经熟悉Guardium的读者,大概了解其体系结构以及在何处安装S-TAPs®可能足以帮助您入门。 如果您不熟悉Guardium,本文可以帮助您入门,但不能取代对Guardium管理和配置至少有一些基本了解的需求。

Cassandra和DataStax概述

Apache Cassandra属于NoSQL数据库系统。 具体来说,它是基于列的存储。 它的体系结构与其他NoSQL系统不同,因为它既不依赖于主从(例如HBase)也不依赖于分片式体系(例如MongoDB)。 相反,它具有“环”架构,其中系统中的每个节点都与所有其他节点通信。 该体系结构旨在促进性能,横向扩展和持续可用性。 了解基本体系结构有助于了解如何部署Guar​​dium监视代理程序。

DataStax是为Cassandra提供支持和其他企业功能(例如增强的安全性和搜索)的公司。

本文的“ 相关主题”部分包括一些有关Cassandra基础知识的有用参考,以及Apache Cassandra与DataStax发行版之间的区别。

尽管基础存储模型是基于列的,但是Cassandra具有自己的查询语言,即Cassandra查询语言(CQL),用于访问数据。 您可以通过以下三个选项之一使用查询语言命令:shell(cqlsh),称为DevCenter的图形工具或各种程序驱动程序。

注意:旧版应用程序仍然支持Thrift API。 Guardium也支持通过旧版API的访问监视。

表1是Cassandra构造和关系构造之间的映射。 示例命令由《 Cassandra查询语言参考》提供。

表1.关系数据库和Cassandra概念之间的映射
关系概念 卡桑德拉 CQL命令 CQL示例
数据库 键空间 CREATE KEYSPACE
ALTER KEYSPACE
CREATE KEYSPACE Excelsior WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 };
表和实例化视图 列族 CREATE TABLE
CREATE KEYSPACE
CREATE TABLE emp ( empID int, deptID int, first_name varchar, last_name varchar, PRIMARY KEY (empID, deptID));
CREATE MATERIALIZED VIEW cyclist_by_age AS SELECT age, birthday, name, country FROM cyclist_mv WHERE age IS NOT NULL AND cid IS NOT NULL PRIMARY KEY (age, cid);
指数 指数 CREATE INDEX CREATE INDEX user_state ON myschema.users (state);
列(也可以是项目的集合) INSERT INTO emp (empID, deptID, first_name, last_name) VALUES (104, 15, 'jane', 'smith');

卡桑德拉的安全

随着Cassandra的成熟,它会发展其身份验证和授权模型。 由于NoSQL领域还很年轻并且还在不断发展,因此安全机制正在Swift发展以跟上潮流。 因此,重要的是您研究Cassandra和DataStax Enterprise的最新文档,以获取最新信息。

角色和权限

您可以在Cassandra中内部设置用户(例如CREATE USER,ALTER USER等)。从2.2开始,您甚至可以使用基于角色的访问控制,例如CREATE ROLE,ALTER ROLE等。

通过使用熟悉的GRANT和REVOKE语句来处理对对象(数据)的权限管理。 默认情况下,Cassandra中禁用身份验证。 您可以设置密码验证。 DataStax Enterprise支持通过Kerberos和LDAP进行身份验证。

加密: DataStax Enterprise包含对将数据写入磁盘时的透明数据加密的支持,但是它需要安全的本地文件系统。 另外,如果您需要对提交日志进行加密,那么您将需要文件系统加密功能,例如IBM Security Guardium Data Encryption提供的功能。

审核:这是Guardium提供显着附加值的领域。 尽管Cassandra具有常规的日志记录功能(可用于故障排除和时间点恢复),但是对于组织而言,创建及时的审核报告将需要大量工作。 并且如产品文档中所述,“日志记录级别的增加会在流量适中的群集上产生大量日志记录输出。”

DataStax Enterprise提供了审核日志记录功能,必须在所有节点上启用该功能以捕获所有所需事件。 日志事件可以写入文件系统(该文件系统很快会变得很大并且难以分析)或Cassandra表中。

正如我们将在下一节中讨论的那样,Guardium可以改善审计报告和分发,还可以进行实时警报和近实时分析。

Guardium如何促进合规性并保护Cassandra数据库

如果您不熟悉Guardium,本节将快速回顾一下Guardium的工作原理,以及它为补充或替换本机数据库安全审计控件所带来的价值。 出于本文的目的,我们将重点介绍Guardium活动监视。 目前,Guardium for Cassandra中不提供数据库发现,数据分类和漏洞评估等功能。

Guardium活动监视如何工作

如图1所示,Guardium通过使用称为S-TAP的轻量级软件探针连续监视数据活动,而无需依赖日志。 S-TAP也不需要对Cassandra服务器或应用程序进行任何配置更改。 Guardium体系结构中的另一个主要组件是收集器 ,它是防篡改的硬件,软件或虚拟设备。 此体系结构针对速度进行了优化,并有助于职责分离。

图1. Guardium架构
每个cassandra节点上的staps馈给具有安全策略的收集器

为了使数据库服务器上的处理器使用率保持在较低水平,S-TAPS会立即在OS级别拦截消息,并将数据活动转发给收集器。 根据您决定审核的活动量,群集上的处理器使用率应不超过2-4%。

收集器上的分析引擎(称为sniffer )解析数据,并将针对策略规则所定义的违反策略发出警报。 实时警报几乎可以立即看到可疑或异常事件。 这些警报在Guardium用户界面上可见,并且可以通过电子邮件发送和/或立即与您的安全情报和事件管理系统(例如IBMQRadar®,Splunk或其他类似系统)集成。

审核的数据事件存储在收集器的防篡改存储库中,该存储库只能通过Guardium接口访问,并且无法删除。

Guardium对Cassandra的价值

正如我们所讨论的,Guardium与OS内核集成在一起,以提供对数据访问的深入,细粒度的可见性。 根据访问的对象,对象,位置,时间和方式,安全策略可以执行许多操作。 这些操作的一些示例包括将事件记录到其受保护的数据库中,向安全信息和事件管理(SIEM)服务或软件发送实时警报,阻止访问,甚至编辑结果集数据。 此外,此相同的平台和安全策略可与您的任何其他企业数据库一起使用,包括关系数据库和其他NoSQL系统(例如MongoDB)。

这些功能提供了依赖本机审核的显着附加值,包括:

  • 职责分离:为了安全和合规,不使特权用户(例如DBA)也能够控制安全是一种公认​​的最佳实践。 此外,至关重要的是监视它们在包含敏感数据的任何系统上所做的一切。 不管是否在数据库服务器上启用了审核日志记录,信息安全团队都可以管理Guardium。
  • 检测速度以及与安全操作的集成速度:可以为多种情况指定实时警报,您将在此处学习如何指定警报。 当发生违规时,能够Swift发现并做出React可能意味着巨大破坏性损失与轻微不便之间的区别。

    您可以使用电子邮件或通过SNMP将警报发送到另一个监视器系统。 与IBM QRadar和HP ArcSight消息类型的内置集成还可以用于将警报条件从syslog自动转发到那些系统。 您还可以自定义警报消息以发送到其他系统,例如Splunk。

  • 合规报告的速度:证明合规性既耗时又麻烦,因为这些通常需要一定程度的定期检查和批准。 Guardium不仅使您可以创建满足审计要求所需的报告,还具有强大的工作流功能,该功能可以集成到您的业务流程中,并将所有签字和复审保存为审计跟踪的一部分。 您将在本文稍后阅读有关此内容的更多信息。

    Guardium包括数百个预建报告,其中包括旨在快速启动SOX,HIPAA,PCI-DSS和数据隐私的合规性报告的报告。 请参阅相关信息的链接,一个developerWorks文章使用加速器。

    图2.合规加速器
    菜单项Accelerators,包括PCI,Basel II,Data Privacy和Sarbanes-Oxley
  • 临时分析的速度: Guardium包括针对数据库活动,错误和违规的快速文本搜索和浏览功能。 您可以一起使用或组合使用常见的搜索技术(包括分面浏览和文本搜索)来快速进行审计数据的临时调查。 图3中的以下示例显示了通过浏览动词方面的DROP TABLE并单击它以将搜索结果筛选为所有DROP TABLE事件来找出谁最近发出了DROP TABLE命令。
    图3.使用快速搜索调查活动
    单击方面中的命令,然后查看过滤的结果

    除搜索外,还有其他分析和可视化技术可帮助进行检测和分析,包括:

    • 阈值警报,可以检测事件随时间变化的时间,例如特定用户随时间推移下载的记录数量过多。
    • 离群值检测,它对用户活动进行了复杂的聚类分析,以帮助您发现可能未被检测到的异常活动。
    • 调查和威胁仪表板可帮助分析人员更快地了解活动并检测异常活动。
  • 支持安全归档:审计信息必须存储一段规定的时间,有时甚至是几年。 为此,Guardium在设计时考虑了这些要求,并提供了安全的归档功能。
  • 数据保护: Guardium可以通过切断与数据库的网络连接来阻止用户访问。 当结果集中的私有数据通过使用特权ID的“后门”访问获得时,您还可以使用动态数据编辑来混淆它们。

规划部署

本文重点介绍安装和配置用于捕获Cassandra活动的单个收集器系统的基础知识。 对于企业部署,您将需要考虑需要多少个收集器来处理预期的负载,并且将需要使用分布式报告或聚合器设备来对可能分散在多个收集器中的收集流量进行报告。

本文的“ 相关主题”部分包括指向有关Guardium部署的红皮书的链接。 如果您不熟悉Guardium,我们强烈建议您使用经验丰富的Guardium服务或业务合作伙伴来帮助您进行初始部署并帮助您制定初始安全策略。

安装与配置

在开始之前,请收集以下信息:

  • 确保打开了必要的端口,以确保Guardium收集器和Cassandra节点,Guardium Installation Manager客户端和服务器等之间的通信正常流动。 “ 相关主题”部分提供了指向技术说明的链接,该说明列出了Guardium使用的端口。
  • IBM FixCentral中 ,下载适用于您的OS的最新S-TAP,并检查内核兼容性列表,以确保K-TAP(内核抽头)与您的OS内核级别相匹配,或通过使用弹性加载来工作。

    内核兼容性矩阵位于FixCentral上。 在Guardium下载中找到“ K-TAP捆绑包”部分,然后单击“ KTAP_List_of_Modules_ <version>”链接,如图4所示。

    图4.访问K-TAP-内核兼容性列表
    以上所述,具体显示了链接ktap_list_ofModules_V10 lin

    有关弯曲负载的详细信息,请参阅技术说明相关主题

  • 记录Cassandra用于Thrift和CQL的端口。 Thrift的默认值为9160,CQL的默认值为9042,但是可以想到DBA更改了默认值以提高安全性。
  • 记录Cassandra节点的IP地址或主机名。
  • 记录将记录实时流量的Guardium收集器的IP地址或主机名。
  • 在流量开始流向收集器之前,请确保使用默认的收集配置文件策略安装了Guardium收集器(请参见图5中的以下屏幕截图)。

    此策略记录唯一连接的每个实例,该实例由五部分组成的元组组成,该元组由客户端IP,源应用程序,数据库用户,服务器IP和服务名称组成–这是为了避免使收集器充满流量。

    注意: Cassandra不使用服务名称,因此该值在Guardium中进行了硬编码。

    图5.访问默认策略
    转到“保护”,“策略查找器”,然后选择“默认-忽略未知连接的数据活动”。

安装S-TAP

由于可以使用Cassandra中的任何节点访问数据,因此必须在所有节点上安装S-TAP。 建议使用Guardium Installation Manager安装S-TAP,但是也可以使用Shell安装程序。

配置检查引擎

当您的S-TAP成功安装并在S-TAP控制面板中显示为绿色时,您可以通过为Guardium检查引擎配置适合您环境的正确Cassandra端口,来专门告诉Guardium要监听哪种流量。

在我们的例子中,我们希望Guardium监听Thrift消息(默认端口9160)和Cassandra查询语言流量(默认端口9042)。 您可以通过使用命令行界面中的UI或Guardium API命令从设备配置检查引擎来完成此操作。

要浏览UI,请导航至Manage> Activity Monitoring> S-TAP Control ,然后单击相应S-TAP主机的蓝色铅笔图标。 展开添加检查引擎。 图6显示了一台S-TAP主机的外观。

图6.为Cassandra配置的检查引擎
显示CQL和Thrift的完整引擎。

一种替代方法是使用一个CLI用户ID登录到Guardium设备并运行Guardium API create_stap_inspection_engine ,如清单1所示。

清单1.使用Guardium API创建检查引擎
grdapi create_stap_inspection_engine client=0.0.0.0/0.0.0.0 protocol=Cassandra ktapDbPort=9160 portMax=9160 
portMin=9160 stapHost <ip of Cassandra server where associated STAP is installed>

grdapi create_stap_inspection_engine client=0.0.0.0/0.0.0.0 protocol=Cassandra ktapDbPort=9042 portMax=9042 
portMin=9042 stapHost <ip of Cassandra server where associated STAP is installed>

样本安全策略

图7中的以下屏幕截图显示了安全策略摘要,我们将使用它来说明如何实现某些目标,例如对返回的数据屏蔽敏感数据。

图7.本文使用的示例策略
显示7条规则。所有内容都在下面讨论。

重要:不要按原样使用此策略。 最好先从基本监视开始,然后再添加高级功能,例如阻止和编辑。 阻塞尤其会影响性能,因此必须谨慎执行。

如前所述,我们建议您完成本练习以进行连接分析,并根据需要过滤出受信任的连接。 我们还建议您完成确定哪些表“敏感”的练习,并使用Guardium组构建器将这些表放入适当的组中。 此外,您还将受益于拥有用户组(例如管理员,DBA或应用程序用户),以便您可以基于谁在访问数据来创建策略规则。

策略由不同种类的规则组成:

  • 访问:将活动从数据库客户端记录到数据库服务器。
  • 异常:记录从数据库返回的异常,例如错误代码或登录失败。
  • 拉伸:作用于结果集,例如编辑值。

在规则中使用过滤条件来确定何时应触发该规则,例如特定用户对特定对象的访问。 支持白名单和黑名单。

我们说明的策略将涵盖以下用例:

跳过某些对象的活动记录

当无法在S-TAP上过滤掉那些无关紧要的项目时,可以使用此规则操作来避免对其进行记录。 (使用忽略S-TAP会话可以筛选出S-TAP上的受信任会话,这可以提高收集器的性能。)

在我们的案例中,我们想使我们的报告更容易集中在相关结果上。 因此,我们过滤掉了对系统表的访问,因为Cassandra会对每个查询进行很多系统表检查。 因为这些查询是附加到查询活动的,所以我们无法使用“ 忽略S-TAP会话”操作这些项目过滤掉。 我们使用组构建器创建了一个名为CassandraSystemObjects的成员,并向其中添加了成员system% 。 您可以添加更多成员,也可以添加自己愿意过滤的特定系统对象。

注意:此示例仅用于说明目的。 绝不建议您过滤系统对象访问。 或者,您可以继续记录系统访问权限并在报告级别过滤掉某些对象。

图8.跳过不必要的一些监视活动的日志记录
对象字段将突出显示,并且出现了一个呼出,其中显示了组构建器图标。该操作是跳过日志记录

检测可能的暴力攻击-多次登录失败

失败登录规则使您可以指定在用户指定的时间段内,如果多次失败登录都会发生的操作。 规则非常简单:在重置计时器之前,请选择LOGIN_FAILED的异常类型和尝试次数。 以下规则指定5分钟内有3次失败的登录。

图9.跟踪过多的失败登录尝试
排除类型为login_failed。最小计数为3,重置间隔为5。操作仅是日志

图10中的以下屏幕截图说明了在Guardium中的“策略违规/事件管理”报告中累积的故障将是什么样子:

图10.违反策略-5分钟内超过三个失败的登录
排除类型为login_failed。最小计数为3,重置间隔为5。操作仅是日志

详细监视所有特权用户活动

PCI等法规要求对特权用户(例如DBA或系统管理员)的所有访问进行详细审核。 您可以使用此处演示的白名单方法,该方法将数据库用户与特权用户组进行比较。 或者,您可以使用黑名单,例如,这将为所有非应用程序用户打开详细监视。

图11.特权用户的详细监视
dbuser字段具有特权组,并且LOG FULL DETAILS是操作。

发送警报,提醒特权用户进行不当访问

我们的下一条规则是自然的后续行动。 在此示例中,我们继续监视同一组特权用户,但增加了更多条件:(在“持卡人”组中)访问的对象以及使用了哪些命令。 如果触发了此规则,我们将其指定为向SIEM系统发送警报(图12)。 我们还将日志违规记录到Guardium,因此我们可以在Policy Violations / Incident Management报告中向您显示情况(图13)

图12.当特权用户使用DML或SELECT访问持卡人对象时发送警报
严重性字段很高,命令是一个称为DML + SELECT的组,DBuser是特权组,而object是一个称为持卡人对象的组。有两种操作:1是每个会话一次警报,2是仅日志记录

这是策略违规/事件管理报告(“ 遵从”>“报告”>“事件管理” ),显示了严重程度较高的违规情况。

图13.高严重性策略违规
在违规旁边显示一个红色图标,表示严重程度高。

通过未知连接阻止访问高度敏感的对象

如果您具有Guardium的高级版,则可以考虑在特定情况下使用阻塞。 通过阻止(在Guardium中称为S-GATE),可以对某些会话进行特殊监视。 这称为“附加”。 然后对照策略规则检查该会话中用户的操作,以查看他们是否尝试访问您在该规则中指定的某些表。 如果是这样,则通过操作S-GATE Terminate触发该规则,并在其请求可以通过数据库之前断开其连接。

由于需要对照策略规则检查附加会话中的每个命令,因此必须注意附加了哪些会话,否则可能会意外影响应用程序的性能。 仅将阻止功能用于防止后门访问或防止具有较高凭据的用户访问敏感数据。

我们有两个规则来支持阻止:第一个规则附加到任何特权用户会话。 第二个阻止特权用户对客户表的任何访问。

图14.一个附加到会话的规则和一个阻止访问特定对象或对象组的规则
提取显示附加到db用户特权组上,第二条规则显示对象%customer%上的块上的块。 。

编辑结果集

最后,让我们看看最后一个规则,即挤出规则,在该规则中,我们要防止特权用户看到私有数据。 挤出规则要求您更改检查引擎的“主”配置,以启用对返回数据的检查。

导航到“ 管理”>“活动监视”>“检查引擎” ,然后单击“ 检查返回的数据” ,如下所示。 然后单击重新启动检查引擎

图15.配置检查引擎以查看返回的数据
以上文字所述。

现在,您可以将新的挤出规则添加到策略中。 编辑您的策略并添加另一个挤出规则。 添加将触发编辑结果集的条件,例如特定的用户和客户端IP。 (请注意,挤出规则不能由对象指定。Guardium正在该指定连接的所有结果中寻找模式。)

接下来,您必须指定正则表达式,Guardium将使用该正则表达式来检查匹配模式的结果集。 Guardium包含几个预构建的正则表达式,但是您可以创建自己的正则表达式或修改现有的正则表达式以匹配您要编辑的正则表达式。

要访问正则表达式生成器,请单击规则中“数据模式”字段旁边的RE图标。

图16.正则表达式图标弹出正则表达式构建器
以上文字所述。

选择一个内置标识符或使用内置测试器创建并测试自己的标识符,如图17所示。

图17.选择一个现有的模式或构建自己的模式
选择的类型是个人标识符,其中显示了包括我们的社会保险号在内的类型列表。

保存并重新安装您的策略。

图18是一个示例,该示例显示了将策略规则应用于美国社会保险号的情况。

图18.社会安全号在特权用户的结果集中被屏蔽
除最后4位数字外的所有内容都用星号屏蔽。

合规报告自动化

Guardium经常使用的功能是创建审核流程的功能。 您可以分配一个或多个任务(例如特定报告)以按计划运行,并将结果按正确的工作流程顺序发送给适当的一组审阅者。

在这种情况下,我们决定要针对所有数据库GRANT语句创建每日报告。 我们需要让PCI审阅者知道它,然后我们需要审计主管来签字。

我们为支持该用例所做的工作是克隆与我们想要的内容非常匹配的内置报告之一。 在我们的案例中,我们选择了标题为“执行授予命令”的报告。

提示:要查找可能的候选报告,请导航至我的仪表板创建一个新的仪表板 。 单击添加新报告 。 在过滤器栏中,键入“ grant”,您将看到几个可能的候选者。

要修改报告,请将其添加到仪表板,然后单击报告左上方的蓝色铅笔图标,这将弹出该报告的查询。 在查询构建器中,单击“ 克隆”按钮,这时您可以在查询构建器的上部为报表查询提供新名称。 您可以在报告中添加或删除列(字段),并修改搜索条件。 在我们的例子中,我们删除源程序名称和服务名称,并添加完整SQL字段。

现在,我们的报告类似于图19中的以下屏幕截图:

图19.我们修改后的每日特权报告
报告包括以下列:客户端ip,服务器ip,数据库用户名,数据库名,对象名(用户授予特权),完整的sql和总访问权限。

现在,我们需要将此报告添加到审核过程中,进行计划,然后将其发送给适当的审阅者。

要创建新的审核流程,请导航至“ 遵从”>“工具和视图”>“审核流程生成器” 。 生成器将引导您完成该过程。 下图显示了我们的审核过程“每日报告”,而“特权每日报告”是一项每天运行一次的任务。 审阅者是具有pci和审核角色的用户

图20.审计流程构建器帮助我们创建合规性工作流
该任务是我们的每日特权报告,每天运行一次,接收者是pci和审核者。 。

您可以通过电子邮件将报告结果发送给用户,但在本例中,我们的审核用户将直接登录Guardium以查看其活动。 (注意,这是很容易定制用户界面,并针对不同角色的权限。请参见相关信息的链接,就如何做到这一点的视频。)

假设我们的PCI用户查看了该报告,然后将其添加到我们的审计主管AuditMan的待办事项列表中,该人将在仪表板的待办事项列表图标中看到警报,如图21所示。

图21.横幅中的待办事项列表指示器
Guardium横幅中的剪贴板图标有一个红色框,其中带有1表示有1个待办事项。 t。 。

AuditMan将看到报告结果,然后可以发表评论,上报或注销。 这些评论和状态将与审核过程结果一起存储,如果您的组织需要为内部或外部审核员检索这些评论和状态,则可以根据需要进行归档和检索。

图22.审计流程任务可用的工作流程操作
每日特权报告的审核过程结果摘录-顶部包括用于签名结果,升级,下载pdf和注释的按钮。

功能摘要

我们希望您会发现本文对配置和使用IBM Security Guardium有所帮助,以帮助保护Cassandra中的敏感数据免受黑客和内部威胁,并帮助您满足合规性要求。

下表重点介绍了Guardium平台可用于Cassandra的功能部件。

表2. Guardium平台对Cassandra的支持
能力 Guardium产品
细粒度的监控和审计 数据活动监视器
实时和阈值警报 数据活动监视器
高级分析(异常值,威胁检测) 数据活动监视器
搜索和浏览审核数据 数据活动监视器
强大的基于REST的API 数据活动监视器
动态数据编辑 数据活动监视器
封锁 数据活动监视器(高级)
文件级数据加密 数据加密
监视和警报文件活动,例如数据库配置文件或数据文件 文件活动监控器
禁止访问文件 文件活动监视器(高级)

附录:连接分析

连接剖析是一种获取数据库访问总体视图的便捷方法,可帮助您确定是否有S-TAP上的连接可以被信任和过滤掉,或者是否存在可疑的连接。 连接分析列表报告显示每个唯一的连接,并提供在指定的报告期间内建立连接的次数。 下面的报告显示,我们在本文中使用的Cassandra连接已使用了36次。

图23.连接分析列表报告
cassandra连接突出显示。

从此报告中,您可以调用Guardium API将连接添加到组,例如可用于以后的安全策略规则的可疑连接或受信任连接。

要从用户界面调用API:

  1. 右键单击报告中的连接行。
  2. 向下滚动并选择Invoke ... ,然后选择create_member_to_group_by_desc。
  3. 将描述更改为您现有的连接组之一。 然后单击立即调用
图24.直接从“连接概要列表”报告中将连接添加到组
上面的文字描述了此系列屏幕快照中显示的流程。

如果您不想再在连接配置文件报告中看到此连接,请选择默认组“ 连接配置文件列表”。


翻译自: https://www.ibm.com/developerworks/security/library/se-secure-protect-cassandra-databases-ibm-security-guardium-trs/index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值