Linux-UNIX: Inspection engine parameters

These parameters affect the behavior of the inspection engine that the S-TAP® uses to monitor a data repository on a DB server.

These parameters are stored in the individual [DB_<name>] inspection engine section of the S-TAP properties file, guard_tap.ini, with the name of a data repository. There can be multiple sections in a properties file, each describing one inspection engine used by this S-TAP.
GUI guard_tap.ini Default value Description
Protocol db_type   Required. The type of data repository that is monitored.
ASTERDB, Cassandra, CockroachDB, CouchDB, DB2®, Db2 Exit, ElasticSearch, exclude IE, FTP, GreenplumDB, HADOOP, HIVE, HP-Vertica, HTTP, HUE, IMPALA, Informix®, Informix Exit, KERBEROS, MariaDB, MemSQL, MongoDB, Mysql, Netezza®, Oracle, PostgreSQL, REDIS, SAP Hana, Sybase, Teradata, Teradata Exit, WebHDFS, Windows File Share
Port range port_range_start   For monitoring network traffic only, the lowest numbered port on which to listen for database traffic. Together with port_range_end, this parameter defines the range of ports that are monitored for this database instance. Usually the range contains only a single port. For a Kerberos inspection engine, set the start and end values to 88-88. If a range is used, do not include extra ports in the range. Extra ports might result in excessive resource consumption while the S-TAP attempts to analyze unwanted traffic.
Examples:
To monitor range 1521-1525 (five ports) with no port forwarding:
  • port_range_start=1521
  • port_range_end=1525
  • real_db_port=1521
To monitor range 2000-2004 (five ports) where network port 2000 is mapped to local port 1521:
  • port_range_start=2000
  • port_range_end=2004
  • real_db_port=1521
Port range port_range_end   For monitoring network traffic only, the highest numbered port on which to listen for database traffic.
KTAP DB Real Port real_db_port 4100 With K-TAP and PCAP, identifies the database port or range of ports to be monitored. For exit libraries, use its value for db_home.
Client Ip/Mask networks   Restricts S-TAP to monitor traffic only from the specified sets of IP address and mask pairs, by using a list of addresses in IP address/mask format: n.n.n.n/m.m.m.m. If an improper IP address/mask is entered, the S-TAP does not start. Valid values:
  • User-defined list
  • 0.0.0.0/0.0.0.0,::/0: select all clients.
  • 127.0.0.1/255.255.255.255,::1/0: local traffic only
Client Ip/Mask (networks) and Exclude Client Ip/Mask (exclude networks) cannot be specified simultaneously.
Exclude Client Ip/Mask exclude_networks   A list of client IP addresses and corresponding masks that are excluded from monitoring. Use this option to configure the S-TAP to monitor all clients, except for a certain client or subnet (or a collection thereof). Client Ip/Mask (networks) and Exclude Client Ip/Mask (exclude networks) cannot be specified simultaneously.
TEE Listen Port-Real Port tee_listen_port   Deprecated. Replaced by the parameter real_db_port when the K-TAP monitoring mechanism is used.
Connect To Ip connect_to_ip 127.0.0.1,::1 IP address for S-TAP to use to connect to the database. Some databases accept local connection only on the real IP address of the Guardium® system, and not on the default (127.0.0.1,::1). When K-TAP is enabled, this parameter is used for Solaris zones and AIX® WPARs. Set it to the zone IP address to capture traffic.
DB User db_user NULL OS username (case-sensitive) of the owner of the DB server process (for example, oracle). This parameter specifies which user is allowed to use the db_request_handler socket. It is required if you are not using the user root. If set to an invalid value, A-TAP cannot access the socket to retrieve permission for accessing K-TAP. In this case, it requires authorization with a group membership to log decrypted traffic to K-TAP (by using the guardctl authorize-user command). You can define a comma-separated string of multiple users.
DB Install Dir db_install_dir NULL
  • Db2®, Informix: The full path name for the database installation directory.
  • Db2 exit and Informix exit: value must be the same as the $HOME value in the database (or $Db2_HOME for Db2 Exit); otherwise tap_identifier does not function properly.
  • Oracle: Database owner HOME directory. It must match db_base in the ATAP configuration. See Linux-UNIX: Oracle-specific guardctl parameters.
  • All other database types: NULL.
Process Name db_exec_file NULL The value of this parameter depends on whether it's in an exit, and whether there is A-TAP.
Encryption encryption 0 Valid values:
  • 0: Unencrypted
  • 1: Encrypted
Default = 0 (false)

Activate ASO or SSL encrypted traffic for Oracle (versions 11 and 12) and Sybase on Solaris, HPUX, and AIX.

For Oracle, specify db_version in the guard_tap.ini file (for example, db_version=12)

For Oracle12 SSL, instrument on all platforms. For Oracle11 SSL, instrument on AIX.

For any Oracle requiring instrumentation, if you are using encryption=1 in the guard_tap.ini (which is not supported on Linux), you must instrument before setting that parameter.

Some DBs require restart after enabling encryption.

When using GIM to configure the S-TAP, GIM_ROOT_DIR must be set to the absolute path to the modules, for example /usr/local/guardium/modules

  load_balanced 1 Valid values:
  • 0: Database traffic does not participate in load balancing.
  • 1: Database traffic participates in load balancing.
  priority_count 20 Reduces the instances of a blank DB_USER or ? in the tables. At session creation, the first priority_count packets are marked with a high priority flag and are transferred to a special high priority queue on the collector. Valid values:
  • 0: Disabled
  • Protocol 7: 1-2048: Number of packets
  • Protocol 8: positive integer: Number of packets
Default = 20
Intercept Types intercept_types NULL DO NOT change this parameter unless it is absolutely necessary. Protocol types that are intercepted by the IE. Valid values:
  • NULL: auto intercepts all protocols the Database supports
  • Comma-separated list: IE intercepts these protocol types only.
Identifier tap_identifier NULL Used to distinguish inspection engines from one another. If unspecified, Guardium auto-populates the field with a unique name that uses the database type and sequence number.
DB Version db_version 9 The database version. The string must start with a numeral and not a letter.
Unix Socket Marker unix_domain_socket_marker Null Specifies UNIX domain sockets marker for Oracle, MySQL, and Postgres. Usually the default is correct, but when the named pipe or UNIX domain socket traffic does not work then you need to make sure that this value is set correctly. For example, for Oracle, set unix_domain_socket_marker to the KEY of IPC defined in tnsnames.ora. If it is NULL or not set, the S-TAP uses defined default markers identified as: * MySQL - "mysql.sock" * Oracle - "/.oracle/" * Postgres - ".s.PGSQL.5432"

Parameters used with IBM Db2 databases

The script find_db2_shmem_parameters.sh, located in stap_directory/bin, outputs what the Db2 shared memory parameters defined in the Inspection Engines should be. Execute it either as root or Db2 user, using the syntax: find_db2_shmem_parameters.sh <instance name>. You can run it from any directory.

Table 1. Additional S-TAP configuration parameters for a Db2 inspection engine
GUI guard_tap.ini Default value Description
DB2 Shared Mem. Adjust. db2_fix_pack_adjustment 20 Required when Db2 is selected as the database type, and shared memory connections are monitored. The offset to the server's portion of the shared memory area. Offset to the beginning of the Db2 shared memory packet, depends on the Db2 version: 32 in pre-8.2.1, and 80 in 8.2.1 and higher.
DB2 Sh. Mem. Client Pos. db2_shmem_client_position 61440 The offset to the client's portion of the shared memory area. Required when Db2 is selected as the database type, and shared memory connections are monitored. Use the script find_db2_shmem_parameters.sh to find the value. The script is located in stap_directory/bin, and outputs what the Db2 shared memory parameters that are defined in the Inspection Engines should be. Run it either as root or Db2 user, by using the syntax: find_db2_shmem_parameters.sh <instance name>. You can run it from any directory.
db2bp_path Null Relevant only when using A-TAP on Db2. If the program 'db2bp' (part of Db2) is in the standard location, db2bp_path does not need to be set. If it is non-standard, then this parameter points to its location. Set this parameter to the full path of the relevant db2bp as seen from the global zone or WPAR. For example, if the file is /data/db2inst1/sqllib/bin/db2bp and the zone is installed in /data/zones/oracle2nd/root/ then set the full path (db2bp_path) as /data/zones/oracle2nd/root/data/db2inst1/sqllib/bin/db2bp
DB2 Shared Mem. Size db2_shmem_size 131072 Db2 shared memory segment size. Required when Db2 is selected as the database type, and shared memory connections are monitored.