转载

命令行访问 Guardium 界面功能 — GuardAPI 介绍

Guardium 用户界面概述

Guardium 产品的用户操作界面主要有两类:

1. Web 应用程序管理界面

该界面可以为用户提供友好的图形化显示,方便用户操作。其优点是:图形化的,直观的,方便的用户交互界面,对用户的计算机专业要求较低,简单易学。缺点是:对于大量重复操作的完成效率不高,适合普通用户与超级用户使用。

2. GuardAPI 命令行输入界面

命令行输入界面为用户提供命令行输入方式与应用交互。其优点是:提供了简单的界面输入方式,命令执行效率高,可以对命令进行二次编程。缺点是:需要用户记住大量的命令与参数,对操作人员计算机素养要求较高。适合超级用户完成日常维护工作的编程实现。

回页首

GuardAPI 工作原理

GuardAPI 是一种从命令行访问 Guardium 功能的方法,是一组 CLI 命令,通过 GuardAPI 不但可以快速有效地使用 Guardium 功能,最重要的是实现了自动执行重复任务的需求,对于管理人员部署与日常维护工作有着无可替代的便利。Guardium 提供了定制的 perl 脚本作为登录环境,在该环境下只能运行 Guardium 本身定制的命令。为了使用 GuardAPI 而正确登录 CLI 需要使用 5 个 CLI 帐户(guardcli1、...、guardcli5)中的一个帐户进行登录,并分配 admin 或 cli 角色,即可以快速执行操作,例如,创建数据源、维护用户层次结构或维护 Guardium 功能部件(S-TAP, 安全性评估,数据分类查询等),节省大量时间。

回页首

GuardAPI 命令语法

GuardAPI 是一组定制命令,该类命令均以 grdapi 开头, 通过编辑"参数名=值"的组合对,可以实现特定的功能,如下具体所示:

grdapi <command_name> parameter_name1=paravalue1 parameter_name2="para value2"

guardAPI 命令的参数分为必选(required)与可选(optional)两类:

对于显示为 required 的参数必需提供非空值,每一个参数都有指定的参数类型,提供的值必需满足相应的参数类型,例如,对于 Integer 类型的参数不能是'value1'这类的字符串。

同时所有参数的值还必需符合以下规范:

  • 参数的关键字和值都区分大小写,例如参数名 appid 与 Appid 区分为两个不同的参数,参数值 public 与 Public 也定义为不同的值。
  • 如果参数值包含一个或多个空格,必须用双引号字符将它引起来
  • 调用 GuardAPI 函数并且非必需参数的值未指定或设置为空字符串 ("") 时,GuardAPI 会在调用该 GuardAPI 函数时将该参数转换为空值。此种转换会导致 GuardAPI 忽略该参数,就好像未指定该参数一样。

回页首

GuardAPI 调用方式

直接访问 Guardium 系统提供的定制的 cli 用户环境,替代了 root 用户访问,编辑调用 GuardAPI,然后查看返回的结果,如图 1 所示:

图 1.cli 用户登录调用 GuardAPI

命令行访问 Guardium 界面功能 — GuardAPI 介绍

同样也可以先编辑完多条命令,以文本形式保存,然后通过 ssh 协议登录 cli 成为非交互式,自动运行大量的 GuardAPI 命令,这种方法的调用效率大大高于通过 GUI 调用。如图 2 所示:

图 2. SSH 登录并批量调用 GuardAPI

命令行访问 Guardium 界面功能 — GuardAPI 介绍

GuardAPI 函数更支持给密码等敏感信息参数进行加密,同时更提高了访问产品的安全性。

回页首

GuardAPI 分类

GuardAPI 为每一个函数提供了言简意赅的命名,通过函数名,可以很容易知道当前函数实现的功能,为了快速了解 GuardAPI 提供的所有功能,可以从以下两个方面来实现:

1. 功能模块

GuardAPI 目前只提供英文的函数名,Guardium 的功能模块遵循规范的命名规则,基于行业背景,先确定功能相关的英文字符串,然后调用" grdapi commands <search-string>",该命令的主要作用是从所有的 GuardAPI 函数中检索名称包含子串<search-string>的函数列表并返回。例如为了获得 Guardium 数据分类功能相关的 GuardAPI 命令,首先确定与分类相关的英文字符串,包括 classifier, classification, class 等,因此可以通过调用"grdapi commands class" 模糊匹配获得所有相关的函数,如图 3 所示,并以此类推。当然为了获得所有的 GuardAPI 函数,可以直接调用" grdapi commands", 但是一般不建议这样使用,因为系统的 GuardAPI 数量很多,往往不能达到一目了然。

图 3. GuardAPI 返回的数据分类函数列表

命令行访问 Guardium 界面功能 — GuardAPI 介绍

2. 操作类别

GuardAPI 访问系统的功能,以操作类别来分,目前主要包括以下 9 种不同类型的操作:create, delete、update、list、modify、execute、get、enable、disable。例如想要要获得 Guardium 提供的所有与新建操纵相关的 GuardAPI 命令,可以通过调用" grdapi commands create "返回相应的函数列表,如图 4 所示:

图 4. GuardAPI 返回的新建任务函数列表

命令行访问 Guardium 界面功能 — GuardAPI 介绍

点击查看大图

关闭 [x]

图 4. GuardAPI 返回的新建任务函数列表

命令行访问 Guardium 界面功能 — GuardAPI 介绍

回页首

GuardAPI 建议使用流程

Guardium GPU200 一共提供了 289 个 GuardAPI,几乎涵盖了 Guardium GUI 的绝大部分功能模块,基于每一模块,一般都实现了增、删、改、查、安装、运行等操作。这就表明,对于 Guardium,用户可以不需要访问 Guardium 界面,就可以实现大部分的任务,大大提高了使用效率。

GuardAPI 函数主要完成了将原先从界面一次或者多次输入的请求转变成“函数名+参数名列表”的调用形式。通过 GuardAPI 一次性提供所有必需的参数值,就可以完成函数对应的功能。功能越复杂,需要用户的输入跨越的界面就越多,相应的 GuardAPI 函数的参数列表的个数也越多,GuardAPI 能够成功执行并返回结果的前提是函数的所有必需的参数都正确地被赋值。用户往往因为函数有过多参数而生畏,Guardium 系统充分考虑了 GuardAPI 产品的易用性,参照以下流程达到快速准确地编写 GuardAPI 脚本以实现业务功能,如图 5 所示。

  • 明确需求,例如是想实现对企业数据库的安全评估,还是想快速导入大量用户;
  • 列出业务涉及的所有英文字符串,找出共同项,然后模糊匹配出相关的函数列表;
  • 规划业务的操作实现顺序,首先满足业务实现的所有前提条件;
  • 选定 GuardAPI 函数列表,进行排序;
  • 编写 GuardAPI,执行"grdapi <command_name> --help=true "获得当前函数的参数列表,如图 6 所示,首先找出那些标示为 required 的参数,参照类型一一赋值。对于不明确如何赋值的参数,查看其是否提供了常量值列表,标示了'Constant values list'的参数均提供了常量值帮助用户,通过调用"grdapi <command_name> --get_param_values=<param-name>" 可查看所有可选值,如图 7 所示,Guardium 系统为界面上需要通过下拉列表选择值的参数都提供了查看可选值列表功能,大大降低了编写 GuardAPI 的难度。循环直至完成所有的 GuardAPI。

以此类推,可以完成业务所需的所有的 GuardAPI 的编写并能保证正确执行。

图 5. GuardAPI 建议使用流程

命令行访问 Guardium 界面功能 — GuardAPI 介绍

图 6. GuardAPI create_datasource 的参数列表

命令行访问 Guardium 界面功能 — GuardAPI 介绍

图 7. GuardAPI create_datasource 的参数 type 可选值

命令行访问 Guardium 界面功能 — GuardAPI 介绍

回页首

GuardAPI 最佳实践

不同的业务需求有不同的 GuardAPI 函数组合。基于 Guardium 系统的功能此部分给出了一些脚本编写实例,旨在给用户使用 GuardAPI 访问系统功能提供一些参考。各个功能不独立,对应的 GuardAPI 也不是独立存在的,每一个业务需求常常跨越不同的函数功能模块。以下参数名标示为粗体的部分表示必需为该参数赋值,标示为斜体的标示该参数提供了常量值列表。

如何通过 GuardAPI 实现安全性评估

关联的 GuardAPI 函数:数据源函数,评估函数

脚本编辑流程及组合:

1. 需求分析,明确业务要实现对特定数据源进行安全性评估。

2. 列出业务涉及的所有英文字符串,datasource,database,assessment,security,匹配出相关的函数列表。

3. 规划业务流程如下:准备数据源->设计评估方案->关联评估方案与数据源->获得评估准则->

添加对数据源可行的评估准则->基于数据源运行评估方案->查看评估结果。

4. 依据步骤 2 的返回结果,排序要使用的函数。

5. 依据之前推荐规则,为每一个 GuardAPI 函数的参数赋值

由此得出如下 GuardAPI 函数组合:

1. 创建数据源

grdapi create_datasource type="Oracle (DataDirect)"   name=安全性评估数据源 1 host=9.181.139.207  application="安全性评估"   owner=admin dbName=guardium shared=true severity=高   serviceName=on1r6x32 port=1521 user=scott password=tiger

2. 创建评估方案

grdapicreate_assessment description=安全性评估 1   filterClientIp="*.*.*.*" filterServerIp="*.*.*.*"   fromDate="NOW -1 WEEK" toDate="NOW +1 WEEK"

3. 关联数据源与评估方案,

grdapi add_assessment_datasource assessmentDescription=安全性评估 1   datasourceName=安全性评估数据源 1

4. 查看可作用于特定类型数据源的所有评估准则

grdapi list_available_tests datasourceType="ORACLE"

5. 依据可选的评估准则,给评估方案添加准则

grdapi add_assessment_test assessmentDescription=安全性评估 1   testDescription="未对 DBA 角色授权" datasourceType="ORACLE"   exceptionsGroup="Oracle 仅适用于数据库管理员对 SYS.USER$ 的访问" severity=Minor grdapi add_assessment_test  assessmentDescription=安全性评估 1 testDescription="限制外部用户登录能力"   grdapi add_assessment_test  assessmentDescription=安全性评估 1 testDescription="已启用区分大小写的登录"  grdapi add_assessment_test  assessmentDescription=安全性评估 1 testDescription="已限制失败的登录尝试次数"

6. 执行该评估

grdapi execute_assessment assessmentDesc=安全性评估 1

稍后,用户可以通过访问 Guardium GUI 查看详细的评估结果。

如何通过 GuardAPI 实现数据分类

关联的 GuardAPI 函数:数据源函数,分类函数

脚本编辑流程及组合:

1. 需求分析,明确业务要分类给定数据库中的敏感数据;

2. 列出业务涉及的所有英文字符串,sensitive,classifer,classification,匹配出相关的函数列表;

3. 规划业务流程如下:准备数据源->设计分类策略->设计分类规则->关联分类规则与分类策略->关联分类策略与数据源->基于数据源运行分类策略

添加对数据源可行的评估准则->基于数据源运行评估方案->查看分类结果;

4. 依据步骤 2 的返回结果,排序要使用的函数;

5. 依据之前推荐规则,为每一个 GuardAPI 函数的参数赋值。

由此得出如下 GuardAPI 函数组合:

1. 创建数据源

grdapi create_datasource type=DB2 name=安全性评估数据源 4 分类进程 host=9.181.139.203       application="分类器" owner=admin severity=低 serviceName= utf8tcp port=50000       user=db2inst1 password=guardium shared="Not Shared"

2. 创建分类策略

grdapi create_classifier_policy policyName=分类策略 1 category=类别   classification=分 类 description=分类策略测试

3. 创建分类规则

grdapicreate_classifier_rule category=类别 classification=分类 policyName=分类策略 1   ruleName=分类策略规则 1 ruleType=CATALOG_SEARCH columnNameLike=列名 1%   compareToValuesInGroup=group1 compareToValuesInSQL=sql1 continueOnMatch=1   dataTypes=TEXT description=描述 1 evaluationName=求值名称 1 fireOnlyWithMarker=触发标记 1   grantTypes=CONTROL,DELETE,DROP hitPercentage=44 maxLength=100 minLength=1 role=角色 1   roleGroup=角色组 1 searchExpression=搜索表达式 1 searchLike=搜索类似项 1   showUniqueValues=true tableNameLike=员工 tableTypeSynonym=1 tableTypeSystemTable=1   tableTypeTable=1 tableTypeView=1 uniqueValueMask=掩码 1 user=用户 1  userGroup=用户组 1 withAdminOption=1

4. 创建发现敏感数据后对应的行为操作

grdapi create_classifier_action actionName=分类操作 1   actionType=ADD_TO_GROUP_OBJECTS ruleName=分类策略规则 1 policyName=分类策略 1   actualMemberContent=NAMEONLY description="操作描述 1"   objectGroup="敏感对象" replaceGroupContent=1

5. 创建分类进程,关联数据源与分类策略

grdapi create_classifier_process datasourceNames=安全性评估数据源 1,   安全性评估数据源 4 分类进程 policyName=分类策略 1 processName=分类进程 1   sampleSize=2000 comprehensive=1

6. 基于数据源运行分类策略

grdapi execute_cls_process processName=分类进程 1

稍后,用户可以通过访问 Guardium GUI 查看详细的分类结果。

如何通过 GuardAPI 实现策略定义及安装

关联的 GuardAPI 函数:策略函数,数据源函数,时间段函数,组函数

脚本编辑流程及组合:

1. 需求分析,明确业务要实现安全策略的定义及安装;

2. 列出业务涉及的所有英文字符串,security,policy, install,匹配出相关的函数列表;

3. 规划业务流程如下:设计策略->设计安全审计规则->关联策略与规则->安装策略->实时监控;

4. 依据步骤 2 的返回结果,排序要使用的函数;

5. 依据之前推荐规则,为每一个 GuardAPI 函数的参数赋值。

由此得出如下 GuardAPI 函数组合:

1. 创建策略

grdapi create_policy ruleSetDesc=策略 1 categoryName=策略类别 1   rulesOnFlat=0  logFlat=0  securityPolicy=0

2. 创建按安全规则

grdapi create_rule fromPolicy=策略 1 ruleDesc=访问规则 1   ruleType=ACCESS category=类别 classification=分类 grdapi create_rule fromPolicy=策略 1 ruleDesc=异常规则 1 ruleType=EXCEPTION  category=类别  classification=分类

3. 创建时间段,用于安全规则对时间的约束

grdapi add_time_period timePeriodDescription=时间段 1   hourFrom="02:00" hourTo="04:00" weekdayFrom="星期一" weekdayTo="星期五"

4. 创建组,用于安全规则对一组特定的值的约束

grdapi create_group appid=Public desc=数据库用户 组 1 owner=admin type=用户

5. 修改规则,通过该 GuardAPI 可以最详尽的设计出满足需求的规则

grdapiupdate_rule fromPolicy=策略 1 ruleDesc=访问规则 1 newDesc=访问规则 1_新   appEventDate="2013-11-01" appEventExists=1 appEventNumValue=应用程序事件数字值 1   appEventStrValue=应用程序事件文本值 1 appUserGroup="DB2/Z 排除计划示例"   category=类别_新 1 classification=分类_新 clientInfo="客户机信息 1"   clientIP=9.181.139.36 clientIpGroup="授权客户机 IP" clientIpNotFlag=1 clientMac=0.0.0.0   clientMacNotFlag=1 clientNetMask=255.255.255.0 clientProgramUserServerInstanceGroup=连接概要文件列表   clientProgramUserServerInstanceNotFlag=1 command=create commandGroupAndFlag=0   commandNotFlag=1 commandsGroup="DB2/Z 常规审计类型" continueToNext=1   dataPattern=模式 1 dbName=数据库名称 1 dbNameNotFlag=1 dbType=DB2 dbUser=数据库用户 1   dbUserGroup=数据库用户组 1dbUserNotFlag=1 eventUserName=事件用户名 1 fieldName=字段名 1   minCount=1 netProtocol=TCP netProtocolGroup="DB2/Z 连接类型" netProtocolNotFlag=1   objectFieldGroup="DW SELECT 访问的对象/字段" objectFieldNotFlag=1 objectGroup="PHI 对象"   objectGroupAndFlag=0 objectName=对象 1 objectNameNotFlag=1 osUser=操作系统用户 1   osUserNotFlag=1 pattern=模式 1 quarantineMinutes=50   recordsAffectedThreshold=30 replacementChar=&   resetInterval=80 serverIP=9.123.111.24 serverIpGroup="Sharepoint 服务器"   serverIpNotFlag=1 serverNetMask=255.255.0.0 serviceName=服务名称 1   serviceNameGroup="分析排除服务名称" serviceNameNotFlag=1 severity=高   sourceProgram=源程序 1 sourceProgramGroup="SPECIAL CASE 源程序" sourceProgramNotFlag=1   triggerOncePerSession=1 xmlPattern="XML 模式 1" " dateTime=时间段 1

6. 创建触发安全规则时的操作,此处添加了记载和警报操作

grdapi create_rule_action fromPolicy=策略 1 ruleDesc= 访问规则 1_新 actionName=仅日志 grdapi create_rule_action fromPolicy=策略 1 ruleDesc=访问规则 1_新 actionName=记录完整详细信息 grdapicreate_rule_action fromPolicy=策略 1ruleDesc=访问规则 1_新 actionName="仅警报" notificationType=SYSLOG

7. 给警报操作添加接收者

grdapi add_receiver_to_rule_action fromPolicy=策略 1 ruleDesc=访问规则 1_新       actionName="仅警报" notificationType=MAIL alertUserLoginName=admin

8. 安装安全策略,可以实现一次安装多个策略的需求

grdapi policy_install policy="策略 1|允许全部"

9. 修改异常规则定义

grdapi update_rule fromPolicy=策略 1 ruleDesc=异常规则 1 errorCode=LOGIN_FAILED

10. 重新安装修改后的规则,可以仅重新安装安全策略中修改了的规则

grdapi reinstall_policy_rule policy=策略 1 ruleName=异常规则 1

11. 卸载暂时不希望起作用的规则

grdapi uninstall_policy_rule policy=策略 1 ruleName="异常规则 1"

定义和安装完安全策略之后,就可以开始对数据库访问进行实时的监控

如何通过 GuardAPI 实现数据库自动发现

关联的 GuardAPI 函数:自动发现函数

脚本编辑流程及组合:

1. 需求分析,明确业务要依据给出的端口发现服务器上可用数据库;

2. 列出业务涉及的所有英文字符串,discovery,detect,匹配出相关的函数列表;

3. 规划业务流程如下:确定服务器->确定端口列表->定义发现方法->关联发现方法和服务器以及端口列表->实时发现->查看发现结果;

4. 依据步骤 2 的返回结果,排序要使用的函数;

5. 依据之前推荐规则,为每一个 GuardAPI 函数的参数赋值。

由此得出如下 GuardAPI 函数组合:

1. 定义自动发现进程

grdapi create_autodetect_process process_name=自动检测流程 1       check_ICMP_echo=1 host_timeout=20 run_probe_after_scan=1 use_dns=true

2. 给自动发现进程添加主机和端口列表任务,端口列表,可以是具体端口或端口范围的列表,例如 22,23,1400-1600

grdapi add_autodetect_task process_name=自动检测流程 1 hosts_list="9.186.92.25" ports_list="8888"

3. 显示当前的自动发现进程状态

grdapi show_autodetect_process_status process_name=自动检测流程 1

4. 如果想重新指定服务器与端口列表任务,删除自动发现进程的所有扫描任务

grdapi delete_autodetect_scans_for_process process_name=自动检测流程 1

5. 再次给自动发现进程添加主机和端口任务

grdapi add_autodetect_task process_name=自动检测流程 1       hosts_list="9.186.92.25" ports_list="1521,3306,50000-50001"

6. 开始运行自动发现进程

grdapi execute_autodetect_process process_name=自动检测流程 1

稍后,用户可以通过访问 Guardium GUI 查看自动发现的所有数据库列表。

如何通过 GuardAPI 实现用户定义及角色设定

关联的 GuardAPI 函数:用户函数,角色函数

脚本编辑流程及组合:

1. 需求分析,明确业务要管理系统用户以及角色分配;

2. 列出业务涉及的所有英文字符串,user,role, assign,匹配出相关的函数列表;

3. 规划业务流程如下:确定用户->确定可选角色->给用户分配角色;

4. 依据步骤 2 的返回结果,排序要使用的函数;

5. 依据之前推荐规则,为每一个 GuardAPI 函数的参数赋值。

由此得出如下 GuardAPI 函数组合:

1. 新建用户基本信息

grdapi create_user userName="测试用户 1" firstName="1"       lastName="测试用户" confirmPassword="1qaz!QAZ" password="1qaz!QAZ" disabled=1

2. 为新建用户分配角色,可以同时为一个用户分配多个角色

grdapi set_user_roles roles="admin,user" userName="测试用户 1"

通过批量运行新建用户以及分配用户角色 GuardAPI 可以快速导入大量用户的需求。

如何通过 GuardAPI 实现 CAS 管理

关联的 GuardAPI 函数: CAS 函数,数据源函数

脚本编辑流程及组合:

1. 需求分析,明确业务要通过 CAS 实现对数据库环境变更的监控;

2. 列出业务涉及的所有英文字符串,cas,monitor,匹配出相关的函数列表;

3. 规划业务流程如下:明确监控平台->明确监控数据库类型->明确监控项目->准备被监控数据库环境->关联数据库与监控项目->实时监控;

4. 依据步骤 2 的返回结果,排序要使用的函数;

5. 依据之前推荐规则,为每一个 GuardAPI 函数的参数赋值。

由此得出如下 GuardAPI 函数组合:

1. 创建模板集,系统提供了两种操作平台的 CAS 模板集

grdapi create_cas_template_set dbType=DB2 osType=WIN       templateSetLabel=CAS 模板集配置 WIN isDefault=1 isEditable=1 grdapi create_cas_template_set dbType=DB2 osType=UNX templateSetLabel=CAS  模板集配置 UNX isDefault=1 isEditable=1

2. 给模块集添加受监视项目模板,window 平台提供了 6 种监视项目类型,可以一一添加。

grdapi create_cas_template auditType=SQL_SCRIPT template=SQL 脚本受监视项模板  templateSetLabel=CAS 模板集配置 WIN enabled=true isEditable=true grdapi create_cas_template auditType=OS_SCRIPT template=操作系统脚本受监视项模板  templateSetLabel=CAS 模板集配置 WIN enabled=true isEditable=true grdapi create_cas_template auditType=ENV_VAR template=环境变量受监视项模板  templateSetLabel=CAS 模板集配置 WIN enabled=true isEditable=true grdapi create_cas_template auditType=REG_VAR template=注册表变量受监视项模板  templateSetLabel=CAS 模板集配置 WIN enabled=true isEditable=true grdapi create_cas_template auditType=REG_PAT template=注册表变量模式受监视项模板  templateSetLabel=CAS 模板集配置 WIN enabled=true isEditable=true grdapi create_cas_template auditType=FILE template=文件受监视项模板  templateSetLabel=CAS 模板集配置 WIN enabled=true isEditable=true grdapi create_cas_template auditType=FILE_PAT template=文件模式受监视项模板  templateSetLabel=CAS 模板集配置 WIN enabled=true isEditable=true

3. 列出系统可用的 CAS 主机

grdapi list_cas_hosts

4. 根据数据源或者主机名列出 CAS 主机实例

grdapi list_cas_host_instances datasourceName="System (guardwin02.cn.ibm.com)" grdapi list_cas_host_instances hostName=guardwin02.cn.ibm.com

5. 创建要监视的 cas 主机上的数据源

grdapi create_datasource application="更改审计系统" type="DB2"       name=更改审计系统数据源 1 host= guardwin02.cn.ibm.com port=50000       user=db2inst1 password=guardium dbName=guardium shared="Not Shared"       severity=低 serviceName=dn9rhe01 owner=admin

6. 给指定的 CAS 主机添加实例

grdapi create_cas_host_instance datasourceName=更改审计系统数据源 1 templateSetLabel=CAS 模板集配置 WIN

由此开始了对数据库环境配置的更改的监控。

如何通过 GuardAPI 实现调度任务

关联的 GuardAPI 函数:调度函数

脚本编辑流程及组合:

1. 需求分析,明确业务要完成任务调度;

2. 列出业务涉及的所有英文字符串,task,job, schedule,匹配出相关的函数列表;

3. 规划业务流程如下:明确任务类型->明确任务名->明确调度力度->依据调度力度调度任务->查看调度结果;

4. 依据步骤 2 的返回结果,排序要使用的函数;

5. 依据之前推荐规则,为每一个 GuardAPI 函数的参数赋值。

由此得出如下 GuardAPI 函数组合:

1. 调度审计进程任务,参数 cronString 代表具体的调度力度,具体的规范如下:

第一个数字都是 0;

第二个数字代表调度的分钟;

第三个数字代表调度重复间隔;

第四个数字代表调度的时刻;

第五个数据代表重新启动间隔小时数。

grdapi schedule_job jobType=AuditJob cronString=" 0 59/10 3/12 ? * 1,2,3,4,5,6,7"       objectName="Appliance Monitoring" startTime="2050-11-15 00:00:00.0"

此任务的实际调度力度如图 8 所示,用户可参考此规范设计 cronString,即调度力度

图 8. GuardAPI schedule_job 依据星期调度

命令行访问 Guardium 界面功能 — GuardAPI 介绍

2. 调度审计进程任务,用户可参考此规范设计 cronString,即调度力度。此任务的实际调度力度如图 9 所示。

grdapi schedule_job jobType=AuditJob cronString=" 0 59/10 3/12 31 3 ?"       objectName="Appliance Monitoring" startTime="2050-11-15 00:00:00.0"

图 9. GuardAPI schedule_job 依据月和第几天调度

命令行访问 Guardium 界面功能 — GuardAPI 介绍

3. 调度审计进程任务,用户可参考此规范设计 cronString,即调度力度。此任务的实际调度力度如图 10 所示。

grdapi schedule_job jobType=AuditJob cronString=" 0 59/10 3/12 ? 2 7L"       objectName="Appliance Monitoring" startTime="2050-11-15 00:00:00.0"

图 10. GuardAPI schedule_job 依据月和周调度

命令行访问 Guardium 界面功能 — GuardAPI 介绍

4. 列出系统目前所有调度的任务

grdapi list_schedules

任务调度成功,用户可以通过访问 Guardium GUI 查看具体的调度结果。

如何通过 GuardAPI 实现目录条目函数

关联的 GuardAPI 函数:包括目录条目函数

脚本编辑流程及组合:

1. 需求分析,明确业务要完成数据文件的目录归档;

2. 列出业务涉及的所有英文字符串,archive,catalog, folder,匹配出相关的函数列表;

3. 规划业务流程如下:确定文件-> 确定归档类型-> 确定归档目录->归档文件;

4. 依据步骤 2 的返回结果,排序要使用的函数;

5. 依据之前推荐规则,为每一个 GuardAPI 函数的参数赋值。

由此得出如下 GuardAPI 函数组合:

1. 新建收集器数据归档类型目录条目,该目录条目的归档日期为 2014 年 1 月 10 日, 生成日期数据的是 2014 年 1 月 9 日,存放于主机 9.181.139.207 目录 root/catalogEntry 下,系统可以通过 FTP 的方式访问该加密文件。收集器数据归档类型类型的文件必需满足以下格式: <daysequence>-< hostname.domain>-w<run_datestamp>-d<data_date>.dbdump.enc

grdapi create_entry_location entryType=CollectorDataArchive       fileName=70000-gmachine-w20140110.102400-d2014-01-09.dbdump.enc hostName=9.181.139.207       path=/root/catalogEntry storageSystem=FTP user=root password=password

2. 新建聚集器数据归档类型目录条目, 存放于主机 9.181.139.207 目录 root/catalogEntry 下,系统可以通过 SCP 的方式访问该加密文件。收集器数据归档类型类型的文件必需满足以下格式: <day of data>-<gmachine>-w<time of zip>-d<execution_date>.agg.<sql-ver>.tar.gz.enc

grdapi create_entry_location entryType=AggDataArchive       fileName=735415-9.181.139.127-w20140109.200625-d2013-07-01.agg.90.tar.gz.enc       hostName=9.181.139.207 path=/root/catalogEntry storageSystem=SCP user=root password=password

3. 新建聚集器数据归档类型目录条目, 存放于主机 9.181.139.207 目录 root/catalogEntry 下,系统可以通过 SCP 的方式访问该加密文件。收集器数据归档类型类型的文件必需满足以下格式:

<myHostname>-<res_process_id>_<run_no>_<execution_date>_< execution_timestamp>.res.<sql-ver>.tar.gz

grdapi create_entry_location entryType=AggResultArchive       fileName=guard17.cn.ibm.com-1000000_5_2013-12-30_15-59-15.res.90.tar.gz.enc       hostName=9.181.139.207 path=/root/catalogEntry storageSystem=SCP       user=root password=password processDesc=process

如何通过 GuardAPI 实现数据用户安全性函数

关联的 GuardAPI 函数:数据用户安全性函数

脚本编辑流程及组合:

1. 需求分析,明确业务要管理用户级别以及每个用户可访问的数据源;

2. 列出业务涉及的所有英文字符串,hierarchy,allow, 匹配出相关的函数列表;

3. 规划业务流程如下:确定要管理的用户->定义用户级别->授权用户可访问的数据源;

4. 依据步骤 2 的返回结果,排序要使用的函数;

5. 依据之前推荐规则,为每一个 GuardAPI 函数的参数赋值。

由此得出如下 GuardAPI 函数组合:

1. 新建用户

grdapi create_user userName="安全用户 1" firstName="1" lastName="安全用户"       confirmPassword="1qaz!QAZ" password="1qaz!QAZ" disabled=0 grdapi create_user userName="高安全用户 2 " firstName="2" lastName="高安全用户"  confirmPassword="1qaz!QAZ" password="1qaz!QAZ" disabled=0

2. 定义用户级别层次

grdapi create_user_hierarchy userName="安全用户 1" parentUserName=" 高安全用户 2 "

3. 显示特定用户可访问的数据源

grdapi list_allowed_db_by_user userName="安全用户 1"

4. 授权用户可访问的数据来源

grdapi create_allowed_db userName="安全用户 1"      serverIp=9.181.139.207 instanceName=db2inst1

如何通过 GuardAPI 实现外部订阅源函数

关联的 GuardAPI 函数:外部订阅源函数

脚本编辑流程及组合:

1. 需求分析,明确业务要实现导出系统中存储的数据到外部数据源;

2. 列出业务涉及的所有英文字符串,datasource,external,map, 匹配出相关的函数列表;

3. 规划业务流程如下:确定外部数据源->确定系统存储数据对象->映射外部数据源与系统存储数据对象->运行导出->查看外部数据源;

4. 依据步骤 2 的返回结果,排序要使用的函数;

5. 依据之前推荐规则,为每一个 GuardAPI 函数的参数赋值。

由此得出如下 GuardAPI 函数组合:

1. 创建报表与外部数据源表映射

grdapi create_ef_mapping reportName="Guardium 组详细信息"

2. 查看报表与外部数据源表映射规则

grdapi list_ef_mapping reportName="Guardium 组详细信息"

3. 修改映射表名或者列名

grdapi modify_ef_mapping reportName="Guardium 组详细信息" modifyObj="TABLE"       newName="GUARDIUM_组详细信息_更改" oldName="GUARDIUM_组详细信息" grdapi modify_ef_mapping reportName="Guardium 组详细信息" modifyObj="COLUMN"  newName="GROUP_DESCRIPTION_NEW" oldName="GROUP_DESCRIPTION"

如何通过 GuardAPI 实现 STAP 函数

关联的 GuardAPI 函数: STAP 函数

脚本编辑流程及组合:

1. 需求分析,明确业务要授权连接到系统的 STAP 并添加监控引擎;

2. 列出业务涉及的所有英文字符串,stap,engine,匹配出相关的函数列表;

3. 规划业务流程如下:查看可用的 stap->设计安全审计规则->关联策略与规则->安装策略->实时监控;

4. 依据步骤 2 的返回结果,排序要使用的函数;

5. 依据之前推荐规则,为每一个 GuardAPI 函数的参数赋值。

由此得出如下 GuardAPI 函数组合:

1. 阻止未经授权的 STAP 连接到 Guardium 设备

grdapi store_stap_approval isNeeded=1

2. 列出 S-TAP 向此 Guardium 设备进行报告的数据库服务器

grdapi list_staps onlyActive=1

3. 列出授权连接到 Guardium 设备的 S-TAP 客户机

grdapi list_approved_stap_client

4. 添加经授权 连接到 Guardium 设备的 S-TAP 客户机

grdapi add_approved_stap_client stapHost=9.181.139.207

5. 除去 S-TAP 检查引擎

grdapi delete_stap_inspection_engine stapHost=9.181.139.207 type=ORACLE sequence=1

6. 创建 S-TAP 检查引擎

grdapi create_stap_inspection_engine portMax=1521 portMin=1521       protocol=ORACLE stapHost=9.181.139.207 ktapDbPort=1521 client=0.0.0.0/0.0.0.0       dbInstallDir="/home/oracle" procName="/home/oracle/product/11.2.0.3/bin/oracle" identifier=Oracl1 grdapi create_stap_inspection_engine portMax=50000 portMin=50000 protocol=DB2  stapHost=9.181.139.207 ktapDbPort=50000 client=0.0.0.0/0.0.0.0  dbInstallDir="/home/db2inst1" procName="/home/db2inst1/sqllib/adm/db2sysc" identifier=IdenDB1

7. 查看指定主机上的所有 S-TAP 属性

grdapi list_inspection_engines stapHost=9.181.139.207

8. 验证检查引擎状态

grdapi verify_stap_inspection_engine_with_sequence stapHost=9.181.139.207 sequence=1 addToSchedule=Yes

9. 创建数据源

grdapi create_datasource type=DB2 name=安全性评估数据源 4STAP       验证 host=9.181.139.207 port=50000 application="Stap 验证" owner=admin user=db2inst1      password=guardium dbName=guardium shared="Not Shared" serviceName=dn0r6x32

10. 验证数据源可用的同时检查引擎状态

grdapi verify_stap_inspection_engine_with_sequence stapHost=9.181.139.207       sequence=2 addToSchedule=Yes datasourceName=安全性评估数据源 4STAP 验证

11. 显示 S-TAP 验证结果

grdapi list_stap_verification_results stapHost=9.181.139.207

12. 重新启动 S-TAP

grdapi restart_stap stapHost=9.181.139.207

如何通过 GuardAPI 实现数据库用户函数

关联的 GuardAPI 函数:数据库用户函数

脚本编辑流程及组合:

1. 需求分析,明确业务要实现安全策略的定义及安装;

2. 列出业务涉及的所有英文字符串,security,policy, install,匹配出相关的函数列表;

3. 规划业务流程如下:设计策略->设计安全审计规则->关联策略与规则->安装策略->实时监控

4. 依据步骤 2 的返回结果,排序要使用的函数;

5. 依据之前推荐规则,为每一个 GuardAPI 函数的参数赋值。

由此得出如下 GuardAPI 函数组合:

grdapi create_db_user_mapping dbUserName=db2inst1       emailAddress=tanlitl@cn.ibm.com serverIp=9.181.139.207 serviceName=onrhe01

回页首

多种方式访问系统功能,让任务执行更有效率

通过美观的界面访问系统的功能固然重要,但当网络条件或者大量执行任务需求发生时,通过界面实现任务有时显得力不从心。

由上所述, InfoSphere Guardium GuardAPI 产品提供了界面功能的命令行访问以及调用,可以快速实现执行大量重复任务的需求,更可以快速预估系统功能健康水平(如何解释系统功能健康水平),为用户使用 Guardium 系统的方式提供了更多的选择,使得整个 Guardium 系统能够满足不同层次的使用需要。

回页首

结束语

我们希望通过这篇文章让大家多一个渠道去使用以及了解 InfoSphere Guardium 的功能,当然 InfoSphere Guardium GuardAPI 随着产品的升级也在持续不断升级中,为满足不同的前端和后端的通信需求,更支持通过 RESTful API 调用(见参考资源第三条)。我们乐意听到任何人或者项目通过使用这些 APIs 能够快速实现了之前达不到的需求。

正文到此结束
Loading...