Network Deployment (Distributed operating systems), v8.0 > Scripting the application serving environment (wsadmin) > Scripting for security > Configure security with scripting > Configure security auditing using scripting
Configure audit event factories using scripting
Before enabling security auditing, use this task to configure audit event factories using wsadmin. Security auditing provides tracking and archiving of auditable events.
Before configuring security auditing event factories, enable administrative security in the environment.
In order to enable security auditing in the environment, configure an audit event factory. The audit event factory gathers the data that is associated with security events. The security auditing configuration provides a default event factory. Use this topic to customize the security auditing subsystem by creating additional audit event factories.
Use the following steps to configure the security auditing subsystem using wsadmin:
Procedure
- Launch wsadmin.sh using the Jython scripting language. See the Starting the wsadmin scripting client article for more information.
- Configure event filters. We can use the default event filters or use this step to create additional filters to customize the security auditing configuration.
Event filters in the audit.xml file. The application server provides the following event filters by default in the audit.xml template file:
Event Name Outcome of event SECURITY_AUTHN SUCCESS SECURITY_AUTHN DENIED SECURITY_RESOURCE_ACCESS SUCCESS SECURITY_AUTHN REDIRECT We can configure additional audit event types to track and archive various events. Use the following command to list all supported auditable events:
print AdminTask.getSupportedAuditEvents()Use the createAuditFilter command with the -eventType and -outcome parameters to enable one or multiple audit events and outcomes. We can specify multiple event types and multiple outcomes separated by a comma with one command invocation. The following list describes each valid auditable event that you can specify with the -eventType parameter:
Event types. Valid auditable events can be specified as an enabled event type when creating an event filter:
Event name Description SECURITY_AUTHN Audits all authentication events SECURITY_AUTHN_MAPPING Audits events that record mapping of credentials where two user identities are involved SECURITY_AUTHN_TERMINATE Audits authentication termination events such as a timeout, terminated session, or user-initiated logging out SECURITY_AUTHZ Audits events related to authorization checks when the system enforces access control policies SECURITY_RUNTIME Audits runtime events such as the starting and the stopping of security servers. This event type is not meant for administrative operations performed by a system administrator as such operations need to use the other SECURITY_MGMT_* event types. SECURITY_MGMT_AUDIT Audits events that record operations related to the audit subsystem such as starting audit, stopping audit, turning audit on or off, changing configuration of audit filters or level, archiving audit data, purging audit data, and so on. SECURITY_RESOURCE_ACCESS Audits events that record all accesses to a resource. Examples are all accesses to a file, all HTTP requests and responses to a given web page, and all accesses to a critical database table SECURITY_SIGNING Audits events that record signing such as signing operations used to validate parts of a SOAP Message for web services SECURITY_ENCRYPTION Audits events that record encryption information such as encryption for web services SECURITY_AUTHN_DELEGATION Audits events that record delegation, including identity assertion, RunAs, and low assertion. Used when the client identity is propagated or when delegation involves the use of a special identity. This event type is also used when switching user identities within a given session. SECURITY_AUTHN_CREDS_MODIFY Audits events to modify credentials for a given user identity The following security audit event types are not used in this release of WAS:
- SECURITY_MGMT_KEY
- SECURITY_RUNTIME_KEY
- SECURITY_MGMT_PROVISIONING
- SECURITY_MGMT_REGISTRY
- SECURITY_RUNTIME
For each audit event type, specify an outcome. Valid outcomes include SUCCESS, FAILURE, REDIRECT, ERROR, DENIED, WARNING, and INFO. The following command example creates an audit filter to log users who receive an error when modifying credentials:
AdminTask.createAuditFilter('-name uniqueFilterName -eventType SECURITY_AUTHN_CREDS_MODIFY,SECURITY_AUTHN_DELEGATION -outcome ERROR,REDIRECT')
- Create an audit event factory. We can use the default audit event factory or use this step to create a new audit event factory.
Use the createAuditEventFactory command to create an audit event factory in the security configuration. We can use the default implementation of the audit event factory or use a third-party implementation. To configure a third-party implementation, use the optional -customProperties parameter to specify any properties necessary to configure the audit event factory implementation.
Required parameters. Specify the following required parameters with the createAuditEventFactory to configure your audit event factory:Parameter Description Data type Required -uniqueName Unique name that identifies the audit event factory. String Yes -className Class implementation of the audit event factory interface. String Yes -auditFilters Specifies a reference or a group of references to predefined audit filters, using the following format: "reference, reference, reference" String Yes -provider Specifies a reference to a predefined audit service provider implementation. String Yes -customProperties Specifies a comma (,) separated list of custom property pairs to add to the security object in the following format: attribute=value,attribute=value String No The following sample command creates an enables an audit event factory:
AdminTask.createAuditEventFactory('-uniqueName eventFactory1 -className com.ibm.ws.security.audit.AuditEventFactoryImpl -auditFilters "AuditSpecification_1173199825608, AuditSpecification_1173199825609, AuditSpecification_1173199825610, AuditSpecification_1173199825611" -provider newASP')
- Save the configuration changes.
Save the configuration changes:
AdminConfig.save()
What to do next
Configure the audit service provider.
Configure auditable events using scripting
Configure audit service providers using scripting
Configure security auditing using scripting
Enable security auditing using scripting
Encrypting security audit data using scripting
Signing security audit data using scripting
Configure security audit notifications using scripting
Start the wsadmin scripting client using wsadmin.sh
Related
AuditKeyStoreCommands command group
AuditEmitterCommands
AuditSigningCommands command group
AuditEncryptionCommands command group
AuditEventFactoryCommands
AuditFilterCommands command group
AuditNotificationCommands command group
AuditPolicyCommands command group
AuditEventFormatterCommands command group