Amazon Web Services(AWS)是构成Amazon云计算平台的远程计算服务的集合。 其中两项服务是:
- Amazon Simple Storage Service(S3),这是一种在线文件存储Web服务,它通过Web服务接口(REST,SOAP)提供存储。
- Amazon Relational Database Service(RDS),这是一种可扩展的分布式关系数据库Web服务。 借助Amazon RDS,您可以在云中创建和使用自己的数据库实例,并围绕它们构建自己的应用程序。
在本文中,获取利用IBM InfoSphere Guardium平台评估数据库安全性并在Amazon云中强化数据库所需的信息。 了解如何:
- 使用Guardium与Amazon RDS一起发现Amazon云中的数据库实例。
- 使用数据源访问Guardium中的那些实例。
- 在Amazon云中的那些数据库实例上启动漏洞评估。
云计算
云计算是在诸如Internet的网络上分布的计算。 云是分布式计算资源和网络的集合。 云计算正变得越来越流行和普遍。 随着越来越多的工作流和数据迁移到云中,InfoSphere Guardium也是如此。 云计算至少需要与任何其他计算资源和数据存储相同的数据安全性和保护。 但是,考虑到Internet的无处不在,数据安全性和保护在云中显得尤为重要。
各种供应商提供了用于云计算的平台。 亚马逊提供流行的商用云产品。 亚马逊的云产品(称为Amazon Web Services (AWS))包括多种计算服务,其范围从数据存储到计算能力,数据库,分析,应用程序部署到各种应用程序本身。
InfoSphere Guardium
InfoSphere Guardium是一个企业信息数据库审计和保护解决方案,可帮助企业跨各种关系和非关系数据源保护和审计信息。
Guardium可以保护和监视各种数据源,包括:
- 大型数据仓库,例如Netezza,GreenplumDB和Teradata。
- Hadoop发行版,例如Big Insights,Cloudera和HortonWorks。
- NoSQL数据库,例如CouchDB,MongoDB和Cassandra。
- 适用于IBM System z的DB2,IMS和VSAM。
- 其他各种类型的数据存储和协议,例如Microsoft Sharepoint,CIFS,HTTP和FTP。
当然,还支持所有传统和流行的关系数据库服务器(RDBMS):
- Oracle的Oracle数据库和MySQL
- 微软SQL Server
- 开源PostgreSQL
- Sybase公司
- IBM的数据库产品DB2和Informix
InfoSphere Guardium中的数据源
在Guardium中, 数据源表示任何潜在的数据源,特定的数据库,文件或任何其他数据源。 对于许多Guardium应用程序,数据源是数据库实例。 InfoSphere Guardium支持数据安全保护的生命周期,从发现敏感数据到监视和审计,再到评估安全性和强化数据库。 每种类型的数据源都支持InfoSphere Guardium功能的子集。 创建数据源后,首先将其与Guardium应用程序相关联,该应用程序指示该数据源将用于什么目的。
数据源详细信息
InfoSphere Guardium中定义了一些使用数据源的应用程序:审计,安全性评估,变更审计,分类,定制域,数据库分析,价值监控,重放以及其他。 为Guardium定义数据源后,Guardium知道如何通过为其定义数据源的特定应用程序访问该数据库。
您可以为数据源访问定义不同的参数,包括:
- 用户名
- 密码
- 主办
- 港口
- 服务名称
- 数据库名称
- 连接属性
- 文件系统目录
- 各种特定于数据库的详细信息
在某些情况下,数据库类型实际上根本不是名称。 数据库类型可能指示诸如HTTP或FTP的协议,甚至指示单个文件,Guardium可以将所有协议连接到并运行Guardium安全应用程序。 不同的Guardium应用程序需要不同类型的数据库访问。 通常,您将向Guardium提供使用数据源的应用程序所需的最低特权,其中可能包括某些Guardium应用程序的登录信息。 例如,Guardium的漏洞评估要求对数据库具有高级别的管理访问权限,因此您需要为具有所需访问级别的数据库提供用户名和密码。
云中的数据源
除了其位置之外,给定企业所驻留的数据源与云中存在的数据源之间几乎没有区别。 任何给定的Guardium安全功能都可以在位于Amazon AWS中的数据源上同样良好地工作(所有其他条件都相同)。 而且,由于每个人都可以访问和使用云,因此Guardium可以为在Amazon AWS上使用数据源的任何客户提供针对Amazon AWS量身定制的软件和服务。
Amazon AWS提供了Amazon RDS,允许用户快速轻松地创建和使用几个不同的数据库实例。 当前,支持的数据库类型为Oracle,MySQL,Microsoft SQL Server和PostgreSQL。 Guardium提供了发现Amazon RDS中实例的功能,并允许您快速轻松地为每个发现的数据源定义数据源。 使用Guardium,您可以快速轻松地配置Amazon RDS,以使Guardium应用程序可以访问这些数据源。 通过Guardium,可以轻松快速地在这些数据源上启动漏洞评估。 Guardium中有助于Amazon RDS安全的功能集合称为Amazon RDS Discovery。
RDS发现入门
您可以在Guardium GUI中访问RDS发现。 可从Internet浏览器访问Guardium GUI。 使用HTTPS协议(https:// hostname:8443)将浏览器指向Guardium设备的主机名或IP地址上的端口8443。 使用您的Guardium访问管理器提供的Guardium访问凭证登录到Guardium GUI。 如果使用管理员用户ID登录,则可以通过单击Tools选项卡导航到Amazon RDS Discovery页面,如图1所示。
图1. Amazon RDS发现
最初,页面将显示两个文本框,您在其中输入访问**和秘密访问**,以及一个Amazon地区网格。
Guardium使用的Amazon SDK需要用户提供**以允许Guardium访问。 要获取您的**,请转到AWS Security Credentials网页(登录到aws.amazon.com之后,在右上菜单中)。 在“安全证书”页面中,您可以访问**,检索先前创建的**的**ID或创建新**。 **用于Guardium之类的应用程序,可根据您的请求访问您的Amazon AWS账户。
Guardium的不保存在自己的数据存储的关键信息,在其他地方发送键,也没有使用任何其他目的的关键。 为了方便起见,在您的登录会话期间,会将**临时保存在Guardium系统上。 如果您离开并返回“ RDS发现”页面,则会为您自动填写关键字段。 但是,当您注销时,该信息将被丢弃。
从Guardium服务器到Amazon AWS的所有通信都是通过加密的HTTPS连接进行的。
亚马逊地区
Amazon云计算资源位于世界不同地区的数据中心设施中。 每个数据中心位置(称为区域)代表一个单独的地理区域。 每个区域包含多个不同的位置,称为可用区(AZ)。 AWS用户可以在多个区域中放置资源,例如实例和数据。 除非您自己专门进行复制,否则不会跨区域复制资源。 每个区域都是完全独立的,尽管当前所有区域都提供Amazon RDS,但各个区域所提供的服务可能有所不同。 您启动的任何Amazon RDS活动仅在单个区域中运行。
表1中显示的区域列表是通过查询Amazon动态生成的。 例如,如果无法显示区域表,则可能意味着您的Guardium设备无法访问Internet。 要访问Amazon AWS,您必须为设备提供Internet上对Amazon云的访问权限(否则Guardium将无法访问您的RDS实例)。
表1.亚马逊地区
| 地区 | 名称 | 发射日期 |
|---|---|---|
| 美国东部(弗吉尼亚北部) | us-east-1 | 2006年 |
| 美国西部(北加利福尼亚) | us-west-1 | 2009年 |
| 美国西部(俄勒冈州) | us-west-2 | 2011年 |
| AWS GovCloud(美国) | us-gov-west-1 | 2011年 |
| 欧盟(爱尔兰) | eu-west-1 | 2007年 |
| 南美(巴西圣保罗) | sa-east-1 | 2011年 |
| 亚太地区(新加坡) | ap-southeast-1 | 2010 |
| 亚太地区(东京) | ap-northeast-1 | 2011年 |
| 亚太地区(悉尼) | ap-southeast-2 | 2012年 |
| 中国(北京) | 快来了 |
Guardium的RDS发现允许您同时发现任意数量的Amazon地区中的RDS实例。 选择要查询RDS实例的任何区域。
发现结果
输入**ID和**并选择一个或多个区域进行查询后,可以单击“ 发现”以检索有关这些区域中RDS数据库实例的信息。
发现实例的网格将出现在区域列表下方,如图2所示。
图2.发现的实例
为了生成网格,Guardium GUI服务器将同时联系您选择的所有区域,以向Amazon查询有关您创建的实例的信息,如图3所示。
图3.联系AWS区域
图2中标记为“可访问”的列将显示绿色的复选标记或红色的X,指示Guardium是否将能够连接到实例。 如果RDS实例是公共的并且具有“可用”状态,则认为该实例是可访问的。 可能的状态值为:
- 有空
- 创造
- 备份
- 已删除
- 删除中
- 失败了
- 修改
- 重新启动
- 重置主证书
对于每个数据库实例,其当前状态以及是否为公共状态都显示在发现的实例的Details列中,如图4所示。您将无法为无法访问的实例创建Guardium安全组或数据源,因为这些选择将被禁用。
将显示每个实例的其他详细信息,例如数据库名称,主机和端口,在其中找到的区域以及在亚马逊中是否具有关联的虚拟私有云(VPC)。
您可以使用图4中的网格创建Amazon安全组和Guardium数据源,并在网格中的选定RDS实例上启动漏洞评估。 您可以完成所有这些操作而无需离开“ RDS发现”页面。
图4.发现网格选择
最后的四列(如图5所示)指示有关先前为这些数据库实例创建的Guardium安全组和Guardium数据源的详细信息。 第一次在网格中查看数据库实例时,“安全组”和“数据源”列中将显示红色X。 如果实例,安全组或数据源中的任何一个已更改,请使用页面右上方的“ 刷新”按钮显示最新数据。 通过访问Amazon Web Console,在单独的浏览器中使用Guardium GUI或使用Guardium CLI,其他用户可以同时以其他方式同时更改所有这些项目。
如果您已调整浏览器窗口的大小,希望重新显示网格以适合浏览器窗口,则“刷新”按钮也很有用。
图1中的实例上方显示的过滤器框是为了易于使用。 在框中输入文本以过滤表,并仅显示与过滤器文本匹配的行。
失误
无论何时执行操作,无论是发现操作还是对一个或多个数据库实例的操作,都可能发生错误。 如果出现任何错误,则Errors ...按钮将在页面的右下角可见,如图5所示。Errors ...按钮将在您执行的每个操作中变为可见或不可见,并且将显示仅由上一个操作产生的错误。
图5.错误按钮
一些错误可能起源于Amazon AWS或由Amazon自己的代码产生。 此类错误将不予翻译; 它们的外观将与从亚马逊收到的完全一样。 该窗口还将显示产生错误的区域。
例如,当用户错误输入**或**ID时,会发生常见错误。 发生这种情况时,当Guardium服务器与每个区域联系时,每个区域都将拒绝接受Guardium的请求。 图6显示了有关无效凭据的示例错误消息。
图6.无效的凭证错误
表2总结了一些常见错误,并提供了解决问题的疑难解答提示。
表2.对常见问题进行故障排除
| 问题 | 细节 | 解析度 |
|---|---|---|
| 无法进入政府区域 | 无法访问AWS政府区域。 大多数客户将无法使用政府区域。 仅选择您具有RDS实例的区域。 出现的错误消息将与您输入不正确的**或**ID时的错误消息相同。 | 不要在区域网格中选择名为“ us-gov-west-1”的区域。 |
| 无效证件 | 您输入的**或**ID不正确。 | 重新输入您的**ID和**。 为避免输入错误,请尝试在浏览器中使用复制和粘贴功能,或使用Control-C和Control-V快捷键复制和粘贴所选的文本。 |
| 时间或日期无效,签名尚未生效 | 如果连接到AWS的Guardium设备上的日期或时间不正确超过15分钟,则AWS将拒绝访问。 (这确实考虑了时区和夏时制。)设备必须具有正确的本地时间。 | 将时区,日期和时间设置为正确的本地设置 |
亚马逊安全小组
安全组允许从Internet访问Amazon RDS数据库实例。 它们就像简单的防火墙,如图7所示。访问由无类域间路由(CIDR)IP地址范围的列表授予。 与所有其他Amazon AWS服务一样,安全组是按区域组织的。 每个区域中可以有许多安全组,并且每个安全组中可以有许多CIDR IP地址范围。
图7.安全组控制访问
每个CIDR IP范围都描述一个地址和掩码:ip1.ip2.ip3.ip4 / mask。 掩码在最左边的位上工作。 每个数据库可以与多个安全组关联。 如果这些组中任何一个的CIDR IP范围中的任何一个都授予对给定IP地址的访问权限,则可以从该IP访问数据库。 表3显示了示例CIDR IP范围。
表3.示例CIDR IP范围
| CIDR IP | 火柴 |
|---|---|
| 0.0.0.0/0 | 掩码0匹配地址中的0位,因此允许从任何地方访问 |
| 192.168.12.0/23 | 23位掩码是255.255.254.0,因此它表示的范围是192.168.12.0到192.168.13.255 |
| 1.2.3.4/32 | 32位的掩码匹配地址中的所有位,因此此CIDR IP仅匹配一个地址1.2.3.4 |
Amazon安全组与Guardium组或Guardium组构建器无关。 Amazon安全组仅是Amazon构造,Guardium不维护它们的任何记录。 Guardium提供了简单的功能来创建专门用于Guardium访问的安全组,并向该组添加其他CIDR IP范围。 但是,由每个客户决定如何配置其安全组。 为了方便起见,添加了Guardium功能,但这不是必需的。
用户可能已经为整个组织创建了一个组。 或者,他们可能没有自己的组,需要创建一个组以允许从Guardium设备进行访问。 用户可以通过提供的按钮或访问Amazon AWS Web Console为Guardium创建一个组。
无论安全组的创建和配置方式如何,为了使Guardium连接到RDS实例,必须通过与该RDS实例相连的至少一个安全组中列出的至少一个CIDR IP范围来授予Guardium设备访问权限。
安全组
适用于RDS实例的安全组有两种类型: VPC或RDS。 某些区域中的某些RDS帐户会在默认VPC中创建所有RDS实例。
VPC内的RDS数据库实例使用VPC安全组。 不在VPC内的RDS数据库实例使用RDS安全组。 当RDS实例位于VPC内时,AWS中只有一个地方可以定义和管理VPC中所有AWS计算资源(包括数据库实例)的网络访问规则。 使用EC2控制台来管理VPC安全组。 使用RDS控制台来管理RDS安全组。
您的RDS控制台可以告诉您是否具有默认的VPC ,这意味着您将使用VPC安全组而不是RDS安全组。
选择实例后,将启用“安全组”按钮,如图8所示。选择该按钮将完成三件事:
- 创建一个Guardium安全组(如果不存在)。
- 添加Amazon看到的Guardium设备的IP地址(如果尚未在其中)。
- 将选定的数据库实例添加到组中(如果尚未关联)。
图8显示了一个示例。
图8.创建的安全组
创建组后,您将在实例网格的“ Guardium安全组”列中看到组的名称。 同一区域中的实例将共享同一安全组。 CIDR IP地址列表紧随安全组的名称。 与给定实例一样,Amazon创建组可能需要一些时间。 您可能会在方括号中看到状态“正在添加”,表明这些组尚未准备好使用。 最终状态将变为“活动”。
如果尚未创建Guardium安全组,与实例关联的IP地址不在该组中,或者该组尚未添加到实例的安全组列表中,则在Guardium安全组列中将出现一个红色的X。 。 这并不一定意味着该实例不可访问。 实例上可能有一个不同的安全组,该安全组授予对包括Guardium设备在内的IP地址范围的访问权限。 可能有一个安全组可以授予对Guardium设备IP地址的访问权限,但是该组是通过其他某种方式创建的,并且具有不同的名称。
安全组配置对于每个组织可以是唯一的。 有些人可能在整个组织中都有一个安全组。 有些人可能需要使用GUI创建提供访问权限的Guardium安全组。 客户可以选择如何提供RDS实例访问权限。
将Amazon看到的Guardium设备的IP地址添加到实例的安全组中,应授予对RDS实例的访问权限。 有时,Guardium设备的网络配置可能会干扰。 在这种情况下,用户可以通过选择“ 添加IP范围”按钮将CIDR IP地址范围手动添加到Guardium安全组。
如果存在连接问题,则可以使用CIDR IP范围0.0.0.0/0测试访问权限,该范围将授予所有访问权限,并允许您确定连接问题是否与安全组配置有关。 但是,请勿将CIDR IP范围用于任何包含敏感信息的实时数据库。 为了提高安全性,应最小化允许的访问。
如果要从给定的数据库实例中删除Guardium安全组,或者想从Guardium安全组中删除CIDR IP范围,则需要使用AWS控制台。
创建数据源
为了使Guardium能够使用RDS实例,您必须为其创建数据源。 在RDS发现中,对于要为其具有关联数据源的每个实例,输入用于连接到该实例的用户和密码。 对于用户,您可以选择在首次创建RDS实例时创建的主用户,也可以选择此数据库实例之后创建的任何其他用户。 之后,您可以通过选择网格中的那些行并单击创建/更新数据源来创建其数据源 。
操作完成后,您将在数据源列中看到数据源名称。 数据源将存储在Guardium的数据存储中,并在以后发现任何RDS实例时显示在网格中。 如果您希望更改实例的用户或密码,可以重复该操作。
如果您对数据源有任何特殊的配置,或者想测试Guardium是否可以成功连接到数据源,那么可以选择创建了数据源的一行,然后单击Datasource Definition ...。 选择之后,您将看到可从Guardium的“数据源定义”构建器访问的标准数据源定义表单。 将显示所有数据源详细信息,如图9所示。
图9.数据源定义
通过使用数据源定义表单,您可以对数据源进行任何修改,例如任何连接属性或描述。 但是,大多数属性都不应更改,因为它们与Amazon上的设置匹配。 数据源的名称是从实例主机名,端口和区域派生的,它们对于每个RDS实例都是唯一的。
此页面上的一个有用功能是“ 测试连接”按钮,该按钮可让您在尝试使用数据源之前验证是否可以成功连接。 图10显示了成功的连接。 如果无法连接,则可能有很多原因。
图10.成功的连接
如果连接超时,则实际上可能是安全组未配置为允许访问您的Guardium设备的IP地址。 验证安全组:
- 使用AWS控制台检查所有安全组。
- 与系统管理员验证Guardium设备IP地址。
- 尝试使用CIDR IP范围为0.0.0.0/0(可授予所有人访问权限)的安全组连接到测试数据库实例。
- 尝试使用其他工具连接到数据库实例。 例如,使用MySQL客户端连接到MySQL数据库或使用SQL * Plus工具连接到Oracle数据库。 使用Razor SQL之类的通用数据库工具连接到任意数量的不同数据库类型。
如果您的安全组配置正确,则可能有其他原因导致连接失败,例如:
- 用户ID或密码错误。 通常,在出现的对话框中会显示一个错误来表明这一点。
- 该实例当时不可用。 在Guardium实例网格或AWS控制台中检查实例的状态。 如果实例正在备份,删除,修改,重新引导,正在更改主凭据或由于某种原因实例失败,则将无法访问该实例。
如果连接测试通过,则说明您可以在运行漏洞评估时成功连接到RDS数据库实例。
其他数据源视图
由Amazon RDS Discovery创建的数据源是为安全评估应用程序创建的。 它们可以与其他Guardium应用程序共享,您可以通过导航到“数据源”构建器并选中表明您要共享数据源的框来实现。
您还可以使用其他传统方式来查看已创建的数据源。 您可以从“ 工具”选项卡中的“数据源”构建器中查看它们,如图11所示。
图11.数据源生成器
您还可以在Daily Monitor选项卡的datasources报告中查看数据源,如图12所示。
图12.数据源报告
漏洞评估
Guardium漏洞和威胁管理解决方案是管理任何数据库环境的安全性和合规性的第一步。 测试以及流程工作流程可帮助您以自动化的方式识别和解决数据库漏洞,从而改善配置并强化基础架构。
借助Guardium漏洞评估应用程序,组织可以以一致且自动化的方式识别和解决数据库漏洞。 Guardium的评估过程评估数据库环境的运行状况,并通过以下方法提出改进建议:
- 根据最佳实践评估系统配置,并发现数据库资源的漏洞或潜在威胁,包括配置和行为风险。
- 查找环境中的任何固有漏洞。
- 根据发现的风险和漏洞最严重的区域,建议并优先制定行动计划。 这些报告和建议提供了有关如何满足合规性更改和提高所评估数据库环境的安全性的指南。
RDS实例的漏洞评估
在拥有实例的数据源之后,并且您知道Guardium设备可以通过安全组访问该实例,则可以对该实例启动漏洞评估。 图13概述了该过程。
图13. RDS实例的漏洞评估
选择具有关联数据源的一个或多个可访问实例后,将启动“启动漏洞评估”按钮。 评估将针对多个数据库实例运行一些安全测试,并创建结果报告。 单击启动漏洞评估以对所选数据库实例启动评估,如图14所示。
图14.漏洞评估对话框
您可以输入现有漏洞评估的描述或新描述。 您也可以输入评估报告的收件人。 但是,对话框中的所有字段都是可选的。 单击确定启动评估。 另一个对话框将指示评估是否成功启动。 评估是在审计过程中启动的, 审计过程是在Guardium设备的后台运行的过程。 审核过程连续运行其关联的任务,记录结果,并将结果传递给一个或多个用户。
如果尚不存在具有给定描述的漏洞评估,则将创建该评估。 如果创建了新的安全评估,它将使用选定的RDS实例数据源以及与这些数据库类型相关的所有可用测试(包括Oracle,MySQL,SQL Server或PostgreSQL)创建。
如果安全评估已经存在,则选定的RDS实例数据源将添加到评估中(如果尚未存在)。 如果现有评估根本没有测试,那么将添加与数据库类型相关的所有可用测试。 否则,测试将保持不变。
除非已经存在,否则将创建用于漏洞评估的审核过程。 它的描述与评估相同,仅包含一项任务:安全评估。 该过程将立即提交执行,尽管该过程可能需要一些时间才能完成。
评估完成后,结果将分发给所有接收者。
审核流程视图
启动审核过程后,可以在GUI中查看Guardium作业队列和审核过程日志中的状态。 这两个报告都可以从GUI的Guardium Monitor选项卡中获得。
您还可以从Audit Process Builder中手动访问结果,如图15所示。
图15.审核流程生成器
审核过程的结果包括针对数据库实例运行的各个测试的结果。 表格图总结了评估中执行的所有测试。 广泛的结果部分提供:
- 对已执行测试的详细描述。
- 有关目标RDS实例的信息。
- 每个测试的通过和失败状态,严重性信息以及该状态的原因。
- 有关测试本身的信息以及有关测试来源的外部参考。
有关漏洞评估的更多信息
本文仅包含漏洞评估的摘要。 在漏洞评估中有大量的安全信息,但是详细信息不在本文讨论范围之内。 相关主题提供了有关InfoSphere Guardium漏洞评估的更多信息。
摘要
组织正在迁移到云中,以降低存储数据和维护自己的信息技术基础架构的成本。 迁移到云环境带来了数据安全方面的新挑战。 Guardium已经非常适合私有云和混合云环境。 Guardium轻松发现,评估和强化Amazon RDS实例的功能可以帮助您保护公共云中的数据。 与云相关的好处还与Guardium的使命保持同步,后者的使命是为安全性,数据保护和审计提供一致的企业范围解决方案。
请继续关注本系列的第2部分,该部分将讨论Guardium如何使用Amazon S3进行备份和还原操作。
翻译自: https://www.ibm.com/developerworks/data/library/techarticle/dm-1402igcloud1/index.html