TAMEB Auditing Guide
TAMEB Auditing Guide
TAMEB Auditing Guide
Version 6.1.1
Auditing Guide
SC23-6511-01
Version 6.1.1
Auditing Guide
SC23-6511-01
Note Before using this information and the product it supports, read the information in Appendix E, Notices, on page 417.
Edition notice This edition applies to version 6, release 1, modification 1 of IBM Tivoli Access Manager (product number 5724-C87) and to all subsequent releases and modifications until otherwise indicated in new editions. All rights reserved. Copyright IBM Corporation 2001, 2010. US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
Contents
About this publication . . . . . . . . ix
Intended audience . . . . . . . . . . . . ix Publications . . . . . . . . . . . . . . ix IBM Tivoli Access Manager for e-business library ix Related products and publications . . . . . . xi Accessing terminology online . . . . . . . xii Accessing publications online . . . . . . . xii Ordering publications . . . . . . . . . . xii Accessibility . . . . . . . . . . . . . . xiii Tivoli technical training . . . . . . . . . . xiii Tivoli user groups . . . . . . . . . . . . xiii Support information . . . . . . . . . . . xiii Conventions used in this publication . . . . . xiv Typeface conventions . . . . . . . . . . xiv Operating system-dependent variables and paths . . . . . . . . . . . . . . . xiv
Part 1. Introduction . . . . . . . . . 1
Chapter 1. Introduction to auditing . . . 3
Auditing versus diagnostics . Audit events . . . . . Diagnostic events . . . . Audit trails . . . . . . . Audit records for HTTP access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 4 4 5
65
65 66 67 69 72
Chapter 4. Internationalization. . . . . 17
Language support overview . . . . . . . Installing language support packages . . . . Uninstalling language support packages . . . Locale environment variables . . . . . . LANG variable on UNIX or Linux systems . LANG variable on Windows systems . . . Using locale variants . . . . . . . . Message catalogs . . . . . . . . . . Text encoding (code set) support . . . . . Location of code set files . . . . . . .
Copyright IBM Corp. 2001, 2010
. . . . . . . . . .
. . . . . . . . . .
17 18 19 19 20 20 20 21 21 22
iii
Creating a custom security event details report 136 Creating operational reports from archived data 137 Creating custom reports using Tivoli Common Reporting . . . . . . . . . . . . . . 137
Chapter 15. Common Audit Service for C-based Tivoli Access Manager servers . . . . . . . . . . . . . . 145
Configuring to send audit events through the C client . . . . . . . . . . . . . . . Common Audit Service configuration files. . . Policy server: Configuration Settings . . . . Policy proxy server: Configuration Settings . . Authorization server: Configuration Settings . . WebSEAL: Configuration settings. . . . . . Configurations for WebSEAL . . . . . . Plug-in for Web Servers: Configuration settings . Using the config modify command for auditing Starting event auditing . . . . . . . . Stopping event auditing . . . . . . . . Adding event types to the event filter . . . Removing event types from the event filter . Enhancements to improve audit event data throughput and minimize lost data . . . . . . . . . . . . . . . . . 145 146 146 146 147 147 147 148 148 149 149 149 149
. 150
Chapter 16. Common Audit Service for Java-based Tivoli Access Manager servers . . . . . . . . . . . . . . 153
Modifying the SMSAuditClient.properties file . Location of the SMSAuditClient.properties file Contents of the SMSAuditClient.properties file Modifying the library.policy file . . . . . . Java security in a WebSphere environment . Location of the library.policy file . . . . . Customizing the library.policy file . . . . Enabling the session management server . . . . 153 153 153 . 155 . 155 . 155 . 155 . 156
127
. 127 128 . 128 . 134 . 135
iv
Auditing Guide
. .
. .
. .
. .
. .
. .
. 159 . 169
pdweb.http component . . . . . pdweb.https component . . . . . pdweb.vhj.# component . . . . . pdweb.jct.# component . . . . . pdweb.jmt component . . . . . pdweb.sescache component . . . pdweb.threads component . . . . Plug-in for Web Servers components and types . . . . . . . . . . . . pdwebpi.authn component . . . . pdwebpi.authz component . . . . pdwebpi.sescache component . . . pdwebpi.threads component . . . pdwebpi.vhost.# component . . .
. . . . . . . . . . . . . . . . . . . . . activity . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
211 212 212 212 213 213 214 215 215 216 216 216 217
193
. . . . . . . . . . 193 193 194 194 195 195 195 196 198 198 198
247
247 249 250 252 253 256 258 259 261 263 266 267 270 271 274 276 278
201
. . . . . . . . . . . . . . . . . . . 201 201 203 203 203 204 205 205 205 206 207 207 208 208 208 208 208 208 209 209
for AUDIT_AUTHN events . . . . . for AUDIT_AUTHN_CREDS_MODIFY . . . . . . . . . . . . . . . for AUDIT_AUTHN_MAPPING events for AUDIT_AUTHN_TERMINATE events for AUDIT_AUTHZ events . . . . . for AUDIT_COMPLIANCE events . . . for AUDIT_DATA_SYNC events . . . . for AUDIT_MGMT_CONFIG events . . for AUDIT_MGMT_POLICY events. . . for AUDIT_MGMT_PROVISIONING . . . . . . . . . . . . . . . for AUDIT_MGMT_REGISTRY events for AUDIT_MGMT_RESOURCE events for AUDIT_PASSWORD_CHANGE . . . . . . . . . . . . . . . for AUDIT_RESOURCE_ACCESS events for AUDIT_RUNTIME events. . . . . for AUDIT_RUNTIME_KEY events . . . for AUDIT_WORKFLOW events. . . .
Chapter 24. Reference information about elements and element types . . 281
accessDecision . . . accessDecisionReason. action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 . 281 . 282
Contents
appName. . . . . . . . . . . attributePermissionInfo . . . . . . attributePermissionInfo.attributeNames. attributePermissionInfo.checked . . . attributePermissionInfo . . . . . . attributePermissionInfo.granted . . . attributes . . . . . . . . . . . attributes.name . . . . . . . . . attributes.source . . . . . . . . attributes.value . . . . . . . . . auditMsg . . . . . . . . . . . auditMsgElement . . . . . . . . auditTrailId . . . . . . . . . . authenProvider . . . . . . . . . authnType . . . . . . . . . . authnTypeVersion . . . . . . . . complianceStatus . . . . . . . . endTime . . . . . . . . . . . extensionName . . . . . . . . . fixDescription . . . . . . . . . fixId . . . . . . . . . . . . globalInstanceId . . . . . . . . httpURLInfo. . . . . . . . . . HTTPURLInfo.method . . . . . . HTTPURLInfo.requestHeaders. . . . HTTPURLInfo.responseCode . . . . HTTPURLInfo.responseHeaders . . . HTTPURLInfo.url . . . . . . . . keyLabel . . . . . . . . . . . lifetime . . . . . . . . . . . location . . . . . . . . . . . locationType. . . . . . . . . . loginTime . . . . . . . . . . mappedRealm . . . . . . . . . mappedSecurityDomain . . . . . . mappedUserName . . . . . . . membershipInfo . . . . . . . . memberships.id . . . . . . . . memberships.name . . . . . . . memberships.type . . . . . . . . message . . . . . . . . . . . mgmtInfo . . . . . . . . . . mgmtInfo.command . . . . . . . mgmtInfo.targetInfo . . . . . . . originalRealm . . . . . . . . . originalSecurityRealm . . . . . . originalUserName . . . . . . . . outcome . . . . . . . . . . . outcome.failureReason . . . . . . outcome.majorStatus . . . . . . . outcome.minorStatus . . . . . . . outcome.result . . . . . . . . . partner . . . . . . . . . . . perfInfo . . . . . . . . . . . perfInfo.aggregate . . . . . . . . perfInfo.description . . . . . . . perfInfo.name . . . . . . . . . perfInfo.maxValue . . . . . . . . perfInfo.minValue . . . . . . . . perfInfo.numDataPoints . . . . . . perfInfo.unit. . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
286 286 286 287 287 287 288 288 288 289 289 290 290 290 291 291 292 292 292 293 294 294 294 294 295 295 295 296 296 296 296 297 297 297 298 298 298 299 299 299 300 300 301 301 302 302 302 302 303 305 305 306 306 306 307 307 307 308 308 308 308
perfInfo.value . . . . . . . . . . . permissionInfo . . . . . . . . . . . permissionInfo.checked . . . . . . . . permissionInfo.denied . . . . . . . . permissionInfo.granted . . . . . . . . permissionInfo.J2EERolesChecked . . . . permissionInfo.J2EERolesGranted. . . . . policyDescription . . . . . . . . . . policyInfo . . . . . . . . . . . . policyInfo.attributes . . . . . . . . . policyInfo.branch . . . . . . . . . . policyInfo.description . . . . . . . . policyInfo.name . . . . . . . . . . policyInfo.type . . . . . . . . . . . policyName . . . . . . . . . . . . progName . . . . . . . . . . . . provisioningInfo . . . . . . . . . . provisioningInfo.accountId . . . . . . . provisioningInfo.resourceId. . . . . . . provisioningInfo.resourceType . . . . . . provisioningTargetInfo . . . . . . . . recommendation . . . . . . . . . . registryInfo . . . . . . . . . . . . registryInfo.serverLocation . . . . . . . registryInfo.serverLocationType . . . . . registryInfo.serverPort . . . . . . . . registryInfo.type . . . . . . . . . . registryObjectInfo . . . . . . . . . . registryObjectInfo.attributes . . . . . . registryObjectInfo.description . . . . . . registryObjectInfo.name . . . . . . . . registryObjectInfo.registryName . . . . . registryObjectInfo.type . . . . . . . . reporterComponentId . . . . . . . . resourceInfo . . . . . . . . . . . . resourceInfo.attributes . . . . . . . . resourceInfo.nameInApp . . . . . . . resourceInfo.nameInPolicy . . . . . . . resourceInfo.type . . . . . . . . . . sequenceNumber . . . . . . . . . . severity . . . . . . . . . . . . . sourceComponentId . . . . . . . . . sourceComponentId/@application . . . . sourceComponentId/@component . . . . sourceComponentId/@componentIdType . . sourceComponentId/@componentType . . . sourceComponentId/@executionEnvironment sourceComponentId/@instanceId. . . . . sourceComponentId/@location . . . . . sourceComponentId/@locationType . . . . sourceComponentId/@processId . . . . . sourceComponentId/@subComponent . . . sourceComponentId/@threadId . . . . . startTime . . . . . . . . . . . . . suppressed . . . . . . . . . . . . targetAccount . . . . . . . . . . . targetInfoType . . . . . . . . . . . targetInfo.attributes . . . . . . . . . targetInfo.targetNames . . . . . . . . targetResource . . . . . . . . . . . targetUser . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
309 309 309 310 310 311 311 311 312 312 313 313 313 313 315 315 315 316 316 316 316 317 317 317 318 318 318 319 319 320 320 320 321 321 322 322 323 323 323 325 325 325 326 326 327 327 327 328 328 328 329 329 329 330 330 330 331 331 332 332 332
vi
Auditing Guide
targetUserInfo (1) . . . . targetUserInfo (2) . . . . targetUserRegistryInfo . . terminateReason . . . . timestamp . . . . . . type . . . . . . . . userInfo . . . . . . . userInfo.appUserName . . userInfo.attributes . . . . userInfo.callerList . . . . userInfo.domain . . . . userInfo.location . . . . userInfo.locationType . . . userInfo.realm . . . . . userInfo.registryUserName . userInfo.sessionId . . . . userInfo.uniqueId . . . . userInputs . . . . . . violationClassification . . violationDescription . . . violationName . . . . . workItemInfo . . . . . workItemInfoType.id . . . workItemInfoType.type . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
333 333 334 334 334 335 335 336 336 336 337 337 337 338 338 338 339 339 340 341 341 341 341 342
Common Audit Service uninstallation problems Uninstall.bin not available . . . . . . . CarsConfigUtil.jar is not removed during a successful uninstallation of Common Audit Service . . . . . . . . . . . . . Failed uninstallation workarounds . . . . Web service and emitter problems . . . . . Disregard message 0000004a . . . . . . Web service emitter log displays event data . Server utility problems . . . . . . . . . Exception occurs while running the staging utility . . . . . . . . . . . . . . java.lang.NullPointer exception occurs while running the staging utility . . . . . . . Remote database access failure occurs when using staging utility or XML data store utilities WebSphere Application Server problems . . . Out of memory error . . . . . . . . . Debug tracing of installation or uninstallation of Common Audit Service . . . . . . . . .
353 . 353
. . . . . .
365
. . . . . . . . . . . . . . . . . 365 365 365 366 366 366 366 367 367 368 369 369 370 371 381 383 388
347 347 347 348 348 349 349 350 350 350
391
. . . . . . . . . . 391 391 392 395 397 400 401 404 405 409
Contents
vii
Obtaining fixes . . . . . . . . . . . . . Registering with IBM Software Support . . . . Receiving weekly software updates . . . . . . Contacting IBM Software Support . . . . . . Determining the business impact . . . . . . Describing problems and gathering information Submitting problems . . . . . . . . . .
Glossary . . . . . . . . . . . . . 421
viii
Auditing Guide
Intended audience
This publication is for system administrators who must perform the following auditing tasks: v Installing and configuring the Common Audit Service v Configuring and generating audit reports Readers must be familiar with the following topics: v Microsoft Windows and UNIX operating systems v Database architecture and concepts v Security management v Authentication and authorization v Tivoli Access Manager security model and its capabilities
Publications
This section lists publications in the IBM Tivoli Access Manager for e-business library and related documents. The section also describes how to access Tivoli publications online and how to order Tivoli publications.
ix
Provides background material, administrative procedures, and reference information for using WebSEAL to manage the resources of your secure Web domain. v IBM Tivoli Access Manager for e-business: Plug-in for Edge Server Administration Guide, SC23-6506 Provides instructions for integrating Tivoli Access Manager with the IBM WebSphere Edge Server application. v IBM Tivoli Access Manager for e-business: Plug-in for Web Servers Administration Guide, SC23-6507 Provides procedures and reference information for securing your Web domain using a Web server plug-in. v IBM Tivoli Access Manager for e-business: Shared Session Management Administration Guide, SC23-6509 Provides deployment considerations and operational instructions for the session management server. v IBM Global Security Kit: Secure Sockets Layer Introduction and iKeyman User's Guide, SC23-6510 Provides information for enabling SSL communication in the Tivoli Access Manager environment. v IBM Tivoli Access Manager for e-business: Auditing Guide, SC23-6511 Provides information about configuring and managing audit events using the native Tivoli Access Manager approach and the Common Auditing and Reporting Service. You can also find information about installing and configuring the Common Auditing and Reporting Service. Use this service for generating and viewing operational reports. v IBM Tivoli Access Manager for e-business: Command Reference, SC23-6512 Provides reference information about the commands, utilities, and scripts that are provided with Tivoli Access Manager. v IBM Tivoli Access Manager for e-business: Administration C API Developer Reference, SC23-6513 Provides reference information about using the C language implementation of the administration API to enable an application to perform Tivoli Access Manager administration tasks. v IBM Tivoli Access Manager for e-business: Administration Java Classes Developer Reference, SC23-6514 Provides reference information about using the Java language implementation of the administration API to enable an application to perform Tivoli Access Manager administration tasks. v IBM Tivoli Access Manager for e-business: Authorization C API Developer Reference, SC23-6515 Provides reference information about using the C language implementation of the authorization API to enable an application to use Tivoli Access Manager security. v IBM Tivoli Access Manager for e-business: Authorization Java Classes Developer Reference, SC23-6516 Provides reference information about using the Java language implementation of the authorization API to enable an application to use Tivoli Access Manager security. v IBM Tivoli Access Manager for e-business: Web Security Developer Reference, SC23-6517
Auditing Guide
Provides programming and reference information for developing authentication modules. v IBM Tivoli Access Manager for e-business: Error Message Reference, GI11-8157 Provides explanations and recommended actions for the messages and return code. v IBM Tivoli Access Manager for e-business: Troubleshooting Guide, GC27-2717 Provides problem determination information. v IBM Tivoli Access Manager for e-business: Performance Tuning Guide, SC23-6518 Provides performance tuning information for an environment consisting of Tivoli Access Manager with the IBM Tivoli Directory Server as the user registry.
xi
Ordering publications
You can order many Tivoli publications online at http:// www.elink.ibmlink.ibm.com/publications/servlet/pbi.wss. You can also order by telephone by calling one of these numbers: v In the United States: 800-879-2755 v In Canada: 800-426-4968
xii
Auditing Guide
In other countries, contact your software account representative to order Tivoli publications. To locate the telephone number of your local representative, perform the following steps: 1. Go to http://www.ibm.com/e-business/linkweb/publications/servlet/pbi.wss. 2. Select your country from the list and click Go. 3. Click About this site in the main panel to see an information page that includes the telephone number of your local representative.
Accessibility
Accessibility features help users with a physical disability, such as restricted mobility or limited vision, to use software products successfully. With this product, you can use assistive technologies to hear and navigate the interface. You can also use the keyboard instead of the mouse to operate all features of the graphical user interface. Visit the IBM Accessibility Center at http://www.ibm.com/alphaworks/topics/ accessibility/ for more information about IBM's commitment to accessibility. For additional information, see the Accessibility Appendix in IBM Tivoli Access Manager for e-business Installation Guide.
Support information
If you have a problem with your IBM software, you want to resolve it quickly. IBM provides the following ways for you to obtain the support you need: Online Access the Tivoli Software Support site at http://www.ibm.com/software/ sysmgmt/products/support/index.html?ibmprd=tivman. Access the IBM Software Support site at http://www.ibm.com/software/support/ probsub.html . IBM Support Assistant The IBM Support Assistant is a free local software serviceability workbench that helps you resolve questions and problems with IBM software products. The Support Assistant provides quick access to support-related
xiii
information and serviceability tools for problem determination. To install the Support Assistant software, go to http://www.ibm.com/software/ support/isa. Troubleshooting Guide For more information about resolving problems, see the IBM Tivoli Access Manager for e-business Installation Guide.
Typeface conventions
This publication uses the following typeface conventions: Bold v Lowercase commands and mixed case commands that are otherwise difficult to distinguish from surrounding text v Interface controls (check boxes, push buttons, radio buttons, spin buttons, fields, folders, icons, list boxes, items inside list boxes, multicolumn lists, containers, menu choices, menu names, tabs, property sheets), labels (such as Tip:, and Operating system considerations:) v Keywords and parameters in text Italic v Citations (examples: titles of publications, diskettes, and CDs v Words defined in text (example: a nonswitched line is called a point-to-point line) v Emphasis of words and letters (words as words example: "Use the word that to introduce a restrictive clause."; letters as letters example: "The LUN address must start with the letter L.") v New terms in text (except in a definition list): a view is a frame in a workspace that contains data. v Variables and values you must provide: ... where myname represents.... Monospace v Examples and code examples v File names, programming keywords, and other elements that are difficult to distinguish from surrounding text v Message text and prompts addressed to the user v Text that the user must type v Values for arguments or command options
xiv
Auditing Guide
Note: If you are using the bash shell on a Windows system, you can use the UNIX conventions.
xv
xvi
Auditing Guide
Part 1. Introduction
Chapter 1. Introduction to auditing Auditing versus diagnostics . . . Audit events . . . . . . . Diagnostic events . . . . . . Audit trails . . . . . . . . . Audit records for HTTP access . . . . . . . . 3 . . . . . . 3 . . . . . . 4 . . . . . . 4 . . . . . . 4 . . . . . . 5
Chapter 2. Overview of the Common Audit Service 7 Common Audit Service infrastructure . . . . . . 8 Reporting . . . . . . . . . . . . . . . 9 Auditing and reporting scenarios . . . . . . . 9 Security incident investigation scenario . . . . 9 IT control scenario . . . . . . . . . . . 9 Compliance scenario . . . . . . . . . . 10 Procedure for collecting audit data. . . . . . . 11 Chapter 3. Overview of Tivoli Access event logging . . . . . . . . Native auditing . . . . . . . . Statistics gathering . . . . . . . Logging process . . . . . . . . Audit data in UTF-8 format . . . . Manager . . . . . 13 . . . . . 13 . . . . . 14 . . . . . 15 . . . . . 15
Chapter 4. Internationalization . . . . . . . 17 Language support overview . . . . . . . . . 17 Installing language support packages . . . . . . 18 Uninstalling language support packages . . . . . 19 Locale environment variables . . . . . . . . 19 LANG variable on UNIX or Linux systems . . . 20 LANG variable on Windows systems . . . . . 20 Using locale variants . . . . . . . . . . 20 Message catalogs . . . . . . . . . . . . 21 Text encoding (code set) support . . . . . . . 21 Location of code set files . . . . . . . . . 22
Auditing Guide
Audit events
For auditing purposes, define which audit, statistic, or other type of events to capture. These events allow you to create snapshots of various server activities. You can record audit events using either the native Tivoli Access Manager approach or Common Auditing and Reporting Service. To configure auditing events, define stanza entries in the configuration files. Depending on your approach, you define different stanza entries in different configuration files. When you enable the Common Audit Service, use the following guidelines for defining the auditing configuration: v For audit events that you want to record using the Common Audit Service, define entries in the [cars-filter] stanza of the server-specific pdaudit.conf configuration file. When events are sent to the Common Audit Service audit server, you can generate and view operational reports through a reporting interface. v For audit events that you want to record using the native Tivoli Access Manager mechanisms, define entries in the [pdaudit-filter] stanza of the server-specific pdaudit.conf configuration file. v For HTTP request events, define entries in the [aznapi-configuration] and [logging] stanzas of the WebSEAL configuration files. If you do not enable the Common Audit Service, use the following guidelines for defining the auditing configuration: v For audit events, define logcfg entries in the [aznapi-configuration] stanza of the server configuration file. v For HTTP request events, define entries in the [aznapi-configuration] and [logging] stanzas of the WebSEAL configuration files for HTTP events that you want to record.
Diagnostic events
For diagnostics, define which message events and which trace events to capture. These events can help you troubleshoot problems. To configure diagnostic events, you define statements in the server-specific routing files. Each server has an associated routing file. The statements in these routing files are for both message events and trace events. You define the statements for message events by severity level. You define the statements for trace events by trace level and optionally by component. For additional information about message and trace events, see the IBM Tivoli Access Manager for e-business: Troubleshooting Guide.
Audit trails
IT organizations can use information contained in audit trails to help them show compliance with government regulations such as the following: v Sarbanes-Oxley (SOX) Act. v The Health Insurance Portability and Accountability Act (HIPAA). v The Basel II international banking accord.
Auditing Guide
For these reasons, such audit trails must be sometimes maintained for years. Audit trails are useful to check enforcement and effectiveness of IT controls, for accountability and vulnerability, and for risk analysis. IT organizations can also use auditing of security-related critical activities to aid in forensic investigations of security incidents. When a security incident occurs, audit trails enable analysis of the history of activities that occurred before the security incident. This analysis might answer questions such as who did what, when, where, and how. Based on this analysis, appropriate corrective actions can be taken. For these reasons, audit trails must be archived and accessible for years. Audit trails can be established in relational databases that are easily queried to generate reports. When audit trails are written to relational databases, reporting tools, such as Tivoli Common Reporting, can be used to display reports. Reports can fall into the following categories: v Trend reports provide summarized audit data that allow you to assess whether there is any long-term rise or fall in questionable activity. Trend reports can help provide a security pulse for an organization. v Operational reports allow a detailed review of audit data to help determine the cause of a security incident.
Auditing Guide
Auditing Guide
Reporting
Common Audit Service stores audit data in the XML data store and provides utilities to manage this data; however, Common Audit Service does not include utilities for creating formatted reports. Tivoli Access Manager Version 6.1 uses Tivoli Common Reporting to generate, format, view, and print report data. Tivoli Common Reporting integrates open-source reporting interfaces into a common tool that provides a consistent appearance across Tivoli applications, and improves the quality of the report content. Tivoli Access Manager Version 6.1 also provides a set of report definition files, referred to as a report package, for the Tivoli Common Reporting environment. These report templates enable you to generate out-of-box operational reports, including audit history and details, password administration, authorization history and details, and resource access.
System administrator
Authentication events
Report Tables
IT control scenario
The following scenario shows how audit data can be used to ensure that only authorized entities are accessing protecting resources.
System administrator
Authorization events
Report Tables
Compliance scenario
The following scenario shows how audit data can be used to demonstrate compliance to a security policy.
Noncompliance detected
Security Auditor
Compliance events
Report tables
10
Auditing Guide
Procedure
1. Identify the installed IBM security software. For example, you might have Tivoli Access Manager for e-business and Tivoli Federated Identity Manager in your environment. 2. Identify the type of events to audit. For example, to report on Tivoli Access Manager login activity and the effectiveness of initial policy, you need to configure Tivoli Access Manager for e-business to send the following Common Audit Service events: v AUDIT_AUTHN v AUDIT_MGMT_POLICY To report on trust events for Tivoli Federated Identity Manager, you need to configure Tivoli Federated Identity Manager to send the IBM_SECURITY_TRUST event. See the configuration information of each exploiting product for instructions on setting up the recording of specific types of events. 3. Determine the volume of security events per day. The volume of security events generated per day will determine the type of reports, frequency of staging, and so on. For example, if you are generating events in millions, you may have to archive and prune archived data more frequently. If you prune frequently, then you will limit your ability to run security events details reports. Also, a large number of security events would increase the time to stage data and force you to schedule report generation much later. In addition, start and end time parameters for the reports must be selected so that the number of security events returned is approximately 100,000. For the purposes of this scenario, we will assume the number of security events is 100,000 per day. 4. Perform the data management tasks: a. Stage the data for generating reports. You must stage the events from the XML data store tables to report tables. You can run the staging utility in incremental mode every day shortly after midnight, for example, at 12:05 AM. For more information, see Running the staging utility command on page 66. b. Archive the data from the XML data store. Depending on the volume of security events, you will run the archive process once or twice a week. The archival process consists of four phases: v Pre-archive v Archive using an archival tool v Prune the data from the report tables v Post-archive Use the XML data store utilities for these processes. For information about these utilities, see Running the XML data store utilities on page 67. c. Prune the report data from the report tables. Because post-archive removes security events from the XML data store, run the staging utility in prune
Chapter 2. Overview of the Common Audit Service
11
mode to remove corresponding security events from the report tables. You will use the first timestamp from the pre-archive phase as input. For more information, see Running the staging utility command on page 66. 5. Generate reports using the report-generation tool of the exploiting product, for example, Tivoli Access Manager or Tivoli Federated Identity Manager. The following scenario shows a process to generate a report for a security incident investigation: v A security incident investigation is needed to determine who logged in between 2:00 AM and 6:00 AM. v Use your reporting tool to run an audit security events history. Configure parameters such as start date and time, end date and time, event type, number of events, product name, sort criteria, and so on, to review the events in question, and to display the report in a useful format. v Run the report for the day in which you are interested. The start time will be 2:00 AM and end time will be 6:00 AM.
12
Auditing Guide
Event pool
audit
trace pd
stats ...
http ...
azn
authn
...
ras
log
...
Natively, Tivoli Access Manager generates and can record the following primary categories of events: Audit events For information about audit events, see Chapter 19, Audit event logging, on page 175. HTTP request events For information about HTTP request events, see Chapter 20, WebSEAL HTTP logging, on page 193. Statistical events For information about statistical events, see Chapter 21, Working with statistics, on page 201. Trace events For information about trace events, see IBM Tivoli Access Manager for e-business: Troubleshooting Guide.
Native auditing
Auditing is defined as the logging of audit records. It includes the collection of data about system activities that affect the secure operation of the Tivoli Access Manager server processes. Each Tivoli Access Manager server can capture audit events whenever any security-related auditable activity occurs. Auditing uses the concepts of a record, an audit event, and an audit trail. Each audited activity is referred to as an audit event. The output of a specific server event is called a record. An audit trail is a collection of multiple records that document the server activity.
13
When configuring for auditing, think about the source of the events that you want to capture. Audit trail files can capture authorization, authentication, and management events that are generated by the Tivoli Access Manager servers. There are multiple sources for auditing events that you want to gather. You can collect either a combination or all the different types of auditing events at the same time. Table 1 shows some of the event types that can be used for native auditing.
Table 1. Categories and description of native audit events Event category audit.authz audit.azn audit.authn audit.authn.successful audit.authn.unsuccessful audit.http audit.http.successful audit.http.unsuccessful audit.mgmt http http.clf Description Authorization events for WebSEAL servers Authorization events for base servers Authentication, credential acquisition authentication, password change, and logout events Successful authentication credential acquisition authentication, password change, and logout events Failed authentication credential acquisition authentication, password change, and logout events HTTP access events Successful HTTP access events Failed HTTP access events Management events HTTP logging information HTTP request information defined by the request-log-format configuration entry in the '[logging]' stanza. clf stands for common log format. HTTP Referer header information HTTP User Agent head information
http.ref http.agent
Statistics gathering
Tivoli Access Manager servers provide a series of modules that can monitor and collect information about specific server activity. After enabling a module, you can display the statistical information that it has gathered since it was enabled. In addition to displaying this information, you can direct these statistics to a log file. You can work with statistics with the server task stats command or with stanza entries in the configuration file for the specific server. When you display statistics, you see a snapshot of the statistics. These statistics provide a view of the recorded activity. If you capture statistics at regular intervals, you can perform trend analyses against the server activities. For information about enabling and using the statistics gathering modules, see Chapter 21, Working with statistics, on page 201.
14
Auditing Guide
Logging process
Figure 6 depicts the relationships among the steps in the logging process. The top part of the figure represents the code of a Tivoli Access Manager server. The code contains probe points where events of specific types can be generated. Generated events are submitted to the server event pool for possible recording through a point of capture (event sink). The event pool defines the events category. At runtime, you can subscribe a log agent at any point in the event pool hierarchy. You can selectively record events that are generated at the probe points for the program. The middle part of the figure depicts subscription. For example, you can subscribe to a remote client for capturing events. This client forwards the selected events to a remote authorization server. The lower part of the figure depicts this remote server. Relayed events are placed in the event pool at the remote probe points for the authorization server.
Event pool
Event sink
Console log
Log file
Event sink
Log file
File adaptor
Pipe adaptor
15
When the operating system does not use a UTF-8 code page, the conversion to UTF-8 can result in data loss. When data loss occurs, the log file contains a series of question mark (?) characters at the location where the data conversion was problematic. When running in a non-UTF-8 locale, use the UTF8FILE type in the routing file. For additional information about the UTF8FILE type, see Appendix A, Routing files, on page 361.
16
Auditing Guide
Chapter 4. Internationalization
This topic describes the internationalization features for Common Auditing and Reporting Service. This section contains the following topics: v Language support overview v Installing language support packages on page 18 v Uninstalling language support packages on page 19 v Locale environment variables on page 19 v Message catalogs on page 21 v Text encoding (code set) support on page 21
Attention Ensure that you review the internationalization section in the IBM Tivoli Access Manager for e-business: Release Notes or Technotes in the support knowledge database for any language-specific limitations or restrictions.
17
If language support is installed and you upgrade the product, you must also install the corresponding language support product, if one exists. If you do not install the language support after upgrading, the associated product might display some fields and messages in English.
where rr specifies the Rock Ridge CD format, /dev/dsk/c0t0d0 specifies the CD device, and /cd-rom specifies the mount point. Specific patches are required before the HP-UX mount command can be used. See the IBM Tivoli Access Manager for e-business: Release Notes. 3. Ensure that IBM Java Runtime 1.5 provided with Tivoli Access Manager is installed for your particular operating system. For instructions, see the IBM Tivoli Access Manager for e-business: Installation Guide. The language pack message files, by language, for IBM Java Runtime 1.5 include: Java5.msg.Ja_JP Java5.msg.Zh_CN Java5.msg.Zh_TW Java5.msg.ja_JP Java5.msg.ko_KR Java5.msg.zh_CN Java5.msg.zh_TW 4. Depending on the component that you want to install, run one or more of the following setup scripts. v To install using a wizard, select the scripts for the required components. Notes: a. Scripts are used for Linux and UNIX operating systems; batch files (.bat extension) are used for Windows operating systems. b. If you issue a script without specifying the jre_path, you must ensure that the Java executable program is part of the PATH statement. Otherwise, issue the script specifying the jre_path as follows:
language_package jre_path
To install the language package for Common Auditing and Reporting Service, enter the following command:
install_cars_lp /usr/bin
where install_cars_lp installs the language packages for Common Auditing and Reporting Service, and /usr/bin is the path to the JRE. v To install in console mode, do the following:
18
Auditing Guide
v Ensure that the IBM Java Runtime 1.5 is available in the command execution path (or prefix the command with the JRE directory.) v Run the following command:
java -jar language_package.jar run -console
where language_package.jar is the name of the language package to install: Installs the language packages for Common Auditing and Reporting Service. Click Next to begin installation. The Software License Agreement window is displayed. To accept the license agreement, select the I accept check box to accept the terms and then click Next. A dialog showing a list of the languages is displayed. Select the language packages that you want to install and click Next. A dialog showing the location and features of the languages that you selected is displayed. To accept the languages selected, click Next. The installation wizard validates that sufficient disk space is available. To install the languages that you selected, click Next. After installation for the language pack has completed successfully, click Finish to close the wizard and restart your system. carslp.jar
5. 6.
7.
8. 9.
where location is as follows: CARSLP/lp_uninst Specifies the location of the language packages for Common Auditing and Reporting Service.
2. Uninstall the language support packages using the following command: v On Linux and UNIX operating systems:
jre_path/java -jar cars_lp_uninstall.jar
where jre_path is the path where the Java executable program is located. If the Java executable program is in the path, you do not have to specify jre_path.
Chapter 4. Internationalization
19
If you specify the LANG environment variable and modify the regional settings, the LANG environment variable overrides this regional setting. As specified by open systems standards, other environment variables override LANG for some or all locale categories. These variables include the following: v LC_COLLATE v LC_CTYPE v LC_MONETARY v LC_NUMERIC v LC_TIME v LC_MESSAGES v LC_ALL If any of the previous variables are set, you must remove their setting for the LANG variable to have full effect.
20
Auditing Guide
Message catalogs
Message catalogs are typically installed in a /msg subdirectory and each of these message catalogs is installed under a language-specific subdirectory. For example, the Tivoli Access Manager base components use the following directories: v On Linux and UNIX operating systems: /opt/PolicyDirector/nls/msg/locale v On Windows operating systems: install_dir/nls/msg/locale Other Tivoli Access Manager components use similar directories for their message catalogs. Tivoli Access Manager recognizes variations in UNIX or Linux locale names and is typically able to map the specified value to the appropriate message catalog. The NLSPATH environment variable is used to find the appropriate message catalog directory, as specified by open systems standards. For example, if the message catalogs are in /opt/PolicyDirector/nls/msg, the NLSPATH variable is set to:
/opt/PolicyDirector/nls/msg/%L/%N.cat:/opt/PolicyDirector/nls/msg/%L/%N
Note: For Windows, use a semicolon (;) instead of a (:) as the separator. For example:
C:\Program Files\PolicyDirector\nls\msg\%L\%N.cat;C:\Program Files\PolicyDirector\nls\msg\%L\%N
The %L directive is expanded to the message catalog directory that most closely matches the current user language selection. Also, %N.cat expands to the required message catalog. If a message catalog is not found for the required language, the English C message catalogs are used. For example, suppose you specify the AIX locale for German in Switzerland as follows:
LANG=De_CH.IBM-850
The %L directive is expanded in the following order to locate the specified locale: 1. de_CH 2. de 3. C Because Tivoli Access Manager does not provide a German in Switzerland language package, de_CH is not found. If the Tivoli Access Manager German language package is installed, de is used. Otherwise, the default locale C is used, causing text to be displayed in English.
Chapter 4. Internationalization
21
In addition, you can provide multiple locales for the same language. By doing so, you can use different code sets for the same language on the same machine. Providing multiple locales for the same language can cause problems in one of the following situations: v Text is moved from system to system. v Text is moved between different locale environments. Tivoli Access Manager addresses these problems by using Unicode and UTF-8 (the multibyte form of Unicode) as the internal canonical representation for text. Message catalogs are encoded using UTF-8, and the text is converted to the locale encoding before being presented to the user. In this way, the same French message catalog files can be used to support various Latin 1 code sets, such as: v ISO8859-1 v Microsoft 1252 v IBM PC 850 v IBM MVS 1047 UTF-8 is also used to achieve text interoperability. For example, Common Object Request Broker Architecture (CORBA) strings are transmitted as UTF-8. Doing so enables remote management within a heterogeneous network in which local text encoding can vary. For example, Japanese file names can be manipulated on Japanese PC endpoints from a desktop executing in the UNIX Japanese EUC locale. Text interoperability across the secure domain is also achieved by storing strings as UTF-8 within the Tivoli object database. Strings are converted to the local encoding for viewing and manipulation by applications that are executing on different operating system code sets.
22
Auditing Guide
56
57 57 58 58 59 60 60 60
62 65 65 66 67 69 72
47 48 48 49 49 51 52 52 54
Chapter 7. Uninstalling Common Auditing and Reporting Service . . . . . . . . . . . . 79 Unconfiguring Common Audit Service . . . . . 79 Uninstalling Common Audit Service . . . . . . 80 Uninstallation checklist for all platforms . . . . 80 Interactive uninstallation . . . . . . . . . 81 Starting the uninstallation wizard . . . . . 81 Interactive uninstallation using the GUI windows . . . . . . . . . . . . . 82 Silent uninstallation . . . . . . . . . . 83 Uninstalling language support packages . . . . 84
23
24
Auditing Guide
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
This section describes the tasks used to install and configure the Common Audit Service audit server.
25
system as the audit server. If required, the DB2 client must be installed before you configure the audit server, but not before you install the audit server. In a cluster environment, the DB2 client must be installed on each of the managed nodes. If the DB2 server is DB2 Version 9.1, install the DB2 Client (or Runtime Client) Version 9.1. If the DB2 server is DB2 Version 8.2, install DB2 Administration Client Version 8.2. Run the db2level command on the DB2 server computer to determine the version of DB2 server that is running in your environment. See Installing the DB2 client on Windows systems or Installing the DB2 Administration Client on Linux and UNIX systems on page 27 for more instructions.
Procedure
1. Download the DB2 client for the appropriate DB2 server and the Windows platform from the following Web site: DB2 8 Administration Client http://www.ibm.com/software/data/db2/udb/support/ downloadv8.html DB2 9 client (DB2 Client or DB2 Runtime Client) http://www.ibm.com/software/data/db2/udb/support/ downloadv9.html 2. Locate the appropriate level of client in the table and download the setup file using either Download Director or FTP. 3. Follow the directions in the installation wizard to install the client.
What to do next
Note: If the database server is remote to the WebSphere Application Server node where configuration is taking place, at the node from the audit server system, use the following DB2 catalog command to add a TCP/IP node entry to the node directory. The TCP/IP communications protocol is used to access the remote database node. Cataloging enables DB2 command-line access to the remote database server. In a cluster environment, configuration is performed on a Deployment Manager node in the WebSphere Application Server Network Deployment edition; otherwise, configuration is performed on a stand-alone server node.
db2 catalog tcpip node nodename remote hostname server service_name
where: nodename Specifies a local alias for the node to be cataloged. hostname Specifies the host name or the IP address of the node where the
26
Auditing Guide
target database resides. The host name is the name of the node that is known to the TCP/IP network. The maximum length of the host name is 255 characters. service_name Specifies the service name or the port number of the server database manager instance. The maximum length is 14 characters. This parameter is case sensitive. If a service name is specified, the services file on the client is used to map the service name to a port number. A service name is specified in the server's database manager configuration file, and the services file on the server is used to map this service name to a port number. The port number on the client and the server must match. You must verify that the TCP/IP node is cataloged correctly. Run the following DB2 commands:
db2 attach to nodename user username using password db2 list applications db2 detach
Where: nodename Specifies the alias of the instance to which you want to attach. username Specifies the authentication identifier. password Specifies the password for the user name.
Procedure
1. Download the DB2 client for the appropriate Linux or UNIX platform from the following Web site: DB2 8 Administration Client http://www.ibm.com/software/data/db2/udb/support/ downloadv8.html DB2 9 client (DB2 Client or DB2 Runtime Client) http://www.ibm.com/software/data/db2/udb/support/ downloadv9.html 2. Uncompress and untar the file. 3. Run db2setup that is located in the admcl directory. 4. Select Install Products. 5. Select the radio button for the DB2 client that you are installing.
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
27
6. Click Next in the Welcome to the DB2 Setup wizard. 7. Click I accept the terms in the license agreement if you accept the terms of the license agreement and click Next. 8. Select Typical installation type and click Next. 9. Select Create a DB2 instance in the Set up a DB2 instance window. 10. Select the New User radio button and specify a user name and password. You can either accept the defaults or change those that are appropriate for your environment. If you have already created a user, you might want to also select the Existing User radio button and specify the user name. Click Next. 11. Click Finish.
What to do next
Note: When the database server is remote to the WebSphere Application Server node where configuration is taking place, enter the following command at the node to add a TCP/IP node entry to the node directory. The TCP/IP communications protocol is used to access the remote database node. Cataloging enables DB2 command-line access to the remote database server. In a clustered environment, configuration is performed on a Deployment Manager node in the WebSphere Application Server Network Deployment edition; otherwise, configuration is performed on a stand-alone server node. Before cataloguing is performed on a UNIX platform, a DB2 client instance must have been created in the existing DB2 client installation. This is not necessary on a Windows platform. Source the DB2 client instance owner profile in a command shell or start the DB2 Command Line Interface shell before entering the command:
db2 catalog tcpip node nodename remote hostname server service_name
where: nodename Specifies a local alias for the node to be cataloged. hostname Specifies the host name or the IP address of the node where the target database resides. The host name is the name of the node that is known to the TCP/IP network. The maximum length of the host name is 255 characters. service_name Specifies the service name or the port number of the server database manager instance. The maximum length is 14 characters. This parameter is case sensitive. If a service name is specified, the services file on the client is used to map the service name to a port number. A service name is specified in the server's database manager configuration file, and the services file on the server is used to map this service name to a port number. The port number on the client and the server must match. You must verify that the TCP/IP node is cataloged correctly. Run the following DB2 commands:
db2 attach to nodename user username using password db2 list applications db2 detach
Where:
28
Auditing Guide
nodename Specifies the alias of the instance to which you want to attach. username Specifies the authentication identifier. password Specifies the password for the user name.
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
29
If the Audit Service and Audit Configuration Console are installed at different times but specify the same installation path, they are installed into the same profile. If you reinstall Common Audit Service, you can install either or both features, depending on your objective. The Audit Configuration Console can configure an Audit Service that is installed in any profile. You can install Common Audit Service using a root or non-root administrator ID. Common Audit Service can be installed multiple times on the same platform to support multiple WebSphere Application Server profiles on different or common WebSphere Application Server installations:
Interactive installation
This section describes how to start and complete an interactive installation of the Common Audit Service audit server. The interactive installation gives you the option to use GUI panels to enter your setup information for installation or use console mode on the command line.
30
Auditing Guide
v solaris v usr/sys/inst.images For Windows platforms: windows/CARS In the appropriate directory, specify one of the following commands: For AIX install_cars_audit_srv_aix [-console] [-is:javahome java_home] For Linux on POWER install_cars_srv_linuxppc [-console] [-is:javahome java_home] For Linux on x86 install_cars_srv_linux [-console] [-is:javahome java_home] For Linux on System z install_cars_srv_linuxs390 [-console] [-is:javahome java_home] For Solaris install_cars_srv_solaris [-console] [-is:javahome java_home] For Windows install_cars_srv_win32.exe [-console] [-is:javahome java_home] For running the Java installation executable on any platform:java -cp install_cars_srv.jar run [-console] [-options-record response_file]
Parameters
-console Run the program in console mode, specifying options on the command line. If you do not specify -console, the GUI panel installation will start. For a list of the configuration options to enter, see Audit server installation options on page 32. -options-record response_file Generate a response file using the options you choose on each panel and write it to the specified file. After you run this interactive installation, you can then use this response file to run a silent installation as it will contain all of the appropriate parameters and values. -is:javahome java_home Specify the home directory of the Java Virtual Machine that the installation launcher uses.
Sample
An example of using the Windows command to use console mode:
install_cars_srv_win32.exe -console
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
31
Procedure
1. Select the language that you want to use for the installation. The default is English. 2. Read the license agreement. Press Next if you agree with the license agreement, or press Cancel to exit the program. 3. The Welcome dialog is displayed, indicating that the installation will install the Common Audit Service component. Click Next to continue. 4. Select the path into which you want to install Common Audit Service. A default directory path is provided and is created if necessary. If a Common Audit Service feature is already installed on this path then only uninstalled features are available for installation. Click Next to continue. 5. Select the features that you want to install. By default the Common Audit Service Server and Configuration Console are selected. If a selected feature is already installed in the specified installation path, that feature is not presented. Press Next to continue. The installation wizard searches for WebSphere Application Server installations that can be used as target locations to install Common Audit Service. 6. Specify the profile directory of the WebSphere Application Server instance into which you are deploying Common Audit Service. The profile can be either a deployment manager profile or a stand-alone profile. A default directory is provided and the field cannot be blank. Refer to Audit server installation options for information on the default directory path. Press Next to continue. The installation wizard checks to determine if the specified installation directory already contains the product files. If product files are detected, you are prompted to specify a different target directory. 7. If WebSphere Application Server global security is set, you are prompted in the next window to enter the WebSphere Application Server administrator ID and password. Press Next to continue. 8. In the summary window, ensure that all the information that is shown is correct. If you need to make a change, press Previous to return to a previous window; otherwise, press Next to continue. 9. After several minutes, the final window shows that the installation was successful, or indicates that errors occurred and related information is stored in the serverInstall.log file.
Description
The following table summarizes the default options and values that are used for an interactive installation of Common Audit Service using the ISMP GUI panels.
32
Auditing Guide
Table 2. Interactive installation options and values Configuration option Directory name Description Specifies the Common Audit Service audit server installation directory. The default directory for Windows is: c:\Program Files\IBM\Tivoli\CommonAuditService The default directory for Linux and UNIX platforms is: /opt/IBM/Tivoli/CommonAuditService Feature selection Specifies the separately installed features of the Common Audit Service product. The two features are: v Common Audit Server. The Common Audit Server feature installs and deploys the following application packages: CarsConfigMbean.war This is the management MBean module that resides in the selected WebSphere Application Server node. It manages the configuration of Common Audit Service on that node. CarsConfigUtil.jar Comprises the utility class for the configuration MBean. v Common Audit Server Configuration Console. The Common Audit Server Configuration Console feature installs and deploys the following application packages: CARS6.1.war Comprises the configuration console module. This file is extracted directly into the WAS_HOME /AppServer/systemApps/isclite.ear directory. CarsConfigUtil.jar Comprises the utility class for the configuration MBean. This file is extracted into the CARS_HOME /server/cons_lib directory.
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
33
Table 2. Interactive installation options and values (continued) Configuration option WebSphere Application Server Profile Directory Description Specifies the directory path of the WebSphere Application Server profile where you are deploying Common Audit Service. If the installation wizard detects a WebSphere Application Server profile, the WAS_HOME value from this installation is used to create the default profile directory path as: WAS_HOME/AppServer/profiles/AppSrv01 If a WebSphere Application Server installation is not detected, the default path is defined as: platform_dependent_install_path/IBM/WebSphere/ AppServer/profiles/default where platform_dependent_install_path is /opt for UNIX and Linux, and c:\Program Files for Windows platforms. If a WebSphere Application Server Network Deployment installation is detected, then the default profile is Dmgr0; otherwise, the default profile is AppSrv01. WebSphere Application Server Administrator User ID Specify the administrator user ID for WebSphere Application Server. If WebSphere Application Server global security is not enabled, you are not prompted for this value. Specify the password for the administrator user ID for WebSphere Application Server. If WebSphere Application Server global security is not enabled, you are not prompted for this value.
Silent installation
This section describes the silent installation of the Common Audit Service Version 6.1 audit server.
Purpose
The silent installation processes the choices in the response file and returns the command prompt when complete. No messages are displayed during the silent installation. To create a response file containing all necessary parameters and values, run the interactive installation using the -options-record parameter. See Starting the installation wizard on page 30 for more information.
Syntax
To run the installation in silent mode, enter one of the following commands from the root directory of the installation media (either the product download directory or the installation CD): For AIX install_cars_audit_srv_aix -silent -options response_file [-is:javahome java_home]
34
Auditing Guide
For Linux on Power install_cars_audit_srv_linuxppc -silent -options response_file [-is:javahome java_home] For Linux on x86 install_cars_audit_srv_linux -silent -options response_file [-is:javahome java_home] For Linux on System z install_cars_audit_srv_linuxs390 -silent -options response_file [-is:javahome java_home] For Solaris install_cars_audit_srv_solaris -silent -options response_file [-is:javahome java_home] For Windows install_cars_audit_srv_win32.exe -silent -options response_file [-is:javahome java_home] For running the Java installation executable on any platform: java -cp install_cars_audit_srv.jar run -silent -options response_file
Parameters
-options response_file Specifies the name of the response file to use. For example, serverInstall.rsp. -is:javahome java_home Specifies the home directory of the Java Virtual Machine that the installation launcher uses.
Sample
The following is an example of using the Windows command with the serverInstall.rsp response file:
install_cars_audit_srv_win32.exe -silent -options serverInstall.rsp
35
v Spanish The translations for these languages are provided as language packages on the fix pack installation media. The readme file included with the product fix pack describes how to specify the download directory where the language packs reside. To obtain language support for the Common Audit Service audit server, you must install the language support package. If you do not install the language support package, the associated product displays all text in English. If language support is installed and you upgrade the product, you must also install the corresponding language support product, if one exists. If you do not install the language support after upgrading, the associated product might display some fields and messages in English.
Procedure
1. Log on as root or as an administrative user. 2. Change to the installation root directory. Refer to the Release Notes, included in the product fix pack, for information on how to specify the installation root directory. 3. Change to the nls subdirectory. 4. Run either the interactive installation or console mode installation: v For interactive installation, run one of the following commands, depending on your platform: For AIX install_carslp_aix For Linux on POWER install_carslp_linuxppc For Linux on x86 install_carslp_linux For Linux on System z install_carslp_linuxs390 For Solaris install_carslp_solaris For Windows install_carslp_win.exe v For console mode installation, run the following command: java -cp carslp.jar run -console
36
Auditing Guide
5. Click Next to begin the installation. 6. Read the license agreement. If you agree with the terms of the license agreement, select to accept the terms and then click Next. 7. Select the language packages you want to install and click Next. A dialog showing the location and features of the languages that you selected is displayed. To accept the languages selected, click Next. 8. After installation has completed, click Finish to exit the wizard.
What to do next
If it is necessary to uninstall the language support packages, see Uninstalling language support packages on page 84 for instructions.
Procedure
1. Identify the changes to the basic data definition language script that you need to make to meet your custom storage needs. This includes identifying the parameters to be modified and the suitable values for those parameters to be set in the script. 2. Save a copy of the of the original data definition language script that was included in the Common Audit Service Server installation. The file path of the installed script is CARS_HOME/server/dbscripts/cr_dbobjects.db2, where CARS_HOME is the installation path of Common Audit Service. 3. Customize the script by editing the cr_dbobjects.db2 script using a text editor. Ensure that there are no SQL syntax errors when you modify the script. Any syntax errors or inappropriate database configuration settings in the customized script will cause a failure in the configuration of the Common Audit Service Server. If a configuration error occurs after customizing the script, refer to the
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
37
configuration logs to determine if the modifications made to the basic script caused the configuration to fail. You must run the configuration steps again after correcting any errors in the script. 4. Perform the configuration using the GUI configuration console, as described in Configuring the audit server.
Procedure
1. Ensure that the target DB2 server instance is running. If the target DB2 server is in the stopped state, start the DB2 instance before you start to configure the Common Audit Service audit server. 2. Ensure that the user credentials (user name and password) are part of the DB2 instance group, usually db2grp1. 3. The DB2 TCP/IP port number is required during the audit server configuration. The port number is found in the file /etc/services next to the same service name (svcename) parameter that is in the database manager configuration. The DB2 Information Center describes configuring TCP/IP communications for a DB2 instance. 4. If the DB2 database is remote, ensure that the DB2 node for the remote database has been cataloged. Use the db2 catalog command as shown in Installing the DB2 Administration Client on Linux and UNIX systems on page 27. 5. If more than a single instance of DB2 is configured on the host, ensure that the system PATH environment variable contains the path to the executables of the instance you will be using for Common Audit Service, for example, the default instance. If you are upgrading from a previous version of Common Audit Service to version 6.1, after cataloging the remote DB2 node, ensure that the audit database belonging to the previous version of Common Audit Service that is present on the remote DB2 node has also been cataloged in the local DB2 Client. After cataloging the remote DB2 server node, run the following command to catalog an existing remote audit database into the local DB2 client:
db2 catalog database remote_db_name as remote_db_name at node cataloged_tcpip_node_name
6. On a Windows platform, ensure that the db2cmd.exe command is specified in the system PATH variable. 7. On AIX, if you plan to install DB2 9.1 Fix pack 2 or later, verify that AIX SP2 is applied by running the following command:oslevel -s
38
Auditing Guide
39
Specify this name only when you want to configure the audit database on a remote DB2 server instance. v Remote Audit Database 8. In the JDBC Connector window, enter the following information to configure the JDBC driver that is used to connect to the database. Click Next to continue. v Database Server Host Name v Database Server TCP Service Port v JDBC Driver Path 9. Review the list of options you have selected in the configuration Summary window. If the options are correct, select Finish to begin the configuration. If one or more options are incorrect, use Back to return to a window and make the appropriate changes. When you finish the configuration steps, services that are enabled to run at startup are started. 10. Review the Common Audit Service Status window to determine the outcome of the configuration. If the configuration was unsuccessful, correct the problems and start the configuration again from the Welcome panel. Click OK to return to the Welcome panel.
Description
The following table summarizes the default values and options used for an interactive configuration of Common Audit Service using the GUI windows of the configuation console.
Table 3. Interactive configuration values and options Configuration option Host Description Specifies the name of the WebSphere Application Server host system on which the Common Audit Service configuration component is running. In a WebSphere Application Server cluster environment, specify the name of the host that is running the deployment manager, for example, idp.example.com Specifies the WebSphere Application Server port number that is configured for SOAP communication. You can view the port values for a WebSphere Application Server Deployment Manager instance by selecting the following links in the administrative console of the Deployment Manager that is hosting the target cluster: System Administration -> Deployment manager-> Administration Services-> Ports-> SOAP_CONNECTOR_ADDRESS To view the value of the SOAP connector port for a stand-alone single server, select following links in the administration console of that stand-alone WebSphere Application Server: Servers-> Application servers-> server1-> Ports-> SOAP_CONNECTOR_ADDRESS
40
Auditing Guide
Table 3. Interactive configuration values and options (continued) Configuration option WebSphere Administrative User Name Description Specifies the name of the WebSphere Application Server administrative user that was specified when administrative security was enabled in the target WebSphere Application Server. Specifies the password for the WebSphere Application Server administrative user that was specified when administrative security was enabled in the target WebSphere Application Server. Specifies the WebSphere Application Server deployment process where you want to deploy Common Audit Service. Specifies the administrator user ID for the database instance where the event databases will be created. For example, enter db2admin. Specifies the password for the administrator user ID for the database instance. If the target DB2 server is installed locally, this field specifies the path of the db2profile (executable file) for the DB2 instance where the XML data store will be configured. If the target DB2 server is installed remotely, this field specifies the path of the db2profile (executable file) for the DB2 administration client instance that has cataloged the target remote DB2 server instance where the XML data store will be configured. Specifies the name of the database that is used for the XML data store. The default name is eventxml. Use this field only if the target DB2 server is remote. This field specifies the cataloged node name of the remote DB2 server instance that is hosting the XML data store. Specify the same name that is configured in the local DB2 Administration client. Specifies the DNS host name of the DB2 server that is hosting the XML data store. Specifies the TCP/IP port on which target DB2 server instance is listening for connection requests The default port on Windows systems is 50000; the default port on Linux and UNIX systems is 50001. Specifies the classpath for the JDBC driver JAR files (db2jcc.jar and db2jcc_license_cu.jar) that are used to connect to the Common Audit Service database (XML data store). Usually these JAR files are present in DB2_INSTALL_ROOT/java on UNIX and Linux platforms, and in DB2_INSTALL_ROOT\java on Windows platforms. Specifies whether to create the staging tables and configure the staging utility. These tables and the utility are required to enable the generation of reports from Common Audit Service event records that are stored in the XML data store.
Deployment target
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
41
Procedure
1. Log in to the WebSphere Application Server Administrative Console of the Deployment Manager that is hosting the target cluster. 2. Click Environment WebSphere variables in the left-hand section of the window. 3. Select All scopes in the scope settings. 4. Select the DB2UNIVERSAL_JDBC_DRIVER_PATH variable that is defined at the target cluster scope. 5. Click Delete to remove the variable from the configuration of the Deployment Manager.
42
Auditing Guide
6. In the scope settings selection box, select one of the managed nodes running at least one cluster member. 7. Click New to add the DB2UNIVERSAL_JDBC_DRIVER_PATH variable at the scope of the selected managed node, if one does not already exist. 8. Initialize the DB2UNIVERSAL_JDBC_DRIVER_PATH variable to a value specifying the fully qualified file path (location) of the DB2 Universal Driver JAR files (db2jcc.jar and db2jcc_license_cu.jar) on the selected managed node. 9. Click Apply and Save Changes. If automatic synchronization is not enabled in the container Deployment Manager, ensure that you synchronize the changes to all managed nodes in the cluster. 10. Repeat steps 6 through 9 for each managed node in the cluster. 11. Restart all nodeagents from the administrative console of the Deployment Manager and then restart the Deployment Manager itself. 12. Restart the target cluster and the container Deployment Manager process for your changes to take effect.
Procedure
1. Restart all nodeagents from the administrative console of the Deployment Manager, and then restart the Deployment Manager itself. 2. Restart the target cluster from the administrative console of the Deployment Manager.
Procedure
1. 1. Edit the WAS_HOME/profile/profilename/config/ibmcars/ ibmcarsserver.properties file and set the value of the xmlstore.compress property to false (xmlstore.compress=false). 2. Restart WebSphere Application Server. 3. Verify that events are stored in uncompressed format by running the SQL commands:
What to do next
db2 "connect to eventxml user db2inst1 using password db2 "select record_id where is_compressed = N fetch first 1 rows only"
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
43
If no record is selected, the audit events are stored only in compressed format and the compress property change has not taken effect. Note: Storing data in uncompressed format increases disk usage. This should be done only after consultation with IBM support.
About this task Configuring a Web server that is installed on a cluster node
This topic describes how to configure a Web server that is installed on the same system as one of the cluster nodes.
Procedure
1. Have available a functioning WebSphere Application Server cluster. See the WebSphere Application Server Information Center for instructions on setting up a clustered environment. 2. Ensure that an HTTP server that supports WebSphere Application Server (such as IBM HTTP Server) and WebSphere Application Server plug-in packages are installed and at the correct level. 3. Connect to the WebSphere Application Server deployment manager administrative console. Enter Servers->Web servers->New. 4. Use the wizard to create a new Web server, if one does not already exist. 5. In Step 1, complete the fields as follows, then click Next. Select Node Select the node that corresponds to the Web server. The Web server should be running on the same system as the selected node. Server name Enter the Web server name. Type Leave the default as IBM HTTP Server. 6. In Step 2, select the IHS template radio button, then click Next. 7. In Step 3, complete the default fields, then click Next. Port Typically you can leave the default value as 80. Web server installation location Use the default value or specify the filepath location if you are not using the default. Plug-in installation location Leave the default value as all.
44
Auditing Guide
8. In Step 4, confirm your specified settings in Summary of actions, then click Finish. 9. Save the changes with Synchronize changes with Nodes selected.
Procedure
1. Have available a functioning WebSphere Application Server cluster. See the WebSphere Application Server Information Center for instructions on setting up a clustered environment. 2. Ensure that an HTTP server that supports WebSphere Application Server (such as IBM HTTP Server) and WebSphere Application Server plug-in packages are installed on the remote host and at the correct level. 3. Ensure that the Web server you have installed is stopped. 4. Use the plug-in installer from the WebSphere Application Server product image or disc to create a plug-in generation script as follows: a. Launch the installation wizard for the plugin using the following command:
WebSphere_Application_Server_install_image_path/plugin/install
b. Clear the roadmap check box, then click Next. c. Read and accept the license agreement (if you agree with its terms), then click Next. d. If the prerequisite check is passedt, click Next; otherwise correct the prerequisites and restart the installation. e. Select the type of Web server you are configuring and click Next. f. Select Web server machine (remote), then click Next. g. Accept the default location for the plug-ins installation root directory then click Next. h. Browse for the configuration file of the Web server, then click Next. i. Specify a name for the Web server. WebSphere Application Server will use this name to manage the Web server. Click Next. j. Accept the default location for the plugin-cfg.xml file that is created on the Web server host, then click Next. k. Enter the host name or IP address of the system where the plug-in configuration script will run. This is the host machine for the deployment manager node. Click Next. l. Examine the summary information to ensure the specified settings are correct, then click Next. m. Click Next on the pre-installation summary window to start installation.
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
45
n. If the post-installation window shows that the installation was successful, click Next; otherwise, correct any problems and reinstall the plug-in. o. Close the installation roadmap and click Finish to exit the wizard. On UNIX or Linux systems, the plug-in script is the file plug-in_ installation_root/bin/configurewebserver_name.sh On Windows systems, the plug-in script is the file plug-in_ installation_root\bin\configurewebserver_name.bat where plug-in_ installation_root is the value specified in step g, and webserver_name is the value specified in step i. p. Restart the Web server. 5. To prevent script failure, you might need to compensate for file encoding differences. If the file encoding between the Web server host and the WebSphere Application Server host is different and the platforms are different (UNIX versus Windows), then you need to convert the plug-in configuration script as follows: a. On a UNIX platform, run the following command:
locale
Run these commands on both the Web server and the WebSphere Application Server systems. The results provide the web_server_machine_encoding and the application_server_machine_encoding, respectively. b. Before moving from a UNIX platform (where the Web server is located), run the following command:
iconv -f web_server_machine_encoding -t application_server_machine_encoding configurewebserver_name.bat
c. After moving from a Windows platform (where the Web server is located), run the following command:
iconv -f web_server_machine_encoding -t application_server_machine_encoding configurewebserver_name.sh
6. Configure the Web server plug-in to the WebSphere Application Server. Following is an example of how to do this using Linux or UNIX: a. Copy the Web server configuration file to the WebSphere Application Server installation directory. If you use ftp, ensure that you set binary mode first. Following is an example using the ftp copy (cp) command:
cp /opt/IBM/HTTPServer/Plugins/bin/configurewebserver_name.sh /opt/IBM/WebSphere/AppServer/bin/configurewebserver_name.sh
Note: If the Web server host and WebSphere Application Server host support different operating systems (Unix-based and Windows-based), then the script that is copied will be in the crossplatforms directory. For example: opt/IBM/HTTPServer/Plugins/bin/crossPlatformScripts/ configurewebserver_name.bat b. Change to the WebSphere Application Server install directory. For example:
cd /opt/IBM/WebSphere/AppServer/bin
46
Auditing Guide
d. Connect to the WebSphere Application Server Deployment Manager administrative console. Select Servers-> Web servers-> webserver_name-> Remote Web server management. e. Enter the information in each field and click OK. Port Specifies the HTTP Server administration server port number (default is 8008).
Use SSL Select this option if the administration port is secured using SSL. User ID Specifies the administration user that was created during the installation of the Web server. Password Specifies the password of the administration user. Save the changes with Synchronize changes with Nodes selected. f. Enter Servers-> Web servers. g. Select the check box of the webserver_name server. Click Generate Plug-in to update the WebSphere Application Server plug-in. h. Select the check box of the webserver_name server. Click Propagate Plug-in to update the WebSphere Application Server plug-in.
Propagating the plug-in if the IBM HTTP Server is installed on a WebSphere Application Server node host
Follow these steps to propagate the plug-in if the IBM HTTP Server is installed on a WebSphere Application Server node host:
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
47
Propagating the plug-in if the IBM HTTP Server is installed on a remote host
Follow these steps if the IBM HTTP Server is installed remotely (outside of the cluster):
For example
cp /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/ machine1Cell01/nodes/machine1.tivlab.austin.ibm.com/servers/ webserver1/plugin-cfg.xml /opt/IBM/WebSphere/Plugins/config/ webserver1 cp /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/ machine2Cell01/nodes/machine2.tivlab.austin.ibm.com/servers/ webserver1/plugin-cfg.xml /opt/IBM/WebSphere/Plugins/config/ webserver1
3. Stop and restart the IBM HTTP Server and the HTTP administrative server. 4. Stop and restart the cluster.
48
Auditing Guide
Mapping the Common Audit Service server to the target servers: This topic describes how to map the Common Audit Service server to the target servers. About this task Follow these steps to map the Common Audit Service server to the correct target servers: Procedure 1. In the WebSphere Application Server Administrative Console, click Applications-> Enterprise Applications-> CommonAuditService-> Manage Modules. 2. Verify that the IBMCARSxmlstoreds-ejb and Common_Audit_Service modules are mapped to the cluster (or server) that was selected during configuration. 3. In the Clusters and Servers window, press and hold the Ctrl key while selecting the target cluster (or server) and the target Web server. 4. Select the check box for module Common_Audit_Service. 5. Click Apply. 6. Ensure that the correct cluster (or server) and Web server have been updated against the Web Module. 7. Click OK. 8. Save your changes. If Common Audit Service is operating in a WebSphere Application Server Network Deployment environment, select Synchronize changes with Nodes before saving the changes.
Verifying the configuration settings for the Common Audit Service application
Use the following procedures in the WebSphere Application Server Administrative Console to verify that the Common Audit Service application is configured correctly: v Determine that all modules are present: 1. Click Applications-> Enterprise Applications-> CommonAuditService-> Manage Modules. 2. Ensure that the IBMCARSxmlstoreds-ejb module exists, is of type EJB Module, and is deployed in the correctly named target (whether stand-alone or cluster). 3. Ensure that the Common Audit Service module exists, is of type Web Module, and is deployed in the correctly named target (whether stand-alone or cluster).
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
49
v Ensure that the Web module is configured: 1. Click Applications-> Enterprise Applications-> CommonAuditService-> Session Management. 2. In the Configuration window, verify that the following general properties have values: Enable cookies Should be checked. Allow overflow Should be checked. Maximum in-memory session count Should be set to 1000 sessions. Set timeout Should be selected and set for 30 minutes. 3. Click Applications-> Enterprise Applications-> CommonAuditService-> Context Root For Web Modules. 4. Verify the following settings in the table: Web Module=Common Audit Service URI=cars-webservice.war,WEB-INF/web.xml ContextRoot=CommonAuditService 5. Click Applications-> Enterprise Applications-> CommonAuditService-> JSP reload options for web modules. 6. Verify the following settings in the table: Web Module=Common Audit Service URI=cars-webservice.war, WEB-INF/ibm-web-ext.xmi JSP enabled class reloading=enabled JSP reload interval in seconds=10 7. Click Applications-> Enterprise Applications-> CommonAuditService-> Virtual hosts. 8. Verify the following settings in the table: Web Module=Common Audit Service Virtual host=default_host v Ensure that the EJB module is configured: 1. Click Applications-> Enterprise Applications-> CommonAuditService-> EJB JNDI names. 2. Verify the following settings in the table: EJB module=IBMCARSxmlstoreds-ejb EJB=XmlStore URI=IBMCARSxmlstoreds-ejb.jar,META-INF/ejb-jar.xml, Target Resource JNDI Target Resource JNDI Name=ejb/com/ibm/cars/xmlstore/xmlstoreds/ XmlStoreLocalHome 3. The next two steps apply only to cluster configurations: Click Applications-> Enterprise Applications-> CommonAuditService-> Stateful session bean failover settings 4. In the Configuration window, verify that the following general properties have values:
50
Auditing Guide
Enable stateful session bean failover using memory to memory replication Should be checked. Use replication settings from EJB container Should be enabled. v Ensure that the EJB references are configured: 1. Click Applications-> Enterprise Applications-> CommonAuditService-> EJB references. 2. Verify the following settings in the table: Module=Common Audit Service URI=cars-webservice.war,WEB-INF/web.xml Resource Reference=ejb/XmlStore Class=com.ibm.cars.xmlstore.xmlstoreds.XmlStoreLocal Target Resource JNDI Name=ejb/com/ibm/cars/xmlstore/xmlstoreds/ XmlStoreLocalHome
Verifying the configuration settings for the Common Audit Service data source
Use the following procedures in the WebSphere Application Server Administrative Console to verify that the data source used by the EJB component is configured correctly and can connect to the audit database. v Verify the JDBC provider: 1. Click Resources-> JDBC-> JDBC Providers. 2. Ensure the scope setting is set to All scopes. 3. Verify the following settings in the table: Name=Event_DB2Xml_JDBC_Provider Scope=expected_cluster_or_server_scope Description=DB2 Universal JDBC Driver Provider (XA) for the Common Event Infrastructure 4. Click Resources-> JDBC-> JDBC Providers-> Event_DB2Xml_JDBC_Provider 5. In the Configuration window, verify the following setting: Implementation class name=com.ibm.db2.jcc.DB2XADataSource v Verify the data source: 1. Click Resources-> Data sources. 2. Ensure that the scope is set to the cluster or server where Common Audit Service is deployed. 3. Verify the following settings in the table: Name=eventxml JNDI name=jdbc/eventxml Scope=scope_selected_in_step_2 Provider=Event_DB2Xml_JDBC_Provider Description=JDBC Datasource for EVENTXML database 4. Check the check box of the entry verified in step 3. 5. Click Test connection. The following message should be displayed for a cluster configuration: The test connection for data source eventxml on server nodeagent at node first_node_in_cluster was successful.
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
51
The following message should be displayed for a stand-alone server configuration: The test connection for data source eventxml on server server_name at node node_name was successful.
Verifying the configuration settings for the Common Audit Service data store
Use the following command line procedures to verify that the correct data store is set up for use by Common Audit Service. v Verify the audit database schema: On UNIX or Linux systems, from the command line enter:
. ~db2_instance_name/.profile db2 connect to audit_database_name user db2_admin_name using db2_admin_password db2 "select * from cei_t_properties where property_name like Schema%"
v Verify that the common base event type is used: On UNIX or Linux systems, from the command line enter:
. ~db2_instance_name/.profile db2 connect to audit_database_name user db2_admin_name using db2_admin_password db2 "select * from cei_t_properties where property_name like Cbe%"
Verifying the configuration settings for the Common Audit Service webservice component
Use the following procedures in the WebSphere Application Server Administrative Console to verify that the webservice component named Common Audit Service is running correctly: v Determine that the Web application is running: 1. Enter Applications-> EnterpriseApplications. 2. Verify that the application with name CommonAuditService is present and that the Application Status is running (indicated by the green right arrow). v Determine the webservice port: Enter Servers-> Application servers-> server_name-> Ports. The default host port is named WC_defaulthost with an installed default value of 9080. The secure host port is WC_defaulthost_secure with installed default value of 9443. Values are assigned automatically during profile creation and can differ from these default values in order to avoid conflict. Multiple servers in a cluster can each have different port allocations. If no SSL configuration is allocated, then point the browser at the webservice to test the webservice port:
52
Auditing Guide
If an SSL configuration is allocated to the Common Audit Service server at the cluster scope, or at the node scope, then do the following steps to test the webservice port: 1. Obtain a security certificate: a. Enter Security-> SSL certificate and key management-> SSL configurations-> ssl_configuration_name. b. Determine the keystore name and default server certificate alias values that you want to use. c. Enter Security-> SSL certificate and key management-> SSL configurations-> ssl_configuration_name-> Key stores and certificates-> keystore_name-> Personal certificates. d. Select the entry with the alias that matches the default server certificate alias from the Personal certificates table. e. Click Extract certificate to display the general properties of the certificate. f. Enter a directory path and filename for the certificate file name. g. Click OK to extract the certificate from the keystore. Note that this step extracts the certificate only, it does not extract the private key belonging to the certificate. 2. Import the server certificate to a Web browser. The steps for this procedure depend on the browser. The following steps are for the Firefox browser: a. If the browser host is different than the current host, copy the certificate file obtained in step 1 to the browser host. b. Select Edit-> Preferences-> Advanced-> Security. c. d. e. f. Click View Certificates. Select the Web Sites tab to view the list of site certificates. Click Import. Navigate to the certificate file obtained in Step a, or from Step 1 under Obtain a security certificate.
g. Click Open. The certificate should appear in the list of certificates that is displayed. h. Click OK. i. Click Close to exit. 3. Point the browser at the webservice to test the webservice port: URL: https://host_name.WC_defaulthost_secure_port_number/ CommonAuditService/services/Emitter The browser window should display:
{urn:ibm:cars:10}Emitter Hi there, this is a Web service!
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
53
Procedure
1. Linux only: See Setting up to run the Java stored procedures on Linux. 2. All platforms: See Setting the jdk_path parameter on page 55. 3. All platforms: Run the ibmcarsddinst script. See Running ibmcarsddinst to deploy the Java stored procedure on page 55. 4. All platforms: Verify that the deployment of the Java stored procedure was successful. See Verifying the deployment of the IBMCARS_EVENT_DETAIL Java stored procedure on page 57.
54
Auditing Guide
does this loading runs with setuid privileges, it will only look for the dependent libraries in the /usr/lib directory. Note that you must make the symbolic links on the machine running the DB2 server. Run the following commands to create symbolic links in the /usr/lib directory:
cd ln ln ln ln ln ln ln ln /usr/lib -s JAVA_HOME/AppServer/java/jre/bin/libjava.so . -s JAVA_HOME/AppServer/java/jre/bin/classic/libjvm.so . -s JAVA_HOME/AppServer/java/jre/bin/libhpi.so . -s JAVA_HOME/AppServer/java/jre/bin/libjsig.so . -s JAVA_HOME/AppServer/java/jre/bin/libdbgmalloc.so . -s JAVA_HOME/AppServer/java/jre/bin/libjitc.so . -s JAVA_HOME/AppServer/java/jre/bin/libzip.so . -s JAVA_HOME/AppServer/java/jre/bin/libxhpi.so .
where JAV A_HOME is WAS_HOME/AppServer/java and WAS_HOME is the installation directory for the WebSphere Application Server. Note: In a network deployment environment where WebSphere Application Server is not installed on the DB2 server host, specify the base directory of Java 1.5 or later, instead of specifying WAS_HOME/AppServer.
Procedure
1. Verify the existing jdk_path using the following command in a DB2 command-line window:
db2 get dbm cfg
Look for jdk_path in the configuration file to see the current jdk_path setting. 2. Set the jdk_path parameter using the following db2 configuration command:
db2 update dbm cfg using JDK_PATH java_installation_path
where java_installation_path is the location of Java. Refer to the IBM DB2 Command Reference for more information.
55
Syntax
For Linux and UNIX ibmcarsddinst.sh -u user -p password [-a database_alias] [-d directory] For Windows ibmcarsddinst.bat -u user -p password [-a database_alias] [-d directory]
Parameters
-u user Specifies the database user name. -p password Specifies the password associated with the database user name. [-a database_alias] Specifies the database alias. The default value is EVENTXML. [-d directory] Specifies the location of the JAR file containing the Java stored procedure. You must specify the full path and not the relative path. The default value is the current directory.
Sample
Following is an example of how to run the file on a Windows system:
ibmcarsddinst.bat -u joe -p secret1pw -d CARS_HOME/server/lib
Notes
On a Windows system, run the db2cmd command to start a DB2 shell. In this shell, run the ibmcarsddinst.bat script. In addition to printing informational messages, the deployments set the ERRORLEVEL variable to 0 for success and non-zero values for failures or warnings. On Linux and UNIX systems, running the ibmcarsddinst.sh script returns a status code of 0 for success and non-zero for failures and warnings.
Procedure
1. Enter the following SQL commands from the command line:
db2 connect to eventxml user user using password db2 "call IBMCARS_DD_REPORT(record_id, format)"
56
Auditing Guide
where record_id is the record identifier of the event whose details are required. If the specified record_id exists in the event store, the record_id and the associated event details are returned in XML format. If the Java stored procedure is not deployed correctly, then the following error is returned:
SQL0440N. No authorized routine named "IBMCARS_DD_REPORT" of type "PROCEDURE" having compatible arguments was found.
Procedure
1. Enter the following SQL commands from the command line:
db2 connect to eventxml user user using password db2 "call IBMCARS_EVENT_DETAIL(record_id, format)"
record_id Specifies the record identifier of the event whose details are required. format Specifies the type of output format: v Specify "map" to display the security event details as name-value pairs. v Specify "xml" to set off special formatting of the data. This is the equivalent of calling the IBMCARS_DD_REPORT Java stored procedure. If the specified record_id exists in the event store, the record_id and the associated event details are returned. If the Java stored procedure is not deployed correctly, the following error is returned:
SQL0440N. No authorized routine named "IBMCARS_EVENT_DETAIL" of type "PROCEDURE" having compatible arguments was found.
Upgrading the Common Audit Service audit server from earlier versions
This topic describes the considerations and procedures for configuring the Common Audit Service Version 6.1 audit server to use an existing copy of the audit server database. Refer to Chapter 25, Problem determination, on page 345 for information on troubleshooting problems with the upgrade procedures.
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
57
Upgrade goals
The main goals of the upgrade procedure are as follows: v Preserve the data in the existing audit database by retaining the original DB2 database during the upgrade. v Ensure the integrity of the audit data that is present in the original audit database by backing up the audit data on the file system of the database server. v Provide a common procedure for upgrading earlier versions of Common Audit Service to version 6.1. v Prevent accidental removal of the audit database if you choose to uninstall earlier versions of Common Audit Service. v Allow existing Common Audit Service client applications to switch to the new server in a phased manner by allowing both the old and new Common Audit Service audit server to write to the database. The goals listed above are achieved by leveraging the following features in Common Audit Service Version 6.1: v Common Audit Service Version 6.1 allows the audit server to be installed on the same host (physical machine) that has an earlier installation. The new version and the earlier versions of the audit server are installed in different locations (file paths). v The configuration utility of Common Audit Service Version 6.1 allows you to configure the audit server to use an existing database. v Common Audit Service Version 6.1 ships duplicate copies of the ConfigurRm.bat script on Windows platforms, and the ConfigureRm.sh script on Linux and UNIX platforms. When these scripts are replaced with copies of corresponding scripts from an earlier installation of the product at was60_profile_path\event\ dbscripts\db2xml on Windows platforms, and at was60_profile_path/event/ dbscripts/db2xml on UNIX and Linux platforms, a previous installation of the product can be uninstalled without dropping the associated XMLSTORE database, thereby preventing an accidental removal of the XML data store.
58
Auditing Guide
2. Create a backup directory using the following example command: For Linux and UNIX systems:
mkdir /export/eventxml_bkup
Note: On Windows platforms only, do not create a backup directory that has one or more blank spaces in the file path. The DB2 database backup command fails to back up databases to locations that have blank space characters in the file path. 3. Modify the permissions on the backup directory to ensure that the DB2 instance owner user can write to it: For Linux and UNIX systems:
chmod a+w /export/eventxml_bkup
4. Perform a full backup of the database to the newly created backup directory using following example command: For Linux and UNIX systems:
db2 backup database eventxml user db2inst1 using password to /export/eventxml_backup with 2 buffers buffer 512 parallelism 2
v Ensure that all prerequisite software is installed on the system before installing the product. The required software is listed in the Release Notes for the product that is using Common Audit Service. v Ensure that all conditions are met that are described in Pre-installation checklist for all platforms on page 29. v If you are upgrading from Common Audit Service Version 6.0 or version 6.0.1 and it is deployed in a WebSphere Application Server Version 6.0 or version 6.0.1 cluster, set up the IBM HTTP Server Version 6.1 (using the WebSphere
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
59
Application Server Version 6.1) to use a different port than port 80. Specifying a different port allows both the existing cluster and the new cluster to be used simultaneously.
Installing Common Audit Service Version 6.1 when upgrading to use an existing database
Follow the procedure described in Interactive installation on page 30 to install Common Audit Service interactively, or follow the procedure described in Silent installation on page 34 to install Common Audit Service silently in console mode using a response file. Note: Ensure that you install Common Audit Service at a location that is different than the location where the existing earlier version of Common Audit Service is installed. After completing the installation, restart the target WebSphere Application Server process (Deployment Manager or stand-alone single server).
Configuring Common Audit Service Version 6.1 to use an existing audit database
Follow the procedure that is described below to configure Common Audit Service Version 6.1 to use an existing XML data store (XMLSTORE database) that is being used by an older version of Common Audit Service. 1. Log into the administrative console of the WebSphere Application Server in which you have installed the Common Audit Service Server feature of Common Audit Service Version 6.1. 2. Select Common Audit Service-> Tasks -> Audit Service Configuration from the left-hand pane of the window to start the configuration wizard for Common Audit Service. 3. Click Next in the Welcome window to continue. 4. The Welcome dialog is displayed, indicating that Common Audit Service must be configured before the application can be used. Click Next to continue. 5. In the Audit Service Management Endpoint window, enter the host name and SOAP port number of the target WebSphere Application Server process (Deployment Manager or stand-alone single server) where Common Audit Service. Click Next to continue. 6. If administrative security is set ON in the target WebSphere Application Server process, enter the WebSphere administrator user name and password in the Audit Service Management Authentication window. 7. In the Configuration target window, select the configuration target. 8. In the Audit Database configuration window, enter the following information:
60
Auditing Guide
Database Instance Owner ID Specify the name of the user who is the instance owner of the DB2 instance where the existing target XML data store (XMLSTORE database) is located. Database Instance Owner Password Specify the password of the user who is the instance owner of the DB2 instance on which the target lower-version existing XMLSTORE database is located. Database Instance Profile Path If the target DB2 server is locally installed, specify the file path of the db2profile executable file that is associated with the DB2 instance on which the existing lower-version XMLSTORE database is located. If the target DB2 server is remotely installed, specify the file path of the db2profile executable file that is associated with the DB2 Administration client instance that has cataloged the target remote DB2 server instance on which the target XMLSTORE database is located. On Windows platforms, you might not have to create a DB2 client instance to catalog the remote DB2 server instance. If this is the case, specify the installation root location of the underlying DB2 client in this field. Audit Database Name Specify the name of the existing lower-versioned target XMLSTORE database to be upgraded to version 6.1. Remote Database Node Name Specify a value only if the target XMLSTORE database is located on a remote DB2 server. If the XMLSTORE database is local, leave this field is blank. This field specifies the cataloged node name of the remote DB2 server instance that is hosting the target XMLSTORE database, as it appears in the local DB2 Administration client. 9. In the Create JDBC Connector window, enter the following information: Database Server Host Name Specify the DNS host name of the DB2 server that is hosting the target lower-versioned XMLSTORE database. Database Server TCP Service Port Specify the TCP/IP port on which target DB2 server instance is listening for connection requests. JDBC Driver path Specify the path to the location of the system that contains DB2 type-4 JDBC driver JAR files (db2jcc.jar and db2jcc_license_cu.jar). Usually these library JAR files are present at DB2_INSTALL_ROOT/java on UNIX and Linux platforms, and at DB2_INSTALL_ROOT\java on Windows systems. 10. Click Next in the Configuration summary window to start the configuration of Common Audit Service Version 6.1 to use the existing version of the XMLSTORE database. After the configuration wizard completes, ensure that the status is SUCCESS for all server components that are displayed in the status window. A status of SUCCESS for all server components indicates that you have successfully configured Common Audit Service Version 6.1 to use the existing lower version of the XMLSTORE database. Additionally, the target lower-versioned XMLSTORE database has been upgraded to version 6.1. Immediately after
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
61
finishing the above procedure, follow the post-upgrade steps described in Post-upgrade steps: remove the old script, configure the clients to use the new port, uninstall the old version of the audit server to cause clients that use the older version of Common Audit Service to start sending events to Common Audit Service Version 6.1, and to ensure that the upgraded existing XMLSTORE database is not accidentally dropped during uninstallation of the older version of Common Audit Service.
Post-upgrade steps: remove the old script, configure the clients to use the new port, uninstall the old version of the audit server
After you have successfully completed the procedures that enable the Common Audit Service Version 6.1 audit server to use the existing, older-version XMLSTORE database, follow the procedures that are described below to prevent an unintended loss of data, to enable your application clients to begin sending events over the new audit server port, and to uninstall the old version of Common Audit Service. 1. Replace the database removal script of the earlier lower version of Common Audit Service with the identically named script that is shipped with Common Audit Service Version 6.1. Note: If you are in a WebSphere Application Server Network Deployment environment during the upgrade of Common Audit Service, perform this step only on the Deployment Manager. For Linux and UNIX systems, replace the old dbConfigureRm.sh script that is in the following directory:
was60_profile_path/event/dbscripts/eventxml
For Windows systems, replace the old dbConfigureRm.bat script that is in the following directory:
was60_profile_path\event\dbscripts\eventxml
2. Perform the following steps before you start the procedure to uninstall the earlier lower-level version of Common Audit Service. v If the Common Audit Service audit server was upgraded in a stand-alone server environment, perform the following steps: a. Log in to the WebSphere Application Server Administrative Console. b. Select Application Servers-> server1-> ports. c. Identify the application port, which is the WC_defaulthost entry in the table. d. Stop and restart all versions (old and new) of the Common Audit Service audit server. e. Reconfigure one or more Common Audit Service client applications to send audit events to the new application port. The old and new versions of the Common Audit Service audit server will continue writing to the database until all of the clients are configured to use only the new application port and the new server.
62
Auditing Guide
v If the Common Audit Service audit server was upgraded in a clustered environment, the clients typically communicate with an HTTP server; therefore, changing the configuration on the client application should not be necessary. a. Stop all versions of Common Audit Service audit servers. It is important that you stop the old and new servers. b. Stop both the old and new clusters of the WebSphere Application Servers that are being used by the old and new versions of the Common Audit Service audit server. This will automatically stop the audit servers on both of the clusters. c. Stop the IBM HTTP Server Version 6.1 that is configured for use with the WebSphere Application Server 6.1 cluster, and stop and IBM HTTP Server Version 6.0 that is configured for use with the WebSphere Application Server 6.0 cluster. d. Reconfigure the IBM HTTP Server Version 6.1 that is configured to be used as a load-balancer for the WebSphere Application Server 6.1 cluster to listen on port 80, then restart the same HTTP server. The Common Audit Service Version 6.1 audit server should now be the audit server that stores events in the audit database. 3. Uninstall the older version of Common Audit Service using the uninstallation instructions that are provided in the Auditing Guide that is supplied with the exploiting product. After you successfully complete the above procedures, the upgrade to Common Audit Service Version 6.1 is finished.
Chapter 5. Installing, configuring, and upgrading the Common Audit Service audit server
63
64
Auditing Guide
where: CARS_HOME Specifies the installation directory of the Common Audit Service server. By default, the location is /opt/IBM/Tivoli/CommonAuditService directory. DB2_HOME Specifies the installation directory of the DB2 server. DB2INSTANCE_OWNER Specifies the home directory of the DB2 instance owner. On Windows systems, set the CLASSPATH variable as:
CARS_HOME\server\etc; CARS_HOME\server\lib\ibmcars.jar; DB2_HOME\java\db2jcc.jar; DB2_HOME\java\db2jcc_license_cu.jar; DB2_HOME\java\db2java.zip; DB2_HOME\function;
where:
65
CARS_HOME Specifies the installation location of the Common Audit Service server. The default location is C:\Program Files\IBM\Tivoli\CommonAuditService. DB2_HOME Specifies the installation directory of the DB2 server. The default location is C:\Program Files\IBM\SQLLIB. Using the default installation directories, you could set the CLASSPATH variable by entering the following command on a single line:
set CLASSPATH= c:\progra~1\ibm\Tivoli\CommonAuditService\server\etc; c:\progra~1\ibm\Tivoli\CommonAuditService\server\lib\ibmcars.jar; c:\progra~1\ibm\sqllib\java\db2jcc.jar; c:\progra~1\ibm\sqllib\java\db2jcc_license_cu.jar; c:\progra~1\ibm\sqllib\java\db2java.zip; c:\progra~1\ibm\sqllib\function; %CLASSPATH%;
Syntax
Use the following command syntax to run the staging utility. java com.ibm.cars.staging.Staging -mode historical -starttime value -endtime value java com.ibm.cars.staging.Staging -mode incremental java com.ibm.cars.staging.Staging -mode prune -prunetime value
Parameters
You can specify the parameters shown in the syntax above and also the following optional parameters on the command line or in the ibmcars.properties file. For a description of each parameter, see Configuration parameters for the staging utility and XML data store utilities on page 72. v -configurl value v -dbhostname value v -dbport value v v v v v -dbname value -dbusername value -dbpassword value -batchsize value -numworkers value
v -progress value v -help If you do not set a specific parameter and value in the command, the utility searches for the parameter and value in the ibmcars.properties file. The parameter values that you specify on the command line override any parameter values that are specified in the ibmcars.properties file.
66
Auditing Guide
Historical mode
When you use historical mode, all events in a specified time range are staged. For this mode you must specify the start and end time for the staging utility. The following example shows running historical staging beginning on January 1, 2007 at 10:00 PM through October 6, 2007 at 10:00 PM:
java com.ibm.cars.staging.Staging -mode historical -starttime "Jan 1, 2007 10:00:00 PM GMT" -endtime "Oct 6, 2007 10:00:00 PM GMT"
Incremental mode
When you use incremental mode, all new events since the last incremental staging are staged. If incremental staging has never run, all events are staged. The following example shows running incremental staging:
java com.ibm.cars.staging.Staging -mode incremental
Prune mode
When you use prune mode, all events older than the specified time are deleted (pruned) from the staging tables. For this mode you must specify the time and date for which all prior events are pruned. The following example deletes events from the staging tables that are older than October 6, 2006 at 12:00 AM:
java com.ibm.cars.staging.Staging -mode prune -prunetime "Oct 6, 2006 12:00:00 AM GMT"
Note: Run only one staging utility instance at a time; otherwise, the operation (in the case of incremental and historical staging) will very likely fail. If you need more parallelism, increase the number of workers instead of running another instance of the staging utility.
Return codes
In the event of a fatal error during the staging process, the staging utility halts execution. An error can have any number of causes, such as a full database transaction log or full disk space. The recommended procedure is to correct the situation that caused the error and rerun the staging utility. The return code of the staging utility is 0 on success (the staging utility has completed its work or the -help parameter was specified), and 1 on error (the staging utility has not completed its work).
Notes
v Make a note of the first and last timestamp because you will need this information when you want to prune the report tables. When you run the XMLStoreUtils program for the first time, you get an exception because there is no data to archive.
Chapter 6. Running the server utilities
67
v The settings for the XML data store utility parameters are determined in the following order: 1. Check the XML data store utility settings specified on the command line. 2. Check the settings in the ibmcars.properties file. 3. Check the default settings in the code.
Syntax
Use the following command syntax for each of the XML data store utilities: java com.ibm.cars.xmlstoreutils.XmlStoreUtils -operation prearchive java com.ibm.cars.xmlstoreutils.XmlStoreUtils -operation postarchive [-mode force] [-copydir value] java com.ibm.cars.xmlstoreutils.XmlStoreUtils -operation cleanrestore [-mode force]
Parameters
The following parameters can also be specified on the command line or in the ibmcars.properties file. For a description of each parameter, see Configuration parameters for the staging utility and XML data store utilities on page 72. v -configurl value v -dbhostname value v -dbport value v -dbname value v -dbusername value v v v v -dbpassword value -dbbackup value -copydir value -help
If you do not set a specific parameter and value in the command, the utility searches for the parameter and value in the ibmcars.properties file. The parameter values that you specify on the command line override any parameter values that are specified in the ibmcars.properties file.
Prearchive operation
Use the prearchive operation prior to archiving data from the XML data store tables. The prearchive operation prints out the data needed for archiving, such as: v The names of the XML data store tables to archive. v The first date contained in the tables to be archived. For example: Jan 1, 2006 5:30:00 AM v The last date contained in the tables to be archived. For example: Jan 2, 2006 3:42:03 PM
Postarchive operation
After you finish archiving XML data store tables, use the postarchive operation to remove the data from the inactive XML data store tables. The postarchive
68
Auditing Guide
operation prompts for confirmation to purge the data from the XML data store tables. For silent mode operation, specify mode force, which forces the postarchive operation without a confirmation prompt. Postarchive performs the following actions: v Purges the data from the target XML data store tables. v Updates the cei_t_properties table with the current active bucket number, wherein the value is swapped from 0 to 1, and vice and versa. The audits that are purged from the XML audit store tables are not available for drill-down reporting. Prior to running the postarchive operation, use the staging utility prune operation to remove the report table data for audits ranging within the begin date and the end date as provided by the prearchive operation. See Running the staging utility command on page 66.
Samples
The following command provides help information for the XML data store utility:
java com.ibm.cars.xmlstoreutils.XmlStoreUtils -help
The following command performs the postarchive operation and bypasses the prompts. If the database server has archive logging configured, the XML data store utility backs up the data to the C:\foo directory. If the database server has circular logging enabled, the XML data store utility ignores the copydir parameter and backs up the data to the C:\foo directory.
java com.ibm.cars.xmlstoreutils.XmlStoreUtils -operation postarchive -mode force copydir C:\\foo
The following command performs the cleanrestore tables operation and bypasses the prompts:
java com.ibm.cars.xmlstoreutils.XmlStoreUtils -operation cleanrestore -mode force
69
Sample
Following is a sample ibmcars.properties file:
# # # # # # # # # # # # Licensed Materials - Property of IBM 5748-XX8 (c) Copyright International Business Machines Corp. 2004 All Rights Reserved US Government Users Restricted Rights - Use, duplicaion or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. This file contains configuration properties for the CARS Staging and XML store utilities. The format is "property=value" on a single line. A line or a portion of a line beginning with "#" is ignored (comment) General configuration properties
######
# util.eventBatchSize denotes the number of events that the staging # utility should process in a single batch, for both staging and pruning # operations. The default is 1000; this should be fine for most situations. # A value too low will increase the number of transactions, potentially # reducing performance; a value too high might result in an overflow of the # DB2 transaction log. # This option can be specified on the command line with "-batchsize" util.eventBatchSize=100 # util.db.hostname denotes the database server host name that the utility will # use to connect to the database. The default is localhost. # This option can be specified on the command line with "-dbhostname". #util.db.hostname=<hostname> # util.db.port specifies the port number on which the DB2 database instance # is listening. # This option can be specified on the command line with "-dbport". #util.db.port=50000 # util.db.name denotes the name of the event database. The default # value is "eventxml". # This option can be specified on the command line with "-dbname". #util.db.name=eventxml # util.db.user denotes the user name that the utility will # use to connect to the database. This user needs to be the owner of the # database instance where the event database resides.There is no default # for this option. # This option can be specified on the command line with "-dbusername". #util.db.user=<username> # util.db.passwd denotes the password for the database user name # specified under "util.db.user". There is no default for this option. # This option can be specified on the command line with "-dbpassword". #util.db.passwd=<password> # util.startTime denotes the start time for the historical staging # interval. Acceptable timestamps are valid time specifiers in the current # locale; for example "Jan 1, 2004 10:00:00 PM GMT" for US English. If the # specified time cannot be parsed, the staging utility will suggest the # proper format. A value is required when the execution mode is historical # staging; the property is ignored otherwise. There is no default # for this property. # This option can be specified on the command line with "-starttime". #util.startTime=Jan 1, 2004 10:00:00 PM GMT # util.endTime denotes the end time for the historical staging
70
Auditing Guide
# interval. Acceptable timestamps are valid time specifiers in the current # locale; for example "Jan 1, 2007 10:00:00 PM GMT" for US English. If the # specified time cannot be parsed, the staging utility will suggest the # proper format. A value is required when the execution mode is historical # staging; the property is ignored otherwise. There is no default # for this property. # This option can be specified on the command line with "-endtime". #util.endTime=Jan 1, 2007 10:00:00 PM GMT # util.pruneTime denotes the prune threshold time for event # pruning. Events older than this time will be removed from the staging # database. Acceptable timestamps are valid time specifiers in the current # locale; for example "Jan 1, 2007 10:00:00 PM GMT" for US English. If the # specified time cannot be parsed, the staging utility will suggest the # proper format. A value is required when the execution mode is pruning; # the property is ignored otherwise. There is no default for this # property. # This option can be specified on the command line with "-prunetime". #util.pruneTime=Jan 1, 2007 10:00:00 PM GMT # util.numworkers denotes the number of threads that the staging # utility will use to perform work in parallel. This value must be an integer # and it must be at least 1. The default value is 1. For best performance, # use a value one greater than the number of CPUs in the machine (e.g., on # a machine with four CPUs, specify five workers). A value too low might # results in suboptimal use of the available CPUs, while a value too high # might result in high context switching overhead. # This option can be specified on the command line with "-numworkers". util.numworkers=1 # util.progress controls whether, and how often, the staging # utility reports progress on the console (standard output). If a value of # N greater than 0 is specified, the staging utility will report progress # whenever at least N events have been processed since the last progress # report. Note that progress reports might be less frequent than every N # events; for example, if the event batch size parameter is larger than N, # progress will be reported roughly after every batch. If the value of the # progress parameter is 0, progress will not be reported (this is the # default behaviour). # This option can be specified on the command line with "-progress". util.progress=0 # util.DriverClassName is used by XmlStoreUtils in forming the url string to # be used to connect to the database. util.DriverClassName=com.ibm.db2.jcc.DB2Driver # util.DriverType is used by XmlStoreUtils in forming the url string to # be used to connect to the database. util.DriverType=jdbc:db2: # util.db.backup will be used by the post archive utility. # Consult your database Administrator to determine your database logging # and backup configuration settings. # # options - circular, archive # circular - database circular logging is enabled - default # archive - database archive logging is enabled - the copydir parameter is # required using this option # util.db.backup=<archive|circular> util.db.backup=circular # # # # # # util.db.copydir will be used by the post archive utility to decide if the utility needs to back up the data of the inactive table at the specified location before purging the data. This is optional. This can also be given as a command line argument. For example, On Unix set "util.db.copydir=/opt/test"
Chapter 6. Running the server utilities
71
# On Windows set "util.db.copydir=c:\\test" #util.db.copydir=<path> # util.WasHome points to the WebSphere AppServer path. # WasHome is used by the XmlStoreUtils to locate CEI scripts # for managing buckets. # for example, # On Unix set "util.WasHome=/opt/IBM/WebSphere/AppServer" # On Windows set "util.WasHome=C:\\Program Files\\WebSphere\\AppServer" #util.WasHome=<path> ####### Tracing and Logging properties # See the general documentation for configuring CARS JLog for details # on the properties below baseGroup.CBAStagUtilTraceLogger.isLogging=false baseGroup.CBAStagUtilTraceFileHandler.fileName=trace__StagUtil.log baseGroup.CBAStagUtilMessageFileHandler.fileName=msg__StagUtil.log baseGroup.CBAStagUtilMessageAllMaskFilter.parent=CBAMessageAllMaskFilter baseGroup.CBAStagUtilMessageFileHandler.parent=CBAMessageFileHandler baseGroup.CBAStagUtilTraceFileHandler.parent=CBATraceFileHandler baseGroup.CBAStagUtilTraceLogger.parent=CBATraceLogger baseGroup.CBAStagUtilTraceLogger.name=CBAStagUtilTraceLogger baseGroup.CBAStagUtilTraceLogger.description=Common StagUtil Trace Logger baseGroup.CBAStagUtilTraceLogger.component=StagUtil baseGroup.CBAStagUtilTraceLogger.handlerNames=CBAStagUtilTraceFileHandler baseGroup.CBAStagUtilTraceLogger.filterNames=CBAStagUtilTraceAllMaskFilter CBATraceClassFilter baseGroup.CBAStagUtilMessageLogger.parent=CBAMessageLogger baseGroup.CBAStagUtilMessageLogger.name=CBAStagUtilMessageLogger baseGroup.CBAStagUtilMessageLogger.isLogging=true baseGroup.CBAStagUtilMessageLogger.description="Common StagUtil Message Logger" baseGroup.CBAStagUtilMessageLogger.component=StagUtil baseGroup.CBAStagUtilMessageLogger.handlerNames=CBAStagUtilMessageFileHandler baseGroup.CBAStagUtilMessageLogger.filterNames=CBAStagUtilMessageAllMaskFilter CBAMessageClassFilter baseGroup.CBAStagUtilTraceAllMaskFilter.parent=CBATraceAllMaskFilter baseGroup.CBAStagUtilTraceAllMaskFilter.mask=9 baseGroup.CBAStagUtilMessageAllMaskFilter.mask=FATAL | ERROR | WARNING | NOTICE | NOTICE_VERBOSE baseGroup.CBAStagUtilTraceClassFilter.description="Common StagUtil Trace Class Filter" baseGroup.CBAStagUtilTraceClassFilter.className=com.ibm.cars.ras.csjlog. CSClassFilter baseGroup.CBAStagUtilMessageClassFilter.description=Common Audit Service Class Filter baseGroup.CBAStagUtilMessageClassFilter.className=com.ibm.cars.ras.csjlog. CSClassFilter baseGroup.CBAStagUtilTraceFileHandler.description=Common StagUtil Trace File Handler
Configuration parameters for the staging utility and XML data store utilities
For the staging utility and XML data store utilities, you can specify the parameters on the command line or set them in the ibmcars.properties file.
72
Auditing Guide
The following list shows each parameter, how you can specify it (in the command line or in the configuration file, or both), and the accepted values. Configuration file URL Specifies the location of Common Audit Service configuration file. Command (staging and XML data store) -configurl value Configuration Not used. Value Valid location. The default is CARS_HOME/Server/etc/ ibmcars.properties, where CARS_HOME is the installation directory of the Common Audit Service. DB backup Specifies the database logging and backup configuration settings. By default this parameter is set to circular. Consult your database administrator to determine the value for this parameter. Command (XML data store) dbbackup value Configuration util.db.backup=value Value circular or archive Copy directory Specifies the path to a directory to be used for the files generated by the load utility. This parameter is required only if you have enabled forward recovery for the eventxml database (XML data store) with the LOGRETAIN or USEREXIT database configuration settings enabled. By default, the eventxml database does not use forward recovery. Refer to the DB2 documentation for further details on how to enable the eventxml database for roll forward recovery. Command (XML data store) -copydir value Configuration util.db.copydir=value Value Valid directory. Linux or UNIX util.db.copydir=/opt/test Windows util.db.copydir=c:\\test Database instance owner ID Denotes the user name that the utility will use to connect to the database. This user needs to be the owner of the database instance where the XML data store resides. Command (staging and XML data store) -dbusername value Configuration util.db.user=value Value Valid user name. Database host name Denotes the database server host name where DB2 is running. Command (staging and XML data store) -dbhostname value Configuration util.db.hostname=value Value Valid host name or IP address. The default is localhost.
Chapter 6. Running the server utilities
73
Database instance owner password Denotes the password for the database user name specified under util.db.user or -dbusername. Command (staging and XML data store) -dbpassword value Configuration util.db.passwd=value Value Correct password for the specified user. Database name Denotes the name of the audit database. Command (staging and XML data store) -dbname value Configuration util.db.name=value Value Valid database name. The default is eventxml. Database port number Specifies the port number on which the DB2 instance is listening. This should be the main connection port configured on the DB2 server. Command (staging and XML data store) -dbport value Configuration util.db.port=value Value Integer. The default is 50000. Driver class name Specifies the driver class name and is used by the XML data store utility in forming the URL string to be used to connect to the database. Command Not used. Configuration util.DriverClassName=value Value Valid driver class name. For example:
util.DriverClassName=com.ibm.db2.jcc.DB2Driver
Driver type Specifies the driver type and is used by the XML data store utility in forming the URL string to be used to connect to the database. Command Not used. Configuration util.DriverType=value Value Valid driver type. For example:
util.DriverType=jdbc:db2:
End time Specifies the end time when the staging utility is launched in historical mode. Usually used when reporting or archiving data. Command (staging) -endtime value Configuration util.endTime=value Value Valid timestamp in the following format: mmm dd, yyyy hh:mm:ss am_or_pm GMT For example: Jan 12, 2007 10:00:00 PM GMT
74
Auditing Guide
Event batch size Denotes the number of security events that the staging utility should process in a single batch, for both staging and pruning operations. Command (staging) -batchsize value Configuration util.eventBatchSize=value Value Positive integer. The default is 100. Help Provides usage information for the utilities. Command (staging and XML data store) -help Configuration Not used. Value None.
Logging flag Specifies if logging is turned on. Command Not used. Configuration baseGroup.CBAStagingUtilMessageLogger.isLogging=value Value Possible values are: v true v false The default is true. Message file name Name of the message file. Command Not used. Configuration baseGroup.CBAStagUtilMessageFileHandler.fileName=value Value Valid file name. The default is msg__StagUtil.log. Number of workers Denotes the number of threads that the staging utility will use to perform work in parallel. The recommended value for best performance is the number of CPUs of the machine containing the database, plus one. Command (staging) -numworkers value Configuration util.numworkers=value Value Positive integer. The default is 1. Operation type Determine which type of operation to perform for the XML data store utilities: Pre-archive Use prior to archiving data from the XML data store tables. The prearchive operation prints out the data needed for archiving, such as the names and the dates of the tables to archive. Post-archive Use to remove the data from the inactive XML data store tables. Clean restore table set Use to clear the security events in the restore table set when they are no longer required.
Chapter 6. Running the server utilities
75
Command (XML data store) -operation value Configuration Not used. Value Possible values are: v prearchive v postarchive v cleanrestore Progress report Controls whether, and how often, the staging utility reports progress on the console (standard output). If a value of N security events greater than 0 is specified, the staging utility will report progress whenever at least N security events have been processed since the last progress report. Note that progress reports might be less frequent than every N security events. For example, if the event batch size parameter is larger than N, progress will be reported roughly after every batch. If the value of the progress parameter is 0, progress will not be reported (this is the default behavior). Command (staging) -progress value Configuration util.progress=value Value An integer greater than or equal to 0. The default is 0. Prune threshold time Denotes the prune threshold time for event pruning. Security events older than this time will be removed from the staging database. Command (staging) -prunetime value Configuration util.pruneTime=value Value Valid timestamp in the current locale. For example in US English:
Jan 12, 2006 10:00:00 PM GMT
Staging utility execution mode Specify under what mode the staging utility runs: Incremental New security events since the last incremental staging are staged. If incremental staging has never run, all security events are staged. Historical All security events in a specified time range are staged. Prune All security events older than a specified time are pruned. Command (staging) -mode value Configuration util.mode=value Value Possible values are: v historical v incremental v prune The default is incremental. Start time Specifies the start time when the staging utility is launched in historical mode. Normally used when reporting or archiving data.
76
Auditing Guide
Command (staging) -starttime value Configuration util.startTime=value Value Valid timestamp in the following format: mmm dd, yyyy hh:mm:ss am_or_pm GMT For example: Jan 12, 2005 10:00:00 PM GMT Trace file name Specifies the name of the trace file. Command Not used. Configuration baseGroup.CBAStagUtilTraceFileHandler.fileName=value Value Valid file name. The default is trace__StagUtil.log. Tracing flag Specifies if tracing is turned on. Command Not used. Configuration baseGroup.CBAStagUtilTraceLogger.isLogging=value Value Possible values are: v true v false The default is false.
77
78
Auditing Guide
79
8. In the Audit Database window, the configured values for the database instance owner ID, XML datastore name, and TCP/IP service port are displayed. You must specify the database instance owner password. If you want to remove the Audit database, select Remove Audit Database. By default, the audit database is not removed. If the database is removed, all staging tables related to the database are also removed. Note that the path to the JDBC driver and the data source information in WebSphere Application Server that is used to establish a connection to the database is removed, regardless if the database is retained or removed. To re-establish the JDBC connection, you must specify the path of the JDBC driver in the Create JDBC Connector window when you reconfigure after a new installation. Click Next to continue. 9. Review the list of options you have selected in the Summary window. If the options are correct, select Finish to begin the unconfiguration. If one or more options are incorrect, use Back to return to a window and make the appropriate changes. 10. Review the Common Audit Service Status window to determine the outcome of the unconfiguration. If the unconfiguration was unsuccessful, the problems should be corrected and the unconfiguration started again from the Welcome window. Click OK to return to the Welcome window.
80
Auditing Guide
If you want to completely remove Common Audit Service from a system, run the unconfiguration wizard and undeploy the audit server from the WebSphere Application Server profile and select to remove the database and staging tables as well. Note: If the Common Audit Service is not fully unconfigured before starting uninstallation, a warning message will be displayed in the uninstallion window informing you to completely unconfigure the Common Audit Service components before you uninstall the Common Audit Service. If you continue with the uninstallation, you will have to manually remove the server components after uninstallation. The procedure for manually removing the audit server components after a successful uninstallation is the same procedure for manually removing the audit server components after a failed uninstallation. The manual uninstallation procedures are described in Failed uninstallation workarounds on page 353. After you have successfully undeployed Common Audit Service, you can run the uninstallation wizard to remove the product files and registry entries.
Interactive uninstallation
This section describes the interactive uninstallation of the audit server. The interactive uninstallation gives you the option to use GUI windows or use console mode on the command line.
Command syntax
To run the uninstallation in interactive mode, enter one of the following commands: For Windows Use one of the following commands: uninstall.exe [-console ] [-is:javahome java_home] java -cp uninstall.jar run [-console ] [-options-record]
Chapter 7. Uninstalling Common Auditing and Reporting Service
81
For Linux or UNIX Use one of the following commands: uninstall.bin [-console ] [-is:javahome java_home] java -cp uninstall.jar run [-console ] [-options-record]
Parameters
-console Run the program in console mode, specifying options on the command line. If you do not specify -console, the GUI panel uninstallation will start. -options-record response_file Generate a response file using the options you choose on each panel and write it to the specified file. After you run this interactive uninstallation, you can then use this response file to run a silent uninstallation as it will contain all of the appropriate parameters and values. -is:javahome java_home Specify the home directory of the Java Virtual Machine that the uninstallation launcher uses.
Sample
An example of using the Windows command to uninstall the audit server using console mode:
uninstall.exe -console
Procedure
1. Select the language that you want to use for the installation and click OK. 2. The Welcome dialog is displayed. Click Next to continue. 3. In the Features window, select both features to uninstall the audit server, configuration console, and configuration utilitiies. Select Common Audit Service to uninstall the audit server and configuration utilities only. Select Common Audit Service Configuration Console to uninstall only the configuation console. Click Next to continue. 4. If WebSphere Application Server global security is set, you are prompted to enter the WebSphere Application Server administrator ID and password in the WebSphere Application Server Security Details window. Click Nextto continue. 5. In the Summary window, check that the location of the selected features for uninstallation are correct. Click Back if you need to change a setting. Click Next to begin the uninstallation.
82
Auditing Guide
6. The final window shows that the uninstallation was successful or indicates error logs to identify any uninstallation problems.
Silent uninstallation
This topic describes the silent uninstallation of the audit server. The silent uninstallation processes the choices in the response file and returns the command prompt when complete. No on-screen messages will be displayed at any time during the execution of the silent uninstallation.
2. Change to the directory where the audit server was installed. For example: v Windows: c:\Program Files\IBM\Tivoli\CommonAudit v Linux or UNIX: /opt/IBM/Tivoli/CommonAudit If you did not use the default directory, change to the directory you chose for your audit server installation location. 3. From the audit server installation directory, change to the _uninst directory.
Syntax
To run the silent uninstallation, use one of the following commands: For Windows Use one of the following commands: uninstall.exe -silent -options response_file java -cp uninstall.jar run -silent -options response_file For Linux or UNIX Use one of the following commands: uninstall.bin -silent -options response_file java -cp uninstall.jar run -silent -options response_file
Parameters
-options response_file Specifies the name of the response file to use. For example, serverUninstall.rsp.
Sample
An example of using the Windows command with a response file named serverUninstall.rsp follows:
uninstall.exe -silent -options serverUninstall.rsp
Final step
The following step is required after you run the silent uninstallation:
83
Procedure
1. Change to one of the following directories: v On Linux and UNIX operating systems:
opt/CARSLP/lp_uninst
2. Uninstall the language support packages using the following command: java -jar cars_lp_uninstall.jar
84
Auditing Guide
89 89 90 91
. 93 . . . . 93 93 94 94
. . 97 . . 97 . 97 . 98 . . 100 . . 101 . . 103 . . 104 . . 105 . . 106 . . 107 . . 109 . . 111 . . 112 . . 113 . . 114 . . 115 . . 117 . . 118 . . 120 . .
Chapter 12. Reporting scenarios . . . . . . 123 Roles . . . . . . . . . . . . . . . . 123 Incident investigation scenario. . . . . . . . 123 Resource access compliance scenario . . . . . 124 Login policy compliance scenario. . . . . . . 125 Server availability scenario . . . . . . . . . 125 Chapter 13. Creating custom reports. . . . . Creating custom report tables using Common Audit Service . . . . . . . . . . . . . Requirements for creating new reporting tables Working with the CARSShredder.conf configuration file . . . . . . . . . . . Steps to support custom reports . . . . . . Sample custom report . . . . . . . . .
Copyright IBM Corp. 2001, 2010
85
86
Auditing Guide
87
88
Auditing Guide
3.
4.
5.
6.
7.
Before running the General Audit Event Details Report, complete the procedures to install and deploy the Java stored procedure on the DB2 server. The installation and deployment of the Java stored procedure is part of the installation and configuration of the Common Auditing and Reporting Service audit server. You can find a description in Chapter 5, Installing, configuring, and upgrading the Common Audit Service audit server, on page 25.
89
https://hostname:30343/ibm/console/logon.jsp Replace hostname with the TCP/IP host name of the system where Tivoli Common Reporting is installed. Alternatively, use the localhost if you are running the Web browser on the same system. On a Windows system, you can click Tivoli Common Reporting-> Start Tivoli Common Reporting Browser. This option opens the default browser with the correct URL for the local system. Note: By default, Tivoli Common Reporting uses port 30343. If you encounter conflicts, you can change the port assignments that are configured in the embedded WebSphere Application Server. For more information, see the WebSphere documentation at the following Web site (search for "Setting port numbers"): http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp On the Integrated Solutions Console login page, enter the user ID and password of a user with administrator authority. This user ID and password combination might be the one you specified during the installation process, or the one your administrator gave you. The Integrated Solutions Console navigation window opens. In the navigation pane on the left side of the window, click the node (+) beside Tivoli Common Reporting to expand the tree. Click Work with Reports. The Tivoli Common Reporting report navigation window opens. Go to the Navigation tab. Right-click on the root node of the navigation tree (Report Sets).
2.
3. 4. 5. 6.
7. Click Import Report Package. 8. In the Import Report Package window, specify the location and file name of the report package TAM_report_package.zip file that you downloaded from the Web site. You can type directly in the entry field or click Browse to open a file selection window from which you can select the report package file. 9. Click Advanced Options-> Overwrite-> Import. The Tivoli Access Manager report definition set must now be included in the hierarchy of the navigation tree.
90
Auditing Guide
91
92
Auditing Guide
Procedure
1. Locate the operational report you want to run using the Navigation or Search tab. 2. In the Reports table, right-click on the table row for the report and select View As from the pop-up menu. You can then select one of the following formats for viewing: v HTML v PDF v Microsoft Excel v Adobe PostScript 3. In the On-Demand Report Parameters window, specify the parameter values you want to use (or accept the default values). Required parameters are marked with an asterisk (*). The parameters for a report are defined by the report design. If the report has no parameters, the On-Demand Report Parameters window does not open. Note: If the report has no parameters, the On-Demand Report Parameters window does not open. 4. When you have finished specifying report parameters, click Run to run the report. Tivoli Common Reporting begins gathering report data and creating formatted output.
Results
After processing finishes, the report viewer opens in a new browser tab or window, displaying the formatted report using the appropriate browser plug-in. You can view the report in your browser or save the formatted output using the
Copyright IBM Corp. 2001, 2010
93
browser or plug-in capabilities. If you are viewing an HTML or PDF report, you can also click embedded links to open drill-through reports. Drill-through reports are described in the Tivoli Common Reporting User's Guide.
Procedure
1. Locate the operational report you want to run using the Navigation or Search tab. 2. In the Reports table, right-click on the table row for the report and select Create Snapshot from the pop-up menu. 3. In the Snapshot Report Parameters window, specify the parameter values you want to use (or accept the default values). The parameters for a report are defined by the report design; for more information about the parameters of the report you are running, refer to the documentation provided with the report. Note: If the report has no parameters, the Snapshot Report Parameters window does not open. 4. When you have finished specifying report parameters, click Run to run the report. Tivoli Common Reporting begins gathering report data.
Results
After processing finishes, the report snapshot data is saved in the data store and is available in the Snapshots table for the report. If the report includes any drill-through reports, snapshots for the drill-through reports might also be created and saved along with the main report. Drill-through reports are described in the Tivoli Common Reporting User's Guide.
Procedure
1. Locate the operational report you want to view using the Navigation or Search tab. 2. In the Reports table, click the table row for the report. The Report Snapshots table shows the available snapshots for the selected report. 3. In the Report Snapshots table, right-click on the table row for the report and click View As from the pop-up menu. You can then select one of the following formats for viewing: v HTML v PDF
94
Auditing Guide
Results
The report viewer opens in a new browser tab or window, displaying the formatted report using the appropriate browser plug-in. You can view the report in your browser or save the formatted output using the browser or plug-in capabilities. If you are viewing an HTML or PDF report, you can also click embedded links to open drill-through reports.
95
96
Auditing Guide
Available reports
The following operational report definitions are included in the Tivoli Access Manager report package: v Administrator and Self-Care Password Change History v Audit Event History by User v Audit Event History for Security Servers v Authorization Event History by Action v Failed Authentication Event History v Failed Authorization Events History v General Administration Event History v v v v v v v v v v General Audit Event Details General Audit Event History General Authorization Event History Group Administration Event History Locked Account History Most Active Accessors Resource Access by Resource Server Availability User Administration Event History User Password Change History
Purpose
The purpose of this report is to aid in tracking compliance and investigating unusual account activity. These statistics display the number of times when an administrator changes account passwords versus when a user changes their own account passwords.
Parameters
You can define the following parameters for the report so that you only get the information you need:
97
Table 4. Parameters for the Administrator and Self-Care Password Change History report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify: 2007,01,18,12,00,00.
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day. End date and time Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day.
General statistics
The following statistics are provided with this report: v Total number of administrator-initiated and self-care password changes over the time period
Charts
The following table shows each chart that is available when you run the Administrator and Self-Care Password Change History report.
Table 5. Charts displayed for the Administrator and Self-Care Password Change History report Chart name Password change events Self-care and administrator password events What it shows Report listing number and percentage of administrator versus self-care password changes. Pie chart showing number and percentage of administrator versus self-care password changes.
Related reports
The following report may also be helpful for tracking password data: v User Password Change History on page 120
98
Auditing Guide
Purpose
The purpose of this report is to investigate the activity of a particular user during a specified time period.
Parameters
You can define the following parameters for the report so that you only get the information you need:
Table 6. Parameters for the Audit Event History by User report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify: 2007,01,18,12,00,00.
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day. End date and time Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day. Event type Select the event type, or select All. Enter or select the product, or select All to report on all products for the user. Enter the user name. Enter the domain name.
To report on the authentication events for a user, select AUDIT_AUTHN from the drop-down list. To report on events for IBM Tivoli Access Manager for e-business, select that name from the drop-down list. To report on user name smithcm, enter smithcm. To report on a user in domainA, enter domainA.
Product name
User Domain
General statistics
The following statistics are provided with this report: v Total number of events for a specified user
Charts
The following table shows each chart that is available when you run the Audit Event History by User report.
99
Table 7. Charts displayed for the Audit Event History by User report Chart name Audit events for user What it shows Report detailing all events for a specified user sorted by session ID and time stamp during the time period.
Related reports
The following reports may also be helpful for tracking other audit event data: v Audit Event History for Security Servers v General Audit Event History on page 107 v General Audit Event Details Report on page 106
Purpose
The purpose of this report is to investigate the activity of a particular security server during a specified time period.
Parameters
You can define the following parameters for the report so that you only get the information you need:
Table 8. Parameters for the Audit Event History for Security Servers report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify: 2007,01,18,12,00,00.
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day. End date and time Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day. Product name
Select or enter the product name, To report on events for IBM Tivoli or select All to report on all Access Manager for e-business, select products. that name from the drop-down list.
100
Auditing Guide
Table 8. Parameters for the Audit Event History for Security Servers report (continued) Parameter name Sort by Description Example
Select one of the following as the To sort the report by server name, select Servername from the drop-down list. sort criteria: v Timestamp v Servername v Action
General statistics
The following statistics are provided with this report: v Total number of security server events
Charts
The following table shows each chart that is available when you run the Audit Event History for Security Servers report.
Table 9. Charts displayed for the Audit Event History for Security Servers report Chart name Number of security server audit events by action Audit event history for security servers What it shows Report showing total number of events for each action. Report listing all security server events sorted by specified sort criteria and time stamp during the time period.
Related reports
The following reports may also be helpful for tracking audit events: v Audit Event History by User on page 98 v General Audit Event History on page 107 v General Audit Event Details Report on page 106
Purpose
The purpose of this report is to analyze authorization event history for each action for incident investigation and assure compliance.
Parameters
You can define the following parameters for the report so that you only get the information you need:
101
Table 10. Parameters for the Authorization Event History by Action report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify 2007,01,18,12,00,00
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day. End date and time Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day. Product name
Enter or select the product name, To report on events for IBM Tivoli or select All. Access Manager for e-business, select that name from the drop-down list. Enter the name of the location, or To report on location PS01NY, enter select All. PS01NY. Select the location class Source or To report on the location class of user, User. select User from the drop-down list. Enter the name of an action, or select All. To report on only the create actions, enter Create.
General statistics
The following statistics are provided with this report: v Total number of authorization events
Charts
The following table shows each chart that is available when you run the Authorization Event History by Action report.
Table 11. Charts displayed for the Authorization Event History by Action report Chart name Authorization audit events list What it shows Report listing all authorization events that contain the specified action sorted by resource and then time stamp during the time period.
Notes
v The report may generate a large amount of data. Be sure to limit the data the report produces by specifying a shorter time frame or a particular action.
102
Auditing Guide
Related reports
The following reports may also be helpful with tracking authorization events: v Failed Authorization Events History on page 104 v General Authorization Event History on page 109
Purpose
The purpose of this report is to investigate security incidents. An administrator can track failed authentication events to investigate security attacks.
Parameters
You can define the following parameters for the report so that you only get the information you need:
Table 12. Parameters for the Failed Authentication Events History report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify: 2007,01,18,12,00,00.
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day. End date and time Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day. Product name
Select or enter the product name, To report on events for IBM Tivoli or select All to report on all Access Manager for e-business, select products. that name from the drop-down list. Select one of the following fields to sort by: v User v Reason v Timestamp To sort the report by time stamp, select Timestamp from the drop-down list.
Sort by:
Charts
The following table shows each chart that is available when you run the Failed Authentication Events History report.
Chapter 11. Report descriptions
103
Table 13. Charts displayed for the Failed Authentication Events History report Chart name Failed authentication events What it shows Report detailing each authentication event that failed in the time period, giving the reason for the failure.
Purpose
The purpose of this report is to investigate security incidents. An administrator can track failed authorization events to investigate security attacks.
Parameters
You can define the following parameters for the report so that you only get the information you need:
Table 14. Parameters for the Failed Authorization Events History report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify: 2007,01,18,12,00,00.
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day. End date and time Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day. Location Location class Sort by Enter or select the name of the location, or select All.
Select the location class Source or To report on the location class of user, User. select User from the drop-down list. Select one of the following fields to sort by: v User v Domain v Timestamp To sort the report by time stamp, select Timestamp from the drop-down list.
104
Auditing Guide
Charts
The following table shows each chart that is available when you run the Failed Authorization Events History report.
Table 15. Charts displayed for the Failed Authorization Events History report Chart name Failed authorization events What it shows Report detailing each authorization event that failed in the time period, giving the reason for the failure.
Related reports
The following reports may also be helpful for tracking authorization events: v Authorization Event History by Action on page 101 v General Authorization Event History on page 109
Purpose
The purpose of the report is to track the actions of a user, in general, for performing administrative events. It shows the amount of management activity reported over a period of time. Following are the various types of management activities: v Administration of a policy database, separate from the user registry v Administration of users and data in the user registry v Administration of application configuration and servers v Administration of resource objects v Application-level administration of users
Parameters
You can define the following parameters for the report so that you only get the information you need:
Table 16. Parameters for the General Administration Event History report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify: 2007,01,18,12,00,00.
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day.
105
Table 16. Parameters for the General Administration Event History report (continued) Parameter name End date and time Description Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day. Product name Enter or select the product name, To report on events for IBM Tivoli or select All. Access Manager for e-business, select that name from the drop-down list. The primary sort for this report is based on user ID and domain. The secondary sort criteria can be: v Timestamp v Event Type v Policy Resource Name v Resource Type For a each user ID and domain, sort on event type by selecting Event Type from the drop-down list. Example To produce a report beginning July 7, 2007 at 1:30 PM, specify: 2007,07,07,13,30,00.
Sort by
General statistics
The following statistics are provided with this report: v Total number of administration events
Charts
The following table shows each chart that is available when you run the General Administration Event History report.
Table 17. Charts displayed for the General Administration Event History report Chart name General administration event list What it shows Report listing event information for each administrator.
Related reports
The following reports may also be helpful for tracking administration events: v Administrator and Self-Care Password Change History on page 97 v Group Administration Event History on page 111 v User Administration Event History on page 118
106
Auditing Guide
Purpose
The purpose of this report is to provide specific details about a certain audit event. Typically, you will run this report after running any of the other operational reports and determine that you desire all the details of one event.
Parameters
You can define the following parameters for the report so that you only get the information you need:
Table 18. Parameters for the General Audit Event Details report Parameter name Event reference ID Description Enter the event reference ID. This is a sequence number generated by the Common Audit Service. Example To get the event details for reference ID 8090001234, enter 8090001234.
Charts
The following table shows each chart that is available when you run the General Audit Event Details report.
Table 19. Charts displayed for the General Audit Event Details report Chart name Event Details for Record ID reference_ID What it shows A list of the elements and values associated with the specified audit event.
Notes
v Before running the General Audit Event Details Report, verify that you have installed the Java stored procedure on the DB2 server using the procedure described in Deploying the Java stored procedure for an audit details report on page 54.
Related reports
The following reports may also be helpful for tracking audit events: v Audit Event History by User on page 98 v Audit Event History for Security Servers on page 100 v General Audit Event History
Purpose
The purpose of this report is to show a list of all events of the specified event type sorted by a specified sort criterion and time stamp during the time period which aids in incident investigation and assuring compliance. It presents general statistics listing the total number of audit events for each audit event type.
107
Parameters
You can define the following parameters for the report so that you only get the information you need:
Table 20. Parameters for the General Audit Event History report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify: 2007,01,18,12,00,00.
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day. End date and time Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day. Number of audit events Event type Enter or select the number of audit events to display. Enter or select the event type, or select All.
To show a maximum of 200 audit events, enter 200. To report on only the AUDIT_MGMT_KEY event type, select AUDIT_MGMT_KEY from the drop-down list.
Product name
Select or enter the product name, To report on events for IBM Tivoli Access Manager for e-business, select or select All to report on all that name from the drop-down list. products. Select one of the following as the To sort the report by user, select User sort criteria: from the drop-down list. v Timestamp v Outcome v Event Type v User v Domain
Sort by
General statistics
The following statistics are provided with this report: v Total number of each audit
Charts
The following table shows each chart that is available when you run the General Audit Event History report.
108
Auditing Guide
Table 21. Charts displayed for the General Audit Event History report Chart name Audit events by event type What it shows Report listing each audit event followed by the total number for each type.
Related reports
The following reports may also be helpful for tracking audit events: v Audit Event History by User on page 98 v Audit Event History for Security Servers on page 100 v General Audit Event Details Report on page 106
Purpose
The purpose of this report is to analyze authorization event history by using filter criterion like time period, product name, location, and access decision for incident investigation and assuring compliance. It presents general statistics listing the total number of authorization events, failed authorization events, successful authorization events and unauthenticated events during a time period. Additionally, it shows a list of all authorization events sorted by a specified sort criteria.
Parameters
You can define the following parameters for the report so that you only get the information you need:
Table 22. Parameters for the General Authorization Event History report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify: 2007,01,18,12,00,00.
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day. End date and time Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day.
109
Table 22. Parameters for the General Authorization Event History report (continued) Parameter name Product name Description Select the product, or select All to report on all products for the user. Example To report on events for IBM Tivoli Access Manager for e-business, select that name from the drop-down list.
Enter the name of the location, or To report on location PS01NY, enter select All. PS01NY. Select the location class Source or To report on the location class of user, User. select User from the drop-down list. Enter the resource name, or select To report on only the events for All to show all resources. /etc/passwd, enter /etc/passwd. Select one of the following access To report on only the authorizations that were denied, select Denied from decision choices: the drop-down list. v All v Permitted v Denied
Authentication Select one of the following type authentication type choices: v All v Authenticated v Unauthenticated Number of events to show Sort by Select or enter the maximum number of events to display on the report. Select one of the following sort criteria: v Timestamp v Resource v User v Domain
To display 1,000 events, select 1000 from the drop-down list. To sort the events by domain, select Domain from the drop-down list.
General statistics
The following statistics are provided with this report: v Authorization events by access decision v Unique users per resource
Charts
The following table shows each chart that is available when you run the General Authorization Event History report.
Table 23. Charts displayed for the General Authorization Event History report Chart name Authorization Audit Events List What it shows Report listing all authorization events for a specified criteria.
110
Auditing Guide
Related reports
The following reports may also be helpful for tracking authorization events: v Authorization Event History by Action on page 101 v Failed Authorization Events History on page 104
Purpose
The purpose of this report is to investigate security incidents and to track changes to groups by administrators.
Parameters
You can define the following parameters for the report so that you only get the information you need:
Table 24. Parameters for the Group Administration Event History report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify: 2007,01,18,12,00,00.
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day. End date and time Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day. Sort by Specify if you want the report sorted by timestamp, administrator, target group, or action. The default sort criteria is timestamp.
To show a report that is sorted by action, select action from the drop-down list.
General statistics
The following statistics are provided with this report: v Total number of group administration events
Charts
The following table shows each chart that is available when you run the Group Administration Event History report.
Chapter 11. Report descriptions
111
Table 25. Charts displayed for the Group Administration Event History report Chart name Group Administration Event List What it shows Report that lists all group administration audit events sorted by specified sort criteria and time stamp during the time period
Related reports
The following reports may also be of help in tracking administration events: v Group Administration Event History on page 111
Purpose
The purpose of this report is to aid in tracking compliance and showing a pattern of unsuccessful login attempts.
Parameters
You can define the following parameters for the report so that you only get the information you need:
Table 26. Parameters for the Locked Account History report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify: 2007,01,18,12,00,00.
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day. End date and time Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day. Number of users
Select or enter the maximum To show the first 10 users that were number of users to display in the locked out during the time period, report. select 10 from the drop-down list.
112
Auditing Guide
General statistics
The following statistics are provided with this report: v Total number of locked out accounts
Charts
The following table shows each chart that is available when you run the Locked Account History report.
Table 27. Charts displayed for the Locked Account History report Chart name Locked Account List What it shows List of all locked account events sorted by lockout reason
Purpose
The purpose of this report is to lead administrators to investigate improper use of their resources.
Parameters
You can define the following parameters for the report so that you only get the information you need:
Table 28. Parameters for the Most Active Accessors report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify: 2007,01,18,12,00,00.
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day. End date and time Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day. Location Location class Select the name of the location, or select All.
Select the location class Source or To report on the location class of user, User. select User from the drop-down list.
113
Table 28. Parameters for the Most Active Accessors report (continued) Parameter name Number of users to show Description Select or enter the maximum number of users to show on the report. Example To display 50 users, select 50 from the drop-down list.
General statistics
The following statistics are provided with this report: v Total number of authorization and resource access events
Charts
The following table shows each chart that is available when you run the Most Active Accessors report.
Table 29. Charts displayed for the Most Active Accessors report Chart name Most Active Accessors What it shows Report showing each user, domain, and the total number of events for the user. The names are listed in order according to number of events (highest to lowest).
Related reports
The following reports may also helpful in tracking accessor data: v Resource Access by Accessor v Resource Access by Resource on page 115
Purpose
The purpose of this report is to enable an administrator to identify who is accessing what resource on a protected machine over a period of time. This information shows trends in user access patterns and serves as a starting point for incident investigation.
Parameters
You can define the following parameters for the report so that you only get the information you need:
114
Auditing Guide
Table 30. Parameters for the Resource Access by Accessor report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify: 2007,01,18,12,00,00.
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day. End date and time Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day. Product name
Enter or select the product name, To report on events for IBM Tivoli or select All. Access Manager for e-business, select that name from the drop-down list. Enter the name of the location, or To report on location PS01NY, enter select All. PS01NY. Enter the user ID of the accessor. If jjsmith is the user ID you want to investigate, type jjsmith.
General statistics
The following statistics are provided with this report: v Total number of accesses to a resource for an accessor v Total number of a user's accesses on a location
Charts
The following table shows each chart that is available when you run the Resource Access by Resource report.
Table 31. Charts displayed for the Resource Access by Resource report Chart name Top 10 Resources Accesses per Location by accessor What it shows List of accessors with the most activity for a location. A total number of accesses for the user is shown.
Related Reports
The following report may also be helpful in tracking resource usage: v Resource Access by Resource
115
Purpose
The purpose of this report is to show the most heavily accessed resources on a Tivoli Security software protected machine over a period of time. With this report you can see who is accessing what resources and it can be a starting point for investigating abnormal resource utilization.
Parameters
You can define the following parameters for the report so that you only get the information you need:
Table 32. Parameters for the Resource Access by Resource report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify: 2007,01,18,12,00,00.
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day. End date and time Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day. Product name Enter or select the product, or select All to report on all products for the user.
To report on events for IBM Tivoli Access Manager for e-business, select that name from the drop-down list.
Location Resource
Enter the name of the location, or To report on location PS01NY, enter select All. PS01NY. Enter the resource name. If /etc/passwd is the resource you want to investigate, type /etc/passwd.
General statistics
The following statistics are provided with this report: v Total number of accesses for each resource v Total number of accesses for each location
Charts
The following table shows each chart that is available when you run the Resource Access by Resource report.
116
Auditing Guide
Table 33. Charts displayed for the Resource Access by Resource report Chart name Top 10 Accessors per Location for resource What it shows List of most heavily accessed resources for a location. A total number of accesses is shown.
Related Reports
The following report may also be helpful in tracking resource usage: v Resource Access by Accessor on page 114
Server Availability
This report shows the availability status of Tivoli Security software servers on a specific machine.
Purpose
The purpose of this report is to show the availability of a Tivoli software server over a period of time. It gives an obvious indication that a server is functioning. You can determine whether a critical server is actually protected. This report will be used for verification purposes during times of infrastructure audits. The events displayed represent heartbeat events. These are events that the software daemons, such as the Tivoli Access Manager for Operating Systems policy enforcement server (pdosd), periodically creates for the purpose of indicating that it is operating. The data displayed is the total time period a protected machine reports (hours, days, and months), a count of the heartbeat events for a machine that is running Tivoli Security software. This data is displayed in table form showing pings per time period for each protected machine. You can display all protected machines in the report or limit the report by entering a single host name as the subject of the report.
Parameters
You can define the following parameters for the report so that you only get the information you need:
Table 34. Parameters for the Server Availability report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify: 2007,01,18,12,00,00.
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day.
117
Table 34. Parameters for the Server Availability report (continued) Parameter name End date and time Description Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day. Product name Select or enter the name of the product. To report on IBM Tivoli Access Manager for e-business only, select it from the drop-down list. Example To produce a report beginning July 7, 2007 at 1:30 PM, specify: 2007,07,07,13,30,00.
Enter the name of the location, or To report on location PS01NY, enter select All. PS01NY. Select the time increment for reporting from the following options: v Hourly v Daily v Monthly To report on a daily basis, select Daily from the drop-down list.
Charts
The following table shows each chart that is available when you run the Server Availability report.
Table 35. Charts displayed for the Server Availability report Chart name Number of heart beats per time period What it shows Report showing the total number of heartbeats for a specified time period for specified products and locations.
Related reports
The following reports may also be of help in tracking server data: v Audit Event History for Security Servers on page 100
Purpose
The purpose of this report is to investigate security incidents and to track changes to users by administrators.
Parameters
You can define the following parameters for the report so that you only get the information you need:
118
Auditing Guide
Table 36. Parameters for the User Administration Event History report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify: 2007,01,18,12,00,00.
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day. End date and time Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day. Sort by Select the sort criteria from the following list: v Timestamp v Administrator v Target User v Action (such as, add, delete, modify, add to group, and delete from group)
To sort the report by the administrator ID, select Administrator from the drop-down box.
General statistics
The following statistics are provided with this report: v Total number of user administration events
Charts
The following table shows each chart that is available when you run the User Administration Event History report.
Table 37. Charts displayed for the User Administration Event History report Chart name User Administration Event List What it shows List of all user administration events sorted by specified sort criteria and time stamp during the time period.
Related Reports
The following report may also be helpful in tracking administration issues: v General Administration Event History on page 105 v Group Administration Event History on page 111 v User Administration Event History on page 118
119
Purpose
The purpose of this report is to aid in tracking compliance and investigating unusual account activity. From this report you can gather the: v Percentage of successful password attempts v Percentage of unsuccessful password attempts v Reasons for failed password attempts v User IDs where the password changes occurred v User domains where the password changes occurred
Parameters
You can define the following parameters for the report so that you only get the information you need:
Table 38. Parameters for the User Password Change History report Parameter name Description Example To produce a report beginning January 18, 2007 at 12:00:00, specify: 2007,01,18,12,00,00.
Start date and Specify the begin time for the time report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the beginning year, month, and day. End date and time Specify the end time for the report. The format of the date and time is: yyyy,mm,dd,hh,mm,ss You can click the calendar icon and select the ending year, month, and day.
General statistics
The following statistics are provided with this report: v v v v Total number of password change events Total number of unsuccessful password change events Password change events categorized by successful and unsuccessful Failed password changed events categorized by reason
Charts
The following table shows each chart that is available when you run the User Password Change History report.
120
Auditing Guide
Table 39. Charts displayed for the User Password Change History report Chart name Password change events Failed password change events User password change history What it shows Pie chart showing percentage of successful versus unsuccessful attempts. Pie chart showing percentages of failed password change event reasons. Report detailing each time a user changed or attempted to change their password
Related reports
The following report may also be helpful for tracking password data: v Administrator and Self-Care Password Change History on page 97
121
122
Auditing Guide
Roles
There are four types of roles defined for auditing and reporting of security events in these scenarios.
Table 40. Roles for auditing and reporting Title Chief Security Officer Name used in scenarios Robert Goals v Provide the best security solution at the least cost to the company. v Make the computer systems secure. v Ensure that all security audits are successfully passed. System Administrator Security Auditor Application platform owner James v Ensure that applications and systems he manages are always available and running smoothly. v Make sure the CEO and Board trust the security and confidentiality of their systems. v Make sure the CEO and Board trust the security and confidentiality of their systems. v Maintain a stable environment for applications that stay running 24 hours a day.
Christine Miguel
Scenario description
This scenario involves an administrator who is concerned about the number of after-hour logins. Following is the flow of an example situation: 1. Someone on Roberts staff notices that there is an abnormal number of after-hour logins between 3 AM and 4 AM. 2. Robert calls Miguel and ask Miguel to investigate who is logging in at that time of night. 3. Miguel uses BIRT to run a report that shows all the users who logged in between 3 AM and 4 AM. 4. Miguel runs the same report after restoring previously archived events and publishes those reports to Tivoli Common Reporting so that someone on Roberts staff can look at them and determine the next steps to take.
Report to use
v General Audit Event History
Copyright IBM Corp. 2001, 2010
123
Parameters to use
Start date and time 01/09/07 12:00:00 AM End date and time 03/19/07 12:00:00 AM Number of audit events 200 Event type AUDIT_AUTHN Product name All Sort by Timestamp
Scenario description
This scenario involves running a compliance report on a monthly basis to prepare for future audits. Following is the flow of an example situation: 1. The company is required to keep records of all accesses to a sensitive application. Robert wants to make sure this data is on hand in case he is audited. 2. Robert runs a report once a month to show all accesses to the specified application. Robert prints that report and files it away for safekeeping.
Report to use
v General Authorization Event History
Parameters to use
Start date and time 02/01/07 12:00:00 AM End date and time 03/01/07 12:00:00 AM Product name IBM Tivoli Access Manager for e-business Location PS0760 Location class Source Resource name All
124
Auditing Guide
Access decision All Authenticated type All Number of events to show 1000 Sort by Timestamp
Scenario description
This scenario involves running a report that captures the number of locked-out accounts. Following is the flow of an example situation: 1. Robert wants to see how the new login policy is affecting users. The new login policy states that when a user attempts to log in more than three times with a password that is not valid, that account is locked out. 2. Robert asks someone on his staff to run a nightly report (each night for six months) that shows how many account lockout events occurred each night. 3. In the nightly reports that were generated during this six-month period, Robert notices that when the new login policy was enacted, there were a lot of locked out account events. Over time, the number of locked out account events decreased. Robert assumes that the policy is effective and that users are remembering their passwords.
Report to use
v Locked Account History
Parameters to use
Start date and time (for first nightly report) 02/01/07 12:00:00 AM End date and time (for first nightly report) 02/02/07 12:00:00 AM Number of users 100
125
Scenario description
This scenario involves running a report to show the availability of a server over a period of time. Following is the flow of an example situation: 1. The Tivoli Access Manager policy server was recently installed on a new machine. 2. James wants to be sure the policy server is up and operating as expected and runs a report to show the activity for this server. 3. James reviews the report to determine if the activity for this server is normal and operating on target.
Report to use
v Server Availability Report
Parameters to use
Begin time 04/01/07 12:00:00 AM End time 04/02/07 12:00:00 AM Product name All Product name IBM Tivoli Access Manager for e-business Location PS0555 Time increment Hourly
126
Auditing Guide
127
data. Next, specify the events, event elements, and corresponding staging table names and columns in the CARSShredder.conf configuration file. You then run the Common Audit Service staging utility against the CARSShredder.conf configuration file to stage the event data into the reporting tables from the live database tables that contain the captured event data. To set up the CARSShredder.conf configuration file, you must back up and then replace the default version of the file with a new, custom version that you build using the CARSShredder.conf.custom.template. You do not modify existing default tables to create custom tables; you create new, additional reporting tables to hold data for custom reports. The staging utility stages custom data into these newly defined tables. The following sections describe the concepts and procedures necessary to stage data for custom reports: v Requirements for creating new reporting tables v Working with the CARSShredder.conf configuration file v Steps to support custom reports on page 134 v Sample custom report on page 135
128
Auditing Guide
129
Event section descriptors event_type, version, section, key_xpath_map_file event_type Specifies the name of the event type. version Specifies the version of the Common Base Event model used to represent the event type. section Specifies the identifier of the section that contains the mappings between attributes of the declared event type and the corresponding reporting table and column names. Each event name specified in Event Section Descriptors must have a corresponding stanza in the configuration file. key_xpath_map_file Specifies the mapping properties file used to correlate keyword values with XPath locator strings. The staging utility searches for the file in the CARS_HOME/server/etc/xpaths directory. A default set of keyword-XPath properties files are installed in the CARS_HOME/server//template/xpaths directory. The following example of an event descriptor section contains all audit event types: ; Event Section Descriptors IBM_CBA_AUDIT_AUTHZ, 1.0.1, [authz], ibm_cba_audit_authz IBM_CBA_AUDIT_AUTHN, 1.0.1, [authn], ibm_cba_audit_authn IBM_CBA_AUDIT_MGMT_POLICY, 1.0.1, [mgmt_policy], ibm_cba_audit_mgmt_policy IBM_CBA_AUDIT_MGMT_REGISTRY, 1.0.1, [mgmt_registry], ibm_cba_audit_mgmt_registry IBM_CBA_AUDIT_RUNTIME, 1.0.1, [rtime], ibm_cba_audit_rtime IBM_CBA_AUDIT_RUNTIME_KEY, 1.0.1, [rtime_key], ibm_cba_audit_runtime_key IBM_CBA_AUDIT_MGMT_CONFIG, 1.0.1, [mgmt_config], ibm_cba_audit_mgmt_config IBM_CBA_AUDIT_MGMT_PROVISIONING, 1.0.1, [mgmt_provisioning], ibm_cba_audit_mgmt_provisioning IBM_CBA_AUDIT_COMPLIANCE, 1.0.1, [compliance], ibm_cba_audit_compliance IBM_CBA_AUDIT_RESOURCE_ACCESS, 1.0.1, [resource_access], ibm_cba_audit_resource_access IBM_CBA_AUDIT_MGMT_RESOURCE, 1.0.1, [mgmt_resource], ibm_cba_audit_mgmt_resource ; ;The following event types do not have event specific tables. ; IBM_CBA_AUDIT_AUTHN_TERMINATE, 1.0.1, [authn_terminate], ibm_cba_audit_authn_terminate IBM_CBA_AUDIT_AUTHN_MAPPING, 1.0.1, [authn_mapping], ibm_cba_audit_authn_mapping IBM_CBA_AUDIT_AUTHN_CREDS_MODIFY 1.0.1, [authn_creds_modify], ibm_cba_audit_authn_creds_modify IBM_CBA_AUDIT_DATA_SYNC, 1.0.1, [data_sync], ibm_cba_audit_data_sync IBM_CBA_AUDIT_WORKFLOW, 1.0.1, [workflow], ibm_cba_audit_workflow IBM_CBA_AUDIT_PASSWORD_CHANGE, 1.0.1, [password_change], ibm_cba_audit_password_change ; ; ;The following event types are generated using the Common Audit ;Service Security Event Factory ; IBM_SECURITY_AUTHN, 1.0.1, [security_authn], ibm_security_authn IBM_SECURITY_MGMT_POLICY, 1.0.1, [security_mgmt_policy], ibm_security_mgmt_policy IBM_SECURITY_AUTHZ, 1.0.1, [security_authz], ibm_security_authz IBM_SECURITY_RUNTIME, 1.0.1, [security_rtime], ibm_security_rtime IBM_SECURITY_COMPLIANCE, 1.0.1, [security_compliance], ibm_security_compliance IBM_SECURITY_MGMT_CONFIG, 1.0.1, [security_mgmt_config], ibm_security_mgmt_config IBM_SECURITY_MGMT_PROVISIONING, 1.0.1, [security_mgmt_provisioning], ibm_security_mgmt_provisioning IBM_SECURITY_MGMT_REGISTRY, 1.0.1, [security_mgmt_registry], ibm_mgmt_registry IBM_SECURITY_MGMT_RESOURCE, 1.0.1, [security_mgmt_resource], ibm_mgmt_resource IBM_SECURITY_RESOURCE_ACCESS, 1.0.1, [security_resource_access], ibm_resource_access ;The following event types do not have event specific tables. IBM_SECURITY_AUTHN_CREDS_MODIFY, IBM_SECURITY_AUTHN_TERMINATE, IBM_SECURITY_ENCRYPTION, IBM_SECURITY_FEDERATION, IBM_SECURITY_SIGNING, IBM_SECURITY_TRUST, IBM_SECURITY_WORKFLOW, IBM_SECURITY_AUTHN_DELEGATION, IBM_SECURITY_AUTHN_MAPPING, IBM_SECURITY_DATA_SYNC, IBM_SECURITY_MGMT_AUDIT, IBM_SECURITY_MGMT_KEY, IBM_SECURITY_SELFCARE, IBM_SECURITY_ATTACK, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, [security_authn_creds_modify], ibm_security_authn_creds_modify [security_authn_terminate], ibm_security_authn_terminate [security_encryption], ibm_security_encryption [security_federation], ibm_security_federation [security_signing], ibm_security_signing [security_trust], ibm_security_trust [security_workflow], ibm_security_workflow [security_authn_delegation], ibm_security_authn_delegation [security_authn_mapping], ibm_security_authn_mapping [security_data_sync], ibm_security_data_sync [security_mgmt_audit], ibm_security_mgmt_audit [security_mgmt_key], ibm_security_mgmt_key [security_selfcare], ibm_security_selfcare [security_attack], ibm_security_attack
130
Auditing Guide
Table 41. Event stanza format of the XML shredder configuration file Event stanzas table, column, [XPath | constant | keyword | #keyword# | #keyword:[arrayindex][arrayindex]#] table column XPath locator string Specifies the database table name. Specifies the column in the database table. Describes in XPath format notation the location of an event attribute within an event. XPath locator strings corresponding to event attributes are provided in a set of default properties files that are installed in the CARS_HOME/server//template/xpaths directory. To stage an attribute of an event, you can locate the attribute in the XPath file for that event, and specify either the corresponding keyword or the XPath locator string. Specifies a constant value that will be placed in a column for all events. This could be: v A string, such as 'AUDIT_AUTHZ' or an integer or other constant. v Any valid clause that DB2 allows in an SQL INSERT STATEMENT, such as CURRENT TIMESTAMP, CURRENT DATE, and so on. keyword Specifies one of the following keywords: v #RECORD_ID v #VERSION v #GLOBAL_ID v #CREATION_TIME_UTC The staging utility recognizes these keywords and stages them directly from the XML data store tables without shredding the XML event. #keyword# The staging utility searches for the keyword value in CARS_HOME/server/etc/xpaths/key_xpath_map_file.properties. For example, if the staging utility processes the IBM_SECURITY_ENCRYPTION event, it searches for the keyword value in the ibm_security_encryption.properties file in the CARS_HOME/server/etc/xpaths directory. If the properties file cannot be located or opened, or if the keyword cannot be located in the properties file, the staging utility returns an error and stops processing. In the case of an array of attributes, the staging utility stages the first element in the array. If multiple arrays exist, such as an array of userInfo elements, the staging utility stages the first array attribute in the first userInfo. For example, specifying #userInfo.attribute.name# as the keyword is equivalent to specifying the following Xpath expression: CommonBaseEvent/extendedDataElements [@name=userInfoList]/children [@name=userInfo][1]/ children[@name=attributes] /children[@name=attribute] [1]/children[@name=name]/values
constant
131
Table 41. Event stanza format of the XML shredder configuration file (continued) Event stanzas #keyword:[arrayindex] [arrayindex]# To stage a specific element of an array, such as attributes, use this format. For example, specifying #userInfo.attribute.name:[3][2]# is equivalent to specifying the following Xpath expression: CommonBaseEvent/extendedDataElements[@name=userInfoList] /children[@name=userInfo][3]/ children[@name=attributes] /children[@name=attribute][2]/children[@name=name] /values To stage the value of the name element from the second attribute of the third userInfoList, specify #userInfo.attribute.name:[3][2]#. Note that in Xpath expressions the first element of an array starts with an index value of 1 instead of 0. If the number of array indices specified in the keyword does not match the number of arrays in the XPath locator string in the mapping file, the staging utility returns an error and stops processing.
132
Auditing Guide
Table 41. Event stanza format of the XML shredder configuration file (continued) Event stanzas Following is an example of a stanza that stages authorization event type data into a cars_t_event and a cars_t_authz table. The cars_t_event table is the primary table and cars_t_authz is the secondary table. The integrity of the references between the primary and secondary table is enforced by defining constraints at the time of table creation. [security-authn] cars_t_event, event_id, #GLOBAL_ID cars_t_event, cars_seq_number, #RECORD_ID cars_t_event, time_stamp, #creationTime# cars_t_event, eventType, "AUDIT_AUTHN" cars_t_event, src_location, #sourceComponentId.location# cars_t_event, app_usr_name, #userInfo.appUserName# cars_t_cauthn, cars_seq_number, #RECORD_ID
Following is a description of each line of the previous stanza example: [security-authn] Identifies the stanza name, which must be declared in the Event Descriptor section of the file. Each stanza name must be unique within the configuration file. cars_t_event, event_id, #GLOBAL_ID Instructs the staging utility to read the events globalInstanceId and populate the EVENT_ID column with it. cars_t_event, cars_seq_number, #RECORD_ID Maps the event's record_id field to the cars_seq_number column. cars_t_event, time_stamp, #creationTime# Maps the events creationTime to the time_stamp column. The #creationTime# keyword maps to the CommonBaseEvent/@creationTime XPath in the specified key_xpath_map_file.properties file. cars_t_event, eventType, "AUDIT_AUTHN" Instructs that for every event of type IBM_CBA_AUDIT_AUTHN, store the constant 'AUDIT_AUTHN' in the eventType column. cars_t_event, src_location, #sourceComponentId.location# Instructs the staging utility to select the value of the location attribute from the event and store it in the src_location column. The #sourceComponentId.location# keyword maps to the CommonBaseEvent/sourceComponentId/@location XPath locator string in the specified key_xpath_map_file.properties file. The XPath expression resolves to the value of the location attribute in the sourceComponentId element, whose root element is CommonBaseEvent. cars_t_event, app_usr_name, #userInfo.appUserName# Instructs the staging utility to select the value of the userInfo and appUserName attributes, whose parent element is userInfoList, and stage it into the column app_usr_name. The #sourceComponentId.location# keyword maps to the CommonBaseEvent/extendedDataElements[@name='userInfoList'] /children[@name='userInfo']/children[@name='appUserName']/values XPath locator string in the specified key_xpath_map_file.properties file. cars_t_cauthn, cars_seq_number, #RECORD_ID Identifies cars_t_cauthn as the target table. cars_t_cauthn is the secondary table for the IBM_SECURITY_AUTHN event type. This triplet maps the record_id field to cars_seq_number. All secondary tables must contain this mapping.
133
v The active configuration file name must be named CARSShredder.conf. v The following restrictions apply to the event stanzas in the file: Each event stanza must contain the following three triplets:
cars_t_event, event_id, cars_t_event, cars_seq_number, cars_t_event, time_stamp, #GLOBAL_ID #RECORD_ID CommonBaseEvent/@creationTime
You must specify the primary table first in each section before specifying one or more secondary tables. You must specify the mappings for the primary table, cars_t_event, first in each stanza, before you specify one or more secondary table mappings. You must map the cars_seq_number column to #RECORD_ID in all custom secondary tables, just as in the cars_t_event table. v Specify strings within double quotation marks. For example, "CURRENT TIMESTAMP". v Use a semicolon (;) to denote comments. v Nest keywords that correspond to XPath statements in number signs, for example, #action#. Note that the ending number sign helps differentiates the keyword from the reserved keywords, such as #GLOBAL_ID. v You cannot specify a column name of a target table multiple times. The following shredder file is incorrect and will result in runtime error:
cars_t_event, src_comp, cars_t_event, src_comp, #sourceComponentId.component# #sourceComponentId.subComponent#
Procedure
1. Create a data definition language (DDL) file that creates custom secondary reporting tables in the XML data store database. 2. Run the DDL file to create the reporting tables using the following commands:
134
Auditing Guide
a. db2 connect to database_name user db2username using db2password b. db2 -tsf custom.ddl 3. Save a copy of the default CARSShredder.conf file that is shipped with Common Audit Service as CARSShredder.conf.default so that you can restore it if needed. You will replace this file with your own version to generate custom reports. The default file is located in the CARS_HOME/server/etc directory. 4. Create a copy of the CARSShredder.conf.custom.template file, located in CARS_HOME/server/template. Rename the copied file to CARSShredder.conf, and place it in the CARS_HOME/server/etc/ directory. 5. Edit CARSShredder.conf to stage any additional event attributes needed for your custom reports. 6. Run the staging utility to stage data into the reporting tables using the modified CARSShredder.conf file. 7. To test and debug the output: a. Run the staging utility in historical mode to test a small amount of data. b. Verify that event attributes are correctly staged using SQL language. c. Generate a custom report to verify that the desired data is included.
2. Run the DDL file to create the cars_t_cauthz custom table. 3. Save the default CARSShredder.conf file as CARSShredder.conf.default. 4. Copy the CARS_HOME/server/template/CARSShredder.conf.custom.template file to the CARS_HOME/server/etc/CARSShredder.conf file. 5. Edit the CARSShredder.conf file by updating the [authz] stanza of the file to include the following triplets:
cars_t_cauthz, cars_seq_number, #RECORD_ID cars_t_cauthz, res_name_in_app, #resourceInfo.nameInApp# cars_t_cauthz, res_name_plcy, #resourceInfo.nameInPlcy# cars_t_cauthz, res_type, #resourceInfo.type cars_t_cauthz, access_dcn, #accessDecision# cars_t_cauthz, access_dcn_rsn, #accessDecisionReason# cars_t_cauthz, action, #action# cars_t_cauthz_attr, usr_attr_name, CommonBaseEvent/ extendedDataElements[@name=userInfo]/
Chapter 13. Creating custom reports
135
In the above example, the last two entries show the Xpath expression instead of keywords. The Xpath expression instructs the staging utility to stage when a matching condition is found. The following expression instructs the staging utility to select an attribute that contains the string "attrname" in the element name. The last entry instructs the staging utility to stage an element named "value," which corresponds to the element name that contains the string "attrname." CommonBaseEvent/ extendedDataElements[@name=userInfo]/ children[@name=attributes]/children[@name=name]/ values[contains(.,attrname)] 6. Run the staging utility in incremental mode. Refer to Running the staging utility command on page 66. 7. Use the reporting tool in your environment, for example, Tivoli Common Reporting, to generate a custom report using the data from the custom tables.
record_id Specifies the record identifier of the security event whose details are required. 'format' Specifies the format of the output. The following valid values are not case-sensitive: MAP Display the security event details as name-value pairs. XML Do not apply special formatting to the data. Specifying "XML" is the equivalent of calling the IBMCARS_DD_REPORT Java stored procedure. If the specified record_id exists in the XML data store, the record ID and the associated security event details in the specified format are returned.
136
Auditing Guide
To generate a custom drill down report without security event details in name-value pair formatting, use the SQL command to call the IBMCARS_DD_REPORT Java stored procedure:
db2 "call IBMCARS_DD_REPORT(record_id)"
where record_id is the record identifier of the security event whose details are required. If the specified record_id exists in the XML data store, the record ID and the associated security event details are returned in XML format.
137
For more information and additional resources on using Tivoli Common Reporting to create custom report packages, go to the following IBM developerWorks Web site: http://www.ibm.com/developerworks/spaces/tcr
138
Auditing Guide
145 145 146 146 146 147 147 147 148 148 149 149 149 149 150
Chapter 17. Securing data flow in the operating environment . . . . . . . . . . . . . Securing C client events . . . . . . . . . . Configuring the server . . . . . . . . . WebSphere Application Server security . . . Configuring SSL . . . . . . . . . . Mapping Common Audit Service security roles . . . . . . . . . . . . . . Securing the XML data store . . . . . . . .
139
140
Auditing Guide
141
v AUDIT_RUNTIME_KEY v AUDIT_WORKFLOW
AUDIT_AUTHN
AUDIT_AUTHN events provide information about authentication. The record includes the following information: v The type of authentication used. For example, the record could show basicAuthRFC2617 for an HTTP basic authentication or show certificate for a public key authentication. v The user who requested authentication. v Whether the authentication was successful. If the authentication failed, the record shows the reason for the failure. For example, the record could show that the account was locked out because of repeated password authentication failures.
AUDIT_AUTHN_CREDS_MODIFY
AUDIT_AUTHN_CREDS_MODIFY events provide information about modifications credentials for a user identity.
AUDIT_AUTHN_TERMINATE
AUDIT_AUTHN_TERMINATE events provide information about when a user ends a session. The record includes information about the user whose session is ending and the reason why that session is ending. Sessions can end for many reasons, including the user logging out, an administrator action to end a session for a user, or a timeout. Note: When using the session management server for session storage, configure the session management server to generate the AUDIT_AUTHN_TERMINATE events. Because WebSEAL and the Web server plug-in cannot determine when the session ends, they cannot generate the AUDIT_AUTHN_TERMINATE event.
AUDIT_AUTHZ
AUDIT_AUTHZ events provide information about authorization decisions. A WebSEAL record includes the following information: v The user who attempted access. For example, the record could show joe as the user. v The object that the user attempted to access. For example, the record could show /WebSEAL/www.example.com-default/index.html as the object. v The permission needed for access. For example, the record could show r for read permission. v The access decision. For example, the record could show permitted or denied as the access decision. The access decision is not necessarily final. The ultimate decision depends on the application making the authorization check. Consider the situation when Joe, user joe, attempts to access the index.html Web page. Joe has the permission to access this object, but he could still be denied access. Assume that the policy associated with the object requires clients to use an encrypted transport to view the object. If Joe attempts to access the object using the HTTP transport protocol, he is denied access although the outcome of the access record shows permitted.
142
Auditing Guide
Plug-in for Web Servers does not generate AUDIT_AUTHZ events. Application-level authorization results generate AUDIT_RESOURCE_ACCESS events.
AUDIT_MGMT_CONFIG
AUDIT_MGMT_CONFIG events provide information about configuration and other management operations for a server. These events apply to the policy server and policy proxy server only.
AUDIT_MGMT_POLICY
AUDIT_MGMT_POLICY events provide information about security policy management operations, such as the creation of an access control list, protected object policy, or an authorization rule. These events apply to the policy server and policy proxy server only.
AUDIT_MGMT_REGISTRY
AUDIT_MGMT_REGISTRY events provide information about the users and groups in the user registry, such as creating users and groups or modifying properties for users and groups. These events apply to the policy server only.
AUDIT_MGMT_RESOURCE
AUDIT_MGMT_RESOURCE events provide information about resource management operations. These events apply to the policy server and policy proxy server only.
AUDIT_PASSWORD_CHANGE
AUDIT_PASSWORD_CHANGE events provide information about a password change. These events are generated when users change their passwords or when an administrator changes the password. Plug-in for Web Servers generates AUDIT_PASSWORD_CHANGE events only for user-initiated password changes, not administrator-initiated password changes.
AUDIT_RESOURCE_ACCESS
AUDIT_RESOURCE_ACCESS events provide information about access to a resource, such as a file or HTTP request or response events outside of AUDIT_AUTHZ events.
AUDIT_RUNTIME
AUDIT_RUNTIME events provide information about servers. These events are generated when a server starts or stops. Runtime events can also include heartbeat events that verify whether a server is running, and statistical events. AUDIT_RUNTIME events are not generated for administrative operations.
143
Policy and policy proxy server The policy server and the policy proxy server can generate the following events that can be recorded by the Common Audit Service: v AUDIT_AUTHN v AUDIT_MGMT_CONFIG v AUDIT_MGMT_POLICY v AUDIT_MGMT_REGISTRY v AUDIT_MGMT_RESOURCE v AUDIT_RUNTIME Authorization server The authorization server can generate the following events that can be recorded by the Common Audit Service: v AUDIT_AUTHZ v AUDIT_RUNTIME WebSEAL Each WebSEAL instance can generate the following events that can be recorded by the Common Audit Service: v AUDIT_AUTHN v AUDIT_AUTHN_TERMINATE v AUDIT_PASSWORD_CHANGE v AUDIT_RESOURCE_ACCESS v AUDIT_RUNTIME For definitive information about whether a WebSEAL server allowed access to a resource, use AUDIT_RESOURCE_ACCESS events. Plug-in for Web Servers Each Web server plug-in can generate the following events that can be recorded by the Common Audit Service: v AUDIT_AUTHN v AUDIT_AUTHN_CREDS_MODIFY v AUDIT_AUTHN_TERMINATE v AUDIT_PASSWORD_CHANGE v AUDIT_RESOURCE_ACCESS v AUDIT_RUNTIME Plug-in for Web Servers does not generate AUDIT_AUTHZ events. The results for application-level authorization generate AUDIT_RESOURCE_ACCESS events. Plug-in for Edge server The Plug-in for Edge server does not generate events that can be recorded by the Common Audit Service. Plug-in for WebLogic server The Plug-in for WebLogic server does not generate events that can be recorded by the Common Audit Service. Session management server Each instance of the session management server can generate the following events that can be recorded by the Common Audit Service: v AUDIT_AUTHN v AUDIT_AUTHN_TERMINATE v AUDIT_AUTHZ v AUDIT_RUNTIME
144
Auditing Guide
Chapter 15. Common Audit Service for C-based Tivoli Access Manager servers
If you are using a C-based Tivoli Access Manager server, use the Common Audit Service embedded C client to send audit events to the Common Audit Service audit server. Event configuration for the C client is controlled using the server-specific auditing configuration files. To start sending events to the audit server, you must generate the initial configuration files and parameter settings by running the amauditcfg utility. The required procedure is described in Configuring to send audit events through the C client. After generating the initial configuration file settings using the amauditcfg utility, use the pdadmin config modify command to change settings in the configuration files. Do not use an ASCII editor to modify a configuration file. For information about modifying configuration files, see Using the config modify command for auditing on page 148.
The following example shows how to use the amauditcfg utility to configure the default WebSEAL server. The WebSEAL server is on an AIX system. Use the configuration to set up Common Audit Service over a secure (SSL) connection:
/opt/PolicyDirector/sbin/amauditcfg -action config \ -srv_cfg_file /opt/pdweb/etc/webseald-default.conf \ -enable_ssl yes -audit_key_file /certs/WSclient.kdb -audit_stash_file \ /certs/WSclient.sth -enable_pwd_auth yes -audit_id root \ -audit_pwd da21cars -audit_srv_url \ http://carsserver.example.com:9443/CommonAuditService/services/Emitter
After invoking this command, the follow output shows a successful completion:
Gathering system information. Parsing the command line. Validating the information. Configuring the server for common auditing and reporting services. Configuration completed successfully.
For complete information about using the amauditcfg utility, including how to enable secure communications with the audit server, see amauditcfg on page 405.
145
146
Auditing Guide
Note: The default audit settings that are defined by the amauditcfg utility are probably inappropriate for a WebSEAL server configuration. In particular, authz (AUDIT_AUTHZ) events do not provide definitive information about whether access was allowed to a particular resource. For definitive access information, use the resource_access (AUDIT_RESOURCE_ACCESS) event. For information about recommended audit configurations for WebSEAL, see Configurations for WebSEAL. For information about adding or modifying event types, see Using the config modify command for auditing on page 148.
Level 2 auditing Increases the level of auditing from Level 1 to include all authentication events. The configuration file must contain the following details:
[cars-filter] auditevent=authn
Level 3 auditing Increases the level of auditing from Level 2 to include all sessions. The configuration file must contain the following details:
[cars-filter] auditevent=authn auditevent=authn_terminate
Chapter 15. Common Audit Service for C-based Tivoli Access Manager servers
147
Level 4 auditing Increases the level of auditing from Level 3 to include unsuccessful access events. The configuration file must contain the following details:
[cars-filter] auditevent=authn auditevent=authn_terminate auditevent=resource_access,outcome=unsuccessful
Note: An HTTP request is considered unsuccessful if any of the following conditions is true: v An authentication failure occurred. v An authorization failure occurred. v The request dispatch from WebSEAL to the junction failed. v The HTTP response code is not a 2xx or 3xx code. If none of these conditions is true, the request is considered successful. Level 5 auditing Increases the level of auditing from Level 4 to include all access events. The configuration file must contain the following details:
[cars-filter] auditevent=authn auditevent=authn_terminate auditevent=resource_access
This level of auditing generates the most events. Because of the volume of events, this configuration might not be practical. If the WebSEAL server does not receive heavy traffic, this configuration might be practical.
Note: Although the amauditcfg utility sets the authz event (AUDIT_AUTHZ), Plug-in for Web Servers does not generate this type of event. Results of application-level authorization generate resource_access (AUDIT_RESOURCE_ACCESS) events. Make appropriate changes by using the config modify command. For information about adding or modifying event types, see Using the config modify command for auditing.
148
Auditing Guide
Before using the pdadmin config modify command, you must log in locally with the pdadmin login l command. For information about these commands, see config modify on page 392 and login on page 397.
For example to enable Common Audit Service auditing for an AIX policy server, enter the following command:
config modify keyvalue set /opt/PolicyDirector/etc/audit/pdaudit.pdmgr.conf \ cars-client doAudit yes
For example to enable Common Audit Service auditing for an AIX policy server, enter the following command:
config modify keyvalue set /opt/PolicyDirector/etc/audit/pdaudit.pdmgr.conf \ cars-client doAudit no
For example, to add runtime event auditing for an AIX policy server, enter the following command:
config modify keyvalue append /opt/PolicyDirector/etc/audit/pdaudit.pdmgr.conf \ cars-filter auditevent runtime
For example, to add resource access event auditing to an AIX WebSEAL server, enter the following command:
config modify keyvalue \ append /opt/PolicyDirector/etc/audit/pdaudit.default-webseald-aix.ibm.com.conf \ cars-filter auditevent runtime
149
For example, to remove authorization event auditing from an AIX policy server, enter the following command:
config modify keyvalue remove /opt/PolicyDirector/etc/audit/pdaudit.pdmgr.conf \ cars-filter auditevent authz
For example, to remove the authorization event auditing from an AIX WebSEAL server, enter the following command:
config modify keyvalue \ remove /opt/PolicyDirector/etc/audit/pdaudit.default-webseald-aix.ibm.com.conf \ cars-filter auditevent authz
Enhancements to improve audit event data throughput and minimize lost data
To minimize the loss of audit events, specify the following configuration options for Common Audit Service: v Provide a separate file system for cache files. v Monitor this file system regularly to determine if more space is needed, or if the Common Audit Service audit server needs attention. v Ensure that a reasonable value is used for the tempStorageFullTimeout property. This property specifies the number of seconds that the application waits before discarding events. See tempStorageFullTimeout on page 379 for information about setting the tempStorageFullTimeout property. v Specify the size and the number of cache files using the maxCacheFiles and maxCacheFileSize properties. Calculate these values using the following information: Maximum file system space available minus 5-10% of file system space = usable file system space First, multiply the maximum cache file size times the number of event queue threads (numberEQThreads, the default value is 1.) Then, subtract this value from the usable file system space to determine the remaining file system space. Divide the remaining file system space by the maximum cache file size to determine the maximum number of cache files to create. Assume that the Common Audit Service C client application is unable to send events to the Common Audit Service audit server using these properties. In this case, the application attempts to write the events to a cache file. Further, the application waits the period that is specified in the tempStorageFullTimeout option and then attempts another update to the cache file. If the application is still unable to update the cache file, the event is discarded. The application records a count of the number of events that are discarded. Assume that the Common Audit Service audit server is able to receive events. In this case, the application logs the number of events that were discarded and sends the cached events to the audit server. Ensure that the following are configured to prevent the file system from filling up: v The configuration settings for the Common Audit Service C client disk cache. v Use of the file system on which it is allocated.
150
Auditing Guide
Otherwise, file system errors can lead to a loss of the audit events that are present in the disk cache files. For example, specifying a value for tempStorageFullTimeout without appropriately specifying the number and size of disk cache files can cause the loss of cached audit events. Note: When you specify values for the options described in Configuration file stanza reference on page 369, ensure that they are within the documented range. Behavior can become unpredictable if entries are set to values that are not documented or are larger than the ones supported by the architecture.
Chapter 15. Common Audit Service for C-based Tivoli Access Manager servers
151
152
Auditing Guide
Chapter 16. Common Audit Service for Java-based Tivoli Access Manager servers
For Tivoli Access Manager, the only Java-based server is the session management server. To record audit events for the session management server, you send the events to the Common Audit Service audit server. You cannot use native Tivoli Access Manager auditing with the session management server. To use Common Audit Service with the session management server, you must perform the following tasks: v Modify the SMSAuditClient.properties file so that the embedded Java client of the Common Audit Service can: Talk with the audit server. Know which event to record. v When using Java 2 security, modify the WebSphere library.policy file. v Enable the DSess session management server application on the WebSphere node to use the shared libraries of the Common Audit Service. You can do this using either the smscars utility or the WebSphere administrative console.
153
client.doAudit = true #################################################################### # Optional parameters # #################################################################### # # # # # # # # # # # # # # # client.eventFilterAction This parameter controls event filtering based on event type. Its value must be exclude or include. The default value if not specified is include. When set to exclude any event type specified using the client.eventCount and event.<n>.name configuration parameters will be excluded from the event log. All others will be included. When set to include only event types explicitly specified using the client.eventCount and event.<n>.name configuration parameters will be included in the event log. All others will be excluded.
client.eventFilterAction = exclude # # # # # # # # # # # # # # # # # # # # # # # # # event.<n>.name This parameter identifies event types to be explicitly included or excluded from from the event log according to the value of the client.eventFilterAction parameter. <n> has the values from 1 to <client.eventCount>. There must be one event.<n>.name configuration parameter for each event type you want to include or exclude. For example to explicitly include only AUDIT_RUNTIME and AUDIT_AUTHZ events in the event log use the following settings: client.eventFilterAction = include event.1.name = AUDIT_RUNTIME event.2.name = AUDIT_AUTHZ client.eventCount = 2 The session management server generates events of the following types: AUDIT_AUTHN AUDIT_AUTHZ AUDIT_RUNTIME
#event.1.name = AUDIT_AUTHN #event.1.name = AUDIT_AUTHZ #event.1.name = AUDIT_RUNTIME # # client.eventCount # # The number of event types to explicitly include or exclude depending on # the value of the client.eventFilterAction configuration parameter. # client.eventCount = 0
154
Auditing Guide
Where cell is the name of the WebSphere cell, and node is the name of the WebSphere node. You cannot modify the library.policy file using the WebSphere administration tools. To modify the library.policy file on each cluster member, copy the contents of the library.policy.template file to the library.policy file of each cluster member. During the installation of the PDSMS package, this template file is at the following location:
sms_installation_directory/etc/library.policy.template
Chapter 16. Common Audit Service for Java-based Tivoli Access Manager servers
155
Because it is difficult to configure a Java 2 security file, use the policytool utility that is provided by the Java Runtime Environment. To merge the contents of the library.policy.template file with the library.policy file, perform the following steps: 1. Create a copy of the library.policy.template named library.policy using the following command:
cp library.policy.template library.policy
3. Using the policytool utility, customize the values of CARS_HOME and CARS_SERVER. 4. Merge the entries from the updated library.policy file into the library.policy file on each WebSphere server. The library.policy file corresponds to the WebSphere profile being configured. It is located at:
config/cells/cell/nodes/node/library.policy
Where cell is the name of the WebSphere cell, and node is the name of the WebSphere node.
Command line
The Common Audit Service is in a WebSphere single server deployment. Before you send events to the Common Audit Service, configure the session management server to use the Common Auditing and Reporting Service. Use the smscars utility. When you run this utility, the DSess application is restarted on the application server. Note: Do not use the smscars utility in a WebSphere cluster environment. Assume that the session management server is installed in a cluster environment. In this situation, use the WebSphere administrative console to configure the session management server to send events to the Common Auditing and Reporting Service. The smscars utility is distributed with the session management server. v On Linux and UNIX operating systems, it is provided as a shell script, smscars.sh, in the /opt/pdsms/bin directory. v On Windows operating systems, it is provided as an executable file, smscars.bat, in the C:\Program Files\Tivoli\PDSMS\bin directory.
156
Auditing Guide
Enter the invocation for your operating system, and, if necessary, replace the default installation directories with the actual installation directories: Linux and UNIX operating systems smscars.sh -action config -cars /opt/IBM/Tivoli/CommonAuditService -was_home /opt/IBM/WebSphere/AppServer/profiles/default Windows operating systems smscars.bat -action config -cars "C:\Program Files\IBM\Tivoli\ CommonAuditService" -was_home "C:\Program Files\IBM\WebSphere\ AppServer\profiles\default" In the previous invocations, the parameters have the following meanings: cars Specifies the installation directory for the Common Auditing and Reporting Service
-was_home Specifies the fully qualified path to the WebSphere profile under which the audit server is installed. Note: This utility has more parameters than the ones listed. For detailed information about additional parameters, see smscars on page 409. Although the documentation mentions the norestart parameter. This parameter is ignored. The successful completion of running this utility restarts the DSess application.
Chapter 16. Common Audit Service for Java-based Tivoli Access Manager servers
157
operating systems and C:\Program Files\IBM\Tivoli\ CommonAuditService\client for Windows operating systems. e. Click OK. v If the Common Audit Service Java client is installed in different locations, define the CARS_CLIENT variable at the node level. CARS_CLIENT corresponds to the node level at which the session management server is deployed. a. Select the scope of Node (clearing the Cell, Cluster, and Server fields), and click Apply. b. Click New. c. In the Name field, type CARS_CLIENT. d. In the Value field, type the installation directory of the Common Audit Service Java client. The default installation directory is /opt/IBM/Tivoli/CommonAuditService/client for Linux and UNIX operating systems and C:\Program Files\IBM\Tivoli\ CommonAuditService\client for Windows operating systems. e. Click OK. 4. For each node in the cluster, define the shared library: a. Select Environment Shared Libraries. b. Change the scope to the specific node in the cluster: 1) Click Browse Nodes. 2) Select the node to configure. 3) Click Apply. 4) Click New. c. Define the properties of the new shared libraries: 1) In the Name field, type SMSCARS. 2) In the Description field, optionally type CARS library for SMS. 3) In the Classpath field, type the following list of entries, and press Enter between each entry: v ${CARS_CLIENT}/etc v ${CARS_CLIENT}/lib/cars.jar v ${CARS_CLIENT}/lib/commons-jxpath.jar v ${CARS_CLIENT}/lib/events-client.jar v ${CARS_CLIENT}/lib/events-messages.jar 4) In the Native library path field, type ${CARS_CLIENT}/lib. d. Click OK. The shared libraries are now configured, but you still must make them available to the DSess application. Select Applications Enterprise Applications DSess. In the Additional Properties page, select Libraries. Click Add. Select SMSCARS. Click OK
5. 6. 7. 8. 9.
10. Click Save, set Synchronize changes with Nodes, and click Save again. With the shared libraries configured and added to the DSess application, you must restart the application. 11. Restart the DSess application.
158
Auditing Guide
Procedure
1. Use the WebSphere Application Server administrative console to configure the desired user registry. The following user registries are available for configuration: v Local operating system. See Configuring the operating system registry on page 160 for instructions. v LDAP. See Configuring the LDAP registry on page 160 for instructions. v Custom. See Configuring a custom registry on page 162 for instructions. v Federated. See Configuring a federated registry on page 162 for instructions. 2. Enable the administrative and application security option for the desired user registry that you configured, using the following steps: a. Click Security Secure administration, applications, and infrastructure Enable administrative security. b. Click Security Secure administration, applications, and infrastructure Enable application security. c. In Available realm definitions, select the user registry that you have configured (for example, Lightweight Directory Access Protocol (LDAP) user registry).
Copyright IBM Corp. 2001, 2010
159
d. Click Security Secure administration, applications, and infrastructure Set as current. This selection forces validation of any properties that are configured for the selected realm. e. Click Apply and then save the changes. If you are in a WebSphere Application Server Network Deployment environment, be sure to select Synchronize changes with Nodes before saving the changes. 3. Manually add the security policy for the DB2 JDBC driver, see Configuring security policy for the JDBC provider. 4. Enable the Java 2 security option with the following steps: a. Click Security Secure administration, applications, and infrastructure Use Java 2 security to restrict application access to local resources. b. Click Security Secure administration, applications, and infrastructure Warn if applications are granted custom permissions. c. Click Security Secure administration, applications, and infrastructure Restrict access to resource authentication data. 5. 5. Click Apply and save the changes. Configuring the operating system registry: In a clustered environment it is recommended that you use an LDAP registry (or a federated repository that includes an LDAP registry) in order to maintain consistency of the registry between nodes in the cluster. Note that you should use an LDAP registry if the Network Deployment cell (all of the nodes) is not located on a single machine, or where the WebSphere Application Server is running on UNIX as a non-root user. About this task From the WebSphere Application Server administrative console, configure the local operating system registry settings: Procedure 1. Click Security Secure administration, applications, and infrastructure Available realm definitions. 2. Select Local operating system from the drop-down list. 3. Click Security Secure administration, applications, and infrastructure Configure. 4. Specify the Primary administrative user name property, which is a user with administrative privileges who is defined in the local operating system. 5. Either click the Automatically generated server identity button (recommended for WebSphere Application Server Version 6.1 or higher), or click the Server identity radio button and specify the following properties: v Server user ID (for example, root). This value must be a valid user ID in the local operating system registry. v Server user password (for example, abc26xyz) 6. Click OK and then save the changes. Configuring the LDAP registry: About this task The Lightweight Directory Access Protocol (LDAP) user registry is used when users and groups are located in an external LDAP directory. In a clustered
160
Auditing Guide
environment it is recommended that an LDAP registry be used because of the need to maintain consistency of the registry between nodes in the cluster. From the WebSphere Application Server administrative console, configure the LDAP registry settings: Procedure 1. Click Security Secure administration, applications, and infrastructure Available realm definitions. 2. Select Standalone LDAP registry from the drop-down list. 3. Click Security Secure administration, applications, and infrastructure Configure. 4. Specify the Primary administrative user name property, which is a name of a user in your LDAP registry who has administrative privileges. 5. Either click Automatically generated server identity (recommended for WebSphere Application Server Version 6.1 or higher), or click Server identity and specify the server user ID and password to access the properties: v Server user ID (for example, root), which is the operating system user ID that the application server is using for security purposes. v Server user password (for example, abc26xyz). 6. Specify the following properties: v Type of LDAP server (for example, IBM Tivoli Directory Server) v v v v v v Host (for example, server1.tivlab.austin.ibm.com) Port (for example, 389) Base distinguished name (for example, ou=tivoli,o=ibm,c=us) Bind distinguished name (for example, cn=root,ou=tivoli,o=ibm,c=us) Bind password (for example, abc26xyz) Search timeout (for example, 120)
v Reuse connection (recommended to use the default which is "enabled"). This property prevents the LDAP connection from reestablishing on each LDAP access. v Enable the Ignore case for authorization property if your LDAP server requires it. 7. Select the SSL enabled option to enable SSL communication between the LDAP server and WebSphere Application Server. Click Centrally managed to defer the selection of the SSL configuration to the server-wide endpoint management scheme; otherwise, click Use specific SSL alias and select a configuration scheme from the drop-down list. 8. Click OK and save the changes. If you are in a WebSphere Application Server Network Deployment environment, select Synchronize changes with Nodes before saving the changes. 9. Select Test connection to check the validity of the specified information; otherwise, the validity of the information is not confirmed until this registry is selected as the current repository. What to do next To enable security in a WebSphere Application Server Network Deployment environment using an LDAP user registry, you need to configure LTPA as the active authentication protocol to authenticate the users. See Configuring the LTPA authentication mechanism on page 164 for instructions.
Chapter 17. Securing data flow in the operating environment
161
Configuring a custom registry: About this task A custom registry is any registry that implements the com.ibm.websphere.security.UserRegistry interface. From the WebSphere Application Server administrative console, configure the custom registry settings: Procedure 1. Click Security Secure administration, applications, and infrastructure Available realm definitions. 2. Select Standalone custom registry from the drop-down list. 3. Click Security Secure administration, applications, and infrastructure Configure. 4. Specify the Primary administrative user name property, which is a name of a user in your custom registry who has administrative privileges. 5. Either click Automatically generated server identity (recommended for WebSphere Application Server Version 6.1 or higher), or click Server identity and specify the following properties: v Server user ID (for example, root), which is the operating system user ID that the application server is using for security purposes. v Server user password (for example, abc26xyz). v Custom registry class name (for example, com.ibm.websphere.security) v Enable the Ignore case for authorization property if your custom class requires it. 6. Click OK and save your changes. If you are in a WebSphere Application Server Network Deployment environment, select Synchronize changes with Nodes before saving the changes. Configuring a federated registry: About this task A federated registry allows consolidation of multiple repositories into a single virtual registry. From the WebSphere Application Server administrative console, configure the federated registry settings: Procedure 1. Click Security Secure administration, applications, and infrastructure Available realm definitions. 2. Select Federated repositories from the drop-down list. 3. Click Security Secure administration, applications, and infrastructure Configure. 4. Specify the Realm name which will apply to this collection of registries. 5. Specify the Primary administrative user name property, which is the name of a user in one of the federated registries who has administrative privileges. 6. Either click Automatically generated server identity (recommended for WebSphere Application Server Version 6.1 or higher), or click Server identity and specify the following properties:
162
Auditing Guide
v Server user ID (for example, root), which is the operating system user ID that the application server is using for security purposes. v Server user password (for example, abc26xyz). v Enable the Ignore case for authorization property if case sensitivity is not important. 7. Use the Repositories in the realm table to manage the repositories that you want federated. Optionally, you can add the built-in file repository as well as any external LDAP registries. 8. Click OK and save your changes. If you are in a WebSphere Application Server Network Deployment environment, select Synchronize changes with Nodes before saving the changes. Configuring the security policy for the JDBC provider: About this task A JDBC provider JAR file and directory path are configured to access the DB2 Audit Database (XML data store). If Java 2 security is enabled, this JAR file must be granted access permissions before it is configured into the WebSphere Application Server using the configuration console. To grant access permissions to the JAR file, add the appropriate grant policy to the app.policy file that is located in the target node. For a cluster configuration, the target node is the Deployment Manager node; for a stand-alone server, the target node is the server parent node. Use the following steps to grant permissions to the JAR file: Procedure 1. Start the wsadmin tool of the target profile for which you want to configure a Common Audit Service server instance 2. Extract the policy file to a temporary location using the following command: wsadmin>set obj [$AdminConfig extract cells/cell_name/node/node_name/app.policy temp_file_path/app.policy] The node_name value should be for a CellManager node if you are using Deployment Manager. Ensure that temp_file_path exists prior to running the command. Use either a single forward slash (/) or a double back slash (\\) while specifying the path on Windows, do not use a single back slash (\) to specify the path. 3. In a separate shell, run the Policy Tool to edit the extracted app.policy file. See Editing the app.policy file using the Policy Tool for detailed instructions on using the Policy Tool. The following list summarizes the changes you need to make. a. Create a policy with codeBase "file:JDBC_driver_path/db2jcc.jar". b. Add the permission "AllPermission". c. Save the policy file. 4. Check the policy file back into the WebSphere Application Server node using the following command: wsadmin>$AdminConfig checkin cells/cell_name/node/node_name/app.policy temp_file_path/app.policy &obj Editing the app.policy file using the Policy Tool:
Chapter 17. Securing data flow in the operating environment
163
About this task The Policy Tool is a utility to enable editing of Java policy files, such as app.policy. Follow these steps to update the policy for the JDBC provider. Procedure 1. Start the Policy Tool. On UNIX and Linux platforms, use the following command: was_install_root/java/jre/bin/policytool On Windows platforms, use the following command: was_install_root\java\jre\bin\policytool.exe The tool looks for the java.policy file in the home directory. If it does not exist, an error message is displayed. 2. To dismiss the error, click OK. 3. Click File-> Open. 4. Navigate the directory tree in the Open window to the temporary file temp_file/app.policy. Select the file and click Open. The existing code base entries are listed in the window. 5. Create a new code base entry by clicking Add Policy Entry. 6. In the Policy Entry window, in the code base column, add the string file:JDBC_driver_path/db2jcc.jar, where JDBC_driver_path represents the path to your JDBC driver. Use a forward slash (/) to specify JDBC_driver_path. 7. Click Add Permission to add the permission for the JDBC driver. 8. In the permissions window, select the AllPermission entry in the drop-down list. Click OK. 9. In the Policy entry window, the string permission java.security.AllPermission is displayed beneath the Permission buttons. Click Done. 10. Click File-> Save to save the updated file. 11. Click File-> Exit to exit the tool. Configuring the LTPA authentication mechanism: From the WebSphere Application Server administrative console, configure Lightweight Third-Party Authentication (LTPA) token authentication. Procedure 1. Click Security Secure administration, applications, and infrastructure Authentication mechanisms and expiration Key set groups. 2. 2. Under Key Generation: a. Check the CellLTPAKeySetGroup key set group. b. Click Generate keys. 3. Under Authentication expiration, specify the following properties: v Authentication cache timeout v Timeout value for forwarded credentials between servers (for example, 120) 4. Click OK and save the changes. If you are in a WebSphere Application Server Network Deployment environment, select Synchronize changes with Nodes before saving the changes. 5. Click Secure administration, applications, and infrastructure.
164
Auditing Guide
6. Click OK and save the changes. If you are in a WebSphere Application Server Network Deployment environment, be sure to select Synchronize changes with Nodes before saving the changes. Restarting the cluster: About this task From the WebSphere Application Server administrative console, restart the cluster to enable the global security method using these steps: Procedure 1. Expand Servers. 2. Click Clusters and select the target cluster. 3. Click Stop. 4. Stop and restart the deployment manager system with the WebSphere Application Server security enabled method. 5. Stop and restart the agent on the managed nodes with the WebSphere Application Server security enabled method. 6. Expand Servers. 7. Click Clusters and select the target cluster. 8. Click Start. What to do next From this point on, you must use the WebSphere Application Server security enabled method for stopping and starting the Deployment Manager and managed nodes.
Configuring SSL
This topic describes how to configure SSL for securing Web service client communications. Following are three ways you can configure SSL: v Configure WebSphere Application Server for SSL. v Configure SSL communication between the IBM HTTP Server plug-in and the WebSphere Application Server. v Configure the IBM HTTP Server for SSL (required in a clustered environment). Configuring WebSphere Application Server for SSL: About this task From the WebSphere Application Server Administrative Console, use the following steps to configure WebSphere Application Server Secure for Secure Sockets Layer (SSL) authentication: Procedure 1. Create an SSL configuration entry: a. Click Security SSL certificate and key management. b. Click SSL Configuration from the Related Items list. c. Click New to create an SSL configuration specifically for Common Audit Service. d. Specify Name as CARSSSLConfiguration.
Chapter 17. Securing data flow in the operating environment
165
e. f. g. h. i.
Specify Trust store name (for example, CellDefaultKeyStore). Specify Keystore name (for example, CellDefaultKeyStore). Click Get certificate aliases. Specify Default server certificate alias (for example, as default). Specify Default client certificate alias (for example, as default).
j. Click OK and save the changes. If you are in a WebSphere Application Server Network Deployment environment, select Synchronize changes with Nodes before saving the changes. 2. Now you must configure SSL between the WebSphere Application Server and the Web service client. To do this, assign an SSL configuration to a WebSphere Application Server configuration scope that enables the port for encryption and decryption of inbound data. a. Click Security SSL certificate and key management Manage endpoint security configurations. b. In the inbound local topology tree, click on the cluster or server name into which Common Audit Service is being deployed. c. Under Specific SSL configuration for this endpoint, enable Override inherited values. d. Select CARSSSLConfiguration from within the SSL configuration field. e. Click Update certificate alias list. f. Specify the certificate alias in key store from the drop down list (for example, default). g. Click OK and save the changes. h. Click Security SSL certificate and key management. i. Select to dynamically update the run time when SSL configuration changes occur. j. Click Apply and save the changes. If you are in a WebSphere Application Server Network Deployment environment, select Synchronize changes with Nodes before saving the changes. Configuring the Web server plug-in for SSL: This topic describes how to set SSL security for communication between the Web server and a WebSphere Application Server Web server plug-in. The Web server plug-in can be enabled to securely communicate with the corresponding Web server, which might be critical because the Web server is usually remote to at least some of the nodes in the cluster. Security is implemented using the SSL protocol as follows: About this task Perform the following steps to set up SSL security for communication between the Web server and the Web server plug-in that is configured in a WebSphere Application Server cluster. Refer to Configuring a Web server that is installed on a system outside the cluster on page 45 for information on configuring the Web server plug-in. Procedure 1. From the WebSphere Application Server Administrative Console, click Servers->Web servers. 2. Select the Web server name.
166
Auditing Guide
3. Click Plug-in properties. 4. Under Repository copy of Web server plug-in files, specify the keystore filename (or accept the default name) in the following field: Plug-in key store file name Stores the cryptographic keys for the plug-in. The default value is Plugin-key.kdb. 5. Under the Web server copy of Web server plug-in files, specify the keystore filepath in the following field: Plug-in key store directory and file name The filepath is WAS_HOME/Plugins/config/webserver_name /Plugin-key.kdb. 6. Click Manage keys and certificates to access configuration options for your keys and certificates. By default, you can change the password that you use to protect the key store. 7. Click Apply to save the password changes. 8. Under Additional Properties, you can also select the following: Signer certificates Use this option to add new certificates, delete certificates, extract certificates, and to retrieve certificates from a port. Personal certificates Use this option to create a new self-signed certificate, delete a certificate, or to import and export a personal certificate. Personal certificate requests Use this option to manage personal certificate requests. Custom properties Use this option to define custom properties for the key store. 9. Click Personal certificates and confirm that at least one personal certificate is in the keystore. 10. Click Servers-> Web servers-> webserver_name-> Plug-in properties-> CMSKeyStore->Copy to Web server key store directory to copy the key store and to stash the files to a managed Web server. Configuring the IBM HTTP Server for SSL: This topic describes how to configure the IBM HTTP Server for SSL. SSL is required in a WebSphere Application Server clustered environment. Before you begin The Common Audit Service Web service client can invoke the Common Audit Service either directly by talking to the WebSphere Application Server embedded HTTP server, or indirectly by first going through a Web Server. The Web server can be the IBM HTTP Server or another third party Web server. The Web server must be enabled for SSL for secure communication with the client. Refer to the appropriate Web server documentation for details on how to enable SSL. About this task Follow these steps:
167
Procedure 1. Use the IBM HTTP Server IKEYMAN utility to create a CMS key database file and insert the server's personal certificate. For example, to create a CMS key database file, open the CARSServerKey.jks file in IKEYMAN and then save it as a CMS file. Copy the CARSServerKey.kdb and CARSServerKey.sth files to a directory on the HTTP server (for example, /data/certs). 2. Modify the httpd.conf file. For the IBM HTTP Server to support HTTPS, you need to enable SSL on the IBM HTTP Server. You can modify the configuration file of IBM HTTP Server, which is IHS_HOME/conf/httpd.conf. IHS_HOME is the home directory of your IBM HTTP Server. Open the IHS_HOME/conf/httpd.conf file and add the following lines to the bottom of the file. This example uses port 443.
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so <IfModule mod_ibm_ssl.c> Listen 443 <VirtualHost *:443> SSLEnable SSLClientAuth none SSLServerCert certname </VirtualHost> </IfModule> SSLDisable Keyfile /data/certs/CARSServerKey.kdb
Note: The SSLServerCert certname is the label of the server's certificate in the key database file. It is not needed if the default certificate in the keyfile is used. Change the host name and the path for the key file accordingly. You can also use the administrative console to enable SSL. 3. Restart the IBM HTTP Server. 4. Add the port number to the virtual host. To enable the application server to communicate with the IBM HTTP Server using, for example, port 443, add the host alias on the default_host. In the administrative console: a. Click Environment Virtual Hosts default_host. b. Under Additional properties, click Host Aliases New. c. Enter the following information in the fields: v Type * for Host Name. v Type 443 for Port. d. Click Apply and Save. When you click Save, the information is written to the security.xml file and the Web server plug-in. For example, /opt/IBM/WebSphere/Plugins/config/webserver1_hostname/plugin-cfg.xml is automatically updated. 5. 5. Enable security on your installed Web server. a. Click Servers Web servers your_web_server Global directives. b. Under Global Directives specify the following information: v Select Security enabled. v Enter CARSWebStore in Key store certificate alias. v Enter *:443 in Listen ports. c. Click Apply and Save to enable port 443 for listening on the Web server. 6. Stop and restart the IBM HTTP Server and IBM HTTP Administrative Server.
168
Auditing Guide
7. Stop and restart WebSphere Application Server. In a clustered environment, stop and restart the cluster.
Procedure
1. Click Applications Enterprise Applications CommonAuditService Security role to users/group mappings. 2. Select the EventSource role. 3. Click on one of the following: v Look up users to map users v Look up groups to map groups 4. Click Search to display the available users or groups list. 5. Select the users or groups from the list and click >> to move them to the selected list. If the user registry is Local Operating System, then select root, for example. 6. Click OK to add the selected users or groups to the Mapped users or Mapped groups list. 7. Repeat steps 2 through to 6 to add the eventAdministrator and eventCreator roles. Add other users and groups as needed. 8. Click OK and then save the changes. If you are in a WebSphere Application Server Network Deployment environment, select Synchronize changes with Nodes before saving the changes.
What to do next
The All-Authenticated and Everyone meta-groups override any mapped users or groups; therefore, ensure that you clear these meta-groups when mapping a specific user or group.
169
170
Auditing Guide
Detailed information about how to use the XML data store utilities is in Running the XML data store utilities on page 67.
Copyright IBM Corp. 2001, 2010
171
Detailed information about how to use the XML data store utility is in Running the XML data store utilities on page 67.
172
Auditing Guide
Enabling statistics for a single component . . Enabling statistics for multiple components . Access Manager components and activity types pd.log.EventPool.queue . . . . . . . . pd.log.file.agent . . . . . . . . . . pd.log.file.clf . . . . . . . . . . . pd.log.file.ref . . . . . . . . . . . pd.ras.stats.monitor . . . . . . . . . WebSEAL components and activity types . . . pdweb.authn component . . . . . . . pdweb.authz component . . . . . . . pdweb.doccache component . . . . . . pdweb.http component . . . . . . . . pdweb.https component . . . . . . . . pdweb.vhj.# component . . . . . . . . pdweb.jct.# component . . . . . . . . pdweb.jmt component . . . . . . . . pdweb.sescache component . . . . . . pdweb.threads component . . . . . . . Plug-in for Web Servers components and activity types . . . . . . . . . . . . . . . pdwebpi.authn component . . . . . . . pdwebpi.authz component . . . . . . . pdwebpi.sescache component . . . . . . pdwebpi.threads component . . . . . . pdwebpi.vhost.# component . . . . . .
. 205 . 206 207 . 207 . 208 . 208 . 208 . 208 . 208 . 208 . 209 . 209 . 211 . 212 . 212 . 212 . 213 . 213 . 214 . . . . . . 215 215 216 216 216 217
201 201 201 202 202 202 203 203 203 203 203 203 203 204 204 204 205 205
173
174
Auditing Guide
Log agents
With event logging, the concept of a log agent includes capturing events that are redirected to destinations other than the local file system. Event logging uses the following types of log agents, each agent represents an audit trail: v Sending events to the console v Configuring file log agents v Configuring pipe log agents v Configuring remote log agents
175
To enable the recording of audit events, associate an event category with a log agent (file, pipe, or remote) or associate an event category with a console destination (stdout or stderr). When defining the parameters for any logcfg entry, be aware of the following conditions: v v v v v Parameters can be specified in any sequence Parameter names are not case-sensitive Parameter names can be shortened to any unambiguous name Parameters differ by log agent Parameters are optional
Events for a category are inclusive of all subcomponents in the hierarchy. That is, a foo.bar.fred event is captured when the foo.bar category is defined. You can attach multiple log agents to the same category. For example, the following configuration: v Captures authorization audit events (category audit.azn) and uses a file agent to copy these events to the audit.azn file. v Uses a pipe agent to relay these same events to the analyse.exe program.
[ivacld] logcfg = audit.azn:file path=/var/PolicyDirector/log/audit.azn logcfg = audit.azn:pipe path=/bin/analyse.exe
176
Auditing Guide
Table 42. Available parameters for the logcfg stanza entry (continued) EventPool category rebind_retry rollover_size server Yes Yes File log agent Pipe log agent Remote log agent Yes
You can define the following parameters for pipe log agents: flush_interval Configure the flush_interval parameter to limit the amount of time that events can remain in the propagation queue. Specify the time in seconds. Assume that the size of the queue does not reach the high water mark within the specified interval. In this case, events in the queue are forwarded to the log agents. The default value is 10 seconds. Specifying a value of 0 is equivalent to setting the value to 600 seconds. hi_water Configure the hi_water parameter to indicate the threshold where events in the propagation queue are forwarded to the log agents. Assume that the size of the queue does not reach this high water mark within the defined flush interval. In this case, events in the queue are forwarded to the log agents. The default value is calculated as two-thirds of the configured queue size. If the queue size is 0 (unlimited), the high water mark is set to 100 events. If the high water mark is 1 event, each event in the queue is forwarded immediately to the log agents. Setting a low value for the high water mark can have an adverse effect on performance. For additional information, see the IBM Tivoli Access Manager for e-business: Performance Tuning Guide. queue_size
177
Because each event in the propagation queue consumes memory, configure the queue_size parameter to define the maximum number of events that the propagation queue can hold. If the maximum size is reached, the event-producing thread is blocked until space is available in the queue. Blocking corresponds to throttling back the performance of the event-producing thread to a rate that can be consumed by the logging threads. The default value is 0. Specifying a value of 0 indicates that no size limit is enforced on the propagation queue. The propagation queue can grow to an unmanageable size when: v You use the default value, and v The logging threads cannot process events as they enter the propagation queue.
Logging to the console does not use any queuing. The events are written to the console as they are received from the propagation queue. Depending on the queue settings, events might be delayed in the propagation queue. If you are using console output and running a server in the foreground for debugging purposes, you might want to set the propagation queue settings accordingly. For example, set the hi_water parameter to a low value.
4. Save and exit the configuration file. For example, to capture all audit events to standard error, define the following entry in the configuration file:
[ivmgrd] logcfg = audit:stderr
178
Auditing Guide
4. Save and exit the configuration file. To capture all audit events to standard output, define the following entry in the configuration file:
[ivmgrd] logcfg = audit:stdout
Parameter names can be shortened to any unambiguous name. For example, the hi_water parameter can be shortened to hi. A file is opened only once. The file opens according to the options in the first configuration entry processed when: v Multiple configuration entries exist. v You want to selectively capture events to the same file. v You want to capture events at different points of the event pool hierarchy. After a file was opened, further file configurations can use the following shorthand notation to record events to the same file:
[ivacld] logcfg = category:file log_id=logid
Writing to a file can be a slow operation relative to the tasks that are generating events. Therefore, events are posted to a file log agent through a second level of queuing. This second level of event queuing is configured like the central event propagation queue, but has different default values.
179
For example, around 10 events are packed into each buffer that is written to the file when: v The value for the buffer_size parameter is set to 2 KB. v Events are assumed to be about 256 bytes. This process reduces the number of disk input/outputs (I/Os) that are made while logging to 10 percent of the equivalent non-buffering case. A default queue size of 200 also consumes around 10 times the memory of a default configuration that did no buffering if: v The buffer size was 2 KB. v The event size was around 200 bytes. This size is because the maximum queue size value has not been changed. However, the size of events being queued has increased tenfold. flush_interval The flush_interval parameter is a multiuse parameter. Ensure that stream buffers are flushed to disk regularly. Configure the frequency with which the server asynchronously forces a flush of the file stream to disk. To configure this frequency, use the flush_interval parameter. The value defined for this parameter is 0, < 0, or the flush interval in seconds. Specifying a value of 0 results in the buffer being flushed every 600 seconds. Specifying a value of < 0 results in the absolute value being used as the asynchronous flush frequency. However, a stream flush is also forced synchronously after each record is written. Events are consolidated into large buffers based on the value of the buffer_size parameter. However, the flush_interval parameter also might affect the size of buffer written. When a flush is scheduled, an in-memory, partially filled buffer is also queued for writing before it completes the buffer fill. The event queue is triggered for processing at the flush interval rate. The trigger enables processing of events that were waiting for longer than the scheduled flush time. Such processing applies to a scenario when the queue does not reach the high water mark between scheduled flushes. hi_water Processing of the event queue is scheduled regularly at the configured flush interval. It also is triggered asynchronously by the queue size reaching a high water mark on the event queue. The default value is two-thirds of the maximum configured queue size. If the maximum queue size is zero, the high water mark is set to a default of 100. The transaction rates and the values of these options determine the maximum amount of memory that is consumed by enabling event logging to file. If the event queue high water mark is set to 1, every event queued is relayed to the log agent as soon as possible. This setting is not optimal. Use it if you want to ensure that events get to disk as fast as possible. Doing so adversely impacts overall performance.
180
Auditing Guide
log_id An open log file is associated with a short name identifier to facilitate the recording of events from different categories to the same file. Use the log_id parameter to set the log file identifier (ID) explicitly; otherwise, it is given a default value. If the path parameter is specified, the default value is the configured path name. If the path parameter is not specified, the log ID defaults to the domain component of the event category being captured. For example:
logcfg = audit.azn:file
implies
log_id=audit
To capture events to a common file, set the log file ID to a suitable value in a fully optioned file configuration. Then, use the shorthand configuration variant to capture events from additional categories as shown:
[aznapi-configuration] logcfg = audit.azn:file path=/opt/PolicyDirector/log/audit.log, rollover_size=-1,flush_interval=20,log_id=audit, ... logcfg = audit.authn:file log_id=audit
Because of the default rules, this configuration is also equivalent to the following specification:
[aznapi-configuration] logcfg = audit.azn:file path=/opt/PolicyDirector/log/audit.log, rollover_size=-1, ... logcfg = audit.authn:file
If you construct a configuration where the log ID value does not match any open log file, no events are captured. For example, the following configuration does not record any events because the configuration line that initializes the log file was commented out:
[ivacld] #logcfg = audit.azn:file path=/tmp/azn.log,log_id=azn,... logcfg = audit.authn:file log_id=azn
mode Configure the mode parameter to open a file in either text or binary mode. For example:
[aznapi-configuration] logcfg = audit.azn:file ... mode={text|binary}, ...
Text mode is deprecated on Linux and UNIX operating systems. On Microsoft Windows 32-bit platforms, opening a file in text mode enables end-of-line character translations in the log file. Binary mode on a Windows operating system writes the log file in a UNIX-compatible format. path The path specifies the name and location of a log file. There is no default value, because the value of the log_id parameter takes precedence. An example for the WebSEAL audit trail file on Linux and UNIX operating systems is as follows:
Chapter 19. Audit event logging
181
The directory portion of this path must exist. The log file is created if it does not exist. queue_size There is a delay between events being placed on the queue and the file log agent removing them. The queue_size parameter specifies the maximum size to which the queue is allowed to grow. Consider that a new event is ready to be placed on the queue. Then, if the queue reaches the maximum size, the requesting thread is blocked until space is available in the queue. This process causes the performance of the event propagation thread to slow down to that of the file logging thread. Limiting the queue size for the log agent must be configured with setting the queue size for the central event propagation queue. Unless the event propagation defined by the queue_size parameter is constrained appropriately, memory usage can still grow without bounds.
[aznapi-configuration] logcfg = audit.azn:file ... queue_size=number_events, ...
The default value is 0. Specifying a value of 0 indicates that no limit is enforced on the growth of the unprocessed event queue. Correspondingly, the event propagation thread is not constrained by the speed of the logging thread. The unrecorded event queue can grow to an unmanageable size if: v You are using the default. v Events are being generated faster than they can be recorded to file. rollover_size Configure the rollover_size parameter to specify the maximum size to which a log file can grow. The default value is 2000000 bytes. When the size of a log file reaches the specified rollover threshold, the existing file is backed up. The back-up happens to a file of the same name with the current date and time stamp appended. A new log file is then started. The possible rollover size values are interpreted as follows: v If the rollover_size value is less than zero, a new log file is created: With each invocation of the process, and Every 24 hours since that instance. v If the rollover_size value is equal to zero, the log file grows until it reaches 2 GB and then rolls over. If a log file exists at startup, new data is appended to it. v If the rollover_size value is greater than zero, the log file grows until it reaches The lesser of the specified value, or 2 GB. - and then rolls over. If a log file exists at startup, new data is appended to it.
182
Auditing Guide
The default directories are: Linux and UNIX operating systems /opt/PolicyDirector/log Windows operating systems C:\Program Files\Tivoli\Policy Director\log\ The default file name depends on the type of logging being performed, such as audit.log 5. Specify the identifier for the log file:
log_id=logid
Use the log_id parameter to set the log file identifier (ID) explicitly; otherwise, it is given a default value. If the path parameter is specified, the default value is the configured path name. If the path parameter is not specified, the log ID defaults to the domain component of the event category being captured. For example, logcfg=audit.azn:file implies log_id=audit. 6. Specify the maximum size of the log file:
rollover_size= value
By default is rollover_size=2000000. The rollover size values are interpreted as: v If less than zero, a new log file is created with each invocation of the process and every 24 hours from that instance. v If equal to zero, no rollover is performed, and the log file grows indefinitely. If a log file exists, new data is appended to it. v If greater than zero, a rollover is performed when a log file reaches the configured threshold value. If a log file exists at startup, new data is appended to it. 7. Specify the maximum size of the buffer:
buffer_size={0|number_kb}
By default, the buffer size for logging to a file is 0 bytes, This buffer size prevents buffering so that each event is handled individually. If a value other than 0 is specified, events are packed into buffers of that size before queuing to the file log agent.
183
Buffers consist of only an integral number of events; events are not split across buffers. If any individual event exceeds that maximum configured size, the large event is recorded in a buffer of its own, exceeding the configured value. 8. Specify the maximum number of events to queue in memory:
queue_size={0|number_events}
By default, the queue size is 0. A zero queue size means that no limit is enforced on the growth of the unprocessed event queue. The requesting thread is blocked until space is available in the queue when: v The queue_size is defined as any valid value except 0. v The number of events in the queue reaches the defined queue size. v A new event is ready to be placed on the queue. 9. Specify the event queue high water mark:
hi_water={0|1|number}
By default, the event queue high water mark value is two-thirds of the maximum configured queue size. If the maximum queue size is 0, the high water mark is set to a default of 100. The transaction rates and the values of these options determine the maximum amount of memory that is consumed by enabling event logging to file. If the event queue high water mark is set to 1, every event queued is relayed to the log agent as soon as possible. This setting is not optimal. 10. Specify the frequency for flushing log file buffers:
flush_interval={0|number_seconds}
On Microsoft Windows 32-bit platforms, opening a file in text mode enables end-of-line character translations in the log file. Binary mode on a Windows operating system writes the log file in a UNIX-compatible format. Text mode is deprecated on Linux and UNIX operating systems. 12. Save and exit the configuration file. For example, to configure a file log agent to capture authorization events, the following sample shows the logcfg entry:
[aznapi-configuration] logcfg=audit.azn:file path=/opt/PolicyDirector/log/audit.log, flush_interval=20,rollover_size=2000000,log_id=audit,queue_size=200, hi_water=100,buffer_size=2,mode=text
Tuning the buffer size with the queue size and the event queue high water mark can improve performance.
Parameter names can be shortened to any unambiguous name. For example, the hi_water parameter can be shortened to hi.
184
Auditing Guide
The named program must exist and must be an executable program. The administrator is responsible for ensuring the security of the program that is to be run. Each occurrence of a pipe agent in the configuration file invokes a new copy of the pipe program. Unlike logging to file, piped events are not multiplexed from different capture points to a single copy of the program.
There is no default value. queue_size Configure the pipe log agent in the same way that you configure file log agents. The queue_size parameter has similar meaning for both log agents.
4. Specify that you want to pipe event records to another program (:pipe):
logcfg = audit:pipe
5. Specify the path to the location of the program to receive the log output on standard input:
path=fully_qualified_path
There is no default value. 6. Specify the maximum number of events to queue in memory:
queue_size={0|number_events}
By default, the queue size is 0. A zero queue size means that no limit is enforced on the growth of the unprocessed event queue. A requesting thread is blocked until space is available in the queue if:
Chapter 19. Audit event logging
185
v The number_events value is greater than zero. v The queue size reaches the maximum number_events value. v A new event is ready to be placed on the queue. 7. Specify the event queue high water mark:
hi_water={0|1|number}
By default, the event queue high water mark value is two-thirds of the maximum configured queue size. If the maximum queue size is 0, the high water mark is set to a default of 100. The transaction rates and the values of these options determine the maximum amount of memory that is consumed by enabling event logging to file. If the event queue high water mark is set to 1, every event queued is relayed to the log agent as soon as possible. This setting is not optimal. 8. Specify the frequency for flushing log file buffers:
flush_interval={0|<0|number_seconds}
A flush interval of 0 is not allowed. Specifying a value of zero results in the value 600 seconds being used. If you specify a negative value, the absolute value is used as the asynchronous flush frequency. However, a stream flush is also forced synchronously after every record is written. Ensure that stream buffers are flushed to disk regularly. Use the flush_interval parameter to control how often the server asynchronously flushes the file stream. 9. Save and exit the configuration file. This example pipes event records to the my_log_watcher file:
[aznapi-configuration] logcfg = audit:pipe path=/opt/risk_analyser/bin/my_log_watcher,queue_size=0,hi_water=100, flush_interval=300
Parameter names can be shortened to any unambiguous name. For example, the hi_water parameter can be shortened to hi. Requests to log an event remotely are accepted on a best effort basis only. If the remote authorization server is not available, captured events are cached locally and relayed at a later date, if and when the server becomes available. Only one remote logging connection is established to a remote authorization server. Consider the case where multiple configuration entries are made to: v Selectively capture events, v Capture events at different points of the event pool hierarchy, and v To the same remote server.
186
Auditing Guide
Then, the remote connection is established according to the options of the first remote configuration entry processed. Multiple remote connections can be configured to log to different remote authorization servers. Events received at the remote authorization server are placed in the event pool of that server. The events are placed in a different location from where they were originally captured on the client system. All events entering a host through the remote logging service are placed in a category constructed in the following manner:
remote.client-category-domain.hostname.program
Note: The short name version of the host name is shown in some of the examples, however, the fully qualified host name is often required. To obtain system configuration information, you can use the gethostbyname command. For events that are filtered by program name, that is, using pdmgrd, specify the fully qualified host name. In the following example, all audit events logged remotely from pdmgrd program on host amazon appear on the remote log server under pool remote.audit.amazon.mydomain.com.pdmgrd. Appearing under one pool allows for the remote server to selectively record events in various destinations using standard configurations. All audit events from host amazon can be recorded centrally on host timelord by configurations such as the following examples. To relay events remotely on host amazon, you might use this example:
[aznapi-configuration] logcfg = audit:remote buffer=2000,compress=y,error=2, path=/opt/PolicyDirector/log/remote.cache,rebind=600,server=timelord,port=7136
187
To establish mutual authentication of the remote server, a distinguished name (DN) must be configured. The DN can be checked against the name returned in the remote servers certificate. The default value is a null string. Explicitly specifying an empty string or using the default value enables the logging client to request a remote server connection with any server that is listening. Specifying a value for the dn parameter limits successful connection to a specific server, such as:
dn="cn=ivacld/timelord.testnet.tivoli.com,o=policy director,c=us"
A distinguished name must be specified as a string that is enclosed by double quotation marks. error If a send to a remote service fails, the system tries again. Before trying again, the system waits for the error retry timeout in seconds. If the attempt to try again fails: v The link is recorded. v The given event and future events are saved. Events are saved in the local event cache file until the remote service is available again. The default value is 2 seconds. flush_interval Events can sit in memory for a long time if: v Events are being consolidated into large buffers. v There is less logging activity. Further, events can sit in memory before being: v Forwarded to the remote server. v Written to the cache file. The flush_interval parameter limits the time a process waits to fill a consolidation buffer. The default value is 20 seconds. A flush interval of 0 is not allowed. Specifying a value of 0 results in the buffer being flushed every 600 seconds. hi_water The hi_water parameter for a remote logging connection is like the one specified for logging to a file. path Configure the path parameter to specify the location of a cache file on the local host. The cache file name defaults to ./server.cache, where server is the name of the remote server being logged to. If, v The running process cannot establish communication with the remote server, or v The link fails during operation,
188
Auditing Guide
then, event recording switches to storing events in the specified file. The switch lasts until the server becomes available again. When the server is available, events are drained from the disk cache and relayed to the remote server. For example, suppose that the path value for pdmgrd on Linux and UNIX operating systems is as follows:
path=/var/PolicyDirector/log/pdmgrd_remote.cache
The directory portion of this path must exist. The log file is created if it does not exist. The size of this file is not bound, and it does not have any rollover capability. If a remote server is not accessible for sufficient time, you could run out of disk space. port Configure the port parameter to specify the port that the remote authorization server listens on for remote logging requests. The default value is port 7136. queue_size The queue_size parameter for a remote logging connection is like the one specified for logging to a file. rebind_retry If the remote authorization server is unavailable, the log agent attempts to rebind to this server at this frequency in number of seconds.
rebind_retry=number_seconds
The default rebind retry timeout value is 300 seconds. server The remote logging services are offered by the authorization service. The server parameter nominates the hosts to which the authorization server process is bound for event recording.
server=hostname
4. Specify the maximum buffer size. This buffer size is the maximum size message that the local program attempts to construct by combining smaller events into a large buffer:
buffer_size={0|number_bytes}
189
If a number_bytes value is specified, events are packed into buffers of that size before being relayed to the remote server. By default, the buffer size before relaying to the remote server is 1024 bytes. Buffers consist of only an integral number of events; events are not split across buffers. If any individual event exceeds that maximum configured size, the large event is recorded in a buffer of its own, exceeding the configured value. 5. Specify the frequency for flushing log file buffers:
flush_interval={0|number_seconds}
The flush_interval parameter limits the time a process waits to fill a consolidation buffer. By default, the flush interval value is 20 seconds. A flush interval of 0 is not allowed. Specifying a value of 0 results in the buffer being flushed every 600 seconds. 6. Specify the maximum number of events to queue:
queue_size={0|number_events}
By default, the queue size is 0. A zero queue size means that no limit is enforced on the growth of the unprocessed event queue. The requesting thread is blocked until space is available in the queue if: v The maximum value for number_events is specified. v The maximum value for number_events is reached. v A new event is ready to be placed on the queue. 7. Specify the event queue high water mark:
hi_water={0|1|number}
By default, the event queue high water mark value is a number that represents two-thirds of the maximum configured queue size. If the maximum queue size is 0, the high water mark is set to a default of 100. The transaction rates and the values of these options determine the maximum amount of memory that is consumed by enabling event logging to file. If the event queue high water mark is set to 1, every event queued is relayed to the log agent as soon as possible. This setting is not optimal. 8. Specify whether you want to compress buffers before transmission and expand on reception:
compress={yes|no}
By default, the compress value is no to disable. 9. Specify the time to wait whenever a send to a remote service fails and an error occurs:
error=seconds
By default, the error retry timeout is 2 seconds. 10. Specify the cache file location:
path=fully_qualified_path
The file name is server_name_remote.cache. For example: pdmgrd_remote.cache The default directories are: Linux and UNIX operating systems /opt/PolicyDirector/log Windows operating systems C:\Program Files\Tivoli\Policy Director\log\ The default file name depends on the type of logging being performed, such as audit.log
190
Auditing Guide
By default, the rebind retry timeout value is 300 seconds. 12. Specify the host name of the remote authorization server:
server=hostname
By default, the port number value is 7136. 14. Specify the remote server distinguished name to establish mutual authentication of the remote server:
dn="distinguished_name"
The default value for the dn parameter is a null string. Explicitly specifying an empty string or using the default value enables the logging client to request a remote server connection with any server listening. The dn parameter value limits a successful connection to a specific server, for example:
dn="cn=ivacld/timelord.tivoli.com,o=policy director,c=us"
A distinguished name must be specified as a string enclosed by double quotation marks. 15. Save and exit the configuration file. This example sends event records to the remote timelord server:
[aznapi-configuration] logcfg = audit:remote buffer=2000,compress=y,error=2 path=/opt/PolicyDirector/log/remote.cache,rebind=600,server=timelord,port=7136 dn="cn=ivacld/timelord.tivoli.com,o=policy director,c=us"
After attaching the nohttpaudit POP to the /images subdirectory, access to files under this directory no longer generates an audit event. If you have a specific resource under the /images directory that must be audited, you can enable auditing of that resource. To enable auditing, attach a second POP without the audithttp attribute. For example, the special.jpg file in the /images subdirectory must be audited. You can enable audit records for the file using the following commands:
pdadmin sec_master> pop create restorehttpaudit pdadmin sec_master> pop attached /WebSEAL/server/images/special.jpg \ restorehttpaudit
191
You can use the log_id identifier to facilitate the recording of events from different categories to the same file. You can construct additional log agents. The log agents can gather different event data. These agents use log_id to direct the data to the log file that was opened by the initial log agent. The first logcfg entry must be used to define the log agent. If the log agent is defined after the first log_id, no events for that category are logged. In the following example, events from the http.agent category are directed to the abc.log file. The log agent has the log_id=httplogs identifier. Events from http.ref and http.clf audit categories are also logged to this file because logcfg entry uses the same identifier log_id=httplogs:
[aznapi-configuration] logcfg = http.agent:file path=/var/pdweb/log/abc.log, log_id=httplogs logcfg = http.ref:file log_id=httplogs logcfg = http.clf:file log_id=httplogs
This approach is comparable to the logcfg entry with a file agent. For example, to capture authentication events, the configuration file entries could be set as follows:
[aznapi-configuration] logaudit = yes auditcfg = authn auditlog = /var/pdweb/log/audit.log logsize = 2000000 logflush = 20
If you are still using the logaudit approach, consider using either the logcfg approach or the Common Audit Service. The logcfg approach provides additional configuration options, such as buffer size and event queues, and the ability to use the console, pipe, and remote log agents.
192
Auditing Guide
For example, the following entry shows the default location of the request.log file: Linux and UNIX operating systems
[logging] requests-file = /var/pdweb/www/log/request.log
You can enable or disable each log independently from the others. If any stanza entry is set to no, logging is disabled for that file.
193
Configuring HTTP logging in the [logging] stanza implements the standard event logging mechanism described in Chapter 19, Audit event logging, on page 175. The following configurations are created when the WebSEAL HTTP logging stanza entries are enabled. These configurations accept the values of the requests-file, referers-file, agents-file, flush-time, and max-size stanza entries from the WebSEAL configuration file [logging] stanza: request.log
logcfg = http.clf:file path=requests-file,flush=flush-time, rollover=max-size,log=clf,buffer_size=8192,queue_size=48
referer.log
logcfg = http.ref:file path=referers-file,flush=flush-time, rollover=max-size,log=ref,buffer_size=8192,queue_size=48
See Process flow for logcfg logging on page 192 for special considerations and conditions when using both traditional HTTP logging ([logging] stanza) and the event logging mechanism ([aznapi-configuration] stanza).
When a log file reaches its rollover threshold: v The existing file is backed up to a file of the same name. The file name is appended with the current date and timestamp. v A new log file is started. The various possible max-size values are interpreted as follows: v If the max-size value is less than zero (< 0), a new log file is created: With each invocation of the logging process. Every 24 hours from that instance. v If the max-size value is equal to zero (= 0), no rollover is performed and the log file grows indefinitely. If a log file exists, new data is appended to it. v If the max-size value is greater than zero (> 0), a rollover is performed when a log file reaches the configured threshold value. If a log file exists at startup, new data is appended to it.
194
Auditing Guide
If you specify a negative value, a flush is forced after each record is written.
195
Table 44. Directives for customizing the format of the request.log file (continued) Directive %r %R %s %t %{format}t %T %u %U %v %{cookiename}e %{cookiename}E Description First line of the request First line of the request including HTTP://HOSTNAME Response status Time and date in CLF format The time and date in the given format Time taken to serve the request in seconds Remote user The URL requested Canonical ServerName of the server serving the request Contents of the cookie 'cookie-name' in the request Contents of the cookie 'cookie-name' in the response
The following configuration entry shows an example of customizing the request.log file:
request-log-format = %h %l %u %t "%r" %s %b
Customized HTTP logs also support the new line (\n), carriage return (\r), and tab (\t) special characters. Any character that is either not part of a directive or not a special character is written out in the log entry. You can direct the system to ignore the % and \ characters by prefixing them with the backslash (\) character. For example:
log-request-format = \%{header}i\t->\t%{header}i
WebSEAL processes these entries in the following manner: 1. The [aznapi-configuration] stanza is read. 2. The stats.log file with log_id=stats is opened. All stats.pdweb.authn events are logged to this file.
196
Auditing Guide
3. The abc.log file with log_id=httplogs is opened. All http.agent events are logged to this file. 4. Because the next log agent uses log_id=httplogs, all http.ref events are logged to the previously opened abc.log file. 5. The [logging] stanza is read. 6. HTTP request logging is enabled. All http.clf events are logged to the request.log file using the default log_id=clf. See the following example for an explanation of this default identifier. HTTP logging using the [logging] stanza operates by generating its own default log agent entries. Each HTTP log file has a default value for the log_id parameter.
Log file request.log referer.log agent.log log_id=clf log_id=ref log_id=agent log_id
If a logcfg entry in the [aznapi-configuration] stanza contains the same log_id as one used in the [logging] stanza, the HTTP log file is not created. Audit events with the same log_id are directed to1 log file only. That1 log file is always the first one opened. In the following example, the abc.log file with log_id=clf is opened first. Because the HTTP requests logging defined in the [logging] stanza uses a default log_id=clf, the requests.log file is never created and all http.clf (requests) events are directed to abc.log file.
[logging] requests = yes requests-file = /var/pdweb/www-instance/log/request.log [aznapi-configuration] logcfg = http.agent:file path=/var/pdweb/log/abc.log, log_id=clf logcfg = http.ref:file log_id=clf
HTTP logging can be configured in the [logging] and [aznapi-configuration] stanzas. Therefore, it is possible to have duplicate entries for HTTP events in a log file when both mechanisms are enabled. In the following example, http.clf audit events are recorded twice in the abc.log file: v From the event logging configuration. v From the enabled request logging, which uses log_id=clf by default. The requests.log is not created, because the abc.log file with log_id=clf is opened first.
[logging] requests = yes requests-file = /var/pdweb/www-instance/log/request.log [aznapi-configuration] logcfg = http.agent:file path=/var/pdweb/log/abc.log, log_id=clf logcfg = http.ref:file log_id=clf logcfg = http.clf:file log_id=clf
197
No
Yes
%v %h %l %u %t "%r" %s %b
Yes
No
%h %l %u %t "%R" %s %b
Yes
Yes
%v %h %l %u %t "%R" %s %b
Sample referer.log
The referer.log records the Referer: header of the HTTP request. For each request, the log records the document that contained the link to the requested document. The log uses the following format:
referer -> object
This information is useful for tracking external links to documents in your Web space. The log reveals that the source indicated by referer contains a link to a page (object). This log allows you to track stale links and to find out who is creating links to your documents.
198
Auditing Guide
199
200
Auditing Guide
Enabling statistics
You can enable statistics reporting with the stats on command or with stanza entries in the configuration file for the specific server. For details about using stanza entries to enable statistics, see Using stanza entries for statistics on page 205. To enable statistics gathering with the stats on command, set the statistics report frequency, event count, and destination for the component. For additional information about the stats on command, see server task stats on page 401. Note: By default, the WebSEAL pdweb.threads, pdweb.doccache, and pdweb.jmt components are always enabled and cannot be disabled. When enabling statistics, you can specify one file log for the statistics report. If you specify two equivalent commands that different only on the destination, the second invocation deactivates the first log file and activates the second log file. The following example illustrates this limitation:
#pdadmin> server task default-webseald-abc.ibm.com stats on pdweb.http 20 \ file path=/tmp/A.log #pdadmin> server task default-webseald-abc.ibm.com stats on pdweb.http 20 \ file path=/tmp/B.log
201
The first command enables the pdweb.http component and sends statistics reports to the A.log file. The second command attempts to activate a second log file, B.log. However, this action actually deactivates the A.log file while activating the B.log file.
202
Auditing Guide
The growth of the log file is controlled by the rollover_size configuration option. For complete details about configuring event logging, see the IBM Tivoli Access Manager for e-business: Troubleshooting Guide.
Disabling statistics
You can disable statistics reporting with the stats off command for a specific component or for all components. By default, the pdweb.threads, pdweb.doccache, and pdweb.jmt components are always enabled and cannot be disabled.
Because the pdweb.threads, pdweb.doccache, and pdweb.jmt components are always enabled, the output for a WebSEAL instance always contains these entries.
Displaying statistics
You can display the current statistics for all enabled components or for a single component with the stats get command.
203
Resetting statistics
You can reset the current statistics for all enabled components or for a single component with the stats reset command.
204
Auditing Guide
To reset statistics for all components, use the stats reset command without options. To reset statistics for a single component, use the stats reset command with the component option.
Listing components
You can list all components that are available to gather and report statistics with the stats list command. To determine which queues are implemented on a server, use the stats list command. The following example lists all available components of a WebSEAL instance:
#pdadmin> server task default-webseald-abc.ibm.com stats list pd.ras.stats.monitor pd.log.EventPool.queue pd.log.file.clf pd.log.file.ref pd.log.file.agent pdweb.authn pdweb.authz pdweb.http pdweb.https pdweb.threads pdweb.jmt pdweb.sescache pdweb.doccache pdweb.jct.1
The following segment of a configuration file shows the structure of the stats and logcfg stanza entries:
[aznapi-configuration] stats = component [interval [count]] logcfg = stats.component:destination
For information about the interval and count options, see server task stats on page 401. For complete details about configuring event logging, see the IBM Tivoli Access Manager for e-business: Troubleshooting Guide.
205
v The logcfg stanza entry specifies the destination for the statistics report as the /tmp/jmt.log file. The entry contains additional configuration information for the rollover_size and flush configuration settings:
[aznapi-configuration] stats = pdweb.jmt 20 logcfg = stats.pdweb.jmt:file path=/tmp/jmt.log,rollover_size=-1,flush=20
For detailed information about configuration files, see the IBM Tivoli Access Manager for e-business: Administration Guide.
For detailed information about configuration files, see the IBM Tivoli Access Manager for e-business: Administration Guide.
206
Auditing Guide
pd.log.EventPool.queue
The pd.log.EventPool.queue component is the main event propagation queue. Use the statistics interface to monitor: v The queuing profiles that are configured for the main propagation queue. v Each file agent. v Remote agent. v Pipe log agent. Each queue that is created as an instance of the EventQueue object registers itself with the statistics subsystem with its category name. The category name is constructed from the logging agent type and the pd.log string. The following example shows the output from a stats get command for the pd.log.EventPool.queue component:
#pdadmin> server task ivacld-instance stats get \ pd.log.EventPool.queue dispatcher wakes on timeout (20) : 3617 dispatcher wakes by notify : 0 notifies above highwater (100) : 0 notifies below highwater : 0 spurious notifies : 0 total events processed : 24 average number of events handled per activation : 1 greatest number of events handled per activation : 7 blocks in queue requests : 0
In the previous output: v The flush frequency for the queue is 20, the value denoted in the parentheses after timeout. v The high water setting for the queue is 100, the value denoted in the parentheses after highwater. The settings that are defined for the various queue configuration options must attempt to balance: v The maximum amount of memory that is consumed between queue activations, and v The rate at which a particular log agent can consume events. Set the queue high water mark such that the number of events that are processed during a queue activation fills a processing time slice. This setting avoids unnecessary thread context-switching. However, setting these options to large values is not productive. The reason is that event log processing must be done at some point and cannot be deferred indefinitely. Consuming large amounts of memory has its own drawbacks.
Chapter 21. Working with statistics
207
pd.log.file.agent
dispatcher wakes on timeout (20) : 299 dispatcher wakes by notify : 0 notifies above highwater (33) : 0 notifies below highwater : 0 spurious notifies : 0 total events processed : 146 average number of events handled per activation : 0 greatest number of events handled per activation : 1 blocks in queue requests : 0
pd.log.file.clf
dispatcher wakes on timeout (20) : 299 dispatcher wakes by notify : 0 notifies above highwater (33) : 0 notifies below highwater : 0 spurious notifies : 0 total events processed : 147 average number of events handled per activation : 0 greatest number of events handled per activation : 1 blocks in queue requests : 0
pd.log.file.ref
dispatcher wakes on timeout (20) : 300 dispatcher wakes by notify : 0 notifies above highwater (33) : 0 notifies below highwater : 0 spurious notifies : 0 total events processed : 148 average number of events handled per activation : 0 greatest number of events handled per activation : 1 blocks in queue requests : 0
pd.ras.stats.monitor
5 components reporting statistics 5 reports generated
pdweb.authn component
The pdweb.authn statistics component gathers information about WebSEAL authentication. The following list describes the types of available information: pass fail The total number of successful authentications. The total number of failed authentications.
208
Auditing Guide
pwd exp The total number of authentication attempts that were made with an expired password. max avg total The maximum time for a single authentication process. The average time for a single authentication process. The total time for all authentication processing.
The following example shows the output from a stats get command for the pdweb.authn component:
#pdadmin> server task default-webseald-instance stats get pdweb.authn pass fail pwd exp max avg total : : : : : : 2 1 0 0.178 0.029 0.382
pdweb.authz component
The pdweb.authz statistics component gathers information about WebSEAL authorization. The following list describes the types of available information: pass fail The total number of successful authorization requests. That is, the total number of resources that were successfully accessed. The total number of failed authorization requests.
The following example shows the output from a stats get command for the pdweb.authz component:
#pdadmin> server task default-webseald-instance stats get pdweb.authz pass fail : 2 : 1
pdweb.doccache component
The pdweb.doccache statistics component gathers information about WebSEAL document-caching activity. This component reports statistics for all MIME types enabled in the [content-cache] stanza of the WebSEAL configuration file. This component is always enabled by default and cannot be disabled. The following list describes the types of global information available for all MIME types: General Errors The number of errors that were reported by the pdweb.doccache component when there are memory allocation failures, initialization failures, or invalid MIME type header values. Uncachable The number of instances when there is no cache defined for the MIME type of the document to be cached. Pending Deletes The number of entries that are marked for deletion, but these entries are still in use.
209
Pending Size The number of bytes that are used by entries that are marked for deletion, but these entries are still in use. Misses The number of times a URL is looked up in the document cache and is not found. A found cached document eliminates the need to access the real document again. Cache MIME type The MIME type of documents that are stored in this cache. The following list describes the cache MIME types: Max size The maximum combined byte size of all documents in the cache. Max entry size The maximum byte size for any single cached document. If the document size exceeds this internally calculated value, it is not cached. Size The total byte count for all documents currently residing in the cache.
Count The current number of entries in the cache. Hits The number of successful lookups. (Documents that are successfully found in the cache.)
Stale hits The number of successful lookups that found an entry that was too old and was purged instead. Create waits The number of times subsequent requests for a document are blocked (made to wait) while the document content is initially being cached. Cache no room The number of times a document that is valid for caching cannot fit into the cache. The reason is that there are too many entries being created at the same time. Additions The number of successful new entries in the cache. Aborts The number of times the creation of a new cache entry is cancelled. The reason might be a header that indicates the entry must not be cached. Deletes The number of cache entries that were deleted because the entry is stale (expired) or because the creation was cancelled. Updates The number of entries that have had expiry times updated. Too big error The number of attempts to cache documents that exceed the maximum entry size (and therefore are not cached).
210
Auditing Guide
MT errors The number of times more than one thread tries to create the same entry in the cache. (MT=Multi-Threading) The following example shows the output from a stats get command for the pdweb.doccache component:
#pdadmin> server task default-webseald-instance stats get pdweb.doccache General Errors : Uncachable : Pending Deletes: Pending Size : Misses : Cache MIME type Max size Max entry size Size Count Hits Stale hits Create waits Cache no room Additions Aborts Deletes Updates Too big errors MT errors 0 0 0 0 0 : : : : : : : : : : : : : : :
pdweb.http component
The pdweb.http statistics component gathers information about WebSEAL HTTP communication. The following list describes the types of available information: reqs The total number of HTTP requests received.
max-worker The maximum time used by a single worker thread to process an HTTP request. total-worker The total time used by all worker threads that process HTTP requests. max-webseal The maximum time used to process a single HTTP request - measured inside the worker thread, after the request headers are read, and eliminating connection setup overhead. total-webseal The total time used to process all HTTP requests - measured inside the worker threads, after the request headers are read, and eliminating connection setup overhead. The following example shows the output from a stats get command for the pdweb.http component:
#pdadmin> server reqs max-worker total-worker max-webseal total-webseal task default-webseald-instance stats get pdweb.http : 0 : 0.000 : 0.000 : 0.000 : 0.000
211
pdweb.https component
The pdweb.https statistics component gathers information about WebSEAL HTTPS communication. The following list describes the types of available information: reqs The total number of HTTPS requests received.
max-worker The maximum time used by a single worker thread to process an HTTPS request. total-worker The total time used by all worker threads that process HTTPS requests. max-webseal The maximum time used to process a single HTTPS request - measured inside the worker thread, after the request headers are read, and eliminating connection setup overhead. total-webseal The total time used to process all HTTPS requests - measured inside the worker threads, after the request headers are read, and eliminating connection setup overhead. The following example shows the output from a stats get command for the pdweb.https component:
#pdadmin> server task default-webseald-instance stats get pdweb.https reqs max-worker total-worker max-webseal total-webseal : : : : : 0 0.000 0.000 0.000 0.000
pdweb.vhj.# component
The pdweb.vhj.# statistics component gathers information about configured virtual host junctions. The following list describes the types of available information: [junction_name] The actual virtual host junction name (listed as the number in the command). Virtual host junction names never begin with "/" reqs max total The total number of requests routed across this virtual host junction The maximum time consumed by a single request across this virtual host junction The total time consumed by requests across this virtual host junction
The following example shows the output from a stats get command for the pdweb.vhj.1 component:
#pdadmin> server task default-webseald-instance stats get pdweb.vhj.1 [junction_name] reqs : 0 max : 0.000 total : 0.000
pdweb.jct.# component
The pdweb.jct.# statistics component gathers information about configured junctions. The following list describes the types of available information:
212
Auditing Guide
The actual junction name (listed as the number in the command) The total number of requests routed across this junction The maximum time consumed by a single request across this junction The total time consumed by requests across this junction
The following example shows the output from a stats get command for the pdweb.jct.1 component:
#pdadmin> server task default-webseald-instance stats get pdweb.jct.1 [/] reqs max total : 0 : 0.000 : 0.000
pdweb.jmt component
The pdweb.jmt statistics component gathers information about the WebSEAL junction mapping table. This component is always enabled by default and cannot be disabled. The following list describes the types of available information: hits The total number of requests that required URL mapping with the junction mapping table.
The following example shows the output from a stats get command for the pdweb.jmt component:
#pdadmin> server task default-webseald-instance stats get pdweb.jmt hits : 5
pdweb.sescache component
The pdweb.sescache component gathers statistics about the WebSEAL session cache. This component gathers the following activity information: hit The number of requests where a cache entry for a user was referenced successfully. That is, the number of requests that resulted in a session cache hit. The number of requests that missed a session cache hit. The number of cache entries that were added to the session cache. The number of cache entries that were deleted from the session cache.
inactive The number of times where a cache entry hit the inactivity timeout. lifetime The number of times where a cache entry hit the lifetime timeout. LRU expired The number of times that a least recently used cache entry was deleted from the session cache to make room for a new cache entry. The following example shows the output from a stats get command for the pdweb.sescache component:
pdadmin hit miss add sec_master> : 225 : 75 : 375 server task default-webseald-instance stats get pdweb.sescache
213
In the previous release, the pdweb.sescache component contained activity that was associated with callback certificates and user session mappings. These statistics are now managed by the following components: pdweb.certcallbackcache This cache stores the SSL IDs of sessions that require certificate validation when a user is stepping up. The reported information has the same categories as pdweb.sescache. These activities are internal. pdweb.usersessidcache This cache stores a mapping of users to their sessions. The reported information has the same categories as pdweb.sescache. These activities are internal. Therefore, the first time that you gather statistics for the pdweb.sescache component and compare it to your last report, the figures might appear to be wrong. To set a new baseline, add the statistics from the following components and then compare them to your previous baseline (last pdweb.sescache report): v pdweb.sescache v pdweb.certcallbackcache v pdweb.usersessidcache The output against the pdweb.sescache component must be your new baseline.
pdweb.threads component
The pdweb.threads statistics component gathers information about WebSEAL worker thread activity. Its report is the overall thread usage statistics that include not just request traffic, but all the worker threads for the WebSEAL process. WebSEAL, version 6.0, and later can be configured to use multiple interfaces. Each separately configured interface can use a separate worker thread pool. The thread pool has the same name as the given interface. Alternatively, all configured interfaces can share the same worker thread pool. The default WebSEAL interface configuration uses the default name to differentiate between that interface and the corresponding thread pool, from other separately configured interfaces. The default WebSEAL interface configuration is defined under the [server] stanza. A separately configured WebSEAL interface (defined under the [interfaces] stanza) uses the specified name. The pdweb.threads component is always enabled by default and cannot be disabled. The following list describes the types of available information: active The total number of active worker threads of all WebSEAL interfaces that are handling requests. total The total number of worker threads that are configured for all WebSEAL interfaces.
'default' active The total number of active worker threads in the default interface thread pool that are handling requests. If you do not configure one or more additional WebSEAL interfaces, the value of default active matches the value of active.
214
Auditing Guide
'default' total The total number of configured worker threads for the default interface thread pool. If you do not configure one or more additional WebSEAL interfaces, the value of default total matches the value of total. 'other_interface' active The total number of active worker threads in the thread pool that is handling requests for an additional configured interface. other_interface is the name assigned to the interface. 'other_interface' total The total number of worker threads in the thread pool that is used by an additional interface named other_interface. The following example shows the output from a stats get command for the pdweb.threads component. The example assumes that no additional WebSEAL interface is configured:
#pdadmin> server task default-webseald-instance stats get pdweb.threads active : 0 total : 50 default active : 0 default total : 50
pdwebpi.authn component
The pdwebpi.authn statistics component gathers information about plug-in authentication. The following list describes the types of available information: pass fail The total number of successful authentications. The total number of failed authentications.
pwd exp The total number of authentication attempts that were made with an expired password. max avg total The maximum time for a single authentication process. The average time for a single authentication process. The total time for all authentication processing.
The following example shows the output from a stats get command for the pdwebpi.authn component:
#pdadmin> server task PDWebPI-instance stats get pdwebpi.authn pass fail pwd exp max avg total : : : : : : 2 1 0 0.178 0.029 0.382
Chapter 21. Working with statistics
215
pdwebpi.authz component
The pdwebpi.authz statistics component gathers information about plug-in authorization. The following list describes the types of available information: pass fail The total number of successful authorization requests. That is, the total number of resources that were successfully accessed. The total number of failed authorization requests.
The following example shows the output from a stats get command for the pdwebpi.authz component:
#pdadmin> server task PDWebPI-instance stats get pdwebpi.authz pass fail : 2 : 1
pdwebpi.sescache component
The pdwebpi.sescache component gathers statistics that are related to the plug-in session credential cache. This component gathers the following activity information: hit The number of requests where a cache entry for a user was referenced successfully. That is, the number of requests that resulted in a session cache hit. The number of requests that missed a session cache hit. The number of cache entries that were added to the session cache. The number of cache entries that were deleted from the session cache.
inactive The number of times where a cache entry hit the inactivity timeout. lifetime The number of times where a cache entry hit the lifetime timeout. expired The number of times that a least recently used cache entry was deleted from the session cache to make room for a new cache entry. The following example shows the output from a stats get command for the pdwebpi.sescache component:
#pdadmin> server task PDWebPI-instance stats get pdwebpi.sescache hit miss add del inactive lifetime expired : : : : : : : 0 0 0 0 0 0 0
pdwebpi.threads component
The pdwebpi.threads statistics component gathers information about plug-in worker thread activity. This component is always enabled by default and cannot be disabled. The following list describes the types of available information: active The total number of active worker threads that are handling requests. total The total number of configured worker threads.
216
Auditing Guide
The following example shows the output from a stats get command for the pdwebpi.threads component:
#pdadmin> server task PDWebPI-instance stats get pdwebpi.threads active total : 0 : 50
pdwebpi.vhost.# component
The pdwebpi.vhost.# statistics component gathers information about configured virtual hosts. The following list describes the types of available information: [/] reqs max avg total The actual virtual host name (listed as the number in the command) The total number of requests routed across this virtual host The maximum time consumed by a single request across this virtual host The average time consumed by a single request across this virtual host The total time consumed by requests across this virtual host
The following example shows the output from a stats get command for the pdwebpi.vhost.1 component:
#pdadmin> server task PDWebPI-instance stats get pdwebpi.vhost.1 [/] reqs max total : 0 : 0.000 : 0.000
217
218
Auditing Guide
Chapter 23. Elements by event types . . . . Elements for AUDIT_AUTHN events . . . . . Elements for AUDIT_AUTHN_CREDS_MODIFY events . . . . . . . . . . . . . . . . Elements for AUDIT_AUTHN_MAPPING events Elements for AUDIT_AUTHN_TERMINATE events Elements for AUDIT_AUTHZ events . . . . . Elements for AUDIT_COMPLIANCE events . . . Elements for AUDIT_DATA_SYNC events . . . . Elements for AUDIT_MGMT_CONFIG events . . Elements for AUDIT_MGMT_POLICY events. . . Elements for AUDIT_MGMT_PROVISIONING events . . . . . . . . . . . . . . . . Elements for AUDIT_MGMT_REGISTRY events Elements for AUDIT_MGMT_RESOURCE events Elements for AUDIT_PASSWORD_CHANGE events . . . . . . . . . . . . . . . . Elements for AUDIT_RESOURCE_ACCESS events Elements for AUDIT_RUNTIME events. . . . . Elements for AUDIT_RUNTIME_KEY events . . . Elements for AUDIT_WORKFLOW events. . . . Chapter 24. Reference information about elements and element types. . . . . accessDecision . . . . . . . . . . accessDecisionReason. . . . . . . . action . . . . . . . . . . . . . appName. . . . . . . . . . . . attributePermissionInfo . . . . . . . attributePermissionInfo.attributeNames. . attributePermissionInfo.checked . . . . attributePermissionInfo . . . . . . . attributePermissionInfo.granted . . . . attributes . . . . . . . . . . . . attributes.name . . . . . . . . . . attributes.source . . . . . . . . . attributes.value . . . . . . . . . . auditMsg . . . . . . . . . . . . auditMsgElement . . . . . . . . . auditTrailId . . . . . . . . . . . authenProvider . . . . . . . . . . authnType . . . . . . . . . . .
Copyright IBM Corp. 2001, 2010
. . . 281 . . . 281 . . . 281 . . . 282 . . . 286 . . . 286 . . . 286 . . . 287 . . . 287 . . . 287 . . . 288 . . . 288 . . . 288 . . . 289 . . . 289 . . . 290 . . . 290 . . . 290 . . . 291
219
policyInfo.branch . . . . . . . . . . policyInfo.description . . . . . . . . policyInfo.name . . . . . . . . . . policyInfo.type . . . . . . . . . . . policyName . . . . . . . . . . . . progName . . . . . . . . . . . . provisioningInfo . . . . . . . . . . provisioningInfo.accountId . . . . . . . provisioningInfo.resourceId. . . . . . . provisioningInfo.resourceType . . . . . . provisioningTargetInfo . . . . . . . . recommendation . . . . . . . . . . registryInfo . . . . . . . . . . . . registryInfo.serverLocation . . . . . . . registryInfo.serverLocationType . . . . . registryInfo.serverPort . . . . . . . . registryInfo.type . . . . . . . . . . registryObjectInfo . . . . . . . . . . registryObjectInfo.attributes . . . . . . registryObjectInfo.description . . . . . . registryObjectInfo.name . . . . . . . . registryObjectInfo.registryName . . . . . registryObjectInfo.type . . . . . . . . reporterComponentId . . . . . . . . resourceInfo . . . . . . . . . . . . resourceInfo.attributes . . . . . . . . resourceInfo.nameInApp . . . . . . . resourceInfo.nameInPolicy . . . . . . . resourceInfo.type . . . . . . . . . . sequenceNumber . . . . . . . . . . severity . . . . . . . . . . . . . sourceComponentId . . . . . . . . . sourceComponentId/@application . . . . sourceComponentId/@component . . . . sourceComponentId/@componentIdType . . sourceComponentId/@componentType . . . sourceComponentId/@executionEnvironment sourceComponentId/@instanceId. . . . . sourceComponentId/@location . . . . . sourceComponentId/@locationType . . . . sourceComponentId/@processId . . . . . sourceComponentId/@subComponent . . . sourceComponentId/@threadId . . . . . startTime . . . . . . . . . . . . . suppressed . . . . . . . . . . . . targetAccount . . . . . . . . . . . targetInfoType . . . . . . . . . . . targetInfo.attributes . . . . . . . . . targetInfo.targetNames . . . . . . . . targetResource . . . . . . . . . . . targetUser . . . . . . . . . . . . targetUserInfo (1) . . . . . . . . . . targetUserInfo (2) . . . . . . . . . . targetUserRegistryInfo . . . . . . . . terminateReason . . . . . . . . . . timestamp . . . . . . . . . . . . type . . . . . . . . . . . . . . userInfo . . . . . . . . . . . . . userInfo.appUserName . . . . . . . . userInfo.attributes . . . . . . . . . . userInfo.callerList . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
313 313 313 313 315 315 315 316 316 316 316 317 317 317 318 318 318 319 319 320 320 320 321 321 322 322 323 323 323 325 325 325 326 326 327 327 327 328 328 328 329 329 329 330 330 330 331 331 332 332 332 333 333 334 334 334 335 335 336 336 336
userInfo.domain . . . . userInfo.location . . . . userInfo.locationType . . . userInfo.realm . . . . . userInfo.registryUserName . userInfo.sessionId . . . . userInfo.uniqueId . . . . userInputs . . . . . . violationClassification . . violationDescription . . . violationName . . . . . workItemInfo . . . . . workItemInfoType.id . . . workItemInfoType.type . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
337 337 337 338 338 338 339 339 340 341 341 341 341 342
220
Auditing Guide
221
<user_location_type>IPV4</user_location_type> </accessor> <target resource="5"> <object>/</object> <object_nameinapp>HTTP://cmd.wma.ibm.com:80/</object_nameinapp> </target> <resource_access> <action>httpRequest</action> <httpurl>HTTP://cmd.wma.ibm.com:80/</httpurl> <httpmethod>GET</httpmethod> <httpresponse>200</httpresponse> </resource_access> <data> GET HTTP://cmd.wma.ibm.com:80/ HTTP/1.0 1970 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) </data> </event>
222
Auditing Guide
223
224
Auditing Guide
Table 46. Names and descriptions for XML output elements (continued)
Output element name <outcome> ... </outcome> Description Outcome of the event. The output element can be one of the following values: 0 Success 1 Failure 2 Pending 3 Unknown The following information is captured in a common format header of the audit record: v The outcome. v The action. v The credentials for the principal. v The target object. This element can include the following attributes: v status v reason Example of a failed event: <outcome status="320938184" reason="authenticationFailure"> 1 </outcome> For information about the contents of the status attribute, use the errtext command. The command provides the error message that is associated with the status code (320938184) of a failed event. If the error is not identified by the errtext command, the error did not originate in Tivoli Access Manager. See your third-party documentation for additional status code definitions. For information about the contents of the reason attribute, see Outcome output for failures on page 246. Example of a successful event: <event rev="1.2"> ... <outcome status="0">0</outcome> ... </event>
225
Table 46. Names and descriptions for XML output elements (continued)
Output element name <originator> ... </originator> Description Server that originated the event being logged. The originator element can include the following elements: v component v event_id v action v location The originator element can include the following attributes: v blade v instance The blade attributes represents the server that originated the event. For example, pdmgrd is the Tivoli Access Manager policy server, webseald is the Tivoli Access Manager WebSEAL server. The instance attribute applies to WebSEAL and represents the name of the instance. Example: <event rev="1.2"> ... <originator blade="webseald"> <component rev="1.4">authn</component> <event_id>101</event_id> <action>0</action> <location>cmd.wma.ibm.com</location> </originator> ... </event> <component> ... </component> Audit events, categorized by the server functionality that generates them. Some functionality is common across Tivoli Access Manager servers while other functionality is server-specific. The component element can be one of the following values: authz or azn Captures authorization events. authn mgmt http Captures authentication events. Captures management events. Captures WebSEAL HTTP events. See the IBM Tivoli Access Manager for e-business: WebSEAL Administration Guide for more information about this value.
The component element can contain the rev attribute. Example: <originator blade="webseald"> <component rev="1.4">authn</component> <event_id>101</event_id> <action>0</action> <location>cmd.wma.ibm.com</location> </originator>
226
Auditing Guide
Table 46. Names and descriptions for XML output elements (continued)
Output element name <event_id> ... </event_id> Description The category of the event ID. The event_id element can be one of the following values: 101 Login 102 Password change 103 Logout 104 Authenticate 105 Step-up 106 Re-authentication 107 Credentials refresh 108 Authorization check 109 Resource access 110 Get credentials 111 Modify credentials/combine credentials 112 Get credentials from pac 113 Get pac 114 Get entitlements 115 Runtime start 116 Runtime stop 117 Runtime audit start 118 Runtime audit stop 119 Runtime audit level change 120 Runtime statistic 121 Runtime heartbeat up 122 Runtime heartbeat down 123 Runtime lost contact 124 Runtime contact restored 125 Runtime monitor 126 Switch-user login 127 Switch-user logout Example: <originator blade="webseald"> <component rev="1.4">authn</component> <event_id>101</event_id> <action>0</action> <location>cmd.wma.ibm.com</location> </originator>
227
Table 46. Names and descriptions for XML output elements (continued)
Output element name <action> ... </action> Description Audit record action code, which can be for one of the following groups of events: Authentication or authorization events Audit records for authentication or authorization events contain one of the following event action codes: 0 Authentication or authorization events 1 Change password events 2 WebSEAL events Management events Audit records for management events contain an action code that identifies the pdadmin utility. For example, the <action>13702</action> action code relates to the POP_MODIFY action for the pop modify command. See Action codes for management commands on page 240, which relates the action code reference number for each command. A common format header of the audit record captures information about: v The action. v The credentials of the principal. v The target object. v The outcome. Example: <originator blade="webseald"> <component rev="1.4">authn</component> <event_id>101</event_id> <action>0</action> <location>cmd.wma.ibm.com</location> </originator> <location> ... </location> The host name (location) of the machine. If there is no host name specified, a notation of location not specified is substituted in the location element. Example: <originator blade="webseald"> <component rev="1.4">authn</component> <event_id>101</event_id> <action>0</action> <location>cmd.wma.ibm.com</location> </originator>
228
Auditing Guide
Table 46. Names and descriptions for XML output elements (continued)
Output element name <accessor> ... </accessor> Description The name of the user that caused the event. If there is no user name specified, a notation of name="user not specified" or name="" is substituted in the accessor element. The accessor element can include the following elements: v principal v name_in_rgy (for authenticated users) v session_id (for authenticated users) v principal v user_location v user_location_type The accessor element includes the name attribute. The following example shown the accessor element for an unauthenticated user: <event rev="1.2> ... <accessor name="unauthenticated"> <principal auth="IV_UNAUTH_V3.0" domain="Default"> testuser2 </principal> <user_location>9.65.85.162</user_location> <user_location_type>IPV4</user_location_type> </accessor> ... </event> The following example shown the accessor element for an authenticated user: <event rev="1.2> ... <accessor name=""> <principal auth="IV_LDAP_V3.0" domain="Default"> testuser2 </principal> <name_in_rgy> cn=testuser1,dc=ibm,dc=com </name_in_rgy> <session_id> e005ba3-34ed-11da-a016-00096bc369d </session_id> <user_location>9.65.85.162</user_location> <user_location_type>IPV4</user_location_type> </accessor> ... </event>
229
Table 46. Names and descriptions for XML output elements (continued)
Output element name <principal> ... </principal> Description User authorization credentials. Generally each event captures the result of an action that a user (principal) attempts on a target object. If there is no user name specified, a notation of auth="invalid" is substituted in the principal element. The principal element can contain the following attributes: v auth v domain To determine the actual authentication method, use the data in the authntype element. A common format header of the audit record captures information about: v The credentials of the principal. v The action. v The target object. v The outcome. Example: <accessor name=""> <principal auth="IV_LDAP_V3.0" domain="Default"> testuser2 </principal> <name_in_rgy> cn=testuser1,dc=ibm,dc=com </name_in_rgy> <session_id> e005ba3-34ed-11da-a016-00096bc369d </session_id> <user_location>9.65.85.162</user_location> <user_location_type>IPV4</user_location_type> </accessor> <name_in_rgy> ... </name_in_rgy> The name in the registry for the user. Example: <accessor name=""> <principal auth="IV_LDAP_V3.0" domain="Default"> testuser2 </principal> <name_in_rgy> cn=testuser1,dc=ibm,dc=com </name_in_rgy> <session_id> e005ba3-34ed-11da-a016-00096bc369d </session_id> <user_location>9.65.85.162</user_location> <user_location_type>IPV4</user_location_type> </accessor>
230
Auditing Guide
Table 46. Names and descriptions for XML output elements (continued)
Output element name <session_id> ... </session_id> Description The session ID that is associated with this session. This ID can be used to trace a series of events back to the authentication data that was initially provided by the user. For example, the data in the session_id element could be used to determine when a user logged in and when a user logged out. Example: <accessor name=""> <principal auth="IV_LDAP_V3.0" domain="Default"> testuser2 </principal> <name_in_rgy> cn=testuser1,dc=ibm,dc=com </name_in_rgy> <session_id> e005ba3-34ed-11da-a016-00096bc369d </session_id> <user_location>9.65.85.162</user_location> <user_location_type>IPV4</user_location_type> </accessor> <user_location> ... </user_location> The IP address in IPv4 or IPv6 format. Example: <accessor name=""> <principal auth="IV_LDAP_V3.0" domain="Default"> testuser2 </principal> <name_in_rgy> cn=testuser1,dc=ibm,dc=com </name_in_rgy> <session_id> e005ba3-34ed-11da-a016-00096bc369d </session_id> <user_location>9.65.85.162</user_location> <user_location_type>IPV4</user_location_type> </accessor> <user_location_type> ... </user_location_type> The format of the data in the user_location element. Values are: v IPV4 v IPV6 Example: <accessor name=""> <principal auth="IV_LDAP_V3.0" domain="Default"> testuser2 </principal> <name_in_rgy> cn=testuser1,dc=ibm,dc=com </name_in_rgy> <session_id> e005ba3-34ed-11da-a016-00096bc369d </session_id> <user_location>9.65.85.162</user_location> <user_location_type>IPV4</user_location_type> </accessor>
231
Table 46. Names and descriptions for XML output elements (continued)
Output element name <target> ... </target> Description Target information. The target element can include the following elements: v object v object_nameinapp v process v azn The target element includes the resource attribute, which represents a broad categorization of the target object: The resource attribute can be one of the following values: 0 AUTHORIZATION 1 PROCESS 2 TCB 3 CREDENTIAL 5 GENERAL 6 APPLICATION 7 AUTHENTICATION Examples: <target resource="7"> <object></object> </target> <target resource="3"> <object>IV_LDAP_V3.0:sec_master</object> </target> <object> ... </object> Target object. Authorization audit records can be captured when a target object in the policy database (protected object space) has a POP attached to it. The POP must enable audit functionality. For example: <object>/Management</object> A common format header of the audit record captures information about: v The target object. v The action. v The user credentials. v The outcome. Example: <target resource="3"> <object>IV_LDAP_V3.0:sec_master</object> </target> <azn> ... </azn> Authorization service information. The authorization service: v Checks the access permissions on the target requested object . v Compares these access permissions with the capabilities of the requesting user. The azn element can include the following elements: v perm v result v qualifier <target resource="3"> ... <azn> <perm>64</perm> <result>0</result> <qualifier>0</qualifier> </azn> ... </target>
232
Auditing Guide
Table 46. Names and descriptions for XML output elements (continued)
Output element name <perm> ... </perm> Description Set of controls (permissions) that specifies the conditions necessary to perform certain operations on that resource. The permission can be specified in this element using either the binary number such as <perm>64</perm> or the letters for the specified action permissions such as <perm>Tr</perm>. Example: <target resource="3"> ... <azn> <perm>64</perm> <result>0</result> <qualifier>0</qualifier> </azn> ... </target> <result> ... </result> Results of the authorization service check. Example: <target resource="3"> ... <azn> <perm>64</perm> <result>0</result> <qualifier>0</qualifier> </azn> ... </target> <qualifier> ... </qualifier> Qualifier information. Example: <target resource="3"> ... <azn> <perm>64</perm> <result>0</result> <qualifier>0</qualifier> </azn> ... </target> <process> ... </process> Type of process. The process element can include the following elements: v pid (process ID) v uid (user ID) v eid (effective user ID) v gid (group ID) v egid (effective group ID) The process element includes the architecture attribute, which is one of the following values: 0 For Linux and UNIX operating systems. 1 For Windows operating systems. Example: <process architecture="0"> ... <pid></pid> </process>
233
Table 46. Names and descriptions for XML output elements (continued)
Output element name <pid></pid> <eid></eid> <uid></uid> <gid></gid> <egid></egid> Description The identifier of the process, which is contained in one of the following elements: pid Process ID eid Effective user ID uid User ID gid Group ID egid Effective group ID Example: <process architecture="0"> ... <pid>3899</pid> </process> <policy> ... </policy> The security policy information. The policy element can include the following elements: v name v type v descr Example of name element for policy element: <policy> <name>real-traders-only</name> <type>rule</type> </policy> <name> ... </name> Name of the policy attribute that you want to audit. The name matches the name that you specified in a list of attributes in the [aznapiconfiguration] stanza of the appropriate configuration file. For example: [aznapi-configuration] audit-attribute = real-traders-only Example: <policy> <name>real-traders-only</name> <type>rule</type> </policy> <type> ... </type> Type of security policy being audited. The type element can contain the following values: v ACL v POP v rule Example: <policy> <name>traders-pop</name> <type>POP</type> </policy> <descr> ... </descr> Description of the security policy. This element is empty if no description was created for the policy. Example: <policy><name>traders-acl</name> <type>ACL</type> <descr>traders that have ACL security policies</descr> </policy>
234
Auditing Guide
Table 46. Names and descriptions for XML output elements (continued)
Output element name <attribute> ... </attribute> Description The container for the characteristics of the access decision information (ADI) attribute to audit. An attribute can establish accountability by providing information to help identify potentially inappropriate access of assets. You can grant or deny access based on rules applied to attributes. The attribute element can include the following elements: v name v source v type v value Example: <attribute> <name>tagvalue_su-admin</name> <source>cred</source> <type>string</type> <value>test_customer_service_rep_1</value> </attribute> <name> ... </name> Name of the ADI to audit. This ADI can be for auditing either a user credential if for the authn component or an app_context if for an azn component. The name of the authorization attribute matches the name that you specified in a list of attributes in the [aznapi-configuration] stanza of the appropriate configuration file. For example: [aznapi-configuration] audit-attribute = AZN_CRED_AUTH_METHOD Example of name element for the attribute element: <attribute> <name>AZN_CRED_AUTH_METHOD</name> <source>credADI</source> <type>string</type> <value>su-forms</value> </attribute> <source> ... </source> The source event. The source element can contain one of the following values: cred app credADI appADI engineADI Applies only to the authorization (azn) component when evaluating a Boolean rule. dynADI Applies only to the authorization (azn) component when evaluating a Boolean rule. Applies to any Tivoli Access Manager component. Applies only to an authorization (azn) component. Applies only to the authorization (azn) component when evaluating a Boolean rule. Applies only to the authorization (azn) component when evaluating a Boolean rule.
If the ADI attribute is multi-valued, separate attribute element is written for each value. Example: <attribute> <name>AZN_CRED_AUTH_METHOD</name> <source>credADI</source> <type>string</type> <value>su-forms</value> </attribute>
235
Table 46. Names and descriptions for XML output elements (continued)
Output element name <type> ... </type> Description Type of security policy being audited. The type element can contain one of the following values: v string v ulong v pobj If <type>pobj</type>, the value is the name of the protected object. Example: <attribute> <name>AZN_CRED_AUTH_METHOD</name> <source>credADI</source> <type>string</type> <value>su-forms</value> </attribute> <value> ... </value> Value for the aznAPI attribute. If the ADI attribute is multi-valued, then a separate attribute element is written for each value. Example: <attribute> <name>AZN_CRED_AUTH_METHOD</name> <source>credADI</source> <type>string</type> <value>su-forms</value> </attribute> <resource_access> ... </resource_access> Example: <event rev="1.2"> ... <resource_access> <action>httpRequest</action> <httpurl>HTTP://cmd.wma.ibm.com:80/</httpurl> <httpmethod>GET</httpmethod> <httpresponse>200</httpresponse> </resource_access> ... </event> Example: <event rev="1.2"> ... <resource_access> <action>httpRequest</action> <httpurl>HTTP://cmd.wma.ibm.com:80/</httpurl> <httpmethod>GET</httpmethod> <httpresponse>200</httpresponse> </resource_access> ... </event> Example: <event rev="1.2"> ... <resource_access> <action>httpRequest</action> <httpurl>HTTP://cmd.wma.ibm.com:80/</httpurl> <httpmethod>GET</httpmethod> <httpresponse>200</httpresponse> </resource_access> ... </event>
236
Auditing Guide
Table 46. Names and descriptions for XML output elements (continued)
Output element name <httpmethod> ... </httpmethod> Example: <event rev="1.2"> ... <resource_access> <action>httpRequest</action> <httpurl>HTTP://cmd.wma.ibm.com:80/</httpurl> <httpmethod>GET</httpmethod> <httpresponse>200</httpresponse> </resource_access> ... </event> Example: <event rev="1.2"> ... <resource_access> <action>httpRequest</action> <httpurl>HTTP://cmd.wma.ibm.com:80/</httpurl> <httpmethod>GET</httpmethod> <httpresponse>200</httpresponse> </resource_access> ... </event> Description
237
Table 46. Names and descriptions for XML output elements (continued)
Output element name <authntype> ... </authntype> Description The type of authentication that the user completed. The following strings are authentication types that are associated with WebSEAL and Plug-in for Web Servers: itamFailoverCookie Failover cookie itamCDSSO WebSEAL or Plug-in for Web Servers authentication using cross domain single-sign on (CDSSO) itamECSSO WebSEAL or Plug-in for Web Servers authentication using e-Community single-sign on (ECSSO) certificate SSL certificate authentication twoFactor WebSEAL or Plug-in for Web Servers using token authentication formsPassword Password authentication using an HTML form basicAuthRFC2617 Password authentication using HTTP Basic Authentication (BA) passwordOther Password authentication using an undetermined mechanism itamHTTPHeader WebSEAL or Plug-in for Web Servers using HTTP header authentication itamIPAddress WebSEAL or Plug-in for Web Servers using IP address-based authentication kerberos WebSEAL or Plug-in for Web Servers using SPNEGO authentication itamEAI WebSEAL or Plug-in for Web Servers using external authentication interface (EAI) authentication itamIVCreds Plug-in for Web Servers authentication using the IV_CREDS header itamIVUser Plug-in for Web Servers authentication using the IV_USER header tokenLTPA Plug-in for Web Servers authentication using a lightweight third-party authentication (LTPA) token ntlm Plug-in for Web Servers using NTLM authentication itamWebServerAuthentication Plug-in for Web Servers authentication provided by the hosting Web server Example: <event rev="1.2"> ... <authntype>formsPassword</authntype> ... </event> <terminateinfo> ... </terminateinfo> Contains information about why a session ended. The terminateinfo element contains the terminatereason element. Example: <event rev="1.2"> ... <terminateinfo> <terminatereason>userLoggedOut</terminatereason> </terminateinfo> ... </event>
238
Auditing Guide
Table 46. Names and descriptions for XML output elements (continued)
Output element name <terminatereason> ... </terminatereason> Description The reason why the session ended. The following values are possible: idleTimeout The session timed out because the user was inactive. sessionExpired The session timed out because the user was logged in for too long. sessionDisplaced The session ended because another user with the same user ID logged in. sessionTerminatedByAdmin The session ended because an administrator logged out the user. userLoggedOut The session ended because the user logged out. reathLockOut The session ended because the user did not authenticate again. Example: <terminateinfo> <terminatereason>userLoggedOut</terminatereason> </terminateinfo> <data> ... </data> Event-specific data. The data element can contain the audit element. Additional event-specific information is recorded in a free format data area at the end of the event record. For failed authentication attempts, Data output for errors on page 245 provides details about the data information that is returned. Note: Decoding the meaning of certain data values in the record might require an advanced knowledge of the Tivoli Access Manager code and architecture. Command arguments are listed in the data element of the event record in their internal format. For example: <data>azn_id_get_creds</data> Commands that do not result in an effective state change (list and show) are never captured. Examples: v <event> ... <data> POST /pkmspasswd.form HTTP/1.1 0 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) https://c03comcrit2.somecompany.com/pkmspasswd </data> </event> v <data> "2019" "1002" "pop1" "0" "" </data>
239
Table 46. Names and descriptions for XML output elements (continued)
Output element name <audit/> Description Beginning and ending of an audit event. The audit element can include the event attribute, which can be one of the following values: v Start v Stop Example: <event rev="1.2"> ... <data> <audit event="Start"/> </data> </event> ... <event rev="1.2"> ... <data> <audit event="Stop"/> </data> </event>
240
Auditing Guide
Table 47. Mapping of action codes to management commands (continued) Action code 13100 13101 13102 13103 13104 13105 13106 13107 13110 13111 13112 13113 13114 13115 13116 13117 13118 13119 13120 13121 13123 13124 13125 13126 13127 13128 13129 13130 13131 13132 13133 13134 13135 13136 13137 13138 13139 13140 13141 13142 OBJ_GET OBJ_ACL_SET (deprecated) OBJ_GET_OBJ OBJSPC_CREATE OBJSPC_DELETE OBJSPC_LIST OBJ_CREATE OBJ_DELETE OBJ_MOD_SET_NAME OBJ_MOD_SET_DESC OBJ_MOD_SET_TYPE OBJ_MOD_SET_ISLF OBJ_MOD_SET_ISPOL OBJ_MOD_SET_ATTR OBJ_MOD_DEL_ATTR OBJ_MOD_DEL_ATTRVAL OBJ_SHOW_ATTR OBJ_LIST_ATTR ACL_ATTACH ACL_DETACH ACL_MOD_SET_ATTR ACL_MOD_DEL_ATTR ACL_MOD_DEL_ATTRVAL ACL_SHOW_ATTR ACL_LIST_ATTR POP_MOD_SET_ATTR POP_MOD_DEL_ATTR POP_MOD_DEL_ATTRVAL POP_SHOW_ATTR POP_LIST_ATTR OBJ_SHOW_ATTRS ACL_SHOW_ATTRS POP_SHOW_ATTRS OBJ_SHOW_V417 OBJ_LIST OBJ_LISTANDSHOW_V417 OBJ_EXISTS (deprecated) OBJ_ACCESS_CHECK OBJ_SHOW OBJ_LISTANDSHOW
Chapter 22. XML output of native audit events
Management command
241
Table 47. Mapping of action codes to management commands (continued) Action code 13150 13200 13201 13202 13203 13204 13205 13206 13207 13208 13209 13210 13400 13401 13402 13403 13404 13405 13406 13407 13408 13409 13410 13411 13412 13413 13414 13415 13416 13417 13418 13419 13420 13421 13422 13423 13424 13425 13426 13427 Management command ACL_CREATE_ATTR (deprecated, see 13134) SERVER_GET SERVER_RESTORE SERVER_DELETE (deprecated) SERVER_LIST SERVER_PERFORMTASK SERVER_GETTASKLIST SERVER_REPLICATE SERVER_ACTION SERVER_STATUS_GET SERVER_ENABLE (deprecated) SERVER_DISABLE (deprecated) ADMIN_SHOWCONF USER_CREATE USER_IMPORT USER_MODDESC USER_MODPWD USER_MODAUTHMECH USER_MODACCVALID USER_MODPWDVALID USER_DELETE USER_SHOWGROUPS USER_SHOW USER_SHOWDN USER_LIST USER_LISTDN GROUP_CREATE GROUP_IMPORT GROUP_MODDESC GROUP_MODADD GROUP_MODREMOVE GROUP_DELETE GROUP_SHOW GROUP_SHOWDN GROUP_LIST GROUP_LISTDN GROUP_SHOWMEMB USER_MODGSOUSER USER_SET (deprecated) GROUP_SET (deprecated)
242
Auditing Guide
Table 47. Mapping of action codes to management commands (continued) Action code 13428 13500 13501 13502 13503 13504 13505 13506 13507 13508 13509 13510 13511 13512 13513 13514 13600 13601 13602 13603 13604 13605 13606 13607 13608 13609 13610 13611 13612 13613 13614 13615 13616 13617 13618 13619 13620 13621 13622 13623 GROUP_MODADD2 GSO_RESOURCE_CREATE GSO_RESOURCE_DELETE GSO_RESOURCE_LIST GSO_RESOURCE_SHOW GSO_RESOURCE_CRED_CREATE GSO_RESOURCE_CRED_DELETE GSO_RESOURCE_CRED_MODIFY GSO_RESOURCE_CRED_LIST GSO_RESOURCE_CRED_SHOW GSO_RESOURCE_GROUP_CREATE GSO_RESOURCE_GROUP_DELETE GSO_RESOURCE_GROUP_ADD GSO_RESOURCE_GROUP_REMOVE GSO_RESOURCE_GROUP_LIST GSO_RESOURCE_GROUP_SHOW POLICY_SET_MAX_LOGIN_FAILURES POLICY_GET_MAX_LOGIN_FAILURES POLICY_SET_DISABLE_TIME_INTERVAL POLICY_GET_DISABLE_TIME_INTERVAL POLICY_SET_MAX_ACCOUNT_AGE POLICY_GET_MAX_ACCOUNT_AGE POLICY_SET_ACCOUNT_EXPIRY_DATE POLICY_GET_ACCOUNT_EXPIRY_DATE POLICY_SET_MAX_INACTIVITY_TIME POLICY_GET_MAX_INACTIVITY_TIME POLICY_GET_ACCOUNT_CREATION_DATE POLICY_GET_LAST_LOGIN_ATTEMPT_DATE POLICY_SET_MAX_PASSWORD_AGE POLICY_GET_MAX_PASSWORD_AGE POLICY_SET_MIN_PASSWORD_AGE POLICY_GET_MIN_PASSWORD_AGE POLICY_SET_MAX_PASSWORD_REPEATED_CHARS POLICY_GET_MAX_PASSWORD_REPEATED_CHARS POLICY_SET_MIN_PASSWORD_ALPHAS POLICY_GET_MIN_PASSWORD_ALPHAS POLICY_SET_MIN_PASSWORD_NON_ALPHAS POLICY_GET_MIN_PASSWORD_NON_ALPHAS POLICY_SET_MIN_PASSWORD_DIFFERENT_CHARS POLICY_GET_MIN_PASSWORD_DIFFERENT_CHARS
Chapter 22. XML output of native audit events
Management command
243
Table 47. Mapping of action codes to management commands (continued) Action code 13624 13625 13626 13627 13628 13629 13630 13631 13632 13633 13634 13635 13636 13637 13638 13639 13640 13700 13701 13702 13703 13704 13705 13706 13707 13800 13801 13802 13803 13804 13805 13806 13807 13808 13809 13810 13811 13812 13813 13814 Management command POLICY_SET_PASSWORD_SPACES POLICY_GET_PASSWORD_SPACES POLICY_SET_MIN_PASSWORD_LENGTH POLICY_GET_MIN_PASSWORD_LENGTH POLICY_SET_MIN_PASSWORD_REUSE_TIME POLICY_GET_MIN_PASSWORD_REUSE_TIME POLICY_GET_PASSWORD_FAILURES POLICY_GET_LAST_PASSWORD_CHANGE_DATE POLICY_SET_NUMBER_WARN_DAYS POLICY_GET_NUMBER_WARN_DAYS POLICY_SET_PASSWORD_REUSE_NUM POLICY_GET_PASSWORD_REUSE_NUM POLICY_SET_TOD_ACCESS POLICY_GET_TOD_ACCESS POLICY_GET_ALL_POLICY POLICY_SET_MAX_CONCURRENT_WEB_SESSIONS POLICY_GET_MAX_CONCURRENT_WEB_SESSIONS POP_CREATE POP_DELETE POP_MODIFY POP_SHOW POP_LIST POP_ATTACH POP_DETACH POP_FIND CFG_CONFIG CFG_UNCONFIG CFG_RENEWCERT CFG_SETPORT CFG_SETLISTENING CFG_SETKEYRINGPWD CFG_SETSSLTIMEOUT CFG_SETAPPLCERT CFG_ADDREPLICA CFG_CHGREPLICA CFG_RMVREPLICA CFG_GETVALUE CFG_SETVALUE CFG_RMVVALUE CFG_SETSVRPWD
244
Auditing Guide
Table 47. Mapping of action codes to management commands (continued) Action code 13900 13901 13902 13903 13904 13950 13951 13952 13953 13954 13955 13956 13957 13958 13959 13960 13961 13962 13963 13964 13965 DOMAIN_CREATE DOMAIN_DELETE DOMAIN_MODIFY_DESC DOMAIN_SHOW DOMAIN_LIST AUTHZRULE_CREATE AUTHZRULE_DELETE AUTHZRULE_MODIFYTEXT AUTHZRULE_MODIFYREASON AUTHZRULE_MODIFYDESC AUTHZRULE_SHOW AUTHZRULE_LIST AUTHZRULE_ATTACH AUTHZRULE_DETACH AUTHZRULE_FIND AUTHZRULE_MOD_SET_ATTR AUTHZRULE_MOD_DEL_ATTR AUTHZRULE_MOD_DEL_ATTRVAL AUTHZRULE_SHOW_ATTRS AUTHZRULE_SHOW_ATTR AUTHZRULE_LIST_ATTR Management command
Authentication failures
The reason for authentication failure is included in two different locations in the authentication audit event: v The data element v The outcome element Primarily, the data element is for compatibility with the earlier version of audit events. Later versions of audit events use the outcome element.
Account lock-out
13212132
320938290
245
Table 48. Authentication errors (continued) Error type General failure Error code (in hex) All others Error code (in decimal) All others Generated XML <data> <username>user</username> </data>
The following list explains the meaning for the reason attribute of the outcome element: accountDisabled The account is disabled. accountDisabledRetryViolation The account was disabled because of a violation of the max-login-failures policy. The account has been permanently disabled. accountExpired The account is expired or disabled. accountLockedOutMaxLoginFail The login failed because the account is temporarily disabled due the max-login-failures policy. authenticationFailure General authentication failure, including incorrect password. certificateFailure Incorrect SSL certificate. invalidUserName Incorrect user name. nextToken Token authentication requires next token. passwordExpired The password has expired and must be changed. pinRequired Token authentication requires a new PIN (personal identification number). policyViolationMaxLotginsReached Violation of the max-concurrent-web-session policy. policyViolationTOD Violation of the time-of-day policy. userNameMismatch Attempt at authentication or step-up authenticate failed because the user name that was provided did not match the previous user name.
246
Auditing Guide
When the representation is element_type.element, the full XPath statement would be:
CommonBaseEvent/extendedDataElements[@name=element_type]/children [@name=element]/values
For detailed information about these elements and element types, see Chapter 24, Reference information about elements and element types, on page 281
failureReason
No
247
sequenceNumber sourceComponentId
Yes Yes
application component componentIdType componentType executionEnvironment instanceId location locationType processed subComponent threadId startTime timestamp userInfo
appUserName
Yes
248
Auditing Guide
No No No Yes No
249
application component componentIdType componentType executionEnvironment instanceId location locationType processed subComponent threadId startTime timestamp userInfo
appUserName attributes callerList domain location locationType realm registryUserName sessionId uniqueId
Yes No No No No No No Yes No No
250
Auditing Guide
sequenceNumber sourceComponentId
Yes Yes
251
No No No Yes No No
When different from This element, nor its children, should be the sourceComponentId defined in the shredder configuration file. These elements are generated by the code. This container element uses the children of the auditComponentIdType element type.
252
Auditing Guide
application component componentIdType componentType executionEnvironment instanceId location locationType processed subComponent threadId startTime terminateReason timestamp userInfo
Yes Yes Yes Yes No No Yes Yes No Yes No No When action is logout Yes When action is logout
appUserName attributes callerList domain location locationType realm registryUserName sessionId uniqueId
Yes No No No No No No Yes No No
253
The following table lists the elements that can be displayed in the output of an AUDIT_AUTHZ event and their abbreviated XPath statements.
Table 53. Elements used in AUDIT_AUTHZ events
Element accessDecision accessDecisionReason action appName attributePermissionInfo Always in output When outcome.result is SUCCESSFUL When accessDecision is Denied No No No Abbreviated XPath accessDecision accessDecisionReason action appName This element is a container element and has no valid XPath. A valid XPath requires a values declaration. This container element uses the children of the attributePermissionInfoType element type. attributePermissionInfo.attributeNames attributePermissionInfo.checked attributePermissionInfo.denied attributePermissionInfo.granted This element is a container element and has no valid XPath. A valid XPath requires a values declaration. This container element uses the children of the attributeType element type. attributes.name attributes.source attributes.value auditMsg This element, nor its children, should be defined in the shredder configuration file. auditTrailId endTime [type=dateTime] AUDIT_AUTHZ" Not applicable. This value is an internal number that is not related to #GLOBAL_ID. This element is a container element and has no valid XPath. A valid XPath requires a values declaration. This container element uses the children of the auditOutcomeType element type. outcome.failureReason outcome.majorStatus outcome.minorStatus outcome.result This element is a container element and has no valid XPath. A valid XPath requires a values declaration. This container element uses the children of the permissionInfoType element type. permissionInfo.checked permissionInfo.denied permissionInfo.granted permissionInfo.J2EERolesChecked permissionInfo.J2EERolesGranted
Yes Yes No No No
name source value auditMsg auditMsgElement auditTrailId endTime extensionName globalInstanceId outcome
No No No Yes Yes
Yes No No No No
254
Auditing Guide
resourceInfo
Yes
255
appUserName attributes callerList domain location locationType realm registryUserName sessionId uniqueId
Yes No No No No No No Yes No No
failureReason
No
256
Auditing Guide
Yes No Yes
application component componentIdType componentType executionEnvironment instanceId location locationType processed subComponent threadId suppressed startTime targetAccount targetResource targetUser timestamp violationClassification violationDescription violationName
Yes Yes Yes Yes No No Yes Yes No Yes No No No No No No Yes No No When complianceStatus is nonCompliant
257
No No No Yes No
resourceInfo
Yes
258
Auditing Guide
appUserName attributes callerList domain location locationType realm registryUserName sessionId uniqueId
Yes No No No No No No Yes No No
259
No No Yes
No No No Yes No
sequenceNumber sourceComponentId
Yes Yes
260
Auditing Guide
appUserName attributes callerList domain location locationType realm registryUserName sessionId uniqueId
Yes No No No No No No Yes No No
id
No
261
No No Yes
No No No Yes No
resourceInfo
No
262
Auditing Guide
application component componentIdType componentType executionEnvironment instanceId location locationType processed subComponent threadId startTime timestamp userInfo
appUserName attributes callerList domain location locationType realm registryUserName sessionId uniqueId
Yes No No No No No No Yes No No
263
No No No Yes Yes
sequenceNumber sourceComponentId
Yes Yes
264
Auditing Guide
appUserName attributes callerList domain location locationType realm registryUserName sessionId uniqueId
Yes No No No No No No Yes No No
265
No No Yes
No No No Yes No
No No Yes No Yes
266
Auditing Guide
sequenceNumber sourceComponentId
Yes Yes
application component componentIdType componentType executionEnvironment instanceId location locationType processed subComponent threadId startTime timestamp userInfo
appUserName attributes callerList domain location locationType realm registryUserName sessionId uniqueId
Yes No No No No No No Yes No No
267
The following table lists the elements that can be displayed in the output of an AUDIT_MGMT_RESOURCE event and their abbreviated XPath statements.
Table 60. Elements used in AUDIT_MGMT_RESOURCE events
Element Action auditMsg auditMsgElement auditTrailId endTime extensionName globalInstanceId mgmtInfo Always in output Yes No No No No Yes Yes Yes Abbreviated XPath action auditMsg This element, nor its children, should be defined in the shredder configuration file. auditTrailId endTime [type=dateTime] AUDIT_MGMT_RESOURCE" Not applicable. This value is an internal number that is not related to #GLOBAL_ID. This element is a container element and has no valid XPath. A valid XPath requires a values declaration. This container element uses the children of the mgmtInfoType element type. mgmtInfo.command mgmtInfo.targetInfo This element is a container element and has no valid XPath. A valid XPath requires a values declaration. This container element uses the children of the auditOutcomeType element type. outcome.failureReason outcome.majorStatus outcome.minorStatus outcome.result This element is a container element and has no valid XPath. A valid XPath requires a values declaration. This container element uses the children of the registryInfoType element type. registryInfo.serverLocation registryInfo.serverLocationType registryInfo.serverPort registryInfo.type This element, nor its children, should be defined in the shredder configuration file. These elements are generated by the code. This container element uses the children of the auditComponentIdType element type. This element is a container element and has no valid XPath. A valid XPath requires a values declaration. This container element uses the children of the registryObjectInfoType element type. registryObjectInfo.attributes registryObjectInfo.description registryObjectInfo.name registryObjectInfo.registryName registryObjectInfo.type This element is a container element and has no valid XPath. A valid XPath requires a values declaration. This container element uses the children of the resourceInfoType element type.
No No Yes
No No No Yes No
registryInfo
No
268
Auditing Guide
application component componentIdType componentType executionEnvironment instanceId location locationType processed subComponent threadId startTime timestamp userInfo
appUserName attributes callerList domain location locationType realm registryUserName sessionId uniqueId
Yes No No No No No No Yes No No
269
No No No Yes No
No Yes Yes No
sequenceNumber sourceComponentId
Yes Yes
application
Yes
270
Auditing Guide
appUserName attributes callerList domain location locationType realm registryUserName sessionId uniqueId
Yes No No No No No No Yes No No
271
attributeNames checked denied granted auditMsg auditMsgElement auditTrailId endTime extensionName globalInstanceId httpURLInfo
No
No No No Yes Yes
Yes No No No No No
serverLocation serverLocationType
Yes Yes
272
Auditing Guide
When different from This element, nor its children, should be the sourceComponentId defined in the shredder configuration file. These elements are generated by the code. This container element uses the children of the auditComponentIdType element type. Yes This element is a container element and has no valid XPath. A valid XPath requires a values declaration. This container element uses the children of the resourceInfoType element type. resourceInfo.attributes resourceInfo.nameInApp resourceInfo.nameInPolicy resourceInfo.type Not applicable. This value is an internal number that is not related to #RECORD_ID. This element is a container element and has no valid XPath. A valid XPath requires a values declaration. This container element uses the children of the auditComponentIdType element type. CommonBaseEvent/SourceComponentId/ @application CommonBaseEvent/SourceComponentId/ @component CommonBaseEvent/SourceComponentId/ @componentIdType CommonBaseEvent/SourceComponentId/ @componentType CommonBaseEvent/SourceComponentId/ @executionEnvironment CommonBaseEvent/SourceComponentId/ @instanceId CommonBaseEvent/SourceComponentId/@location CommonBaseEvent/SourceComponentId/ @locationType CommonBaseEvent/SourceComponentId/ @processed CommonBaseEvent/SourceComponentId/ @subComponent CommonBaseEvent/SourceComponentId/@threadId startTime [type=dateTime] CommonBaseEvent/@creationTime This element is a container element and has no valid XPath. A valid XPath requires a values declaration. This container element uses the children of the userInfoType element type. userInfo.appUserName userInfo.attributes userInfo.callerList userInfo.domain
resourceInfo
application component componentIdType componentType executionEnvironment instanceId location locationType processed subComponent threadId startTime timestamp userInfo
Yes No No No
273
274
Auditing Guide
When different from This element, nor its children, should be the sourceComponentId defined in the shredder configuration file. These elements are generated by the code. This container element uses the children of the auditComponentIdType element type. No This element is a container element and has no valid XPath. A valid XPath requires a values declaration. This container element uses the children of the resourceInfoType element type. resourceInfo.attributes resourceInfo.nameInApp resourceInfo.nameInPolicy resourceInfo.type Not applicable. This value is an internal number that is not related to #RECORD_ID. This element is a container element and has no valid XPath. A valid XPath requires a values declaration. This container element uses the children of the auditComponentIdType element type. CommonBaseEvent/SourceComponentId/ @application CommonBaseEvent/SourceComponentId/ @component CommonBaseEvent/SourceComponentId/ @componentIdType CommonBaseEvent/SourceComponentId/ @componentType CommonBaseEvent/SourceComponentId/ @executionEnvironment CommonBaseEvent/SourceComponentId/ @instanceId CommonBaseEvent/SourceComponentId/@location CommonBaseEvent/SourceComponentId/ @locationType CommonBaseEvent/SourceComponentId/ @processed CommonBaseEvent/SourceComponentId/ @subComponent CommonBaseEvent/SourceComponentId/@threadId startTime [type=dateTime] CommonBaseEvent/@creationTime
resourceInfo
application component componentIdType componentType executionEnvironment instanceId location locationType processed subComponent threadId startTime timestamp
275
appUserName attributes callerList domain location locationType realm registryUserName sessionId uniqueId
Yes No No No No No No Yes No No
No No No Yes
276
Auditing Guide
When different from This element, nor its children, should be the sourceComponentId defined in the shredder configuration file. These elements are generated by the code. This container element uses the children of the auditComponentIdType element type. Yes Yes Not applicable. This value is an internal number that is not related to #RECORD_ID. This element is a container element and has no valid XPath. A valid XPath requires a values declaration. This container element uses the children of the auditComponentIdType element type. CommonBaseEvent/SourceComponentId/ @application CommonBaseEvent/SourceComponentId/ @component CommonBaseEvent/SourceComponentId/ @componentIdType CommonBaseEvent/SourceComponentId/ @componentType CommonBaseEvent/SourceComponentId/ @executionEnvironment CommonBaseEvent/SourceComponentId/ @instanceId CommonBaseEvent/SourceComponentId/@location CommonBaseEvent/SourceComponentId/ @locationType CommonBaseEvent/SourceComponentId/ @processed CommonBaseEvent/SourceComponentId/ @subComponent CommonBaseEvent/SourceComponentId/@threadId startTime [type=dateTime] CommonBaseEvent/@creationTime This element is a container element and has no valid XPath. A valid XPath requires a values declaration. This container element uses the children of the userInfoType element type. userInfo.appUserName userInfo.attributes userInfo.callerList userInfo.domain userInfo.location userInfo.locationType
sequenceNumber sourceComponentId
application component componentIdType componentType executionEnvironment instanceId location locationType processed subComponent threadId startTime timestamp userInfo
Yes No No No No No
277
No No No Yes No
sequenceNumber
Yes
278
Auditing Guide
application component componentIdType componentType executionEnvironment instanceId location locationType processed subComponent threadId startTime targetUserInfo
appUserName attributes callerList domain location locationType realm registryUserName sessionId uniqueId targetUserRegistryInfo
Yes No No No No No No Yes No No No
279
appUserName attributes callerList domain location locationType realm registryUserName sessionId uniqueId userInputs
Yes No No No No No No Yes No No No
Yes No Yes No
id type
Yes Yes
280
Auditing Guide
accessDecision
Reference information about the accessDecision element.
Description
Decision of the authorization call.
Values
String The following strings are suggested values: denied Access was denied. permitted Access was permitted. permittedWarning Access was permitted in warning mode. unknown Cannot determine whether access is denied or not. May be due to a non-access error (configuration problem or internal problem) or because more access decision information is needed.
XPath
CommonBaseEvent/extendedDataElements[@name=accessDecision]/values
accessDecisionReason
Reference information about the accessDecisionReason element.
Description
Additional information about the access decision. For example when accessDecision=denied, provides the reason for the denial.
281
Values
String The following strings are suggested values: authnLevelUnauthorized The user is not authenticated at a sufficiently high level to access the resource. authzRuleUnauthorized The authorization rule policy denied access. delegateUnauthorized Delegate principal is unauthorized to perform delegation. qopUnauthorized The communication channel being used to access the resource has an insufficient level of quality of protection. reauthnUnauthorized Access is denied until the user interactively re-authenticates. timeOfDayUnauthorized Access denied due to time of day policy. unauthorized Operation is not authorized. Use this only if you cannot provide a more specific reason.
XPath
CommonBaseEvent/extendedDataElements[@name=accessDecisionReason]/values
action
Reference information about the action element.
Description
The action being performed.
Values
String v For the AUDIT_AUTHN event type, the following strings are suggested values: authentication An authentication operation. Note that multiple authentications can occur as part of a single login. credsRefresh Refresh of a credential. For example, in the case of Kerberos. login A login operation. reauthentication Re-authentication operation stepUp Step-up authentication. tokenIssue Used when the Trust Service issues a token on behalf of an identity. tokenReceipt Used when an incoming security token is validated by the Trust Service. switchUser A switch user operation.
282
Auditing Guide
v For the AUDIT_AUTHN_CREDS_MODIFY event type, the following strings are suggested values: credsCombine Caller is adding an additional user to a credential chain. credsModify Caller is creating a modified copy of existing user credentials. getCreds Caller is getting credentials based on user information. getCredsFromPAC Resolve credentials from transferable object (privilege attribute certificate [PAC]). getEntitlements Add to credentials using an entitlements service. getPAC Convert credentials to a transferable object (privilege attribute certificate [PAC]). v For the AUDIT_AUTHN_TERMINATE event type, the following strings are suggested values: logout A logout operation. switchUserTerminate Used when the switch user session is ended. v For the AUDIT_DATA_SYNC event type, the following strings are suggested values: reconcile Reconcile accounts. Example: Tivoli Identity Manager server sends request to the remote provisioning resource to synchronize account data into the Tivoli Identity Manager repository. unsolicitedNotification Notify of operations. Example: The remote provisioning resource sends notification to Tivoli Identity Manager server to notify changes on the account data. v For the AUDIT_MGMT_CONFIG, AUDIT_MGMT_POLICY, AUDIT_MGMT_REGISTRY, and AUDIT_MGMT_RESOURCE event types, the following strings are suggested values: associate Associate entities. For example: user associated with groups, group associated with users, and policy associated with objects. challengeResponse Change the challenge and response configurations. changePolicyEnforcementAction Change the policy enforcement action of the management object. The currently allowable actions are: Correct Suspend Mark Non-Compliant checkAccess An authorization decision was made. create Create a management object. delegate Delegate authorities the user has to another user for a period of time specified.
283
delete Delete a management object. For example, delete a file from the Trusted Computing Base. disable Disable an account for login activity. disassociate Disassociate entities. For example, disassociate a user from groups, disassociate a group from users, and disassociate a policy from objects. enable Enable an account for login activity. markTrusted Mark as trusted. For example, mark a file as trusted in the Trusted Computing Base. markUntrusted Mark as untrusted. For example, mark a file as untrusted in the Trusted Computing Base. modify Modify a management object. passthru Indicates that request is passed to another server. passwordChange Indicates a password change operation initiated by the administrator. passwordPickup Pick up password for account. register To register. For example, register a daemon with the kernel. restore To restore. For example, to restore a suspended user or account. retire To retire. For example, a federation is retired when it is no longer used. This is archived for future reference. retrieve A credential was retrieved. show Show a management object. suspend To suspend. For example, suspend a partner in a federation. transfer Transfer a user between different organization containers. validate To validate. For example, verify a security token representing a user. v For the AUDIT_MGMT_PROVISIONING event type, the following strings are suggested values: add Provision a new account on the target resource identified by provisioningTargetInfo. adopt Adopt an orphan account identified by provisioningTargetInfo. changePassword Change password for an account identified by provisioningTargetInfo. delete Delete an account identified by provisioningTargetInfo. modify Modify an existing account identified by provisioningTargetInfo. passwordPickup Pick up password for an account identified by provisioningTargetInfo. restore Restore a suspended account identified by provisioningTargetInfo. suspend Suspend an existing account identified by provisioningTargetInfo.
284
Auditing Guide
v For the AUDIT_RESOURCE_ACCESS event type, the following strings are suggested values: fileExec A program execution occurred. fileTrace A file access occurred. httpRequest A request was made to access a given resource using HTTP. v For the AUDIT_RUNTIME event type, the following strings are suggested values: auditLevelChange An audit or warning level change request has been sent to the server. auditStart Auditing has started for a server component. auditStop Auditing has stopped for a server component. contactRestored Restored contact. For example, the Tivoli Access Manager for Operating Systems server has left isolation mode. The server has regained contact with the Access Manager user registry. heartbeatDown Heartbeat information that a server or API is down. heartbeatUp Heartbeat information that a server or API is up. lostContact Lost contact. For example, the Tivoli Access Manager for Operating Systems server has gone into isolation mode. The server currently has no contact with the Tivoli Access Manager user registry. monitor A process was adopted in to the set of monitored processes. start A server has successfully started. statistic Statistical information for a server for capacity planning purposes. stop A server has successfully stopped. v For the AUDIT_RUNTIME_KEY event type, the following strings are suggested values: keyRetire The key has been retired. keyCRLInvalidated The CRL in the key is not valid. keyCertExpired The certificate in the key has expired. keySetInvalid The key has been set as not valid. keyCertExpirationCheck The expiration of the certificate has been checked. v For the AUDIT_WORKFLOW event type, the following strings are suggested values: assign A work item is assigned and routed to a user. complete A work item is completed by the user. defer Additional time is given for the completion of the work item. delegate A work item is being delegated to another user.
285
escalate lock A work item is being escalated as a result of timeout. A work item is being locked by a user. Once a work item is locked, no other potential work item owner can perform operation on the work item. A work item is unlocked by a user.
unlock
XPath
CommonBaseEvent/extendedDataElements[@name=action]/values
appName
Reference information about the appName element.
Description
Name of the application accessing the resource.
Values
String For example, an Emacs program accessing a file resource.
XPath
CommonBaseEvent/extendedDataElements[@name=appName]/values
attributePermissionInfo
Reference information about the attributePermissionInfo element.
Description
A container for the information about access permissions on the attributes of the target This container uses the children of attributePermissionInfoType: v attributePermissionInfoType.attributeNames v attributePermissionInfoType.checked v attributePermissionInfoType.denied v attributePermissionInfoType.granted
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
attributePermissionInfo.attributeNames
Reference information about the attributePermissionInfo.attributeNames element.
Description
List of attributes in which permission are being checked.
286
Auditing Guide
Values
String[]
XPath
The XPath accesses the first attributeNames element from an array of attributeNames elements.
CommonBaseEvent/extendedDataElements [@name=attributePermissionInfo]/children[1]/children [@name=attributeNames]/values[1]
attributePermissionInfo.checked
Reference information about the attributePermissionInfo.checked element.
Description
Permission that are being checked during the authorization call.
Values
String[]
XPath
The XPath accesses the first checked element from an array of checked elements.
CommonBaseEvent/extendedDataElements [@name=attributePermissionInfo]/children[1]/children [@name=checked]/values[1]
attributePermissionInfo
Reference information about the attributePermissionInfo.denied element.
Description
Permission that are denied.
Values
String[]
XPath
The XPath accesses the first denied element from an array of denied elements.
CommonBaseEvent/extendedDataElements [@name=attributePermissionInfo]/children[1]/children [@name=denied]/values[1]
attributePermissionInfo.granted
Reference information about the attributePermissionInfo.granted element.
287
Description
Permission that are granted.
Values
String[]
XPath
The XPath accesses the first granted element from an array of granted elements.
CommonBaseEvent/extendedDataElements [@name=attributePermissionInfo]/children[1]/children [@name=granted]/values[1]
attributes
Reference information about the attributes element.
Description
A container for the array of application-specific attributes for this event. This element type represents an attribute that is associated with an entity, such as a user, application, or authorization rule. This element uses the children of the attributeType element: v attributes.name v attributes.source v attributes.value
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
attributes.name
Reference information about the attributes.name element.
Description
Name of the attribute.
Values
Any arbitrary string
XPath
CommonBaseEvent/extendedDataElements[@name=attributes]/children[1]/children [@name=name]/values[1]
attributes.source
Reference information about the attributes.source element.
288
Auditing Guide
Description
Source of the attribute.
Values
String The following strings are suggested values: application Provided by the application. authzRuleADI Provided as an input for authorization rules. user Provided by the user.
XPath
CommonBaseEvent/extendedDataElements[@name=attributes]/children[1]/children [@name=source]/values[1]
attributes.value
Reference information about the attributes.value element.
Description
Value of the attribute.
Values
Any arbitrary string
XPath
CommonBaseEvent/extendedDataElements[@name=attributes]/children[1]/children [@name=value]/values[1]
auditMsg
Reference information about the auditMsg element.
Description
Message for this audit event.
Values
xsd:string Any arbitrary string Refer to the msg field in the Common Base Event specification.
XPath
CommonBaseEvent/extendedDataElements[@name=auditMsg]/values
289
auditMsgElement
Reference information about the auditMsgElement element.
Description
Information associated with message. This container uses the field of msgDataElement and its children. For additional details, refer to the Common Base Event specification.
Values
cbe:msgDataElement
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
auditTrailId
Reference information about the TrailId element.
Description
ID that allows audit events that belong to a given transaction to be correlated. For example, this could be populated using the propagationToken in WebSphere Application Server.
Values
Any arbitrary string
XPath
CommonBaseEvent/extendedDataElements[@name=auditTrailId]/values
authenProvider
Reference information about the authenProvider element.
Description
Provider of the authentication service.
Values
Any arbitrary string
XPath
CommonBaseEvent/extendedDataElements[@name=authenProvider]/values
290
Auditing Guide
authnType
Reference information about the authnType element.
Description
Provider of the authentication service.
Values
Any arbitrary string The following strings are suggested values: basicAuth Browser authentication based on user ID and password. challengeResponse Challenge and response authentication. digest Digest-based authentication. form Form-based authentication. identityAssertion Authentication based on identity assertion. kerberos Authentication based on Kerberos credentials. ldap_v3.0 Authentication using the LDAP protocol. ltpa Lightweight third-party authentication. sslAuthn SSL-based authentication. tokenAccessManagerCred Authentication based on Tivoli Access Manager credentials. tokenLiberty Authentication based on a Liberty token. tokenSAML Authentication based on a SAML token. tokenUserName Authentication based on user name based token. trustAssociation Authentication based on trust association.
XPath
CommonBaseEvent/extendedDataElements[@name=authnType]/values
authnTypeVersion
Reference information about the authnTypeVersion element.
Description
Version of the authentication type.
Values
String form of the version number
291
XPath
CommonBaseEvent/extendedDataElements[@name=authnTypeVersion]/values
complianceStatus
Reference information about the complianceStatus element.
Description
Status of compliance.
Values
String The following strings are suggested values: compliant The reconciled account on the provisioning resource complies with the specified security policy. disallowed The reconciled account is not allowed by a provisioning policy. nonCompliant The reconciled account on the provisioning resource does not comply with the specified security policy. orphan No owner can be found for the reconciled account.
XPath
CommonBaseEvent/extendedDataElements[@name=complianceStatus]/values
endTime
Reference information about the endTime element.
Description
End time of the operation.
Values
xsd:DateTime Refer to the creationTime field in the Common Base Event specification.
XPath
CommonBaseEvent/extendedDataElements[@name=endTime][@type=dateTime]/values
extensionName
Reference information about the extensionName element.
292
Auditing Guide
Description
The event type. This information relates to the following line in the CARSShredder.conf file:
cars_t_event, eventType, "event_type"
Values
String The actual name of the event type, which is one of the following literal values: v AUDIT_AUTHN_CREDS_MODIFY v AUDIT_AUTHN_MAPPING v AUDIT_AUTHN_TERMINATE v AUDIT_AUTHN v AUDIT_AUTHZ v AUDIT_COMPLIANCE v AUDIT_DATA_SYNC v AUDIT_MGMT_CONFIG v AUDIT_MGMT_POLICY v AUDIT_MGMT_PROVISIONING v AUDIT_MGMT_REGISTRY v AUDIT_MGMT_RESOURCE v AUDIT_PASSWORD_CHANGE v AUDIT_RESOURCE_ACCESS v AUDIT_RUNTIME v AUDIT_RUNTIME_KEY v AUDIT_WORKFLOW
XPath
event_type For example, to specify the AUDIT_AUTHN event type, specify:
"AUDIT_AUTHN"
fixDescription
Reference information about the fixDescription element.
Description
Description of specific fix. For example, Apply patch xyz.
Values
String Any arbitrary string allowed by the application.
XPath
CommonBaseEvent/extendedDataElements[@name=fixDescription]/values
293
fixId
Reference information about the fixId element.
Description
Identifier of specific fix.
Values
String Any arbitrary string allowed by the application.
XPath
CommonBaseEvent/extendedDataElements[@name=fixId]/values
globalInstanceId
Reference information about the globalInstanceId element.
Description
An internal identifier for an audit event as shown in the XML output. This information is not related to the following line in the CARSShredder.conf file:
cars_t_event, event_id, #GLOBAL_ID
httpURLInfo
Reference information about the httpURLInfo element.
Description
The container for information about the HTTP request. This container uses the children of HTTPURLInfoType: v HTTPURLInfoType.method v HTTPURLInfoType.requestHeaders v HTTPURLInfoType.responseCode v HTTPURLInfoType.responseHeaders v HTTPURLInfoType.url
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
HTTPURLInfo.method
Reference information about the HTTPURLInfo.method element.
Description
Method used.
294
Auditing Guide
Values
String Methods allowed by the HTTP protocol (for example, POST or GET). The following strings are suggested values: GET Passed in information using the HTTP GET method. POST Passed in information using the HTTP POST method.
XPath
CommonBaseEvent/extendedDataElements[@name=HTTPURLInfo]/children [@name=method]/values
HTTPURLInfo.requestHeaders
Reference information about the HTTPURLInfo.requestHeaders element.
Description
HTTP request headers given by the client. String
XPath
CommonBaseEvent/extendedDataElements[@name=HTTPURLInfo]/children [@name=requestHeaders]/values
HTTPURLInfo.responseCode
Reference information about the HTTPURLInfo.responseCode element.
Description
Response code returned by the server.
Values
Integer
XPath
CommonBaseEvent/extendedDataElements[@name=HTTPURLInfo]/children [@name=responseCode]/values
HTTPURLInfo.responseHeaders
Reference information about the HTTPURLInfo.responseHeaders element.
Description
HTTP response headers returned by the server.
Values
String
295
XPath
CommonBaseEvent/extendedDataElements[@name=HTTPURLInfo]/children [@name=responseHeaders]/values
HTTPURLInfo.url
Reference information about the HTTPURLInfo.url element.
Description
URL of the HTTP request.
Values
String
XPath
CommonBaseEvent/extendedDataElements[@name=HTTPURLInfo]/children [@name=url]/values
keyLabel
Reference information about the keyLabel element.
Description
Indicates the key or certificate label.
Values
Any arbitrary string
XPath
CommonBaseEvent/extendedDataElements[@name=keyLabel]/values
lifetime
Reference information about the lifetime element.
Description
Indicates when a certificate will expire.
Values
xsd:DateTime Refer to the creationTime field in the Common Base Event specification.
XPath
CommonBaseEvent/extendedDataElements[@name=lifetime]/values
location
Reference information about the location element.
296
Auditing Guide
Description
Physical location of the key database.
Values
xsd:string Refer to the location field in the Common Base Event specification.
XPath
CommonBaseEvent/extendedDataElements[@name=location]/values
locationType
Reference information about the locationType element.
Description
Type of location.
Values
xsd:Name Refer to the locationType field in the Common Base Event specification.
XPath
CommonBaseEvent/extendedDataElements[@name=locationType]/values
loginTime
Reference information about the loginTime element.
Description
The time that the login occurred.
Values
xsd:DateTime Refer to the creationTime field in the Common Base Event specification.
XPath
CommonBaseEvent/@creationTime
mappedRealm
Reference information about the mappedRealm element.
Description
Indicate the realm after mapping.
297
Values
Any arbitrary string
XPath
CommonBaseEvent/extendedDataElements[@name=mappedRealm]/values
mappedSecurityDomain
Reference information about the mappedSecurityDomain element.
Description
Indicate the security domain after mapping.
Values
Any arbitrary string
XPath
CommonBaseEvent/extendedDataElements[@name=mappedSecurityDomain]/values
mappedUserName
Reference information about the mappedUserName element.
Description
Indicate the user name after mapping.
Values
Any arbitrary string
XPath
CommonBaseEvent/extendedDataElements[@name=mappedUserName]/values
membershipInfo
Reference information about the membershipInfo element.
Description
The container for list of memberships to which the policy applies. The element uses the children of the membershipInfo element: v membershipInfoType.id v membershipInfoType.name v membershipInfoType.type
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
298
Auditing Guide
memberships.id
Reference information about the memberships.id element.
Description
Unique identifier of the member.
Values
String For example, distinguished name of a role.
XPath
The XPath statement assumes the first membership element from an array of membership elements.
CommonBaseEvent/extendedDataElements [@name=memberships]/children[1]/children [@name=id]/values
memberships.name
Reference information about the memberships.name element.
Description
Name of the member.
Values
String
XPath
The XPath statement assumes the first membership element from an array of membership elements.
CommonBaseEvent/extendedDataElements [@name=memberships]/children[1]/children [@name=name]/values
memberships.type
Reference information about the memberships.type element.
Description
Membership type.
Values
String The following strings are suggested values: all Applies to all users.
Chapter 24. Reference information about elements and element types
299
orgContainer Applies to users that belong in a given organization container. other Is not one of the other types. role Applies to users that belong in a given role.
XPath
The XPath statement assumes the first membership element from an array of membership elements.
CommonBaseEvent/extendedDataElements [@name=memberships]/children[1]/children [@name=type]/values
message
Reference information about the message element.
Description
Generated message that describes specifics about the violation. Can include dynamically inserted information. Example: Invalid ACL for c:\winnt\repair: Account: BUILTIN\users
Values
String Any arbitrary string allowed by the application.
XPath
CommonBaseEvent/extendedDataElements[@name=message]/values
mgmtInfo
Reference information about the mgmtInfo element.
Description
The container for information about this management operation. This element type represents information that is common for events that are related to management operations, such as managing policies, resources, registry objects, and so forth. This element uses the children of mgmtInfoType: v mgmtInfoType.command v mgmtInfoType.targetInfo
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
300
Auditing Guide
mgmtInfo.command
Reference information about the mgmtInfo.command element.
Description
The application-specific command being performed. The command is particularly useful for modify actions to pinpoint what is being modified.
Values
String An application-specific string that represents the command. Examples: v Key user modify: modifyPassword modifyAccountValid modifyPasswordValidKey v Policy modify: modifyPolicyMaxLoginFailures modifyPolicyMaxAccountAge modifyPolicyMaxPasswordAge modifyPolicyTimeOfDayAccess v ACL modify: modifyACLSetAttribute modifyACLDelAttribute v POP modify: modifyPOPSetAttribute modifyPOPDelAttribute v protectedObject modify: modifyObjectDelAttribute modifyObjectSetAttribute
XPath
CommonBaseEvent/extendedDataElements[@name=mgmtInfo]/children [@name=command]/values
mgmtInfo.targetInfo
Reference information about the mgmtInfo.targetInfo element.
Description
Information about the target resource of this operation.
Values
targetInfoType
301
XPath
Refer to targetInfoType on page 331 for details.
originalRealm
Reference information about the originalRealm element.
Description
Indicate the realm before mapping.
Values
Any arbitrary string
XPath
CommonBaseEvent/extendedDataElements[@name=originalRealm]/values
originalSecurityRealm
Reference information about the originalSecurityRealm element.
Description
Indicate the security domain before mapping.
Values
Any arbitrary string
XPath
CommonBaseEvent/extendedDataElements[@name=originalSecurityRealm]/values
originalUserName
Reference information about the originalUserName element.
Description
Indicate the user name before mapping.
Values
Any arbitrary string
XPath
CommonBaseEvent/extendedDataElements[@name=originalUserName]/values
outcome
Reference information about the outcome element.
302
Auditing Guide
Description
A container for the outcome of the action for which the audit record is generated. This element type identifies a component that is the source of the event or reports an event, and defines the outcome of the event being audited. This element uses the children of auditOutcomeType: v outcome.failureReason v outcome.majorStatus v outcome.minorStatus v outcome.result
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
outcome.failureReason
Reference information about the outcome.failureReason element.
Description
Additional information about the outcome.
Values
Any arbitrary string. The outcome element contains the failureReason element. The values for the failureReason elements are event-specific. The following strings are some of the suggested values: accountDisabled User's account has been disabled. accountDisabledRetryViolation Retry maximum has been violated for authentications that are not valid. The account has been disabled in the registry. accountExpired User account has expired. accountLockedOutMaxLoginFail User account has been temporarily locked out due to too many failed login attempts. Lock time interval has not elapsed. accountLockedOutRetryViolation Invalid authentication retry maximum has been violated. The account has been temporarily locked out. accountMaxInactiveElapsed Maximum inactive days has elapsed for the account. accountUnlocked User account was unlocked because lock time interval has elapsed. authenticationFailure Authentication failed. Use this value when you do not have a more specific value for this audit element. certificateFailure A client certificate could not be authenticated.
303
invalidUserName The supplied user name does not exist in the registry. invalidUserPassword The password associated with the given user name is incorrect. mappingFailure The login data entered could not be mapped to an application-specific user. nextToken Next token required for authentication. passwordChangeMaxIntervalElapsed Maximum time interval since last password change has elapsed. passwordChangeMinIntervalUnexpired Minimum time interval required between password changes has not elapsed. passwordContainOld Password contains the old password or is contained in the old password. passwordExpired The user's password has expired and no further grace log ins remain. passwordFirstLastNumeric Password contains a numeric first or last character. passwordMaxCharOld Password exceeds the allowed number of consecutive characters that are common with the previous password. passwordMaxRepeated Password exceeds the maximum allowed number of repeated characters. passwordMinAlphabetic Password does not contain the required minimum number of alphabetic characters. passwordMinAlphabeticLower Password does not contain the required minimum number of lowercase characters. passwordMinAlphabeticUpper Password does not contain the required minimum number of uppercase characters. passwordMinAlphanumeric Password does not contain the required minimum number of alphanumeric characters passwordMinNumeric Password does not contain the required minimum number of numeric characters. passwordMinSpecial Password does not contain the required minimum number of special characters. passwordNumCharViolation Password does not contain the required number of characters. passwordOldReused Password is a recently used old password. passwordUserName Password contains the user name or is contained in the user name. pinRequired A PIN must be assigned to enable account. policyAllowedAccess All login policy checks permitted access. policyViolation Login rejected due to policy violation. policyViolationMaxLoginsReached Login rejected because maximum number of concurrent log ins reached.
304
Auditing Guide
policyViolationTOD Authentication denied at this time of the day. tokenExpired The lifetime for the token has expired. tokenNotSupported The given token is not a supported type. tokenNotInValidFormat The given token was not in the expected format or was corrupted. tokenNotValidYet The token is not valid yet. tokenSignatureValidationFailed The signature for the token was not valid. usernameMismatch In the case of reauthentication or stepUp authentication, the given user name does not match the current user name. When a suggested value is not available, use the string Unknown Failure Reason.
XPath
CommonBaseEvent/extendedDataElements[@name=outcome]/children [@name=failureReason]/values
outcome.majorStatus
Reference information about the outcome.majorStatus element.
Description
Major status code. Typically, majorStatus will be zero when result is SUCCESSFUL, and some nonzero value when it is not.
Values
Any integer
XPath
CommonBaseEvent/extendedDataElements[@name=outcome]/children [@name=majorStatus]/values
outcome.minorStatus
Reference information about the outcome.minorStatus element.
Description
Minor status code. Typically, minorStatus will be zero when result is SUCCESSFUL, and some non-zero value when it is not.
Values
Any integer
XPath
CommonBaseEvent/extendedDataElements[@name=outcome]/children [@name=minorStatus]/values
Chapter 24. Reference information about elements and element types
305
outcome.result
Reference information about the outcome.result element.
Description
Overall status of the event commonly used for filtering. Use UNSUCCESSFUL when an error condition arose which prevented normal processing, and SUCCESSFUL for normal processing.
Values
Same as the successDisposition field in the Situation types in the Common Base Event specification. v SUCCESSFUL v UNSUCCESSFUL
XPath
CommonBaseEvent/extendedDataElements[@name=outcome]/children [@name=result]/values
partner
Reference information about the partner element.
Description
End time of the operation.
Values
xsd:DateTime
XPath
CommonBaseEvent/extendedDataElements[@name=partner]/values
perfInfo
Reference information about the perfInfo element.
Description
A container that represents performance and statistical data This information that can be helpful during capacity planning activities. This element uses the children of perfInfoType: v perfInfo.aggregate v perfInfo.description v perfInfo.name v v v v v perfInfo.maxValue perfInfo.minValue perfInfo.numDataPoints perfInfo.unit perfInfo.value
306
Auditing Guide
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
perfInfo.aggregate
Reference information about the perfInfo.aggregate element.
Description
Operation for combining with other statistic events.
Values
String The following strings are suggested values: addition When combining with another statistic that measures the same data, then the values of the data should be added together. average When combining with another statistic that measures the same data, then the values of the data should be averaged.
XPath
CommonBaseEvent/extendedDataElements[@name=perfInfo]/children [@name=aggregate]/values
perfInfo.description
Reference information about the perfInfo.description element.
Description
Description of the statistic.
Values
Any arbitrary string
XPath
CommonBaseEvent/extendedDataElements[@name=perfInfo]/children [@name=description]/values
perfInfo.name
Reference information about the perfInfo.name element.
Description
Name of the statistic.
Values
Any arbitrary string
Chapter 24. Reference information about elements and element types
307
XPath
CommonBaseEvent/extendedDataElements[@name=perfInfo]/children [@name=name]/values
perfInfo.maxValue
Reference information about the perfInfo.maxValue element.
Description
Maximum value among all data points.
Values
Long
XPath
CommonBaseEvent/extendedDataElements[@name=perfInfo]/children [@name=maxValue]/values
perfInfo.minValue
Reference information about the perfInfo.minValue element.
Description
Minimum value among all data points.
Values
Long
XPath
CommonBaseEvent/extendedDataElements[@name=perfInfo]/children [@name=minValue]/values
perfInfo.numDataPoints
Reference information about the perfInfo.numDataPoints element.
Description
Number of data points gathered.
Values
Integer
XPath
CommonBaseEvent/extendedDataElements[@name=perfInfo]/children [@name=numDataPoints]/values
perfInfo.unit
Reference information about the perfInfo.unit element.
308
Auditing Guide
Description
Unit of measurement for the value.
Values
Any arbitrary string
XPath
CommonBaseEvent/extendedDataElements[@name=perfInfo]/children [@name=unit]/values
perfInfo.value
Reference information about the perfInfo.value element.
Description
Value of the statistic.
Values
Long
XPath
CommonBaseEvent/extendedDataElements[@name=perfInfo]/children [@name=value]/values
permissionInfo
Reference information about the permissionInfo element.
Description
A container represents information about access permissions. This element uses the children of permissionInfoType: v permissionInfoType.checked v permissionInfoType.denied v permissionInfoType.granted v permissionInfoType.J2EERolesChecked v permissionInfoType.J2EERolesGranted
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
permissionInfo.checked
Reference information about the permissionInfo.checked element.
Description
Permission that are being checked during the authorization call.
Chapter 24. Reference information about elements and element types
309
Values
String[] Any arbitrary string allowed by the application can be provided as an element of the String[].
XPath
The XPath accesses the first checked element from an array of checked elements.
CommonBaseEvent/extendedDataElements[@name=permissionInfo]/children [@name=checked]/values[1]
permissionInfo.denied
Reference information about the permissionInfo.denied element.
Description
Permissions that are denied out of the ones requested.
Values
String[] Any arbitrary string allowed by the application can be provided as an element of the String[].
XPath
The XPath accesses the first denied element from an array of denied elements.
CommonBaseEvent/extendedDataElements[@name=permissionInfo]/children [@name=denied]/values[1]
permissionInfo.granted
Reference information about the permissionInfo.granted element.
Description
Permissions that are granted.
Values
String[] Any arbitrary string allowed by the application can be provided as an element of the String[].
XPath
The XPath accesses the first granted element from an array of granted elements.
CommonBaseEvent/extendedDataElements[@name=permissionInfo]/children [@name=granted]/values[1]
310
Auditing Guide
permissionInfo.J2EERolesChecked
Reference information about the permissionInfo.J2EERolesChecked element.
Description
J2EE roles being checked.
Values
String[] Any arbitrary string allowed by the application can be provided as an element of the String[].
XPath
The XPath accesses the first J2EERolesChecked element from an array of J2EERolesChecked elements.
CommonBaseEvent/extendedDataElements[@name=permissionInfo]/children [@name=J2EERolesChecked]/values[1]
permissionInfo.J2EERolesGranted
Reference information about the permissionInfo.J2EERolesGranted element.
Description
J2EE roles granted.
Values
String[] Any arbitrary string allowed by the application can be provided as an element of the String[].
XPath
The XPath accesses the first J2EERolesGranted element from an array of J2EERolesGranted elements.
CommonBaseEvent/extendedDataElements[@name=permissionInfo]/children [@name=J2EERolesGranted]/values[1]
policyDescription
Reference information about the policyDescription element.
Description
Description of the policy that contains violation specification.
311
Values
String Any arbitrary string allowed by the application.
XPath
CommonBaseEvent/extendedDataElements[@name=policyDescription]/values
policyInfo
Reference information about the policyInfo element.
Description
A container for information about the policy object, which can includes policies that are attached to the resource or policies that are the container of a resource. This element type represents a policy associated with an authorization resource or policy management event. The element uses the children of policyInfoType: v policyInfo.attributes v policyInfo.branch v policyInfo.description v policyInfo.name v policyInfo.type
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
policyInfo.attributes
Reference information about the policyInfo.attributes element.
Description
Attributes associated with a policy.
Values
attributeType[] See attributes on page 288 for details.
XPath
The XPath accesses the first source element from an array of attributes elements.
CommonBaseEvent/extendedDataElements [@name=policyInfo]/children[5]/children [@name=source]/values
Note: The index is 5, for the attributes element must come after thebranch, description, name, and type elements:
312
Auditing Guide
policyInfo.branch
Reference information about the policyInfo.branch element.
Description
Name of the branch to which the policy applies.
Values
String For example: Tivoli Access Manager for Operating Systems lets you group the policy for similar machines under user-defined policy branches.
XPath
CommonBaseEvent/extendedDataElements[@name=policyInfo]/children [@name=branch]/values
policyInfo.description
Reference information about the policyInfo.description element.
Description
Description of the policy.
Values
String
XPath
CommonBaseEvent/extendedDataElements[@name=policyInfo]/children [@name=description]/values
policyInfo.name
Reference information about the policyInfo.name element.
Description
Name of the policy.
Values
String
XPath
CommonBaseEvent/extendedDataElements[@name=policyInfo]/children [@name=name]/values
policyInfo.type
Reference information about the policyInfo.type element.
313
Description
Type of the policy.
Values
String The following strings are suggested values: accountPolicy Account policy: v Account expiry date v Maximum account age v Time of day (TOD) access acl Access control list. action Represents a permission. actionGroup Represents a collection of permissions. authzRule Authorization rule. federation A collection of groups or organizations participating in a trust relationship. identityPolicy Specifies how identities, or user IDs, should be generated when provisioning one or more resource. key A cryptographic key, either symmetric or asymmetric. loginPolicy Policy that controls login behavior: v Login failure count v Login disable time interval partner A group or organization participating in a federation. passwordPolicy A set of rules in which all passwords for one or more services must conform. policy Generic policy value to be used for policies not defined in the other values. pop Protected object policy controls: v Audit level v Additional attributes v Quality of protection (QoP) provisioningPolicy Used to associate one or multiple groups of users with one or multiple entitlements. The group of users is usually identified by organization or organization role. The entitlement is a construct to define a set of permissions, or privileges, on a managed provisioning resource. serviceSelectionPolicy Used in situations where the instance of a provisioning resource, on which the provisioning of an account is to take place, will be determined dynamically based on account owners attributes. spsModule A Single Sign-On (SSO) Protocol Service module (for example, the Liberty module). stsChain A grouping of Security Token Service (STS) module instances. stsModule Security Token Service (STS) module (for example, SAML module).
314
Auditing Guide
XPath
CommonBaseEvent/extendedDataElements[@name=policyInfo]/children [@name=type]/values
policyName
Reference information about the policyName element.
Description
Name of policy. Example: ITCS104AIX.
Values
String Any arbitrary string allowed by the application.
XPath
CommonBaseEvent/extendedDataElements[@name=policyName]/values
progName
Reference information about the progName element.
Description
Name of the program that is involved in the event.
Values
Any arbitrary string
XPath
CommonBaseEvent/extendedDataElements[@name=progName]/values
provisioningInfo
Reference information about the provisioningInfo element.
Description
A container for the information about a provisioned resource that is the target of the operation. This element uses the children of provisioningInfoType: v provisioningInfoType.accountId v provisioningInfoType.resourceId v provisioningInfoType.resourceType
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
315
provisioningInfo.accountId
Reference information about the provisioningInfo.accountId element.
Description
Unique identifier of the target account.
Values
String
XPath
CommonBaseEvent/extendedDataElements[@name=provisioningInfo]/children [@name=accountId]/values
provisioningInfo.resourceId
Reference information about the provisioningInfo.resourceId element.
Description
Unique identifier of the target resource.
Values
String
XPath
CommonBaseEvent/extendedDataElements[@name=provisioningInfo]/children [@name=resourceId]/values
provisioningInfo.resourceType
Reference information about the provisioningInfo.resourceType element.
Description
Type of the target. For example, the type of the user, or the type of the provisioning resource.
Values
An arbitrary string. See suggested values for resourceInfo.type on page 323 audit element.
XPath
CommonBaseEvent/extendedDataElements[@name=provisioningInfo]/children [@name=resourceType]/values
provisioningTargetInfo
Reference information about the provisioningTargetInfo element.
316
Auditing Guide
Description
A container for target provisioning account. This element uses the children of provisioningInfoType: v provisioningInfoType.accountId v provisioningInfoType.resourceId v provisioningInfoType.resourceType
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
recommendation
Reference information about the recommendation element.
Description
Provides information related to remedial actions to take to protect against the vulnerability.
Values
String Any arbitrary string allowed by the application.
XPath
CommonBaseEvent/extendedDataElements[@name=recommendation]/values
registryInfo
Reference information about the registryInfo element.
Description
A container for information about the user registry that is involved in the operation. This element uses the children of the registryInfoType element: v registryInfo.serverLocation v registryInfo.serverLocationType v registryInfo.serverPort v registryInfo.type
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
registryInfo.serverLocation
Reference information about the registryInfo.serverLocation element.
Chapter 24. Reference information about elements and element types
317
Description
Location of the registry server.
Values
xsd:string Refer to the location field in the Common Base Event specification.
XPath
CommonBaseEvent/extendedDataElements[@name=registryInfo]/children [@name=serverLocation]/values
registryInfo.serverLocationType
Reference information about the registryInfo.serverLocationType element.
Description
Type of server location.
Values
xsd:Name Refer to the locationType field in the Common Base Event specification.
XPath
CommonBaseEvent/extendedDataElements[@name=registryInfo]/children [@name=serverLocationType]/values
registryInfo.serverPort
Reference information about the registryInfo.serverPort element.
Description
Port on which the registry server is listening.
Values
String Port number
XPath
CommonBaseEvent/extendedDataElements[@name=registryInfo]/children [@name=serverPort]/values
registryInfo.type
Reference information about the registryInfo.type element.
318
Auditing Guide
Description
Type of registry.
Values
String The following strings are suggested values: ActiveDir Active Directory registry. AIX AIX user registry. Domino Domino registry. HPUX HP-UX user registry. LDAP LDAP registry. Linux Linux user registry. Solaris Solaris user registry. Windows Windows user registry.
XPath
CommonBaseEvent/extendedDataElements[@name=registryInfo]/children [@name=type]/values
registryObjectInfo
Reference information about the registryObjectInfo element.
Description
A container for information about the registry object that is being managed. This container uses the children of the registryObjectInfoType element: v registryObjectInfo.attributes v registryObjectInfo.description v registryObjectInfo.name v registryObjectInfo.registryName v registryObjectInfo.type
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
registryObjectInfo.attributes
Reference information about the registryObjectInfo.attributes element.
Description
Attributes associated with a registry object.
319
Values
attributeType[] See attributes on page 288 for details.
XPath
The XPath accesses the first name element from an array of attributes elements.
CommonBaseEvent/extendedDataElements [@name=registryObjectInfo]/children[5] [@name=name]/values
Note: The index is 5, for the attributes element must come after thedescription, name, registryName, and type elements:
registryObjectInfo.description
Reference information about the registryObjectInfo.description element.
Description
Description of the policy.
Values
String
XPath
CommonBaseEvent/extendedDataElements[@name=registryObjectInfo]/children [@name=description]/values
registryObjectInfo.name
Reference information about the registryObjectInfo.name element.
Description
Application name for the registry object.
Values
String Any string allowed by the application.
XPath
CommonBaseEvent/extendedDataElements[@name=registryObjectInfo]/children [@name=name]/values
registryObjectInfo.registryName
Reference information about the registryObjectInfo.registryName element.
320
Auditing Guide
Description
Registry name for the registry object.
Values
String Any string allowed by the registry.
XPath
CommonBaseEvent/extendedDataElements[@name=registryObjectInfo]/children [@name=registryName]/values
registryObjectInfo.type
Reference information about the registryObjectInfo.type element.
Description
Type of the registry object.
Values
String The following strings are suggested values: domain A registry object that represents a domain. group A registry object that represents a group. gsoResource A registry object that represents a global sign-on (GSO) resource. orgContainer Identifies the organization hierarchy for the user. user A registry object that represents a user.
XPath
CommonBaseEvent/extendedDataElements[@name=registryObjectInfo]/children [@name=type]/values
reporterComponentId
Reference information about the reporterComponentId element.
Description
A container for the reporter of the audit record on behalf of the source component. This container element is used when the reporting component is different from the source component. When displayed in output, this element uses the children of the auditComponentIdType element: v application v component v componentIdType v componentType
Chapter 24. Reference information about elements and element types
321
v v v v v v v
XPath
This element, nor its children, should be defined in the shredder configuration file. These elements are generated by the code.
resourceInfo
Reference information about the resourceInfo element.
Description
The container for information about the resource that is being accessed or that to which the policy applies. This element uses the children of the resourceInfoType element: v v v v resourceInfo.attributes resourceInfo.nameInApp resourceInfo.nameInPolicy resourceInfo.type
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
resourceInfo.attributes
Reference information about the resourceInfo.attributes element.
Description
Array of attributes for the resource.
Values
attributeType [] Refer to attributes on page 288 for details.
XPath
The XPath accesses the first name element from an array of attributes elements.
CommonBaseEvent/extendedDataElements [@name=registryObjectInfo]/children[4] [@name=name]/values
322
Auditing Guide
Note: The index is 4, for the attributes element must come after thenameInApp, nameInPolicy, and type elements:
CommonBaseEvent/extendedDataElements[@name=resourceInfo]/children [@name=attributes]/values
resourceInfo.nameInApp
Reference information about the resourceInfo.nameInApp element.
Description
Name of the resource in the context of the application.
Values
Any arbitrary string User Not Available when not available.
XPath
CommonBaseEvent/extendedDataElements[@name=resourceInfo]/children [@name=nameInApp]/values
resourceInfo.nameInPolicy
Reference information about the resourceInfo.nameInPolicy element.
Description
Name of the resource when applying a policy to it. For example, Tivoli Access Manager protected object name.
Values
Any arbitrary string User Not Available when not available.
XPath
CommonBaseEvent/extendedDataElements[@name=resourceInfo]/children [@name=nameInPolicy]/values
resourceInfo.type
Reference information about the resourceInfo.type element.
Description
Type of the resource.
Values
String The following strings are suggested values:
Chapter 24. Reference information about elements and element types
323
application An application such as Access Manager server, Directory Server, Identity Manager server or any executable process. file File system resource. Example: /OSSEAL/policy-branch/File/filespec group Used to group users for Role Based Access Control. identityPolicy Identify policy specifies how user identities should be generated when provisioning one or more resource. junction Describes a WebSEAL junction. login Policies related to login. For example, password expiry, account suspension due to failed login attempts, or account lockouts due to account inactivity. management Authorization of a management command. The specific management object type is contained in the resourceName. messageQueue A message queue. netIncoming Incoming network accesses are controlled by network resources: NetIncoming resource:/OSSEAL/policy-branch/NetIncoming/protocol[/ service[/host]] netOutgoing Outgoing network accesses are controlled by the following network resource. NetOutgoing resource:/OSSEAL/policy-branch/NetOutgoing/[/ hostspec[/protocol[/service]]] orgContainer The organization container defines the organization hierarchy for the managed resources. passwordPolicy Specifies a set of rules in which all passwords for one or more services must conform. For example, password strength and password aging. policyUpdate Indicates a policy update. Example: Tivoli Access Manager for Operating Systems has received a policy update (downloaded from the policy database). protectedResource A generic value for a protected resource. For example, Tivoli Access Manager protected object or Tivoli Access Manager protected object space. provisioningAccount Represents a user's identity on the target provisioning resource. provisioningPolicy Used to associate one or multiple groups of users with one or multiple entitlements. The group of users is usually identified by organization or organization role. The entitlement is a construct to define a set of permissions, or privileges, on a managed provisioning resource. provisioningResource A resource for which Identity Provisioning is enabled. serviceSelectionPolicy Used in situations where the instance of a provisioning resource, on which the provisioning of an account is to take place, will be determined dynamically based on account owners attributes. sudo Describe commands that require more stringent access control than whether or not a particular program can be run. Sudo commands allow access control based not only on a command but also on the parameters passed to that command. You can use Sudo commands to remove the requirements for a user to become the root user on a system in order to
324
Auditing Guide
perform administrative tasks. Sudo resources are identified in the Tivoli Access Manager namespace in the following way: /OSSEAL/policybranch/Sudo/sudo-command[/sudo-orglass] surrogate Surrogate resources. Operations that can change the user identity or group identity of a process are referred to as surrogate operations and are controlled by resources of type surrogate. Surrogate resource names follow the form: /OSSEAL/policy-branch/Surrogate/User/user-name. tcb Trusted Computing Base resources. workflowTemplate Defines the flow of a business workflow process. url An absolute URL identifying the resource accessed. Use the File resource type for file:// URLs. user The user entity that application manages in the registry.
XPath
CommonBaseEvent/extendedDataElements[@name=resourceInfo]/children [@name=type]/values
sequenceNumber
Reference information about the sequenceNumber element.
Description
An internal identifier for an audit event as shown in the XML output. This information is not related to the following line in the CARSShredder.conf file:
cars_t_event, cars_seq_number, #RECORD_ID
severity
Reference information about the severity element.
Description
Identifies severity of the violation.
Values
String The following strings are suggested values: high Violation of high severity. low Violation of low severity. medium Violation of medium severity.
XPath
CommonBaseEvent/extendedDataElements[@name=severity]/values
sourceComponentId
Reference information about the sourceComponentId element.
325
Description
A container for the information about what originated the audit record. When displayed in output, this element uses the children of the auditComponentIdType element: v sourceComponentId/@application v sourceComponentId/@component v sourceComponentId/@componentIdType v sourceComponentId/@componentType v sourceComponentId/@executionEnvironment v sourceComponentId/@instanceId v sourceComponentId/@location v sourceComponentId/@locationType v sourceComponentId/@processed v sourceComponentId/@subComponent v sourceComponentId/@threadId
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
sourceComponentId/@application
Reference information about the sourceComponentId/@application element.
Description
Refer to the Common Base Event specification.
Values
xsd:string Refer to same field in the ComponentIdentification in the Common Base Event specification. For example: WebSEAL is an application within the component IBM Tivoli Access Manager for e-business.
XPath
CommonBaseEvent/sourceComponentId/@application
sourceComponentId/@component
Reference information about the sourceComponentId/@component element.
Description
Product name, version, and fix pack level.
Values
String For example, WebSEAL is an application within the component IBM Tivoli Access Manager for e-business, version 6.1, FixPack x.
326
Auditing Guide
Refer to same field in the ComponentIdentification in the Common Base Event specification.
XPath
CommonBaseEvent/sourceComponentId/@component
sourceComponentId/@componentIdType
Reference information about the sourceComponentId/@componentIdType element.
Description
Specifies the format and meaning of the component identified by this componentIdentification.
Values
xsd:string Refer to same field in the ComponentIdentification in the Common Base Event specification.
XPath
CommonBaseEvent/sourceComponentId/@componentIdType
sourceComponentId/@componentType
Reference information about the sourceComponentId/@componentType element.
Description
A well-defined name that is used to characterize all instances of a given kind of component.
Values
xsd:string Refer to same field in the ComponentType in the Common Base Event specification.
XPath
CommonBaseEvent/sourceComponentId/@componentType
sourceComponentId/@executionEnvironment
Reference information about the sourceComponentId/@executionEnvironment element.
Description
The immediate environment that an application is running in.
327
Values
xsd:string Refer to same field in the ComponentIdentification in the Common Base Event specification.
XPath
CommonBaseEvent/sourceComponentId/@executionEnvironment
sourceComponentId/@instanceId
Reference information about the sourceComponentId/@instanceId element.
Description
Module instance information, for example, port number.
Values
String Refer to same field in the ComponentIdentification in the Common Base Event specification.
XPath
CommonBaseEvent/sourceComponentId/@instanceId
sourceComponentId/@location
Reference information about the sourceComponentId/@location element.
Description
Physical location of the reporting component.
Values
xsd:string Refer to same field in the ComponentIdentification in the Common Base Event specification.
XPath
CommonBaseEvent/sourceComponentId/@location
sourceComponentId/@locationType
Reference information about the sourceComponentId/@locationType element.
Description
Type of location.
328
Auditing Guide
Values
xsd:string Refer to same field in the ComponentIdentification in the Common Base Event specification.
XPath
CommonBaseEvent/sourceComponentId/@locationType
sourceComponentId/@processId
Reference information about the sourceComponentId/@processId element.
Description
Process ID.
Values
String Refer to same field in the ComponentIdentification in the Common Base Event specification.
XPath
CommonBaseEvent/sourceComponentId/@processId
sourceComponentId/@subComponent
Reference information about the sourceComponentId/@subComponent element.
Description
Module name.
Values
String Refer to same field in the ComponentIdentification in the Common Base Event specification.
XPath
CommonBaseEvent/sourceComponentId/@subComponent
sourceComponentId/@threadId
Reference information about the sourceComponentId/@threadId element.
Description Values
String
Chapter 24. Reference information about elements and element types
329
Refer to same field in the ComponentIdentification in the Common Base Event specification.
XPath
CommonBaseEvent/sourceComponentId/@threadId
startTime
Reference information about the startTime element.
Description
Start time of the operation.
Values
xsd:DateTime Refer to the creationTime field in the Common Base Event specification.
XPath
CommonBaseEvent/extendedDataElements[@name=startTime][@type=dateTime]/values
suppressed
Reference information about the suppressed element.
Description
Identifies if the violation was suppressed.
Values
String Use one of the following strings: v yes v no
XPath
CommonBaseEvent/extendedDataElements[@name=suppressed]/values
targetAccount
Reference information about the targetAccount element.
Description
Name of the user account.
Values
String Any string allowed by targetResource.
330
Auditing Guide
XPath
CommonBaseEvent/extendedDataElements[@name=targetAccount]/values
targetInfoType
Reference information about the targetInfoType element.
Description
This element type represents information about the target of a management action, such as associating an access control list with a protected resource. When displayed in output, this element uses the children of the targetInfoType element: v targetInfoType.attributes v targetInfoType.targetNames
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
targetInfo.attributes
Reference information about the targetInfo.attributes element.
Description
Array of attributes for the values for the target.
Values
attributeType [] Refer to attributes on page 288 for details. Key loginPolicy attributes: v maxLoginFailures Key accountPolicy attributes: v todAccess Key User attributes: v accountValid v password v passwordValid
XPath
CommonBaseEvent/extendedDataElements[]@name=mgmtInfo]/children [@name=targetInfo]/children[2] [@name=name]/values
331
v The index is 2, for the names element must come after the targetNames element.
targetInfo.targetNames
Reference information about the targetInfo.targetNames element.
Description
Object this operation is targeted against. String String allowed for the target object name by the application. Examples: v For group associate, target is a list of users added to a group. v For ACL associate, target is a resource name associated with an ACL. v For ACL disassociate, target is a resource name disassociated with the ACL.
XPath
CommonBaseEvent/extendedDataElements[@name=mgmtInfo]/children [@name=targetInfo]/children [@name=targetNames]/values[1]
targetResource
Reference information about the targetResource element.
Description
Name of the resource on which the account exists.
Values
String Any string allowed by the application.
XPath
CommonBaseEvent/extendedDataElements[@name=targetResource]/values
targetUser
Reference information about the targetUser element.
Description
Name of the user.
332
Auditing Guide
Values
String Any string allowed by the application.
XPath
CommonBaseEvent/extendedDataElements[@name=targetUser]/values
targetUserInfo (1)
Reference information about the targetUserInfo element when used with the AUDIT_WORKFLOW event type.
Description
A container for information about the target users when used with the AUDIT_WORKFLOW event type. This element uses the children of userInfoType: v userInfo.appUserName v userInfo.attributes v userInfo.callerList v userInfo.domain v userInfo.location v userInfo.locationType v userInfo.realm v userInfo.registryUserName v userInfo.sessionId v userInfo.uniqueId
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
targetUserInfo (2)
Reference information about the targetUserInfo element when used with the AUDIT_MGMT_PROVISIONING event type.
Description
A container for information about the target users when used with the AUDIT_MGMT_PROVISIONING event type. For AUDIT_MGMT_PROVISIONING events, registryObjectInfo.type must be User. This element uses the children of registryObjectInfoType: v registryObjectInfo.attributes v registryObjectInfo.description v registryObjectInfo.name v registryObjectInfo.registryName v registryObjectInfo.type
Chapter 24. Reference information about elements and element types
333
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
targetUserRegistryInfo
Reference information about the targetUserRegistryInfo element.
Description
A container for information about the registry to which the target user belongs. This element uses the children of the registryInfoType element: v registryInfo.serverLocation v registryInfo.serverLocationType v registryInfo.serverPort v registryInfo.type
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
terminateReason
Reference information about the terminateReason element.
Description
The reason for the termination.
Values
String The following strings are suggested idleTimeout The session was terminated sessionExpired The session was terminated sessionDisplaced The session was terminated session displacing this one. sessionTerminatedByAdmin The session was terminated userLoggedOut The session was terminated values: because it was inactive for too long. because its maximum lifetime was exceeded. because the sessions user created a new
XPath
CommonBaseEvent/extendedDataElements[@name=terminateReason]/values
timestamp
Reference information about the timestamp element.
334
Auditing Guide
Description
End time of the operation.
Values
xsd:DateTime If not specified, it is generated automatically. The timestamp is used in reports to determine when the audit event occurred. If the caller specifies the timestamp, it is the caller's responsibility to ensure that the timestamp provided is not spoofed. Refer to the creationTime field in the Common Base Event specification.
XPath
CommonBaseEvent/@creationTime
type
Reference information about the type element.
Description
The type of command.
Values
String The following strings suggested values: config Configuration object. server Object that represents an application server.
XPath
CommonBaseEvent/extendedDataElements[@name=type]/values
userInfo
Reference information about the userInfo element.
Description
The container for information about the user. This element uses the children of userInfoType: v userInfo.appUserName v userInfo.attributes v userInfo.callerList v userInfo.domain v userInfo.location v userInfo.locationType v userInfo.realm v userInfo.registryUserName v userInfo.sessionId v userInfo.uniqueId
Chapter 24. Reference information about elements and element types
335
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
userInfo.appUserName
Reference information about the userInfo.appUserName element.
Description
Users name within a given application.
Values
String Any arbitrary string allowed by the application. For example, a Tivoli Access Manager user name. The following strings are suggested values: unauthenticated An unauthenticated user
XPath
CommonBaseEvent/extendedDataElements[@name=userInfo]/children [@name=appUserName]/values
userInfo.attributes
Reference information about the userInfo.attributes element.
Description
Array of attributes in the users credential.
Values
attributeType Refer to attributes on page 288 for details.
XPath
The XPath is the first name element from an array of attributes elements.
CommonBaseEvent/extendedDataElements [@name=userInfo]/children[10]/children [@name=name]/values
Note: The index is 10, for the attributes element must come after the appUserName, callerList, domain, location, locationType, realm, registryUserName, sessionId, and uniqueId elements
userInfo.callerList
Reference information about the userInfo.callerList element.
336
Auditing Guide
Description
A list of names representing the users identities.
Values
String[] Any arbitrary string allowed by the application can be used in the String[].
XPath
The XPath is the first callerList element from an array of callerList elements.
CommonBaseEvent/extendedDataElements[@name=userInfo]/children [@name=callerList]/values[1]
userInfo.domain
Reference information about the userInfo.domain element.
Description
Domain in which user belongs.
Values
String Any arbitrary string allowed by the application.
XPath
CommonBaseEvent/extendedDataElements[@name=userInfo]/children [@name=domain]/values
userInfo.location
Reference information about the userInfo.location element.
Description
Location of the user. Example: In the case of WebSEAL, where the user authenticated from.
Values
xsd:string Refer to the location field in the Common Base Event specification.
XPath
CommonBaseEvent/extendedDataElements[@name=userInfo]/children [@name=location]/values
userInfo.locationType
Reference information about the userInfo.locationType element.
Chapter 24. Reference information about elements and element types
337
Description
Type of location.
Values
xsd:Name Refer to the locationType field in the Common Base Event specification.
XPath
CommonBaseEvent/extendedDataElements[@name=userInfo]/children [@name=locationType]/values
userInfo.realm
Reference information about the userInfo.realm element.
Description
The registry partition to which the user belongs.
Values
String Any arbitrary string allowed by the application.
XPath
CommonBaseEvent/extendedDataElements[@name=userInfo]/children [@name=realm]/values
userInfo.registryUserName
Reference information about the userInfo.registryUserName element.
Description
The registry partition to which the user belongs.
Values
String Any arbitrary string allowed by the application. Use Not Available when not available.
XPath
CommonBaseEvent/extendedDataElements[@name=userInfo]/children [@name=registryUserName]/values
userInfo.sessionId
Reference information about the userInfo.sessionId element.
338
Auditing Guide
Description
ID for the users session.
Values
Any arbitrary string
XPath
CommonBaseEvent/extendedDataElements[@name=userInfo]/children [@name=sessionId]/values
userInfo.uniqueId
Reference information about the userInfo.uniqueId element.
Description
Users unique identifier.
Values
Integer UUID A value of -99999 means that a unique ID is not available. For events generated by Tivoli Access Manager for e-business, the unique ID is not available and is always set to 0. When using the Session Management Server component of Tivoli Access Manager for e-business, the unique ID is always set to -99999.
XPath
CommonBaseEvent/extendedDataElements[@name=userInfo]/children [@name=uniqueId]/values
userInputs
Reference information about the userInputs element.
Description
A container for information about the user inputs that are related to the work item. The inputs are collected as a list of attributes. For example, for approval and reject, one attribute could be the comment. This element uses the children of the attributeType element: v attributeType.name v attributeType.source v attributeType.value
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
339
violationClassification
Reference information about the violationClassification element.
Description
Identifies the type of violation.
Values
String The following strings suggested values: account Generic classification for policy violations related to an account, or attributes associated with an account, that does not fit in one of the specific account violation classifications. accountDisallowed Account was disallowed. Example: Guest accounts could be forbidden. aclRestriction The authorization settings on a protected resource violate the policy. Example: The ACL settings on the executables for a Web server might be improperly set. antiVirus The proper antivirus protection is not in place. Example: Versionx.y of antivirus product ABC may be required, or the antivirus scan must be configured to run at least once per week. audit The audit settings on a system may not comply with the policy. Example: The policy may require that all failed authentication attempts be audited. If audit settings do not comply, a violation is logged.
netConfig Network configuration settings are not set as required by the policy. Example: The -s option must be specified when using the netlsd daemon in AIX. password The password policy is not being adhered to. Example: All passwords must be 8 characters or longer. prohibitedService Certain services might be prohibited. Example: Policy may require that TFTP never be active on a system. softwareVersion Policy may require that specific versions of software be installed. Example: A down-level version of Microsoft IIS or a version that requires a patch might be installed on a production server. sysConfig System configuration settings are not set as required by the policy. Example: Certain system log files may be required to exist.
XPath
CommonBaseEvent/extendedDataElements[@name=violationClassification]/values
340
Auditing Guide
violationDescription
Reference information about the violationDescription element.
Description
Predefined description of the particular violation.
Values
String Any string allowed by the application.
XPath
CommonBaseEvent/extendedDataElements[@name=violationDescription]/values
violationName
Reference information about the violationName element.
Description
Name of specific policy violation. Example: Win2K Guest Account Restriction.
Values
String Any string allowed by the application.
XPath
CommonBaseEvent/extendedDataElements[@name=violationName]/values
workItemInfo
Reference information about the workItemInfo element.
Description
An element type that represents information about a work item used in events related to workflow operations. This container uses the children of workItemInfoType: v workItemInfoType.id v workItemInfoType.type
XPath
No valid XPath for the shredder configuration file. A valid XPath requires a values declaration.
workItemInfoType.id
Reference information about the workItemInfoType.id element.
Chapter 24. Reference information about elements and element types
341
Description
Unique identifier of the work item.
Values
String
XPath
CommonBaseEvent/extendedDataElements[@name=workItemInfoType]/children [@name=id]/values
workItemInfoType.type
Reference information about the workItemInfoType.type element.
Description
Type of the work item.
Values
String The following strings are suggested values: approval This type of work item allows a user to either approve or reject a specific request. requestForInfo This type of work item allows a user to provide additional information for a specific request. workOrder This type of work item is used to request manual operations for the user. For example, a work order to manually create a specific account on a resource.
XPath
CommonBaseEvent/extendedDataElements[@name=workItemInfoType]/children [@name=type]/values
342
Auditing Guide
Part 7. Troubleshooting
Chapter 25. Problem determination . . . . . Log files . . . . . . . . . . . . . . . Installation log files . . . . . . . . . . Runtime log files . . . . . . . . . . . Server utilities log files . . . . . . . . . WebSphere Application Server log files . . . . Considerations for setting the trace file path, trace level, and error file path during problem determination . . . . . . . . . . . . Installation problems . . . . . . . . . . . Installer displays an error although the required DB2 software is installed . . . . . . . . Silent installation does not fail when missing prerequisites. . . . . . . . . . . . . Installation does not continue when the target WebSphere Application Server is stopped . . . Installation does not continue when JVM version 1.5 is not found . . . . . . . . . Installation displays an error when WebSphere Application Server software is not found . . . Common Audit Service configuration problems (AIX) Audit Database configuration fails because operating systems SP2 is not applied . Text displays incorrectly in some configuration panels . . . . . . . . . . . . . . . SOAP connection fails when a Common Audit Service Configuration Console is deployed in an eWAS environment . . . . . . . . . . Problem deploying the Java stored procedure on a Linux platform . . . . . . . . . . . C client cannot communicate with the Common Audit Service server . . . . . . . . . . Common Audit Service upgrade problems . . . Common Audit Service uninstallation problems Uninstall.bin not available . . . . . . . . CarsConfigUtil.jar is not removed during a successful uninstallation of Common Audit Service . . . . . . . . . . . . . . Failed uninstallation workarounds . . . . . Manually removing the audit server configuration components after a failed uninstallation . . . . . . . . . . . Manually removing the audit server components after a failed uninstallation . . Web service and emitter problems . . . . . . Disregard message 0000004a . . . . . . . Web service emitter log displays event data . . Server utility problems . . . . . . . . . . Exception occurs while running the staging utility . . . . . . . . . . . . . . . java.lang.NullPointer exception occurs while running the staging utility . . . . . . . . Remote database access failure occurs when using staging utility or XML data store utilities . WebSphere Application Server problems . . . . Out of memory error . . . . . . . . . .
Copyright IBM Corp. 2001, 2010
. 359
347 347 347 348 348 349 349 350 350 350
353 353
353 355 356 356 357 357 357 357 359 359 359
343
344
Auditing Guide
Error messages and descriptions are located in the Error Message Reference.
Log files
Log files are produced for the following Common Audit Service components: v ISMP installer of Common Audit Service audit server v Common Audit Service configuration utility v Common Audit Service audit server v Common Audit Service C client v Common Audit Service WebService emitter v Common Audit Service server utilities
Location
Table 66. Installation log files Type Server installation Default message log location Windows: v CARS_HOME\serverInstall.log v CARS_HOME\server\logs\sharedLibCreation.log (only for console feature) Linux or UNIX: v CARS_HOME/serverInstall.log v CARS_HOME/server/logs/sharedLibCreation.log (only for console feature) Server uninstallation Windows: CARS_HOME\serverUninstall.log Linux or UNIX: CARS_HOME/serverUninstall.log Note: CARS_HOME is the installation directory of Common Audit Service.
Copyright IBM Corp. 2001, 2010
345
C client configuration
The location of the C client runtime log file is specified by the errorFilePath parameter in the [cars-client] stanza. Refer to the configuration stanzas appendix for information on the errorFilePath parameter.
346
Auditing Guide
Considerations for setting the trace file path, trace level, and error file path during problem determination
To help determine the source of errors, consider the use of the traceFilePath, traceLevel, and errorFilePath entries, which are specified in the [cars-client] stanza.
Purpose
When troubleshooting the source of errors, consider the use of the traceFilePath and traceLevel values. Setting the trace level to the value 3 (traceLevel=3) causes events resulting from error conditions and from all trace points in the code to be written to the log. Output is written to the file specified by the traceFilePath parameter. The output includes the properties defined in this configuration file, and the values that are sent to the Common Audit Service audit server. The errorFilePath entry specifies the name and location of the error log file to be used by the server or application. Note: Tracing does not work if properties or values are specified incorrectly in the [cars-client] stanza. The names of the error file and trace log file must be unique between multiple instances of servers on a system. If more than one application or instance is configured to use the same filename, errors will result. To ensure uniqueness, it is recommended that errorFilePath and traceFilePath specify the azn-server-name of the server.
Installation problems
This topic describes some installation problems you might encounter.
Problem
During installation, the ISMP installer of the Common Audit Service audit server component might display the following message because it does not accurately detect the installed version of DB2:
CBAIN0120E Prerequisite detection has not found an installation of IBM DB2. The feature selected for installation requires either the IBM DB2 Server or the IBM DB2 Client to operate. The versions allowed are from Version 8.1.7 or Version 9.1 and higher. You must install an allowable version of the IBM DB2 product either now or before attempting to use the selected product feature.
Workaround
Run the db2level command on the Common Audit Service audit server host to verify that the required version of DB2 is installed. If the database server is remote to the audit server, run the command on the database server. If the database server and client are at the correct level, continue with the installation.
Example
Here is sample output from the db2level command:
347
DB21085I Instance "ldapdb2" uses "32" bits and DB2 code release "SQL09012" with level identifier "01030107". Informational tokens are "DB2 v9.1.0.2", "s070210", "MI00183", and FixPak "2". Product is installed at "/opt/IBM/db2/V9.1".
Problem
During an interactive installation, the Common Audit Service audit server installation checks for the existence of the appropriate versions of software prerequisites. You are notified if the appropriate versions of the prerequisites are not available on the machine where the audit server is being installed. However, during a silent installation, the audit server installation continues even when the software prerequisites are not present, or are not at the required levels. Therefore, if you encounter a problem after you have run the silent installation, the reason might be that the prerequisite products are not installed, or you have not performed the preinstallation checklist items.
Workaround
Ensure the appropriate prerequisites are on the machine being installed prior to performing a silent installation. Refer to Pre-configuration checklist for all platforms on page 38 for additional information on set up before installation.
Installation does not continue when the target WebSphere Application Server is stopped
This topic describes the problem and workaround you can use when an installation does not continue because WebSphere Application Server is stopped.
Problem
During installation, Common Audit Service checks if the target WebSphere Application Server is running. If WebSphere Application Server is stopped, you are notified with an error message specifying that a connection could not be made with the Deployment Manager or the stand-alone server in this profile.
Workaround
Ensure that the server of the specified WebSphere Application Server profile is running. To check the status of the server, use the server status command that is located in the WAS_profile/bin directory: serverStatus.[bat | sh] server_name If the server is stopped, issue the start server command that is located in the WAS_profile/bin directory: startServer.[bat | sh] server_name
348
Auditing Guide
Use the serverStatus command again to check the server status after you issue the startServer command.
Example
To check the status on a Windows system use:
cd D:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin\ serverStatus.bat server1
Example
To start the server on a Windows system use:
cd D:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin\ startServer.bat server1
Installation does not continue when JVM version 1.5 is not found
This topic describes the problem and workaround you can use if JVM version 1.5 or above is not located during the installation of Common Audit Service.
Problem
During the installation of Common Audit Service , if the installer cannot find JVM version 1.5 or above, you are notified with an error message stating that a suitable JVM could not be found.
Workaround
Rerun the installation program and specify the following option: -is:javahome path_to_JVM1.5_home
Example
The following example runs the Common Audit Service installer and specifies the Java home path:
install_cars_audit_srv_win32.exe -is:javahome D:\IBM\Java
Installation displays an error when WebSphere Application Server software is not found
This topic describes the problem and workaround you can use if the required WebSphere Application Server information is not found during the installation of Common Audit Service.
Problem
During Installation, if a wrong WebSphere Application Server profile path is passed, or if the perquisite WebSphere Application Server software is not found, the installer returns an error:
Please enter a valid WebSphere profile path
Workaround
Specify a valid WebSphere Application Server profile path.
Chapter 25. Problem determination
349
(AIX) Audit Database configuration fails because operating systems SP2 is not applied
This topic describes a potential problem on AIX if the Audit Database configuration fails because operating system SP2 is not applied.
Problem
In the summary window, an unsuccessful Audit Database configuration is indicated. The following message is displayed in the Common Audit Service Console Status window:
Audit Database Configuration: Unsuccessful CFGMB0029E The database named EVENTXML could not be created. Review the log, E:/IBM/Tivoli/CommonAuditService/server/logs/dbconfig.log, to determine the cause of the failure. Check db2Config.log for following log entries: SQL1042C An unexpected system error occurred.
Workaround
If you are using a DB2 9.1 Fix pack 2 to store audit data, verify: v Database level by running the db2level command. v Operating system level (correct service pack is installed) by running the following command: oslevel -s If the operating system is at the correct service pack level, contact your IBM representative
Example
The following sample output is from the oslevel -s command on an AIX 5.3 system with SP2 applied:
5300-05-06
Problem
During the configuration of Common Audit Service, some windows contain characters that are displayed in reverse order. For example, in the Common Audit Service Status window, the Host and SOAP connector port are displayed as 0880:tsohlacol instead of localhost:0880. Also, if the browser is set to use a bidirectional locale, such as Hebrew, the text displays incorrectly.
Workaround
To correct this problem, specify "client.encoding.override=UTF-8" as a generic JVM argument in the Java Virtual Machine configuration window of the WebSphere
350
Auditing Guide
Administrative Console. After setting the encoding to UTF-8, the English text should display correctly left-to-right, and the Hebrew text should appear correctly. Use the following steps to set the use of UTF-8 character encoding: 1. In the WebSphere Administrative Console, click Servers-> Application servers and select the server you want to enable for UCS Transformation Format (UTF-8). 2. Under Server Infrastructure, click Java and Process Management -> Process Definition- > Java Virtual Machine. 3. Specify -Dclient.encoding.override=UTF-8 for Generic JVM Arguments and click OK. When this argument is specified, UTF-8 character encoding is used instead of the character encoding that would be used if the autoRequestEncoding option was in effect.
SOAP connection fails when a Common Audit Service Configuration Console is deployed in an eWAS environment
This topic describes a SOAP connection problem that can occur when a Common Audit Service Configuration Console is deployed in an eWAS environment.
Problem
The eWAS console log displays the following error:
The Common Audit Service Console failed to connect to the specified WebSphere Application Server process The error is ADMC0009E: The system failed to make the SOAP RPC call: invoke
In the instance of WebSphere Application Server where the Common Audit Service audit server is deployed, the SystemOut.log displays the following error:
Caused by: [SOAPException: faultCode=SOAP-ENV:Client; msg=com.ibm.cars.config.globalUtil.DeploymentObjectHandle Server stack trace JMXTransformException java.lang.ClassNotFoundException: com.ibm.cars.config.globalUtil.DeploymentObjectHandle
Workaround
Restart the WebSphere Application Server where the audit server is deployed, and restart the eWAS where the Common Audit Service Configuration Console is deployed.
The error message occurs while deploying the Java stored procedure on a Linux platform. This cause of this error is that the appropriate symbolic links are not created in the /usr/lib directory. Follow the instructions in Setting up to run the Java stored procedures on Linux on page 54.
351
Problem
The C client cannot communicate with the Common Audit Service audit server when incorrectly configured.
Workaround
Correct mistakes in the [cars-client] stanza in the pdaudit configuration file, then restart the application. Correcting the configuration to enable auditing includes the following settings: v Set the doAudit property to the value yes. v Set the serverURL property to the correct value. To verify that the value is correct, specify the same value in the URL field of your browser to ensure that it resolves. For example, a URL value for a non-SSL server is similar to: http://hostname:WC_defaulthost_port_number/CommonAuditService/services/ Emitter A URL value for an SSL-enabled server is similar to: https://hostname:WC_defaulthost_secure_port_number/CommonAuditService/ services/Emitter A correct URL value will result in the Web browser displaying a page with contents that are similar to:
{urn:ibm:cars:10}Emitter Hi there, this is a Web service!
v Set the diskCachePath property to a valid value if the useDiskPath property is set to always or to auto; auto is the default value. Both values enable caching to a cache file. Note that a valid value for diskCachePath is a file path that already exists and includes a valid cache file name.
352
Auditing Guide
v Existing lower-versioned audit database that is present on the remote DB2 server node was not cataloged in the local DB2 client before the upgrade was started. Use the above reasons for failure as a checklist to help prevent and resolve problems with the upgrading of the audit database for use with Common Audit Service Version 6.1.
Workaround
Restart the WebSphere Application Server, then remove the CarsConfigUtility.jar file manually from the CARS_HOME/config/lib folder.
Manually removing the audit server configuration components after a failed uninstallation
If an uninstallation of the audit server configuration components fails, use the procedure in this section to clean up the system. The uninstaller of the audit server may leave behind following entries in the target WebSphere Application Server or Network Deployment Manager in the event of an uninstallation failure: v Common Audit Service Configuration Utility v Common Audit Service Configuration Console v Extension MBean Provider for Configuration Utility v Shared Library for Configuration Console v WebSphere Application Server CARS_HOME variable
353
Perform following steps if a server uninstallation fails: 1. Uninstall the Common Audit Service Configuration Utility, if this feature is not removed during a failed uninstallation: v For a standalone single server installation of Common Audit Service: a. In the target standalone WebSphere Application Server Administrative Console, select Applications-> Enterprise Applications. b. Select the CommonAuditServiceConfiguration application, and click Uninstall to uninstall the Common Audit Service Configuration Utility from the target standalone WebSphere Application Server. v For a Network Deployment setup of Common Audit Service, uninstall the CommonAuditServiceConfiguration application from the target Deployment Manager by executing the following command on the wsadmin command line of the Deployment Manager:
wsadmin>$AdminApp uninstall CommonAuditServiceConfiguration
2. Uninstall the Common Audit Service Configuration Console, if this feature is not removed during a failed uninstallation. Execute following command from the wsadmin command line of the target standalone single server or the Deployment Manager:
$AdminApp update isclite modulefile { -operation delete -contenturi CARS6.1.war}
3. Remove the Extension MBean Provider for the Configuration Utility if this component is not removed during a failed uninstallation: v For a standalone single server installation of Common Audit Service: a. In the target standalone WebSphere Application Server Administrative Console, select Application servers-> server1-> Administration Services-> Extension MBean Providers. b. Select CarsConfigUtilProvider and click Delete. v For a Network Deployment installation of Common Audit Service: a. In the deployment manager WebSphere Application Server Administrative Console, select System Administration-> Deployment Manager-> Administration Services-> Extension MBean Providers. b. Select CarsConfigUtilProvider and click Delete. 4. Remove the Shared Library for the Configuration Console if this library is not removed during a failed uninstallation: a. In the WebSphere Application Server Administrative Console, select Environment-> Shared Libraries. b. Select All scopes in the scope settings. c. Select CarsConfigUtilSharedLib and click Delete. 5. Remove the WebSphere CARS_HOME variable. a. Select Environment-> WebSphere variables. b. Select All scopes in the scope settings. c. Select CARS_HOME and click Delete. 6. Remove any directories and files from the Deployment Manager system (node), as well as any managed node systems (nodes), that are left behind by the failed uninstallation of the server. These might include: v CARS_HOME folder, for example, D:\IBM\Tivoli\CommonAuditService on Windows, or /opt/IBM/Tivoli/CommonAuditService on Linux or UNIX. v Log files under WAS_HOME\logs or WAS_PROFILE_PATH\logs. Also, on Linux or UNIX you might find logs in the /tmp folder.
354
Auditing Guide
7. Remove the _uninst folder from the /tmp directory on Linux and UNIX, or the %TEMP% directory on Windows. 8. Start the Deployment Manager.
355
3. Log off the WebSphere Application Server Administrative Console of the Network Deployment manager. 4. Remove the databases. If the XML data store database (normally eventxml) was not removed during the failed uninstallation, manually drop the database from the DB2 server. Open the DB2 command prompt from network Deployment Manager using one of the following commands: v For Windows systems:
db2cmd db2
If the DB2 server is local to the Deployment Manager system, run the following commands at the DB2 command prompt to remove the remaining databases:
list database directory drop db database_name
If the DB2 server is remote to the Deployment Manager system, run the following commands at the DB2 command prompt to remove the remaining databases:
list database directory attach to node_name user db_user using password drop db database_name detach
where database_name is the name of the database that is listed using the list command. 5. Ensure that you remove entries of the databases from the DB2 administration clients on the Deployment Manager, and from all managed nodes. Remove entries of the database using the DB2 Control Center that is on these nodes. 6. Stop the cluster using the WebSphere Application Server Administrative Console, then stop the Deployment Manager. 7. Restart the cluster to start all managed node server instances. If any of the managed node server instances do not start, in the WebSphere Application Server Administrative Console of the network Deployment Manager: a. Click System administration-> Nodes. b. Select the node on which the server instance did not start. c. Click Full Resynchronize on the top menu. After completing these steps, your system is ready for another Common Audit Service audit server installation. If residual entries still exist in the installation registry, the Common Audit Service audit server installation will fail to install. However, during the installation attempt the registry entries will be removed when the rollback is performed.
356
Auditing Guide
v Message 0000004a
0000004a WSDDJAXRPCHan W com.ibm.ws.webservices.engine.deployment.wsdd.WSDDJAXRPCHandlerInfoChain getHandlerChain WSWS3389E: Error: JAXRPC Handler Class com.ibm.cars.webservice.DebugHandler not found/loaded, ignored. java.lang.ClassNotFoundException: com.ibm.cars.webservice.DebugHandler at java.net.URLClassLoader.findClass(URLClassLoader.java (Compiled Code)) at com.ibm.ws.bootstrap.ExtClassLoader.findClass (ExtClassLoader.java:106)
Problem
When the Web service emitter receives a server error, the event content is printed into the application's log. The audit data might contain sensitive information.
Workaround
Be aware that the Web service emitter log might contain sensitive data. Access to the application's log file should be protected.
Problem
While running the staging utility, a null pointer exception might be thrown. This failure can be due to an error in the configuration file, an error caused by database failures, or network failures. Typically, database failures are caused by the transaction log filling up, free disk space running out, or when the DB2 server stops running.
357
Workaround
Verify that the error is repeatable by running the staging utility again. If the failure was caused by a temporary environment condition, such as a network failure, the staging utility will run to conclusion. If the error occurs again, rerun the staging utility with a batchsize set to 1. This causes the staging utility to print out any underlying exception. Identify the main exception. If the exception contains TransformerConfigurationException, the failure is caused by incorrect entries in the CARSShredder.conf file. In this case, examine the recent modifications to CARSShredder.conf, and correct any errors including mismatched quotes. The following example is an incorrect entry in CARSShredder.conf because the order of single and double quotes is inconsistent.
cars_t_event, eventType, "AUDIT_AUTHN_CREDS_MODIFY "
If the exception is SQLException, the failure might be due to a database error or a staging error. Refer to the staging utility error log to identify the SQL exception. Errors are frequently caused by a CARShredder.conf file referring to a nonexisting table column, or by including multiple references to an existing target column, as shown in the example below:
cars_t_event, src_comp, cars_t_event, src_comp, #sourceComponentId.component# #sourceComponentId.subComponent#
The following error log output identifies the cause of the error in the previous example of double references:
2006.09.11 19:21:55.730 ----- PROGRAM ERROR null null com.ibm.cars.staging.DBTable update Thread-0 CBASU0125E A database error occurred for the following SQL statement: INSERT into CARS_T_EVENT (EVENT_ID,CARS_SEQ_NUMBER,EVENTTYPE,SRC_COMP,USR_SESSION_ID,SRC_SUB_COMP, SRC_LOCATION,TIME_STAMP,OUTCOME_RESULT,S TART_TIME,SRC_COMP,SRC_COMP,OUTCOME_FAIL_RSN,SRC_INSTANCE_ID,SRC_LOCATION, USR_DOMAIN,USR_LOC_TYPE,APP_USR_NAME,EN D_TIME,USR_LOC) VALUES(?,?,AUDIT_AUTHN_CREDS_MODIFY,?,?,?,?,?,?,?,?,?,?,?,?,?,?) The error occurred during data insertion for: Table CARS_T_EVENT, column USR_LOC. Database exception: The column "SRC_COMP" is specified more than once in the INSERT, UPDATE or SET transition-variable statement. CBASU0125E A database error occurred for the following SQL statement: INSERT into CARS_T_EVENT (EVENT_ID,CARS_SEQ_NUMBER,EVENTTYPE,SRC_COMP,USR_SESSION_ID,SRC_SUB_COMP, SRC_LOCATION,TIME_STAMP,OUTCOME_RESULT,S TART_TIME,SRC_COMP,SRC_COMP,OUTCOME_FAIL_RSN,SRC_INSTANCE_ID,SRC_LOCATION, USR_DOMAIN,USR_LOC_TYPE,APP_USR_NAME,EN D_TIME,USR_LOC) VALUES(?,?,AUDIT_AUTHN_CREDS_MODIFY,?,?,?,?,?,?,?,?,?,?,?,?,?,?) The error occurred during data insertion for: Table CARS_T_EVENT, column USR_LOC. Database exception: The column "SRC_COMP" is specified more than once in the INSERT, UPDATE or SET transition-variable statement. com.ibm.db2.jcc.c.SqlException: The column "SRC_COMP" is specified more than once in the INSERT, UPDATE or SET transition-variable statement.
If you cannot locate the source of error and the problem persists, consult with your database administrator.
358
Auditing Guide
Remote database access failure occurs when using staging utility or XML data store utilities
After configuring the Common Audit Service server on a WebSphere Application Server Network Deployment cluster configuration, when the DB2 server is remote, the ibmcars.properties file may not be configured with the host name of the remote DB2 server.
Problem
If the remote DB2 host name is not configured, the server utility programs will not be able to connect to the remote database server, and the following errors will be encountered. When running the XML store utilities:
CBAXU0216E An error occurred while establishing database connection. The message returned by the database driver is: java.net.ConnectException : Error opening socket to server localhost on port 50000 with message : Connection refused URL used for db connection is jdbc:db2://localhost:50000/eventxml.
Workaround
Set the following property in the CARS_HOME/server/etc/ibmcars.properties file:
util.db.hostname=db2_server_hostname
359
Purpose
Using the -Dis.debug flag causes InstallShield Multiplatform (ISMP) to display a detailed message about the installation process. This might indicate a problem with the InstallShield Multiplatform product itself or with the Common Audit Service. This is a valuable tool in debugging problems you might encounter during silent installation. Start the installer using the following syntax as part of your command. -Dis.debug=1 > logging_file_directory
Parameters
logging_file_directory Specifies the file location on the target machine where the debug trace is recorded.
Sample
To use the debug parameter in a silent server installation and send the debug information to the file debug.txt, enter:
java -Dis.debug=1 -cp install_cars_srv.jar run -silent -options response_file > debug.txt
Notes
When you use the debug flag during installation, the XML database passwords are visible in the log file.
360
Auditing Guide
Policy server
Authorization server
WebSEAL server
Note: v For WebSEAL, the routing file is created from the routing.template file during installation. The routing and routing.template file are in the same directory. v The Plug-in for Web Servers component programmatically sets the information that is typically contained in a routing file. Therefore, Plug-in for Web Servers has no routing file of its own. If you do not want to modify the default routing file (/etc/routing), you can use the PD_SVC_ROUTING_FILE environment variable to define an alternative routing
361
file. If the file defined by this environment variable does not exist or is not accessible, the default routing file (/etc/routing) is used.
362
Auditing Guide
and two numbers that are separated by a period (for example, UTF8FILE.10.100). The first value indicates the number of files to use. The second value indicates the number of events each file can contain. If you do not specify these values, there is only 1 log file that grows without limit. The average size of a UTF-8 event is 200 bytes. Because the maximum size of a log file is 2 GB, the maximum number of events must be limited to approximately 10,000,000 events. Note: When the operating system does not use a UTF-8 code page, the conversion to UTF-8 can result in data loss. When data loss occurs, the log file contains a series of question mark (?) characters at the location where the data conversion was problematic. XMLFILE Writes events to the specified location in the Tivoli XML log format. When using this destination, you must specify a location for the file. Optionally, you can follow the XMLFILE destination by a period and two numbers that are separated by a period (for example, XMLFILE.10.100). The first value indicates the number of files to use. The second value indicates the number of events each file can contain. If you do not specify these values, there is only 1 log file that grows without limit. The maximum size of a log file is 2 GB. XMLSTDERR Writes events to the standard error device in the Tivoli XML log format. XMLSTDOUT Writes events to the standard output device in the Tivoli XML log format. GOESTO:{other_severity | other_component}] Specifies that events must additionally be routed to the same destination and location as events of the specified component. location Specifies the name and location of the log file. When the destination is TEXT, TEXTFILE, UTF8FILE or XMLFILE, you must specify a location. When the destination is DISCARD, STDERR, STDOUT, XMLSTDERR or XMLSTDOUT, you must specify a hyphen (-). When you specify a fully qualified file name, you can use the %ld character string to insert the process ID into the file name. When the number of files is specified as part of the destination, a period and the file number are appended to the specified log file. Note: On Windows operating systems, the file name must not end with a period. If the file name ends with a period, when the file number is appended, the file name contains two consecutive periods. File names with two consecutive periods are not valid. On Linux and UNIX operating systems, the file name must be followed by: v File permissions. v The user who owns the file.
Appendix A. Routing files
363
v The group that owns the file. Use the following format:
location:permissions:owner:group
364
Auditing Guide
General guidelines
Use the following general guidelines when changing the configuration settings: v There is no order dependency or location dependency for stanzas in any configuration file. v Stanza entries are marked as required or optional. When an entry is required, the entry must contain a valid key and value. v Do not change the names of the keys in the configuration files. Changing the name of the key might cause unpredictable results for the servers. v Stanza entries and key names are case sensitive. For example, usessl and UseSSL are treated as different entries. v Spaces are not allowed for names of keys. v For the key value pair format of key = value, the spaces surrounding the equal sign (=) are not required, but they are recommended. v Non-printable characters (such as tabs, carriage returns, and line feeds) that occur at the end of a stanza entry are ignored. Non-printable characters are ASCII characters with a decimal value less than 32.
Default values
Use the following guidelines when changing default configuration settings: v Many values are created or modified only by using configuration programs. Do not manually edit these stanzas or values. v Some values are added automatically during configuration. These values are needed for the initialization of the server after the configuration. v The default values for a stanza entry might be different, depending on the server configuration. Some key value pairs are not applicable to certain servers and are omitted from the default configuration file for this server.
Copyright IBM Corp. 2001, 2010
365
Strings
Some values accept a string value. When you manually edit the configuration file, use the following guidelines to change configuration settings that require a string: v String values are expected to be characters that are part of the local code set. v Additional or different restrictions on the set of allowable string characters might be imposed. For example, many strings are restricted to ASCII characters. Consult each stanza entry description for any restrictions. v Double quotation marks are sometimes, but not always, required when you use spaces or more than one word for values. See the descriptions or examples for each stanza entry when in doubt. v The minimum and maximum lengths of user registry-related string values, if there are limits, are imposed by the underlying registry. For example, for Active Directory the maximum length is 256 alphanumeric characters.
Defined strings
Some values accept a string value, but the value must be one of a set of defined strings. When you manually edit the configuration file, make sure that the string value you type matches one of the valid defined strings values. For example, the [aznapi-configuration] stanza section contains the following entry:
mode = {local|remote}
The value for mode is expected to be local or remote. Any other value is invalid and results in an error.
File names
Some values are file names. For each stanza entry that expects a file name as a value, the description of the stanza entry specifies which of the following constructs are valid: Filename No directory path included. Relative filename A directory path is allowed but not mandatory. These files typically are expected to be located relative to the location of a standard Tivoli Access Manager directory. The stanza entry for each relative path name lists the root directory to which the file name is relative. Fully qualified absolute path An absolute directory path is required. Some stanza entries allow more than one of the file name choices. The set of characters permitted in a file name can be determined by the file system and by the local code set. For Windows operating systems, file names cannot have a backward slash (\), a colon (:), a question mark (?), or double quotation marks (").
Integers
Many stanza entries expect the value for the entry to be expressed as an integer. When defining an entry with an integer, consider the following guidelines:
366
Auditing Guide
v Stanza entries that take an integer value expect integer values within a valid range. The range is described in terms of a minimum value and a maximum value. For example, in the [ivmgrd] stanza, the max-notifier-thread stanza entry has a minimum value of 1 second and a maximum value of 128 threads. v For some entries, the integer value must be positive, and the minimum value is 1. For other entries, a minimum integer value of 0 is allowed. Use caution when setting an integer value to 0. For example, an integer value of 0 might disable the function that is controlled by that stanza entry. For example, in the [ivacld] stanza, the entry tcp-req-port = 0 disables the port number. Or, an integer value of 0 might indicate that the number is unlimited. For example, in the [ldap] stanza, the entry max-search-size = 0 means there is no limit to the maximum search size. v For some entries requiring integer values, Tivoli Access Manager does not impose an upper limit for the maximum number allowed. For example, there is typically no maximum for timeout-related values, such as timeout = number in the [ldap] stanza. For this type of entry, the maximum number is limited only by the size of memory allocated for an integer data type. This number can vary, based on the type of operating system. For systems that allocate 4 bytes for an integer, this value is 2147483647. However, as the administrator, use a number that represents the value that is most logical for the value you are trying to set.
Boolean values
Many stanza entries represent a Boolean value. Tivoli Access Manager recognizes the Boolean values yes and no. Some of the entries in the configuration files are read by other servers and utilities. For example, many entries in the [ldap] stanza are read by the LDAP client. Some of these other programs recognize additional Boolean characters: v yes or true v no or false Anything other than yes|true, including a blank value, is interpreted as no|false. The recognized Boolean entries are listed for each stanza entry. See the individual descriptions to determine when true or false are also recognized.
367
Tivoli Access Manager provides the following templates: pdaudit.pdmgr.conf The template configuration file that can be used as the base for configuring the Common Audit Service for the Tivoli Access Manager policy server. pdaudit.pdproxy.conf The template configuration file that can be used as the base for configuring the Common Audit Service for a Tivoli Access Manager policy proxy server. pdaudit.pdacld.conf The template configuration file that can be used as the base for configuring the Common Audit Service for the Tivoli Access Manager authorization server. pdaudit.pdweb.conf The template configuration file that can be used as the base for configuring the Common Audit Service for a Tivoli Access Manager WebSEAL server. pdaudit.pdwebpi.conf The template configuration file that can be used as the base for configuring the Common Audit Service for a Tivoli Access Manager Web server plug-in. pdaudit.appsvr.conf The template configuration file that can be used as the base for configuring the Common Audit Service for another Tivoli Access Manager application server.
368
Auditing Guide
369
You must not change the names of the keys in the configuration files. Changing the name of the key might cause unpredictable results in the servers. The spaces surrounding the equal sign (=) are not required but are recommended. The initial installation of Tivoli Access Manager establishes many of the default values. Some values are static and never change; other values can be modified to customize server functionality and performance. The following stanza descriptions provide a list of the valid stanza entries. Each stanza entry consists of key value pairs. Each stanza entry includes a description of its default behavior, when applicable.
[aznapi-configuration] stanza
The stanza entries for native Tivoli Access Manager auditing and statistics gathering are located in the [aznapi-configuration] stanza of the server-specific configuration file. The [aznapi-configuration] stanza contains more entries than the ones that are listed. For a complete list of entries that can be used in the server-specific configuration files, see the administration guide for that server or plug-in.
logcfg
Syntax:
logcfg = category:[log-agent][[parameter[=value]] ...]
Description: Enables logging and auditing for the application. Category, destination, and other parameters are used to capture Tivoli Access Manager auditing and logging events. Each server provides its own event logging setting in its corresponding configuration file. Options: category:log-agent The category of the auditing event and the destination. log-agent is one of the following agents: v stdout v stderr v file path= v pipe v remote parameter=value Allowable parameters. The parameters vary, depending on the category, the destination of events, and the type of auditing you want to perform. See Chapter 19, Audit event logging, on page 175 for information about the log agents and the configuration parameters. Each log agent supports different parameters. Usage: Optional Default value: Remove the pound signs (#) at the beginning of the configuration file lines to enable authentication or authorization auditing (or both) for the application. Example:
370
Auditing Guide
stats
Syntax:
stats = component [interval [count]] [log-agent]
Description: Enables the recording of statistics for the application. To record Tivoli Access Manager statistical events, the component option is required, but the other options are optional. Each server provides its own setting in its corresponding configuration file. For additional information about gathering statistics, see Chapter 21, Working with statistics, on page 201 and server task stats on page 401. Options: component The name of the statistic gathering component. interval The interval in seconds when statistics are sent from memory to a log file. When this option is specified, statistics are sent, by default, to the server-specific log file designated by the logcfg entry in the server configuration file. You can specify another location using the log-agent option. If an interval is not specified, statistics are not sent to a log file, but remain in memory. Although statistics are not sent to a log file, the statistic component is still enabled. count The number of reports to send to a log file. When using the count option, you must specify the interval option. If you specify the interval option without the count option, the duration of reporting is indefinite. After reaching the count value, reporting to a log file stops. Although statistics are no longer sent to a log file, the statistic component is still enabled. log-agent The destination for the gathered information. The following agents are supported: v stdout v stderr v file path= v pipe v remote For information about the log agents, see Chapter 19, Audit event logging, on page 175. Usage: Optional Default value: There is no default value. Example:
stats = pdwebpi.stats 86400 5 file path=/tmp/stats.log
[cars-client] stanza
The [cars-client] stanza contains the configuration of the client for the Common Audit Service. The entries in this stanza specify the characteristics of the connection to the Common Audit Service audit server and how the client processes
371
audit events. You must specify the doAudit and serverURL entries. If these entries are not specified, the Common Audit Service is not configured for use by Tivoli Access Manager. If secure communication is required between the client and audit server, specify the keyFilePath and stashFilePath entries. Exercise care when changing entry values. Behavior is undefined if entries are # set to values that are not documented. Behavior is also undefined if numeric values are # specified larger than the ones supported by the architecture. The stanza entry for event filtering is located in the [cars-filter] stanza.
compress
Syntax: compress = {yes|no} Description: Specifies whether the data that is sent during a network transfer is compressed. Options: yes no Compresses the data that is sent during a network transfer. Does not compress the data that is sent during a network transfer. no is the default value.
diskCachePath
Syntax: diskCachePath = fully_qualified_path Description: Specifies the name and location of the file to be used to cache events. The file must exist at the specified location. When events are written to the disk cache file, a cache manager thread periodically checks to determine whether the audit server can accept events. The thread uses the setting of the rebindInterval entry. When the service is available, the cache manager sends the events from the disk cache file. The name of the disk cache file must be unique. If more than one server or server instance is configured to use the same disk cache file, errors occur. Options: fully_qualified_path Represents an alphanumeric string. String values are expected to be characters that are part of the local code set. The set of characters permitted in a file name can be determined by the file system and by the local code set. For Windows operating systems, file names cannot have a backward slash (\), a colon (:), a question mark (?), or double quotation marks ("). For Linux and UNIX operating systems, path names and file names are case sensitive.
372
Auditing Guide
Usage: Conditional. This entry is used only when the useDiskCache entry is set to auto or always. This entry must be specified if the useDiskCache entry is set to auto or always. Default value: There is no default value.
doAudit
Syntax: doAudit = {yes|no} Description: Specifies whether auditing using the Common Audit Service is enabled or disabled. When auditing is disabled, events are not forwarded to the audit server. Note: Ensure that you specify either yes or no as the value. If either of these values is not specified, or the value is specified incorrectly, events are not forwarded to the Common Audit Service audit server. After configuring the Common Audit Service, you can start auditing using the following steps: 1. Enter the following commands:
> pdadmin login -l pdadmin local> config modify keyvalue set config_file cars-client doAudit yes
2. Restart the server. To stop auditing, perform the following steps: 1. Enter the following commands:
> pdadmin login -l pdadmin local> config modify keyvalue set config_file cars-client doAudit no
2. Restart the server. Options: yes no Enables auditing using the Common Audit Service. Disables auditing for the Common Audit Service. no is the default value.
clientPassword
Syntax: clientPassword = password Description: Specifies the password for the WebSphere audit ID. This password is stored in the obfuscated version of the configuration file. Usage: Conditional. This stanza entry is required only when using secure communications with the Web service. Default value: There is no default value.
373
clientUserName
Syntax: clientUserName = user_id Description: Specifies the WebSphere audit ID used by the administrator. This ID is authenticated with HTTP basic authentication. Usage: Conditional. This stanza entry is required only when using secure communications with the Web service. Default value: There is no default value.
errorFilePath
Syntax: errorFilePath = fully_qualified_path Description: Specifies the name and location of the error log file. If the file does not exist at the specified location, the server identity creates the file. The name of the log file must be unique. If more than one server or server instance is configured to use the same log file, errors occurs. Options: fully_qualified_path Represents an alphanumeric string. String values are expected to be characters that are part of the local code set. The set of characters permitted in a file name can be determined by the file system and by the local code set. For Windows operating systems, file names cannot have a backward slash (\), a colon (:), a question mark (?), or double quotation marks ("). For Linux and UNIX operating systems, path names and file names are case sensitive. Usage: Optional Default value: There is no default value.
flushInterval
Syntax: flushInterval = interval Description: Limits the time an event waits in the queue before being forwarded to the audit server. Use this entry to forward the events in the queue at the designated interval when: v Events are generated at a slow rate. v The queue does not reach the high water mark in a timely manner. Options: interval Specifies the number of seconds that an event waits in the queue. Usage: Conditional. This entry is used when the useDiskCache entry is set to auto or never. Default value: The default value is 2. Example:
374
Auditing Guide
flushInterval = 600
keyFilePath
Syntax: keyFilePath = fully_qualified_path Description: Specifies the SSL key file name and location. Use the SSL key file to handle certificates that are used to communicate with the common event Web service. The file extension can be anything, but the extension is usually kdb. Options: fully_qualified_path Represents an alphanumeric string. String values are expected to be characters that are part of the local code set. The set of characters permitted in a file name can be determined by the file system and by the local code set. For Windows operating systems, file names cannot have a backward slash (\), a colon (:), a question mark (?), or double quotation marks ("). For Linux and UNIX operating systems, path names and file names are case sensitive. Usage: Conditional. This stanza entry is required only when using secure communications with the Web service. Default value: There is no default value.
lowWater
Syntax: lowWater = number Description: Specifies the smallest number of events that can be in the queue before events are: v No longer removed from the queue, and v Written to the disk cache file. When the audit server is slow and the event queue fills up, events are removed from the queue and written to the disk cache file. Events are written in this manner until the number of events in the queue is equal to or less than the low water mark. When this low water mark is reached, queued events are sent directly to the audit server. Usage: Conditional. This entry is used when the useDiskCache entry is set to auto. Default value: The default value is 10.
hiWater
Syntax: hiWater = number Description: Specifies the maximum number of events that can be in the queue. When this high water mark is reached, events are sent to the audit server. Usage: Optional. This entry is used when the useDiskCache entry is set to auto or never. Default value: The default value is 80. Example:
Appendix B. Configuration stanzas
375
hiWater = 30
maxCacheFiles
Syntax: maxCacheFiles = number Description: Specifies the maximum number of disk cache files that can be created. Unlike error log and trace files, disk cache files can be used again. After all the events in the disk cache file are sent to the audit server, the cache manager deletes that cache file. Usage: Conditional. This entry is used when the useDiskCache entry is set to auto or always. Default value: The default value is 50.
maxCacheFileSize
Syntax: maxCacheFileSize = size Description: Specifies the maximum size in bytes of the disk cache file. When this size is reached, the cache file rolls over and a new cache file is created. The maximum size is 1 GB (1,073,741,824 bytes). Usage: Conditional. This entry is used when the useDiskCache entry is set to auto or always. Default value: The default value is 10485760.
maxErrorFiles
Syntax: maxErrorFiles = number Description: Specifies the maximum number of error log files that can be created before the oldest log file is used again. Usage: Optional Default value: The default value is 2.
maxErrorFileSize
Syntax: maxErrorFileSize = size Description: Specifies the maximum size in bytes of the error log file. When this size is reached, the log file rolls over and a new error log file is created. For additional information about how log files roll over, see the IBM Tivoli Access Manager for e-business: Troubleshooting Guide. Usage: Optional Default value: The default value is 1000000.
maxTraceFiles
Syntax: maxTraceFiles = number
376
Auditing Guide
Description: Specifies the maximum number of trace files that can be created before the oldest trace file is used again. Usage: Optional Default value: The default value is 2.
maxTraceFileSize
Syntax: maxTraceFileSize = size Description: Specifies the maximum size in bytes of the trace log file. When this size is reached, the log file rolls over and a new error log file is created. For additional information about how log files roll over, see the IBM Tivoli Access Manager for e-business: Troubleshooting Guide. Usage: Optional Default value: The default value is 1000000.
numberCMThreads
Syntax: numberCMThreads = number_of_threads Description: Specifies the number of threads to create for the cache manager. These threads read events from the disk cache files and send them to the audit server. Options: number_of_threads Represents a numeric value. Usage: Optional. This entry is used when the useDiskCache entry is set to auto or always. Default value: The default value is 8. Example:
numberCMThreads = 2
numberEQThreads
Syntax: numberEQThreads = number_of_threads Description: Specifies the number of threads to create to service the event queue. Options: number_of_threads Represents a numeric value. Usage: Optional. This entry is used when the useDiskCache entry is set to auto or never. Default value: The default value is 8. Example:
numberEQThreads = 2
Appendix B. Configuration stanzas
377
numberRetries
Syntax: numberRetries = number Description: When an error occurs during a network transfer, specifies the number of attempts before sending the data. Usage: Optional Default value: The default value is 3.
queueSize
Syntax: queueSize = size Description: Specifies the maximum number of audit events that can be queued. Usage: Optional. This entry is used when the useDiskCache entry is set to auto or never. Default value: The default value is 400.
rebindInterval
Syntax: rebindInterval = seconds Description: Specifies that number of seconds that the cache manager waits before attempting to establish a connection to the audit server. Usage: Conditional. This entry is used when the useDiskCache entry is set to auto or always. Default value: The default value is 10.
retryInterval
Syntax: retryInterval = seconds Description: When an error occurs during a network transfer, specifies the number of seconds to wait before another attempt is made to send the data. Usage: Optional Default value: The default value is 2.
serverURL
Syntax: serverURL = url Description: Specifies the URL of the Common Audit Service. For secure communication, use the following URL: https://hostname:WC_defaulthost_secure_port_number/CommonAuditService/ service/Emitter For nonsecure communication, use the following URL: http://hostname:WC_defaulthost_port_number/CommonAuditService/service/ Emitter
378
Auditing Guide
Note: Ensure that you specify the correct URL. If the value is specified incorrectly, events are not forwarded to the Common Audit Service audit server. The page displayed in the browser must be like:
{urn:ibm:cars:10}Emitter Hi there, this is a Web service!
stashFilePath
Syntax: stashFilePath = fully_qualified_path Description: Specifies the SSL password stash file name and location. The password is used to protect private keys in the key file. The password might be stored encrypted in the stash file. The file extension can be anything, but it is typically sth. Options: fully_qualified_path Represents an alphanumeric string. String values are expected to be characters that are part of the local code set. The set of characters permitted in a file name can be determined by the file system and by the local code set. For Windows operating systems, file names cannot have a backward slash (\), a colon (:), a question mark (?), or double quotation marks ("). For Linux and UNIX operating systems, path names and file names are case sensitive. Usage: Conditional. This stanza entry is required only when using secure communications with the Web service. Default value: There is no default value.
tempStorageFullTimeout
Syntax: CARS_CONTEXT_TEMP_STORAGE_FULL_TIMEOUT = wait_time Description: Specifies the number of seconds that the Common Audit Service client waits before discarding cached events when temporary cache storage is filled. This timeout is not intended to provide precise control, it takes effect when the event queue is full and the disk cache cannot be written to. The reasons why the disk cache can become inaccessible include: v The maximum value specified for the maxCacheFiles property is reached and each cache file has reached the maximum value specified for the maxCacheFileSize property. v The cache file cannot be written to because a system error has occurred.
379
You can also use this property to tune audit event processing in Common Audit Service clients. The tuning is useful when the Common Audit Service audit server is: v Available, and v Not keeping pace with the audit event processing of the Common Audit Service clients. The larger the value, the longer a Common Audit Service client waits before it discards events. Options: wait_time Set wait_time to: v Zero (0) for no waiting. v A positive integer to indicate the number of seconds to wait. v -1 to indicate to wait forever. Note: Ensure that you specify a valid value when using this property. Using tempStorageFullTimeout without specifying a valid value can cause unpredictable behavior. Usage: Conditional. This entry is used only when the useDiskCache entry is set to auto or always. Default value: The default value is 0 for no waiting. Example:
tempStorageFullTimeout = -1
traceLevel
Syntax: traceLevel = level Description: Specifies the level of trace events to write to the trace log. The following settings are valid: 1 2 Indicates that events resulting from error conditions only are written to the log. Indicates that the following events only are written to the log file: v Error conditions v Entry and exit trace points Indicates that events resulting from error conditions and from all trace points in the code are written to the log. Output is written to the file specified by the traceFilePath parameter. The output includes the properties defined in this configuration file, and the values that are sent to the Common Audit Service audit server.
Usage: Conditional. Required when traceFilePath is defined. Default value: The default value is 1.
traceFilePath
Syntax: traceFilePath = fully_qualified_path
380
Auditing Guide
Description: Specifies the name and location of the trace file. If the file does not exist at the specified location, then the server identity creates the file. The name of the trace file must be unique. If more than one server or server instance is configured to use the same trace file, errors occur. Options: fully_qualified_path Represents an alphanumeric string. String values are expected to be characters that are part of the local code set. The set of characters permitted in a file name can be determined by the file system and by the local code set. For Windows operating systems, file names cannot have a backward slash (\), a colon (:), a question mark (?), or double quotation marks ("). For Linux and UNIX operating systems, path names and file names are case sensitive. Usage: Optional Default value: There is no default value.
transferSize
Syntax: transferSize = size Description: Number of audit events to send on each network transfer. Usage: Optional Default value:
useDiskCache
Syntax: useDiskCache = {auto|always|never} Description: Specifies whether to enable disk caching, and, when enabled, indicates how to handle disk caching. Options: always Indicates that audit events are always written directly to the disk cache on the caller thread. There is no event queue. never auto Indicates that audit events are written to the event queue. There is no disk cache. Indicates that audit events are written to the event queue except when the server is down or the event queue is full. Under these conditions, the audit events are written to disk cache.
[cars-filter] stanza
The stanza entry for common audit filtering of the Tivoli Access Manager runtime is located in the [cars-filter] stanza of the pdaudit.conf file.
381
auditevent
Syntax:
auditevent = type, [outcome=outcome]
Description: Identifies the events to be captured for auditing. Events can be identified by event type, application name, and outcome. If an event logged by an application matches any configured filter entry (auditevent or outcome), it is forwarded to the Common Audit Service audit server. For each event type to capture, the configuration file must include a separate stanza entry. To add event types to the event filter, use the config modify command with the append option. To remove event types from the event filter, use the config modify command with the remove option. Note: With the auditevent entry, do not use the config modify command with the set option. Using the set option overwrites the first auditevent entry in the configuration file. Options: type Specifies one of the following event types: authn Indicates authentication events. This event type can be used with all Tivoli Access Manager servers.
authn_creds_modify Indicates events that modify credentials for users. This event type can be used with all Tivoli Access Manager servers. authn_terminate Indicates termination events. These types of events are the results of a timeout, an administration terminating a session, or a user-initiated log out. This event type can be used with all Tivoli Access Manager servers. authz Indicates authorization events. This event type can be used with all Tivoli Access Manager servers.
mgmt_config Indicates configuration and other management events for a server. This event type can be used with the policy server. mgmt_policy Indicates events for security policy management, such as the creation of an ACL. This event type can be used with the policy server. mgmt_registry Indicates events for registry management, such as creating users and groups, administrator-initiated password changes, and modifying properties of users and groups. This event type can be used with the policy server. mgmt_resource Indicates event for resource events. This event type can be used with the policy server.
382
Auditing Guide
password_change Indicates events for user-initiated password changes. This event type can be used with the policy server, WebSEAL server, or the plug-in for Web servers. Administrator-initiated password changes are classified as registry management events. resource_access Indicates events that record all accesses to a resource, such as a file or HTTP request and response events outside of authorization events. This event type can be used with the WebSEAL server or the plug-in for Web servers. runtime Indicates runtime events, such as starting and stopping security servers. Events generated from administrator-initiated tasks classified as management tasks. This event type can be used with all Tivoli Access Manager servers. Additionally, this event type can be used for reporting WebSEAL statistics. outcome=outcome Specifies one of the following outcomes: all success Records successful outcomes only. unsuccessful Records unsuccessful outcomes only. unknown Records outcomes where success could not be determined. This value applies to authz and resource_access event types only. Usage: Required. Default value: There is no default value. Example:
auditevent = authn, outcome=unsuccessful auditevent = authz, outcome=unknown
[logging] stanza
The [logging] stanza contains the configuration details for logging HTTP audit events for WebSEAL servers. WebSEAL can be configured to maintain the following HTTP activities: v agents v referers v requesters The [logging] stanza is in the WebSEAL webseald.conf configuration file. Assume that the configuration file contains auditing entries in both the [aznapi-configuration] stanza and the [logging] stanza. Then, the logging details in the [aznapi-configuration] stanza take precedence over repeated details in the [logging] stanza. For details about WebSEAL event processing, see Process flow for logcfg logging on page 192. For information about the [aznapi-configuration] stanza entries in
Appendix B. Configuration stanzas
383
the WebSEAL webseald.conf configuration file, see the IBM Tivoli Access Manager for e-business: WebSEAL Administration Guide.
absolute-uri-in-request-log
Syntax:
absolute-uri-in-request-log = {yes|no}
Description: Logs the absolute URI in the HTTP audit records. Adds protocol and host to the path. Options: yes no Log the absolute URI. Do not log the absolute URI.
agents
Syntax:
agents = {yes|no}
Description: Enables or disables the agents log. This log records the contents of the User_Agent: header of each HTTP request. Options: yes no The value yes enables agents logging. The value no disables agents logging.
agents-file
Syntax:
agents-file = fully_qualified_path
Description: Fully qualified path to the agents log file. Options: fully_qualified_path Fully qualified path to the agents log file. Usage: This stanza entry is required.
384
Auditing Guide
Default value: The default location is www-instance/log/agent.log, located under the WebSEAL installation directory. Example: Example on UNIX or Linux:
agents-file = /var/pdweb/www-web1/log/agent.log
config-data-log
Syntax:
config-data-log = fully_qualified_path
Description: Fully qualified path to the configuration data log file. Options: fully_qualified_path Fully qualified path to the configuration data log file. Usage: This stanza entry is required. Default value: The default location is log/config_data.log, located under the WebSEAL installation directory. Example: Example on UNIX or Linux:
config-data-log = /var/pdweb/log/config_data.log
flush-time
Syntax:
flush-time = number_of_seconds
Description: Integer value indicating the frequency, in seconds, to force a flush of log buffers. Options: number_of_seconds Integer value indicating the frequency, in seconds, to force a flush of log buffers. The minimum value is 1 second. The maximum value is 600 seconds. Usage: This stanza entry is optional. Default value: 20 Example:
flush-time = 20
gmt-time
Syntax:
gmt-time = {yes|no}
Description: Enables or disables logging requests using Greenwich Mean Time (GMT) instead of the local time zone. Options: yes A value of yes means to use GMT
Appendix B. Configuration stanzas
385
no
host-header-in-request-log (deprecated)
Syntax:
host-header-in-request-log = {yes|no}
Description: Log the Host header at the front of each line in the request log and the combined log. Options: yes no Log the Host header. Do not log the Host header.
max-size
Syntax:
max-size = number_of_bytes
Description: Integer value indicating the size limit of the log files. This value applies to the request, referer, and agent logs. The size limit is also referred to as the rollover threshold. When the log file reaches this threshold, the original log file is renamed and a new log file with the original name is created. Options: number_of_bytes When the value is zero (0), no rollover log file is created. When the value is a negative integer, the logs are rolled over daily, regardless of the size. When the value is a positive integer, the value indicates the maximum size, in bytes, of the log file before the rollover occurs. The allowable range is from 1 byte to 2 MB. Usage: This stanza entry is required. Default value: 2000000 Example:
max-size = 2000000
386
Auditing Guide
referers
Syntax:
referers = {yes|no}
Description: Enables or disables the referers log. This log records the Referer: header of each HTTP request. Options: yes no The value yes enables referers logging. The value no disables referers logging.
referers-file
Syntax:
referers-file = fully_qualified_path
Description: Fully qualified path to the referers log file. Options: fully_qualified_path Fully qualified path to the referers log file. Usage: This stanza entry is required. Default value: The default location is www-instance/log/referer.log, located under the WebSEAL installation directory. Example: Example on UNIX or Linux:
referers-file = /var/pdweb/www-web1/log/referer.log
requests
Syntax:
requests = {yes|no}
Description: Enables or disables the requests log. This log records standard logging of HTTP requests. Options: yes no The value yes enables requests logging. The value no disables requests logging.
387
requests = yes
requests-file
Syntax:
requests-file = fully_qualified_path
Description: Fully qualified path to the request log file. Options: fully_qualified_path Fully qualified path to the request log file. Usage: This stanza entry is required. Default value: The default location is www-instance/log/request.log, located under the WebSEAL installation directory. Example: Example on UNIX or Linux:
requests-file = /var/pdweb/www-web1/log/request.log
server-log
Syntax:
server-log = fully_qualified_path
Description: Fully qualified path to the server error log file. Options: fully_qualified_path Fully qualified path to the server error log file. Usage: This stanza entry is required. Default value: The default location is log/webseald.log, located under the WebSEAL installation directory. Example: Example on UNIX or Linux:
server-log = /var/pdweb/log/msg__webseald.log
[pdaudit-filter] stanza
The stanza entries for native Tivoli Access Manager auditing is located in the [pdaudit-filter] stanza of the server-specific pdaudit.conf configuration file. Use the logcfg entries in the [pdaudit-filter] stanza only if configured auditing for use with the Common Audit Service.
logcfg
Syntax:
logcfg = category:[log-agent][[parameter[=value]] ...]
Description: Enables logging and auditing for the application. Category, destination, and other parameters are used to capture Tivoli Access Manager auditing and logging events.
388
Auditing Guide
Each server provides its own event logging setting in its corresponding configuration file. Options: category:log-agent The category of the auditing event and the destination. log-agent is one of the following agents: v stdout v stderr v file path= v pipe v remote parameter=value Allowable parameters. The parameters vary, depending on the category, the destination of events, and the type of auditing you want to perform. See Chapter 19, Audit event logging, on page 175 for information about the log agents and the configuration parameters. Each log agent supports different parameters. Usage: Optional Default value: Remove the pound signs (#) at the beginning of the configuration file lines to enable authentication or authorization auditing (or both) for the application. Example:
logcfg = audit.azn:file path=audit.log,flush_interval=20,log_id=audit_log
389
390
Auditing Guide
{} \
The options for each command or utility are listed alphabetically in the Options section or in the Parameters section. When the order of the options or parameters must be used in a specific order, this order is shown in the syntax statements.
Commands
Table 68 lists the pdadmin commands that can be used during auditing and statistics gathering activities.
Table 68. Auditing and statistics commands Command config modify config show login Description Modifies a stanza entry in a configuration file or sets the password for the server user account. Shows the value that is associated with the specified stanza and key in a configuration file. Establishes authentication credentials used when communicating with the Tivoli Access Manager policy server. Lists all registered Tivoli Access Manager servers. Enables the gathering of statistical information for an installed Tivoli Access Manager server or server instance.
391
config modify
Modifies a stanza entry in a configuration file or sets the password for the server user account.
Syntax
config modify keyvalue append [obfuscate] config_file stanza key value config modify keyvalue remove [obfuscate] config_file stanza key [value] config modify keyvalue set [obfuscate] config_file stanza key value config modify svrpassword config_file password
Description
The config modify command either modifies a stanza entry in a configuration file or sets the password for the application server user account. Depending on which configuration operation you want, you must either perform a local login or a remote login. v To set the password for the server user account using the svrpassword option, use one of the available options and login remotely: The login command. The login command with the d option. The login command with the m option. v To modify the value of a stanza entry in a configuration file using the keyvalue option, login using the login command with the l option. This must be local login. Note: If you attempt to run one of the configuration operations that requires a local login, an error is displayed:
Error: HPDMS4061E Local authentication (local login) is required to perform this operation (status 0x14c52fdd)
To use the svrpassword option, you must: v Be defined in the ACL policy and have the Password permission (W action bit). v Have the necessary operating system permissions to modify the local configuration file. To use the keyvalue options, you must have the necessary operating system permissions to read and modify the configuration file. If you specify the obfuscate option and non-obfuscated data exists for the key, you receive an error. Conversely, if you do not specify the obfuscate option and obfuscated data exists for the key, you receive the same error. A stanza entry can only be in either the ASCII (non-obfuscated) configuration file or in the obfuscated configuration file. The same stanza entry cannot be in both the ASCII and obfuscated versions of the same configuration file. After modifying a stanza entry, you can view its value using the config show command. If the stanza entry is in an obfuscated configuration file, you cannot retrieve the value of the key using the config show command.
392
Auditing Guide
config modify
For information and guidelines about the stanzas and stanza entries in configuration files, see the appropriate Administration Guide.
Options
obfuscate Indicates that the stanza entry must be written to or removed from the obfuscated version of the configuration file. config_file Specifies the fully qualified name of the configuration file, unless the configuration file is in the current directory. You do not need to specify the .obf file extension to indicate the obfuscated version of the configuration file. key Specifies the key portion of the stanza entry.
password Specifies the password for the application server account. stanza Specifies the name of stanza that contains the stanza entry. value Specifies the configuration value for the key.
keyvalue append Adds a value to a stanza entry in the configuration file stanza. If you attempt to append a duplicate value to a key, the duplicate value is ignored. keyvalue remove Removes a value from a stanza entry in the configuration file stanza. If you do not specify the value option, the key is removed from the configuration file. keyvalue set Defines a stanza entry (key value pair) or changes the value of a key in the configuration file stanza. svrpassword Sets the password for the application server account. This password is updated in the registry and in the obfuscated version of the local configuration file.
Authorization
No authentication is required, except for the svrpassword option. The svrpassword option requires authentication (administrator ID and password).
Return codes
0 1 The command completed successfully. The command failed. When a command fails, the pdadmin command provides a description of the error and an error status code in hexadecimal format (for example, 0x14c012f2). See the IBM Tivoli Access Manager for e-business: Error Message Reference. This reference provides a list of the Tivoli Access Manager error messages by decimal or hexadecimal codes.
393
config modify
Examples
v The following example provides a local login:
pdadmin> login -l
After logging in locally, the prompt changes from pdadmin> to pdadmin local>. v After a local login, the following example changes the value of the version key in the [meta-info] stanza to 6798. The stanza is in the d:\temp\my.conf configuration file:
pdadmin local> config modify keyvalue set d:\temp\my.conf \ meta-info version 6798
v After a local login, the following example adds the new mynewvalue key to the [meta-info] stanza and sets its value to 14 a new obfuscated stanza entry. The [meta-info] stanza is in the d:\temp\my.conf.obf configuration file:
pdadmin local> config modify keyvalue set -obfuscate d:\temp\my.conf \ meta-info mynewkey 14
Note: The name of the configuration file does not have the .obf file extension.
See also
config show login
394
Auditing Guide
config show
Shows the value that is associated with the specified stanza and key in the Tivoli Access Manager server configuration files or in customized server configuration files. The stanza and key must exist, or an error is displayed. Requires a local login to use this command. No authentication is required.
Syntax
config show config_file stanza key
Options
config_file Specifies the Tivoli Access Manager or custom configuration file to use. Unless the configuration file is in the current directory, the configuration file name must be a fully qualified path name. The necessary operating system permissions are required to read and update the configuration file. Valid values for Tivoli Access Manager keys are documented in the IBM Tivoli Access Manager for e-business: Administration Guide. stanza Specifies the name of a Tivoli Access Manager or custom stanza that contains the input key. A valid stanza name is an alphanumeric string that is not case sensitive. String values are expected to be characters that are part of the local code set. Valid Tivoli Access Manager stanzas are documented in the IBM Tivoli Access Manager for e-business: Administration Guide. key Specifies the configuration value to associate with the key in the specified configuration file stanza. Valid Tivoli Access Manager values are documented in the IBM Tivoli Access Manager for e-business: Administration Guide.
Return codes
0 1 The command completed successfully. The command failed. When a command fails, the pdadmin command provides a description of the error and an error status code in hexadecimal format (for example, 0x14c012f2). See the IBM Tivoli Access Manager for e-business: Error Message Reference. This reference provides a list of the Tivoli Access Manager error messages by decimal or hexadecimal codes.
Examples
v The following example provides a local login and requests the value of the version key for the [meta-info] stanza. The value is 1296. The prompt changes to show that the login is local:
pdadmin> login -l pdadmin local> config show "c:\Program Files\Tivoli\Policy Director\etc\activedir.conf" meta-info version
v The following example provides a local login and requests the value of the enabled key for the [ldap] stanza. The output provides a key value of yes. The prompt changes to show that the login is local:
Appendix C. Commands and utilities
395
config show
pdadmin>login -l pdadmin local> config show "c:\Program Files\IBM\LDAP\etc\ldap.conf" ldap enabled
See also
config modify login
396
Auditing Guide
login
Establishes authentication credentials used when communicating with the Tivoli Access Manager policy server. These credentials are used to determine access privileges for the user to policy server data. Most commands cannot be performed unless an explicit login is done. This command does not require a login or authentication to use.
Syntax
login a admin_id [p password] [d domain] login a admin_id [p password] [m] login l
Description
Credentials are used to determine user access privileges to policy server data. Except for the context errtext, exit, help, login, logout, and quit commands and the local configuration commands, a user ID and password is needed for authentication. Credentials are not accumulated or stacked. A login command completely replaces any existing credentials. In interactive mode, the pdadmin prompt changes, depending on how the user logs in: v Not interactive mode. This command starts the pdadmin utility. In interactive mode, the login commands are entered from the pdadmin> prompt.
c:\> pdadmin pdadmin>
v An administrator login performed to the local domain. In some cases, the local domain might be the management domain, which is named Default. Authentication is required.
pdadmin> login -a sec_master -p secmstrpw pdadmin sec_master>
v A user login performed to another domain other than their local domain. Authentication is required.
pdadmin> login -a dlucas -p lucaspw -d domain_a pdadmin dlucas@domain_a>
397
login
Options
a admin_id Specifies an administrator ID. p password Specifies the password for the admin_id user. If this option is not specified, the user is prompted for the password. The password cannot be specified if the admin_id is not specified. d domain Specifies the Tivoli Access Manager secure domain to log in to. The admin_id user must exist in this domain. m Specifies that the login operation must be directed to the management domain. The admin_id user must exist in this domain. Note: Only one of the following domain options can be specified: d domain or m. If neither option is specified, the target domain is the local domain configured for the system. The admin_id user must exist in the target domain, whether it is explicitly specified. l Specifies a local login operation. When modifications are made to local configuration files by using the config commands, a local login is required before you can run commands. The user can run the context show command to view additional authentication information.
Return codes
0 1 The command completed successfully. The command failed. When a command fails, the pdadmin command provides a description of the error and an error status code in hexadecimal format (for example, 0x14c012f2). See the IBM Tivoli Access Manager for e-business: Error Message Reference. This reference provides a list of the Tivoli Access Manager error messages by decimal or hexadecimal codes.
Examples
v The following example logs the sec_master user into the management domain and then displays the authentication context for the user:
pdadmin> login -a sec_master -p pa55w0rd -m pdadmin sec_master> context show User: sec_master Domain: Default The user is logged in to the management domain.
v The following example logs a user into the domain1 domain and then displays the authentication context for the user:
pdadmin> login -a domain1_admin -p d0main1pwd -d domain1 pdadmin domain1_admin@domain1> context show User: domain1_admin Domain: domain1 The user is not logged in to the management domain
v The following example: First, interactively logs the user into their local domain that is configured for the system.
398
Auditing Guide
login
Then, displays the authentication context of the user. The domain name is testdomain:
pdadmin> login Enter User ID: testdomain_admin Enter password: adminpwd pdadmin testdomain_admin> context show User: testdomain_admin Domain: testdomain The user is not logged in to the management domain
v The following example of a local login demonstrates how the prompt changes, depending on the type of interactive login:
c:\> pdadmin login -l
399
server list
Lists all registered Tivoli Access Manager servers. Requires authentication (administrator ID and password) to use this command.
Syntax
server list
Description
Lists all registered Tivoli Access Manager servers. For all server commands, the name of the server must be entered in the exact format as it is displayed in the output of this command. The only exception is the server list command.
Options
None.
Return codes
0 1 The command completed successfully. The command failed. When a command fails, the pdadmin command provides a description of the error and an error status code in hexadecimal format (for example, 0x14c012f2). See the IBM Tivoli Access Manager for e-business: Error Message Reference. This reference provides a list of the Tivoli Access Manager error messages by decimal or hexadecimal codes.
Examples
The following example lists all registered servers if the Tivoli Access Manager component is the authorization server:
pdadmin> server list
Example of output:
ivacld-topserver ivacld-server2 ivacld-server3 ivacld-server4
400
Auditing Guide
Syntax
server task server_namehost_name stats get [component] server task server_namehost_name stats list server task server_namehost_name stats off [component] server task server_namehost_name stats on component [interval [count]] [destination] server task server_namehost_name stats reset [component] server task server_namehost_name stats show [component]
Description
The server task stats command manages the gathering and reporting of statistics for Tivoli Access Manager servers and server instances. You can use the stats commands with configuration settings that are defined by the stanza entries in the server configuration file to manage statistics. After statistics gathering is enabled you can use the stats on commands to modify the behavior for gathering and reporting statistics through: v The stats on command, or v Through defined configuration settings. Example: Statistics are enabled to create five statistics reports that are generated every day. You can use the stats on command to change the frequency to 12 hours. For this example, assume that the following command started statistics gathering:
pdadmin sec_master> server task PDWebPI-linuxweb.wasp.ibm.com stats on \ pdwebpi.stats 86400 5 file path=/tmp/stats.log
To modify the interval to 12 hours and create 10 reports, issue the following command:
pdadmin sec_master> server task PDWebPI-linuxweb.wasp.ibm.com stats on \ pdwebpi.stats 43200 10
Although the destination is not specified, the statistics infrastructure assumes any pre-existing value. Entering the previous command does disable statistics from being written to the previously defined log file. However if you specified a different destination, statistics reports would be written to the new destination only. You cannot use the stats on command to write statistics reports to more than one destination. For more information about gathering statistics, see the IBM Tivoli Access Manager for e-business: Troubleshooting Guide.
401
Options
component Specifies the component about which to gather or report statistics. count Specifies the number of reports to send to a log file. When using the count option, you must specify the interval option. If you specify the interval option without the count option, the duration of reporting is indefinite. After reaching the count value, reporting to a log file stops. Although statistics are no longer sent to a log file, the statistic component is still enabled. You can obtain reports from memory using the stats get command. Specifies the interval in seconds when statistics are sent from memory to a log file. When this option is specified, statistics are sent, by default, to the server-specific log file designated by the logcfg entry in the server configuration file. You can specify another location using the destination option. If an interval is not specified, statistics are not sent to a log file, but remain in memory. Although statistics are not sent to a log file, the statistic component is still enabled. You can obtain reports from memory using the stats get command. server_namehost_name Specifies the name of the server or server instance. You must specify the server name in the exact format as it is shown in the output of the server list command. For example, if the configured name of a single WebSEAL server on host cruz.dallas.ibm.com is default, the server_name would be default-webseald and the host_name would be cruz.dallas.ibm.com. For this example, the name of the server would be default-websealdcruz.dallas.ibm.com. If multiple server instances are configured on the single machine, host cruz.dallas.ibm.com, and the configured name of the WebSEAL server instance is webseal2-webseald, then: v server_name is webseal2-webseald. v host_name is cruz.dallas.ibm.com. The name of the server instance is webseal2-websealdcruz.dallas.ibm.com. destination Specifies where the gathered statistics are written, where destination can be one of the following options: file path=file_name Specifies the fully qualified name of the log file. log_agent Specifies a directory where statistics information is gathered. For more information about event logging, see the IBM Tivoli Access Manager for e-business: Troubleshooting Guide. get Displays the current report for a specific component or for all enabled components. If you specify the component option, displays the current report for that component; otherwise, displays the current report for all enabled components. Lists all components that are available to gather and report statistics.
interval
list
402
Auditing Guide
on
reset
show
Return codes
0 1 The command completed successfully. The command failed. See the IBM Tivoli Access Manager for e-business: Error Message Reference. This reference provides a list of the Tivoli Access Manager error messages by decimal or hexadecimal codes.
Examples
v The following example uses the stats list command to list all enabled components on the ivacld-mogman.admogman.com authorization server:
#pdadmin sec_master> server task ivacld-mogman.admogman.com stats list pd.ras.stats.monitor pd.log.EventPool.queue
v The following example uses the status on command to: Enable statistics gathering for the pd.log.EventPool.queue component on the ivacld-mogman.admogman.com authorization server. Set the reporting frequency to 30 days (2592000 seconds). Set the destination to the c:\myEPstats.log log file.
#pdadmin sec_master> server task ivacld-mogman.admogman.com stats on \ pd.log.EventPool.queue 2592000 file path=c:\myEPstats.log
See also
server list
403
Utilities
Table 69 lists the auditing utilities.
Table 69. Auditing utilities Utility amauditcfg smscars Description Configures the Common Audit Service client. Configures the session management server to user the Common Audit Service in a WebSphere single server environment.
404
Auditing Guide
amauditcfg
Configures or unconfigures the Common Audit Service client.
Syntax
amauditcfg action config srv_cfg_file configuration_file audit_srv_url url enable_ssl no disk_cache_mode never amauditcfg action config srv_cfg_file configuration_file audit_srv_url url enable_ssl no disk_cache_mode {always|auto} disk_cache_file cache_file amauditcfg action config srv_cfg_file configuration_file audit_srv_url url enable_ssl yes audit_key_file key_file audit_stash_file stash_file enable_pwd_auth no disk_cache_mode never amauditcfg action config srv_cfg_file configuration_file audit_srv_url url enable_ssl yes audit_key_file key_file audit_stash_file stash_file enable_pwd_auth no disk_cache_mode {always|auto} disk_cache_file cache_file amauditcfg action config srv_cfg_file configuration_file audit_srv_url url enable_ssl yes audit_key_file key_file audit_stash_file stash_file enable_pwd_auth yes audit_id audit_id audit_pwd audit_password disk_cache_mode never amauditcfg action config srv_cfg_file configuration_file audit_srv_url url enable_ssl yes audit_key_file key_file audit_stash_file stash_file enable_pwd_auth yes audit_id audit_id audit_pwd audit_password disk_cache_mode {always|auto}disk_cache_file cache_file amauditcfg action unconfig srv_cfg_file configuration_file amauditcfg operations amauditcfg help [options] amauditcfg rspfile response_file amauditcfg usage amauditcfg ?
Description
Use the amauditcfg utility to configure a Tivoli Access Manager server to use (or stop using) Common Audit Service. The utility can be run in command line mode or response file mode. In command line mode, all parameters must be specified from the command line. In response file mode, the utility obtains the necessary parameters from the response file. You must manually create the response file, and the response file requires all parameters.
405
amauditcfg
Parameters
action {config|unconfig} This parameter takes one of the following arguments: config Configures the client. unconfig Unconfigures the client. audit_id administrator_id Specifies the WebSphere administrator who has the EventSource role mapped to the CommonAuditService. This ID is authenticated through WebSphere using HTTP basic authentication. This parameter is valid when the enable_pwd_auth parameter is set to yes. audit_key_file key_file Specifies the fully qualified name of the key file that is needed to communicate securely with the Web service. This parameter is required when the enable_ssl parameter is set to yes. audit_pwd audit_id_password Specifies the password for the WebSphere administrator who has the EventSource role mapped to the CommonAuditService. This parameter is valid when the enable_pwd_auth parameter is set to yes. audit_srv_url url Specifies the URL of the Web service. For secure communication, use the following URL: https://hostname:9443/CommonAuditService/services/Emitter For nonsecure communication, use the following URL: http://hostname:9080/CommonAuditService/services/Emitter audit_stash_file stash_file Specifies the fully qualified name of the stash file that is needed to communicate securely with the Common Audit Web service. This parameter is required when the enable_ssl parameter is set to yes. disk_cache_file cache_file Specifies the fully qualified name of the disk cache file. This parameter is required when the disk_cache_mode parameter is set to always or auto. disk_cache_mode {always|never|auto} Specifies whether to enable disk caching, and, when enabled, indicates how to handle disk caching. The following values are valid: always Indicates that audit events are always written directly to the disk cache. never auto Indicates that audit events are written to the event queue. There is no disk cache. Indicates that audit events are written to the event queue except when the server is down or the event queue is full. Under these conditions, the audit events are written to disk cache.
The default value is auto. enable_pwd_auth {yes|no} Specifies whether password authentication is used. Valid values are yes or no. This parameter is valid when the enable_ssl parameter is set to yes. The default value is no.
406
Auditing Guide
amauditcfg
enable_ssl {yes|no} Specifies whether to enable SSL communication between the Common Audit client (the security server) and the Common Audit Web service. Valid values are yes or no. The default value is no. help [parameters] Lists all parameters and their descriptions when specified without parameters. When one or more parameters are specified, lists the specified parameters and their descriptions. operations Prints out all the valid parameters. rspfile response_file Specifies the fully qualified path and file name of the response file to use during silent configuration. A response file can be used for configuration. There is no default response file name. The response file contains stanzas and parameter=value pairs. To use response files, see <<details about the response files in this book not there yet>>. srv_cfg_file configuration_file Specifies the fully qualified name of the configuration file used by the Tivoli Access Manager server to configure (or unconfigure) the use of Common Audit Service. During configuration, entries are set to enable auditing. During an unconfiguration, the doAudit stanza entry is set to no in the [cars-client] stanza of the server-specific configuration file. For additional information about entries in configuration files, see Appendix B, Configuration stanzas, on page 365. usage Displays the syntax and an example for this utility. ? Displays the syntax and an example for this utility.
Availability
This utility is located in one of the following default installation directories: v On Linux and UNIX operating systems:
/opt/policyDirector/sbin/
When an installation directory other than the default is selected, this utility is located in the /sbin directory under the installation directory (for example, installation_directory/sbin).
Return codes
0 1 The utility completed successfully. The utility failed. When a utility fails, a description of the error and an error status code in hexadecimal format is provided (for example, 0x15c3a00c). See the IBM Tivoli Access Manager for e-business: Error Message Reference. This reference provides a list of the Tivoli Access Manager error messages by decimal or hexadecimal codes.
Examples
v The following example configures an authorization server using SSL and password authentication:
Appendix C. Commands and utilities
407
amauditcfg
amauditcfg -action config \ -srv_cfg_file /opt/PolicyDirector/etc/ivacld.conf \ -srv_url https://hostname:9443/CommonAuditService/services/Emitter \ -enable_ssl yes -audit_key_file /certs/WSclient.kdb \ -audit_stash_file /certs/WSclient.sth -enable_pwd_auth yes \ -audit_id administrator_id -auditpwd password
v The following example uses the /tmp/rspfile/cars_pdacld.rsp response file to configure an authorization server using SSL and password authentication:
amauditcfg rspfile /tmp/rspfile/cars_pdacld.rsp
408
Auditing Guide
smscars
Configures the session management server in a WebSphere single server environment.
Syntax
smscars action config cars path was_home path [wsadmin_options options] [server server_name] [name application_name] [norestart] [nodescope] [noenable] smscfg action unconfig was_home path [wsadmin_options options] [server server_name] [name application_name] [norestart] smscfg.sh usage
Description
The smscars utility is a wsadmin script. This script configures or unconfigures the session management server for use with the Common Audit Service in a WebSphere single server environment. During configuration, the SMSCARS shared library is created and the session management server application (DSess) is configured to access this shared library. The utility is provided on Linux and UNIX operating systems as a shell script, smscars.sh. On Windows operating systems, it is provided as a batch script, smscars.bat.
Parameters
action {config|unconfig} Specifies the action to be performed that is one of the following values: config Configures the session management server to use the Common Audit Service. unconfig Unconfigures the session management server from using the Common Audit Service. cars application_name Specifies the installation directory of the Common Audit Service. The default installation directory is /opt/IBM/Tivoli/CommonAudit on Linux and UNIX operating systems and C:\Program Files\IBM\Tivoli\ CommonAudit on Windows operating systems. name application_name Specifies the name of the Session Management Server application. The default value is DSess. nodescope Indicates that the scope of the SMSCARS shared library is limited to the connected node. By default, the scope of this shared library is cell wide. Use this parameter only when the Common Audit Service is not installed to the same location in each node of the cell. This parameter activates the norestart and noenable parameters. After all nodes in the cell are configured, run the smscars utility again with just
409
smscars
the action config parameter. Running the utility in this way enables the session management server to use the SMSCARS shared library and restarts the DSess application. noenable Indicates that the SMSCARS shared library is created, but the DSess application is not configured to use it. Specify this parameter only when the Common Audit Service is installed in different locations on different nodes. After the shared library is created on all nodes, run the smscars.jacl script without the noenable option. norestart This parameter is ignored. The DSess application is restarted after a configuration or unconfiguration action. server server_name Specifies the host name of the WebSphere Application Server where the DSess application is deployed. This parameter is required when the WebSphere node has more than one server. usage Displays the syntax and an example for this utility. was_home path Specifies the home directory of the WebSphere Application Server default profile. This value must be set on the command line or in the WAS_HOME environment variable. The default location for the default profile is /opt/IBM/WebSphere/AppServer/profiles/default on Linux and UNIX operating systems and C:\Program Files\IBM\WebSphere\AppServer\ profiles\default on Windows operating systems. wsadmin_options options Specifies options to pass directory to the wsadmin utility. Use this parameter to pass non-default connection information to the wsadmin utility before running the operation. All options up to the -- option are passed directly to the wsadmin utility.
Availability
This utility is located in one of the following default installation directories: v On Linux and UNIX operating systems:
/opt/pdsms/bin
When an installation directory other than the default is selected, this utility is located in the /bin directory under the installation directory (for example, installation_directory/bin).
Return codes
0 The utility completed successfully. non-zero The utility failed. When a utility fails, a description of the error and an error status code in hexadecimal format is provided (for example, 0x15c3a00c). See the IBM Tivoli Access Manager for e-business: Error Message Reference. This reference provides a list of the Tivoli Access Manager error messages by decimal or hexadecimal codes.
410
Auditing Guide
From this topic, you can search a variety of resources, which includes the following resources: v IBM Technotes v IBM downloads v IBM Redbooks v IBM developerWorks v Forums and news groups v Google
Obtaining fixes
A product fix might be available to resolve your problem. To determine what fixes are available for your IBM software product, check the product support site by performing the following steps: 1. Go to the IBM Software Support site at the following Web address:
Copyright IBM Corp. 2001, 2010
411
http://www.ibm.com/software/support 2. Under Products A - Z, click the letter with which your product starts to open a Software Product List. 3. Click your product name to open the product-specific support page. 4. Under Self help, follow the link to All Updates, where you will find a list of fixes, fix packs, and other service updates for your product. For tips on refining your search, click Search tips. 5. Click the name of a fix to read the description. 6. Optional, download the fix.
412
Auditing Guide
413
Severity 1 The problem has a critical business impact. You are unable to use the program, resulting in a critical impact on operations. This condition requires an immediate solution. Severity 2 The problem has a significant business impact. The program is usable, but it is severely limited. Severity 3 The problem has some business impact. The program is usable, but less significant features that are not critical are unavailable. Severity 4 The problem has minimal business impact. The problem causes little impact on operations, or a reasonable circumvention to the problem was implemented.
Submitting problems
You can submit your problem to IBM Software Support in one of two ways: Online Go to the Submit and track problems page on the IBM Software Support site at the following address, and provide your information into the appropriate problem submission tool: http://www.ibm.com/software/support/probsub.html By phone For the phone number to call in your country, go to the contacts page of the IBM Software Support Handbook at the following Web address and click the name of your geographic region: http://techsupport.services.ibm.com/guides/contacts.html If the problem you submit is for a software defect or for missing or inaccurate documentation, IBM Software Support creates an Authorized Program Analysis Report (APAR). The APAR describes the problem in detail. Whenever possible, IBM Software Support provides a workaround that you can implement until the APAR is resolved and a fix is delivered. IBM publishes resolved APARs on the IBM product support Web pages daily, so that other users who experience the same problem can benefit from the same resolution.
414
Auditing Guide
For more information about problem resolution, see Searching knowledge bases on page 411 and Obtaining fixes on page 411.
415
416
Auditing Guide
Appendix E. Notices
This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. However, it is the user responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to: IBM World Trade Asia Corporation Licensing 2-31 Roppongi 3-chome, Minato-ku Tokyo 106, Japan The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement might not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.
417
IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact: IBM Corporation 2Z4A/101 11400 Burnet Road Austin, TX 78758 U.S.A. Such information may be available, subject to appropriate terms and conditions, including in some cases payment of a fee. The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us. Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurement may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements, or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility, or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. All statements regarding IBM's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only. This information is for planning purposes only. The information herein is subject to change before the products described become available. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not
418
Auditing Guide
been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and distribute these sample programs in any form without payment to IBM for the purposes of developing, using, marketing, or distributing application programs conforming to IBMs application programming interfaces. Each copy or any portion of these sample programs or any derivative work, must include a copyright notice as follows: (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. Copyright IBM Corp. _enter the year or years_. All rights reserved. If you are viewing this information in softcopy form, the photographs and color illustrations might not be displayed.
Trademarks
IBM, the IBM logo, AIX, DB2, IBMLink, Tivoli, Tivoli Enterprise Console, and TME are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. Adobe, the Adobe logo, Acrobat, PostScript and all Adobe-based trademarks are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, other countries, or both. Cell Broadband Engine is a trademark of Sony Computer Entertainment, Inc., in the United States, other countries, or both and is used under license therefrom. Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. IT Infrastructure Library is a registered trademark of the Central Computer and Telecommunications Agency which is now part of the Office of Government Commerce. IT Infrastructure Library is a registered trademark, and a registered community trademark of the Office of Government Commerce, and is registered in the U.S. Patent and Trademark Office. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
Linux is a trademark of Linus Torvalds in the United States, other countries, or both. Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.
Appendix E. Notices
419
UNIX is a registered trademark of The Open Group in the United States and other countries. Other company, product, and service names may be trademarks or service marks of others.
420
Auditing Guide
Glossary
This glossary defines the technical terms and abbreviations that are used in Tivoli Access Manager. If you do not find the term or abbreviation for which you are looking, see the IBM Terminology Web site at the following Web address: http://www.ibm.com/ibm/terminology The following cross-references are used among terms: Contrast with Refers the reader to a term that has an opposed or substantively different meaning. See Refers the reader to a term that is the expanded form of an abbreviation or acronym or to a synonym or more preferred term.
ACL. See access control list. ACL entry. Data in an access control list that specifies a set of permissions. ACL policy. Part of the security policy that contains ACL entries that control who can access which domain resources and perform which actions. See also authorization rule and protected object policy. action. An access control list (ACL) permission attribute. See also access control list. action group. A set of actions that are explicitly associated with a resource or set of resources. ADI. See access decision information. ADK. See application development kit administration service. An authorization API runtime plug-in that can be used to perform administration requests on a Tivoli Access Manager resource manager application. The administration service responds to remote requests from the pdadmin command. The response relates to performing tasks, such as listing the objects under a particular node in the protected object tree. Customers might develop these services using the authorization ADK. application development kit (ADK). A set of tools, APIs, and documentation to assist with the development of software in a specific computer language or for a particular operating environment. attribute. A characteristic or trait of an entity that describes the entity. An attribute can have a type, which indicates the range of information given by the attribute, and a value, which is within a range. In XML, for example, an attribute consists of a name-value pair within a tagged element and modifies a feature of an element. attribute list. A linked list that contains extended information that is used to make authorization decisions. Attribute lists consist of a set of name-value pairs. audit event. A record of an operation in the audit log or change history; for example, an audit entry is created when a resource is modified. audit level. The types of user actions that are currently being audited for the entire system or for specific users on the system. Actions that can be audited include authority failures and restoring objects. A record of each action is written to the audit journal.
See also Refers the reader to a related term. Obsolete Indicates that the term must not be used and refers the reader to the preferred term.
A
access control. In computer security, the process of ensuring that only authorized users can access the resources of a computer system in authorized ways. access control list (ACL). In computer security, a list with an object that identifies all the subjects that can access the object and their access rights. For example, an access control list is a list that is associated with a file that identifies: v The users who can access the file. v The access rights of the users to that file. access decision information (ADI). The data and attributes that are used by the authorization engine to evaluate a rule. Authorization API attributes are name-value pairs, form the basis of all ADI that can be referenced in a rule or presented to the authorization engine. access permission. The access privilege that applies to the entire object. account. Information about an identity.
Copyright IBM Corp. 2001, 2010
421
audit trail. A chronological record of events that enables the user to examine and reconstruct a sequence of events. Audit trails are useful for managing security and for recovering lost transactions. audit trail file. The file that contains the audit trail. authentication. In computer security, the process that verifies identity. Authentication is distinct from authorization; authorization is concerned with granting and denying access to resources. See also multi-factor authentication, network-based authentication, and step-up authentication. authorization. In computer security, the process that grants or denies access to resources. Security uses a two-step process: after authentication has verified the identity, authorization allows the resource or process access to various resources based on its identity. authorization API. The Tivoli Access Manager component that passes requests for authorization decisions from the resource manager to the authorization evaluator. See also authorization server and authorization service. authorization evaluator. The decision-making process that determines whether a client can access a protected resource based on the security policy. The evaluator makes its recommendation to the resource manager, which, in turn, responds accordingly. authorization rule. Part of the security policy that define conditions that are contained in authorization policy. An authorization rule is used to make access decisions based on attributes such as user, application, and environment context. See also ACL policy and protected object policy. authorization server. The Tivoli Access Manager component that runs the authorization service. See also authorization service. authorization service. A dynamic or shared library that can be loaded: v By the authorization API runtime client. v At initialization time. The library is used to perform operations that extend a service interface in the Authorization API.
v To associate formal parameters to actual parameters. blade. A component that provides application-specific services and components. Boolean. A binary numbering system that is named after mathematician George Boole. In Boolean system, 0 and 1 are the only two values that can be returned. A value of 0 represents false while a value of 1 represents true. business entitlement. The supplemental attribute of a user credential that describes the fine-grained conditions that can be used in the authorization process.
C
CA. See certificate authority. CDAS. Obsolete. See external authentication C API. CDMF. See cross domain mapping framework. certificate. In computer security, a digital document that binds a public key to the identity of the certificate owner, enabling the certificate owner to be authenticated. A certificate is issued by a certificate authority. Certificate authority (CA). An organization that issues certificates. A CA creates digital signatures and public-private key pairs. The CA: v Guarantees the identity of the individual who is granted the unique certificate. v Guarantees the services that the owner is authorized to use. The guarantee is used to: v Issue new certificates. v Revoke certificates. The certificates belong to users and organizations who are no longer authorized to use the services. The role of the CA is to authenticate the entities (users and organizations) involved in electronic transactions. The CA is a critical component in data security and electronic commerce. The reason is that the CA guarantees that the two parties that are exchanging information are really who they claim to be. CGI. See common gateway interface. cipher. A cryptographic algorithm that is used to encrypt data that is unreadable until it is converted into plain data (decrypted) with a predefined key. common gateway interface (CGI). An Internet standard for defining scripts that pass information from a Web server to an application program, through an
B
BA. See basic authentication. basic authentication. An authentication method that verifies identity using a user name and password. bind. To relate an identifier to another object in a program. For example: v To relate an identifier to a value, to an address, or to another identifier.
422
Auditing Guide
HTTP request, and vice versa. A CGI script is a CGI program that is written in a scripting language, such as Perl. configuration. The manner in which the hardware and software of a system, subsystem, or network are organized and interconnected. connection. (1) In data communication, an association established between functional units for conveying information. (2) In TCP/IP, the path between two protocol applications that provides reliable data stream delivery service. In the Internet, a connection extends from a TCP application on one system to a TCP application on another system. (3) In system communication, a line over which data can be passed between two systems or between a system and a device. console log agent. A log agent that writes events to standard error or standard output. See also file log agent, pipe log agent, and remote log agent. container object. A structural designation that organizes the object space into distinct functional regions. cookie. Information that a server stores on a client machine and accesses during subsequent sessions. Cookies allow servers to remember specific information about clients. credentials. Detailed information, acquired during authentication, that describes the user, any group associations, and other security-related identity attributes. Credentials can be used to perform a multitude of services, such as authorization, auditing, and delegation. credentials modification service. An authorization API runtime plug-in, which can be used to modify a Tivoli Access Manager credential. Credential modification services that are developed externally by customers: v Are limited to adding and removing from the credentials attribute list. v Apply only to those attributes that are considered modifiable. cross domain authentication service (CDAS). Obsolete. See external authentication C API. cross domain mapping framework (CDMF). A programming interface that allows a developer to customize: v Mapping user identities. v Handling user attributes. The customization applies when WebSEAL e-Community SSO functions are used.
D
daemon. A system process that runs unattended to perform continuous or periodic system-wide functions, such as network control. See also service. data store. A storage area for data, such as a database system, directory, or file. delegate. A user who is authorized to work for another user. The authorization can be made by a user or by an administrator. demilitarized zone (DMZ). In network security, a computer or network that uses a firewall to be isolated from an untrusted network. DMZ serves as a neutral zone between a trusted network and an untrusted network. A private network might be considered trusted and the Internet might be considered untrusted. One or more secure gateways typically control access to the DMZ from the trusted or the untrusted network. digital signature. Information that is encrypted with a private key and is appended to a message to assure the recipient of the authenticity and integrity of the message. The digital signature proves that the message was signed by the entity that owns, or has access to, the private key or shared secret symmetric key. directory schema. The valid attribute types and object classes that can appear in a directory. The attribute types and object classes define the syntax of the attribute values, which attributes are required, and which attributes are optional. distinguished name (DN). (1) The name that uniquely identifies an entry in a directory. A distinguished name is made up of an attribute-value pair, separated by commas. (2) A set of name-value pairs (such as cn=common name and c=country) that uniquely identifies an entry in a digital certificate. DMZ. See demilitarized zone. DN. See distinguished name. domain. (1) A logical grouping of resources in a network that share common administration and management. (2) A part of a network that is administered with a common protocol. See also domain name. domain administrator. The administrator for a domain who can assign any of the roles in that domain to subdomains. After assigning roles to subdomains, administrators in that subdomain can assign subdomain users these roles. domain name. In the Internet suite of protocols, the name of a host system. A domain name consists of a sequence of subnames that are separated by a delimiter character. For example, if austin.ibm.com is the fully
Glossary
423
qualified domain name (FQDN) of a host system, both austin.ibm.com and ibm.com are domain names. dynamic group. A group that is defined using a search expression. When an attribute is added to a directory entry that causes it to match the search expression, the entry automatically becomes a member of the group.
built-in authentication process to allow a remote service to handle the authentication process. The identity information in the HTTP response headers is used to generate user credentials. Contrast with external authentication C API. external authorization service (EAS). An authorization API runtime plug-in that can be used to make application- or environment-specific authorization decisions as part of the authorization decision chain. Customers can develop these services using the authorization ADK. Extensible Markup Language (XML). A standard meta-language for defining markup languages that is based on Standard Generalized Markup Language (SGML). Extensible Stylesheet Language (XSL). A language for specifying style sheets for XML documents. XSL Transformation (XSLT) is used with XSL to describe how an XML document is transformed into another document. See also Extensible Stylesheet Language Transformation. Extensible Stylesheet Language Transformation (XSLT). An XML processing language that is used to convert an XML document into another document in XML, PDF, HTML, or other format. See also Extensible Stylesheet Language.
E
EAS. See external authorization service. encryption. In computer security, the process of transforming data into a cipher. entitlement. A data structure that contains externalized security policy information. Entitlements contain policy data or capabilities that are formatted in a way that is understandable to a specific application. entitlement service. An authorization API runtime plug-in which can be used to return entitlements from an external source for a principal or set of conditions. Entitlements are normally application-specific data that are: v Consumed by the resource manager application in some way, or v Added to the credentials of the principal, for use further on in the authorization process. Customers might develop these services using the authorization ADK. entity. In object-oriented design, an item that can be treated as a unit and, often, as a member of a particular category or type. An entity can be concrete or abstract. event. Any significant change in the state of a system resource, network resource, or network application. An event can be generated for a problem, for the resolution to a problem, or for the successful completion of a task. event pool. A set of events recognized by an activity. Each activity has its own event pool. The event pool is initialized when the activity is created and is deleted when the activity is deleted. extended attribute. Additional information that the system or a program associates with an object. An extended attribute can be any format, such as text, a bitmap, or binary data. external authentication C API. A C API that enables you to write custom authentication modules that replace or extend the functionality of the builtin authentication process. The identity information is returned through the authentication module interface. Contrast with external authentication HTTP interface. external authentication HTTP interface. An interface that enables you to extend the functionality of the
F
file log agent. A log agent that writes events to a file. See also console log agent, pipe log agent, and remote log agent. file transfer protocol (FTP). In the Internet suite of protocols, a protocol that can use Transmission Control Protocol (TCP) and Telnet services to transfer files between machines. FTP. See file transfer protocol
G
global sign-on (GSO). A flexible single sign-on solution that enables the user to provide alternative user names and passwords to the back-end Web application server. Through a single login, global sign-on grants users access to the computing resources they are authorized to use. GSO eliminates the need for users to manage multiple user names and passwords. GSA is designed for large enterprises consisting of multiple systems and applications within heterogeneous, distributed computing environments. See also single sign-on. group. A named list of users by which access levels to corporate directories, databases, and servers are assigned. Two or more individual users who are
424
Auditing Guide
categorized for assigning database security settings. For example, administrators must assign individuals to groups before assigning roles. GSO. See global sign-on.
the network. The ticket is then embedded in messages that are sent over the network. The receiver of a message uses the ticket to authenticate the sender. Kerberos ticket. A transparent application mechanism that transmits the identity of an initiating principal to its target. A simple ticket contains the identity, a session key, a timestamp, and other information that is sealed using a secret key. key. In computer security, a sequence of symbols that is used with a cryptographic algorithm for encrypting or decrypting data. See private key and public key. key database file (KDC). See key file. key distribution center. In the Kerberos protocol, the central server, which includes the authentication server and the ticket-granting server. The KDC is sometimes referred to as the Kerberos server. key file. In computer security, a file that contains public keys, private keys, trusted roots, and certificates. key pair. In computer security, a public key and a private key. When the key pair is used for encryption: v The sender uses the public key to encrypt the message. v The recipient uses the private key to decrypt the message. When the key pair is used for signing: v The signer uses the private key to encrypt a representation of the message. v The recipient uses the public key to decrypt the representation of the message for signature verification. Because the private key holds more of the encryption pattern than the public key, the key pair is called asymmetric. key ring. See key file. keystore file. A key file that contains both public keys stored as signer certificates and private keys stored in personal certificates. keytab file. See key table.
H
host. A computer that is connected to a network and provides an access point to that network. The host can be a client, a server, or both a client and a server simultaneously. HTTP. See hypertext transfer protocol. hypertext transfer protocol (HTTP). In the Internet suite of protocols, the protocol that is used to transfer and display documents.
I
inheritance. An object-oriented programming technique that allows the use of existing classes as a basis for creating other classes. Internet protocol (IP). In the Internet suite of protocols, a connectionless protocol that routes data through a network or interconnected networks. IP acts as an intermediary between the higher protocol layers and the physical network. Internet suite of protocols. A set of protocols developed for use on the Internet and published through the Internet Engineering Task Force (IETF). interprocess communication (IPC). (1) The process by which programs communicate data to each other and synchronize their activities. Semaphores, signals, and internal message queues are common methods of interprocess communication. (2) A mechanism of an operating system that allows processes to communicate with each other within the same computer or over a network. IP. See Internet protocol. IPC. See interprocess communication.
J
junction. A logical connection that is created to establish a path from one server to another.
key table. In the Kerberos protocol, a file that contains service principal names and secret keys. The secret keys must be known only to the services that use the key table file and the key distribution center (KDC). key-value pair. Information that is expressed as a paired set.
K
KDC. See key distribution center. Kerberos. An authentication system that enables two parties to exchange private information over an otherwise open network. It works by assigning a unique key, called a ticket, to each user that logs on to
L
LDAP. See lightweight directory access protocol.
Glossary
425
leaf node. A node that has no children before it in the directory tree. lightweight directory access protocol (LDAP). An open protocol that: v Uses TCP/IP to provide access to directories that support an X.500 model. v Does not incur the resource requirements of the more complex X.500 Directory Access Protocol (DAP). For example, LDAP can be used to locate people, organizations, and other resources in an Internet or intranet directory. lightweight third party authentication (LTPA). An authentication protocol that users cryptography to support security across a set of Web servers in a distributed environment. LTPA. See lightweight third party authentication.
multiple tenancy server. A server that permits the hosting of multiple customers on a single server instead of multiple client machines. See also protected object policy. multiplexing proxy agent (MPA). A gateway that accommodates multiple client access. These gateways are sometimes known as Wireless Access Protocol (WAP) gateways when clients access a secure domain using a WAP. Gateways establish a single authenticated channel to the originating server and tunnel all client requests and responses through this channel.
N
namespace. (1) In XML, a uniform resource identifier (URI) that provides a unique name to associate with all the elements and type definitions in a schema. (2) Space reserved by a file system to contain the names of its objects. network-based authentication. A protected object policy (POP) that controls access to objects based on the Internet protocol (IP) address of the user. See also protected object policy. notification thread. The synchronization mechanism that the policy server uses to inform all database replicas of a change to the master policy database.
M
management domain. The default domain in which Tivoli Access Manager enforces security policies for authentication, authorization, and access control. This domain is created when the policy server is configured. See also domain. management interface. The interface that a domain administrator can use to manage security policy. In Tivoli Access Manager, an administrator can use Web Portal Manager or the pdadmin commands to apply security policy to resources. management server. Obsolete. See policy server. master server. In a network environment, the server that has permissions to run commands on all other machines in the environment. The master server is designed to manage the network, clients, and resource objects in the network database. Contrast with replica server metadata. Data that describes the characteristics of stored data. migration. The installation of a new version or release of a program to replace an earlier version or release. MPA. See multiplexing proxy agent. multi-factor authentication. A protected object policy (POP) that forces a user to authenticate using two or more levels of authentication. For example, the access control on a protected resource can require that the users authenticate with both user name/password and user name/token passcode.
O
object. (1) In object-oriented design or programming, a concrete realization (instance) of a class that consists of data and the operations associated with that data. An object contains the instance data that is defined by the class, but the class owns the operations that are associated with the data. (2) Any digital content that a user can manipulate as a single unit and perform a task. An object can appear as text, an icon, or both. (3) A named storage space that consists of a set of characteristics that describe the space and, in some cases, data. An object is anything: v That occupies space in storage. v That can be located in a library or directory. v That can be secured. v On which defined operations can be performed. Some examples of objects are programs, files, libraries, and stream files. object space. A virtual representation of the resources to be protected. See also namespace. object type. A categorization or group of object instances that share similar behavior and characteristics.
426
Auditing Guide
P
PAC. See privilege attribute certificate. PDCA. See Policy Director Certificate Authority permission. The ability to access a protected object, such as a file or directory. The number and meaning of permissions for an object are defined by the access control list (ACL). See also access control list. pipe log agent. A log agent that writes events as standard input to another program. See also console log agent, file log agent, and remote log agent. policy. A set of rules that are applied to managed resources. policy database. The database that contains the security policy information for all resources in the domain. Each domain has its own policy database. Policy Director Certificate Authority (PDCA). A trusted certificate that is created during the configuration of the policy server and that is used to sign all other Tivoli Access Manager certificates. A PDCA certificate is stored in the master policy database. policy enforcer. A component of a resource manager that directs requests to the authorization service for processing after authorization is granted. Traditional applications bundle the policy enforcer and the resource manager as one process. policy server. The Tivoli Access Manager component that: v Maintains the master policy database. v Replicates the policy information throughout the secure domain. v Updates database replicas whenever a change is made to the master policy database. The policy server also maintains location information about other Tivoli Access Manager and non-Tivoli Access Manager resource managers that are operating in the secure domain. polling. The process by which databases are interrogated at regular intervals to determine if data needs to be transmitted. POP. See protected object policy. portal. A single point of access to diverse information and applications. Users can customize and personalize a portal. principal. (1) An entity that can communicate securely with another entity. (2) An authenticated user. A principal is identified by its associated security context, which defines its access rights.
private key. In computer security, a key that is known only to its owner. Contrast with public key. privilege attribute certificate (PAC). A digital document that contains authentication attributes, authorization attributes, and capabilities of a principal. privilege attribute certificate service. An authorization API runtime client plug-in which translates a PAC of a predetermined format in to a Tivoli Access Manager credential, and vice-versa. These services could also be used to package or marshall a Tivoli Access Manager credential for transmission to other members of the secure domain. Customers might develop these services using the authorization ADK. See also privilege attribute certificate. protected object. The logical representation of an actual system resource that is used for applying ACLs and POPs and for authorizing user access. See also protected object policy and protected object space. protected object policy (POP). A type of security policy that imposes additional conditions on the operation permitted by the ACL policy to access a protected object. It is the responsibility of the resource manager to enforce the POP conditions. See also ACL policy, authorization rule, protected object, and protected object space. protected object space. The virtual object representation of actual system resources that is used for applying ACLs and POPs and for authorizing user access. See also protected object and protected object policy. proxy server. A server that receives requests intended for another server and that acts on behalf of a client to obtain the requested service. A proxy server is often used when the client and the server are incompatible for direct connection. For example, a client cannot meet the security authentication requirements of the server but must be permitted some services. public key. In computer security, a key that is made available to everyone. Contrast with private key.
Q
quality of protection. The level of data security, determined by a combination of authentication, integrity, and privacy conditions.
R
record. (1) The storage representation of a single row of a table or other data in a database. (2) A group of related data, words, or fields treated as a unit.
Glossary
427
registry. The datastore that contains access and configuration information for users, systems, and software. remote cache mode. An operational mode in which a resource manager uses the functions that are provided by the authorization API to communicate to the remote authorization server. remote log agent. A log agent that sends events to a remote server for recording. See also console log agent, file log agent, and pipe log agent. replica server. A server that contains a copy of the directory or directories of another server. Replicas back up master servers or other replica servers to enhance performance or response times and to ensure data integrity. Contrast with master server. resource. A hardware, software, or data entity that is managed. resource group. A group of resources that can include business objects such as contracts or a set of related commands. In access control policies, resource groups specify the resource to which the policy authorizes access. resource manager. (1) An application, program, or transaction that manages and controls access to shared resources, such as memory buffers and data sets. (2) Any server or application that uses the authorization API to process client requests for access to resources. resource object. The representation of an actual network resource, such as a service, file, and program. response file. An ASCII file that can be customized with the setup and configuration data that automates an installation. The setup and configuration data has to be entered during an interactive installation, but with the response file, the installation can proceed without user interaction. See also silent installation. role. A definition of the access permissions that a user or process has and the specific resources that the user or process can modify at those levels. Users and processes are limited in how they can access resources when that user or process does not have the appropriate role. role activation. The process of applying access permissions to a role. role assignment. The process of assigning a role to a user, such that the user has the appropriate access permissions for the object defined for that role. root container object. The top-level container object in the hierarchy or resource objects. root domain. Name servers that have authoritative control of all the top-level domains.
routing file. An ASCII file that contains commands that control the configuration of messages. routing table. A collection of path information through which hosts or networks can communicate with each other. RSA. A public-key encryption technology that was developed by RSA Data Security, Inc., and used by GSKit. The acronym stands for Rivest, Shamir, and Adleman, the inventors of this encryption technique. RSA encryption. A system for public-key cryptography used for encryption and authentication. The security of the system depends on the difficulty of factoring the product of two large prime numbers. rule. A set of logical statements that enable a server to recognize relationships among events and to perform automated responses accordingly. rules evaluator. The component responsible for evaluating an authorization rule. run time. The time period during which a computer program is running. runtime environment. A subset of an application development kit (ADK) that contains the executable files and other supporting files that comprise the operational environment of the platform.
S
scalability. The ability of hardware, software, or a distributed system to maintain performance levels as it: v Increases in size. v Increases in the number of users who access resources. schema. The set of statements that completely describes the structure of data that is stored in a database, directory, or file. The statements are expressed in a data definition language. Secure Sockets Layer (SSL). A security protocol that provides communication privacy. SSL enables client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, and message forgery. security context. The digitally signed token that: v Identifies a principal. v Lists the roles and access rights for the principal. v Contains information about when the token expires. security management. The software discipline that addresses how an organization can control access to mission critical applications and data.
428
Auditing Guide
security policy. (1) A written document that defines the security controls that you institute for your computer systems. A security policy describes the risks that you intend to minimize and the actions that must be taken if someone breaches your security controls. (2) In Tivoli Access Manager, the combination of ACL policies, authorization rules, and protected object policies attached to objects to make them protected objects. See also ACL policy, authorization rule, and protected object policy. self-registration. The process by which a user can enter required data and become a registered user without the involvement of an administrator. service. Work performed by a server. A service can be a simple request for one of these: v Data to be sent or stored. For example, file servers, HTTP servers, or e-mail servers. v More complex requests. For example, print servers or process servers. See also daemon. session. A series of requests to a server or application that originate from the same user at the same browser. silent installation. An installation that does not send messages to the console but instead stores messages and errors in log files. Also, a silent installation can use response files for data input. See also response file. single sign-on (SSO). The mechanism that allows a user to logon once and access multiple applications through a single authorization challenge. Using SSO, a user does not need to log on to each application separately. See also global sign-on. SSL. See Secure Socket Layer. SSO. See single sign-on. stanza. A group of lines in an ASCII file that together have a common function or define a part of a system. Stanzas are typically separated by blank lines or colons, and each stanza has a name. stash file. The local copy of the master key file that resides in an encrypted format on the local disk. step-up authentication. A protected object policy (POP) that relies on a preconfigured hierarchy of authentication levels. The POP enforces a specific level of authentication according to the policy set on a resource. The step-up authentication POP does not force the user to authenticate using multiple levels of authentication to access any given resource. However, it requires the user to authenticate at a level at least as high as that required by the policy protecting a resource. See also protected object policy. suffix. A distinguished name that identifies the top entry in a locally held directory hierarchy. Because of
the relative naming scheme used in Lightweight Directory Access Protocol (LDAP), this suffix applies to every other entry within that directory hierarchy. A directory server can have multiple suffixes, each identifying a locally held directory hierarchy.
T
ticket. See Kerberos ticket. token. A sequence of bits (symbol of authority) that is passed successively along a transmission medium. The bits are transmitted from one device to another. A token is used to indicate the device that is temporarily in control of the transmission medium. Each device can acquire and use the token to control the medium. trusted root. In the Secure Sockets Layer (SSL), the public key and associated distinguished name of a certificate authority (CA). See also Secure Socket Layer.
U
uniform resource identifier (URI). The character string used to identify an abstract or physical resource on the Internet. A URI typically describes how to access the resource, the computer that contains the resource, and the name of the resource. The most common form of URI is the Web page address, which is a particular subset or URI called uniform resource locator (URL). See also uniform resource locator. uniform resource locator (URL). A character string that represent resources on a computer or in a network, such as the Internet. The URL includes the abbreviated name of the protocol used to access the information resource and the information used by the protocol to locate the resource. URI. See uniform resource identifier. URL. See uniform resource locator. user. Any person, organization, process, device, program, protocol, or system that uses a service provided by others. user registry. See registry.
V
virtual hosting. The capability of a Web server that allows it to appear as more than one host to the Internet.
W
Web Portal Manager (WPM). A Web-based graphical application used to manage Tivoli Access Manager security policy in a secure domain. WPM is an
Glossary
429
alternative to the pdadmin command line interface. The WPM GUI enables remote administrator access and enables administrators to: v Create delegated user domains. v Assign delegate administrators to these domains. Web resource. Any one of the resources that are created during the development of a Web application. For example, Web projects, HTML pages, JSP files, servlets, custom tag libraries, and archive files. WebSEAL. A high performance, multi-threaded Web server that applies a security policy to a protected object space. WebSEAL can provide single sign-on solutions and incorporate back-end Web application server resources into its security policy. Web session. See session.
X
XML. See Extensible Markup Language. XML transform. A standard that uses XSL stylesheets to transform XML documents into other XML documents or fragments or to transform XML documents into HTML documents. XSL. See Extensible Stylesheet Language. XSL stylesheet. Code that describes how an XML document must be rendered (displayed or printed). XSLT. See Extensible Stylesheet Language Transformation.
430
Auditing Guide
Printed in USA
SC23-6511-01