create_stap_inspection_engine
此命令将检查引擎添加到指定的 S-TAP®。 S-TAP 只能通过该 S-TAP 的活动 Guardium® 主机修改配置,而且只能在 S-TAP 在线时修改。
此 API 在 Guardium V9.5 及更高版本中可用。
REST API 语法
此 API 可通过
POST 方法,以 REST 服务的形式使用。 请按如下方式调用此 API:POST https://[Guardium hostname or IP address]:8443/restAPI/inspection_engine
GuardAPI 语法
create_stap_inspection_engine parameter=value
参数
| 参数 | 值类型 | 描述 |
|---|---|---|
| client | 字符串 | 必需。 通过使用 IP 地址/掩码格式的地址列表 n.n.n.n/m.m.m.m,限制 S-TAP 仅监视来自指定 IP 地址和掩码对的流量。 如果输入了不正确的 IP 地址/掩码,那么 S-TAP 不会启动。 有效值:
|
| connectToIp | 字符串 | S-TAP 用于连接到数据库的 IP 地址。 某些数据库仅接受 Guardium 系统的实际 IP 地址上的本地连接,而不接受缺省值 (127.0.0.1, :: 1)。 启用 K-TAP 时,此参数用于 Solaris 区域和 AIX® WPAR。 将其设置为区域 IP 地址以捕获流量。 |
| db2SharedMemAdjustment | 整数 | 在选择 Db2® 作为数据库类型并且监视共享内存连接时必需。 这是相对于共享内存区域中服务器部分的偏移量。 相对于 Db2 共享内存包开头的偏移量取决于 Db2 版本:在 8.2.1 之前的版本中为 32,在 8.2.1 及更高版本中为 80。 |
| db2SharedMemClientPosition( DB2® only) | 整数 | 这是相对于共享内存区域中客户机部分的偏移量。 当选择 DB2 作为数据库类型,并监视共享内存连接时,此参数为必需。 Linux : 使用脚本 find_db2_shmem_parameters.sh 查找数值。 该脚本位于 stap_directory/bin 中,输出检测引擎中定义的 Db2 共享内存参数。 使用语法,以根用户或 Db2 用户身份运行它: find_db2_shmem_parameters.sh <instance name>. 您可以在任何目录下运行它。视窗: 客户端偏移量可通过 Db2 参数 ASLHEAPSZ 的值乘以 4096 得出。 此参数的缺省值为 61440(十进制数)。 此参数是通过获取 Db2 数据库配置值 ASLHEAPSZ 并乘以 4096 计算的。 要获取 ASLHEAPSZ 的值,请执行以下 Db2 命令: db2 get dbm cfg 并查找 ASLHEAPSZ 的值。 此值通常为 15,这会产生缺省值 61440。 如果此值并非 15,请获取此值并乘以 4096 来获取相应的客户机偏移量。 |
| db2SharedMemSize | 整数 | Db2 共享内存段大小。 当选择 DB2 作为数据库类型,并监视共享内存连接时,此参数为必需。 |
| dbInstallDir(仅限 Linux) | 字符串 |
|
| dbUser | 字符串 | 数据库服务器进程(例如,oracle)的所有者的操作系统用户名(区分大小写)。 此参数指定允许哪个用户使用 db_request_handler 套接字。 如果您未使用 root 用户,那么它是必需的。 如果设置为无效值,那么 A-TAP 无法访问套接字以检索访问 K-TAP的许可权。 在这种情况下,它需要具有组成员资格的授权才能将解密的流量记录到 K-TAP (通过使用 guardctl authorize-user 命令)。 您可以定义多个用户的逗号分隔字符串。 |
| dbVersion | 字符串 | 数据库版本。 字符串必须以数字(而不是字母)开头。 |
| encryption(仅限 Linux) | 布尔值 | 有效值:
在 Solaris , HPUX 和 AIX上激活 Oracle (V11 和 V12) 和 Sybase 的 ASO 或 SSL 加密流量。 对于 Oracle,在 guard_tap.ini 文件中指定 db_version (例如, db_version=12) 对于 Oracle12 SSL,请在所有平台上进行检测。 对于 Oracle11 SSL,请在 AIX 上进行检测。 对于需要检测的任何 Oracle ,如果您在 guard_tap.ini (在 Linux®上不受支持) 中使用 encryption=1 ,那么必须在设置该参数之前进行检测。 某些数据库要求在启用加密后重新启动。 使用 GIM 配置 S-TAP 时,必须将 GIM_ROOT_DIR 设置为模块的绝对路径,例如 /usr/local/guardium/modules |
| excludeClient | 字符串 | 要从监视中排除的客户机 IP 地址和相应掩码的列表。 使用此选项来配置 S-TAP 以监视除特定客户机或子网 (或其集合) 以外的所有客户机。 不能同时指定客户机 IP/掩码 (networks) 和排除客户机 IP/掩码 (exclude networks)。 |
| ieIdentifier | 字符串 | 用于区分各个检查引擎。 如果未指定,那么 Guardium 会使用使用数据库类型和序号的唯一名称自动填充该字段。 |
| informixVersion | 整数 | Informix 版本。 |
| instanceName(仅限 Windows) | 字符串 | 此服务器上的数据库实例名称。 对于使用加密的 MS SQL Server ; 使用 Kerberos 认证的 MS SQL Server ; Db2 出口流量收集; Db2 SHM 流量,这是必需的。 (缺省值为 MSSQLSERVER。) |
| interceptTypes(仅限 Linux) | 字符串 | 除非绝对必要,否则请勿更改此参数。 IE 所拦截的协议类型。 有效值:
|
| ktapDbPort(仅限 Linux) | 字符串 | 对于 K-TAP 和 PCAP,识别所要监视的数据库端口或端口范围。 对于出口库,请将其值用于 db_home。 |
| namedPipe(仅限 Windows) | 字符串 | 指定 MS SQL Server 本地访问所使用的命名管道。 如果使用了命名管道,但此参数中未指定任何内容,那么 S-TAP 将尝试从注册表中检索命名管道名称。 |
| portMax | 字符串 | (仅限监视网络流量)要用于侦听数据库流量的最高编号端口。 |
| portMin | 字符串 | (仅限监视网络流量)要用于侦听数据库流量的最低编号端口。 与 portMax, 此参数定义为此数据库实例监视的端口范围。 通常该范围仅包含单个端口。 对于 Kerberos
检查引擎,请将开始和结束值设置为 88-88。 如果使用了范围,那么不要在该范围中包含额外的端口。 当 S-TAP 试图分析不需要的 traffic.Examples:To 监视器范围 1521-1525(五个端口)且没有端口转发时,额外的端口可能会导致过多的资源消耗:
|
| priorityCount | 整数 | 减少空白 DB_USER 或?在桌子上。 在会话创建时,第一个 priority_count 包被标记为高优先级标志,并被传输到收集器上的特殊高优先级队列。 有效值:
|
| procName(仅限 Linux) | 字符串 | 此参数的值取决于它是否在 Exit 中,以及是否存在 A-TAP。
|
| procNames(仅限 Windows) | 字符串 | 要监视的数据库服务可执行文件。 例如,Db2 IE 将是 TAP_DB_PROCESS_NAMES=Db2SYSCS.EXE。 使用命名管道时,仅适用于 Oracle 或 MS SQL Server。 对于 Oracle,该列表通常有两个条目:oracle.exe 和 tnslsnr.exe。 对于 MS SQL Server,该列表通常是一个条目:sqlservr.exe。 |
| protocol | 字符串 | 必需。 受监视的数据存储库的类型。 Linux -UNIX: ASTERDB, Cassandra , CockroachDB , Couchbase , Db2 , Db2 退出, ElasticSearch, 排除 IE、FTP, GreenplumDB, HADOOP、HIVE、HP- Vertica , HTTP , HUE、IMPALA, Informix , Informix 退出, KERBEROS, MariaDB, MemSQL, MongoDB, Mysql, Neo4j , Netezza® , Oracle , PostgreSQL, REDIS、Redshift, SAP Hana, Sybase , Teradata , Teradata 退出, WebHDFS, Windows 文件共享 Windows: ASTER, Cassandra, CouchDB, Db2, Db2 Exit, exclude IE, FTP, GreenplumDB, HIVE, HTTP, HUE, IMPALA, Informix, Informix Exit, MariaDB, MongoDB, MSSQL, Mysql, Oracle, PostgreSQL, Sybase, Teradata, WebHDFS, Windows 文件共享。 |
| stapHost | 字符串 | 必需。 安装了 S-TAP 的数据库服务器的主机名或 IP 地址。 |
| teeListenPort | 字符串 | 不推荐。 当使用 K-TAP 监视机制时,替换为参数 real_db_port 。 |
| teeRealPort | 字符串 | 不推荐。 |
| unixSocketMarker(仅限 Linux) | 字符串 | 为 Oracle、 MySQL, 和 Postgres 指定 UNIX® 域套接字标记。 通常缺省值是正确的,但当命名管道或 UNIX 域套接字流量不起作用时,您需要确保正确设置此值。 例如,对于 Oracle,请将 unix_domain_socket_marker 设置为 tnsnames.ora 中定义的 IPC 的 KEY。 如果设置为 NULL 或未设置,那么 S-TAP 将使用已定义的缺省标记,如下所示:* MySQL - "mysql.sock" * Oracle - "/.oracle/" * Postgres - ".s.PGSQL.5432" |
| api_target_host | 字符串 | 指定执行 API 所在的目标主机。有效值:
IP 地址必须符合网络的 IP 方式。 在双重 IP 方式下,请使用向中央管理器注册受管单元时使用的 IP 协议。 例如,如果该注册使用的是 IPv6,请指定 IPv6 地址。 主机名与 IP 方式无关,可以在任何方式下使用。 |
示例
下面的示例显示了如何使用 grdapi 在 MySQL 数据库上创建检测引擎,其 IP 地址为 127.0.0.1:
grdapi create_stap_inspection_engine connectToIp=127.0.0.1 db2SharedMemAdjustment=80 db2SharedMemClientPosition=0 db2SharedMemSize=131072 procName=/home/mysq57/mysql/bin/mysqld dbInstallDir=/home/mysql57 protocol=Mysql dbUser=mysq57 client=0.0.0.0/0.0.0.0 encryption=0 dbVersion=9