product readiness 10.1a fcs training - · pdf fileauditing in openedge® product readiness...

95
Joe Genovese Auditing in OpenEdge ® Product Readiness 10.1A FCS Training Direct End-User Pre-Sales March 2008

Upload: dangdang

Post on 12-Feb-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

Joe Genovese

Auditing in OpenEdge®

Product Readiness 10.1A FCS Training

Direct End-User Pre-Sales March 2008

Page 2: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation2Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Agenda

OverviewGetting startedAudit Policy MaintenanceAuthenticationDatabase EventsApplication EventsInternal Events

Page 3: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation3Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Provide an auditing framework that can supply an uninterrupted trail of an application client’s access to its operations and data.

Mission Statement:

Auditing Overview

Page 4: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation4Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Auditing

Regulatory compliance• Sarbanes-Oxley Act, CFR Part 11, HIPAA,

European Union’s Annex 11, European Union Data Protection Directive, etc

Non-repudiation of Audit dataConsistency• 4GL, SQL, database utilities

Immediacy of Audit data

Driving factors

Page 5: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation5Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Auditing

Provide an audit trail of• Application operations• Context• Data

Performance, scalability, storage sizeSecure, tamper-resistantGeneral purpose audit logging• Code coverage, debugging / tracing, event

analysis

Key features

Page 6: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation6Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Auditing Capabilities

Database Auditing• Record level events

– Create, update, delete (CUD) operationsApplication Auditing• Contextual, event groups, operations

Internal auditing• Tools, utilities, connections, schema changes

Page 7: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation7Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Authentication

Audit trails can tell you who did what, when, where and howMust reflect the verifiable identity of the real application userMust be complete, accurate and non-refutable• Prove audit policy and data has not been

tampered with

Secure Auditing is key to compliance

Page 8: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation8Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Security of Audit Data

Separation of duty• Audit administrator• Application audit event inserter• Audit data archiver• Audit data reporter

No updates to audit data – EVER!No deletion of defined eventsAudit data is sealed to prevent tampering• Within and outside of the database

Page 9: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation9Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Auditing

Common built-in auditing for both SQL/4GL clientsFlexible audit policy managementSecure audit data, policy and utilities• Separation of duty• Purposed audit permissions• Verified user identity• Secure utilities and sealed data

Internal audit events (utilities, schema changes, etc.)Performance, performance, performanceHigh performance archivingMulti-database, multi-platform, multi-application

Why use it in place of your own solution?

Page 10: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation10Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Agenda

OverviewGetting startedAudit Policy MaintenanceAuthenticationDatabase EventsApplication EventsInternal Events

Page 11: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation11Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Before You Start

Consider your reporting needs• Database operations• Application operations

How much information to record• Table and field level• Contextual information

Which fields constitute unique identifierWhat changes cause event to be recorded

Decide what to audit

Page 12: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation12Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Auditing - Getting Started

Disabled by defaultUpgrade client & database to 10.1ACreate storage area(s) for audit data• Must be Type II storage area

Enable auditingProutil dbname –C enableauditing area Data_Area [indexareaIndex_Area] [deactivateidx]

Enabling auditing

Page 13: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation13Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Defining Auditing Storage Areas

d "Audit_Data":20,32;512 . f 40960d "Audit_Data":20,32;512 . #d "Audit_Index":21,1;64 . f 5120d "Audit_Index":21,1;64 .

Example structure file

Prostrct add dbname <structurefile.st>

Page 14: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation14Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Auditing - Getting Started

Connect to database as the DBASet up database security key via Data Administration toolEdit audit permissions for users• Not tied to _User

Optionally load / enable shipped policiesCreate your own events and policies

Policies

Page 15: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation15Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Create Audit Users

Separation of Duty

User Description

Audit Administrator Manage audit policiesGrant auditing privileges

Audit Event Inserter Can generate application audit events

Audit Data Archiver Can archive & load audit data

Audit Data Reporter Query and report on audit data

Page 16: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation16Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Manage Audit Permissions

Admin -> Security -> Edit Audit Permissions…

Page 17: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation17Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Auditing – Getting Started

Disabling auditing

Does not remove anything• Policies, data, schema all remain

Must be audit admin to disable• Event is audited

Proutil dbname –C disableauditing

Disabling auditing

Page 18: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation18Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Getting Started – Lab 1.

Page 19: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation19Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Agenda

OverviewGetting startedAudit Policy MaintenanceAuthenticationDatabase EventsApplication EventsInternal Events

Page 20: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation20Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Audit Policies

An Audit Policy is• A named collection of audit configuration

settings• Required for all audit operations

– Database, application and internal• Applied at run time

Multiple audit policies are supportedActivate/deactivate required policiesManage event records

Definition

Page 21: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation21Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

includes

includes

includes

record reads onrecord deletes on

record updates onrecord creates on

is controlled by

_aud-audit-policy_Audit-policy-guid

_Audit-policy-name (AK1.1)_Audit-policy-description (IE1.1)_Audit-data-security-level_Audit-custom-detail-level_Audit-policy-active (IE2.1)

_aud-file-policy_Audit-policy-guid (FK)_File-Name (IE1.1)_Owner (IE1.2)

_Audit-create-level_Audit-create-criteria_Audit-update-level_Audit-update-criteria_Audit-delete-level_Audit-delete-criteria_Audit-read-level_Audit-read-criteria_Create-event-id (FK) (IE2.1)_Update-event-id (FK) (IE3.1)_Delete-event-id (FK) (IE4.1)_Read-event-id (FK) (IE5.1)

_aud-field-policy_Audit-policy-guid (FK)_File-Name (FK) (IE1.1)_Owner (FK) (IE1.2)_Field-Name (IE1.3)

_Audit-create-level_Audit-update-level_Audit-delete-level_Audit-read-level_Audit-identifying-field

_aud-event-policy_Audit-policy-guid (FK)_Event-id (FK) (IE1.1)

_Event-level_Event-criteria

_aud-event_Event-id

_Event-type (IE1.1)_Event-name (IE1.2)_Event-description (IE2.1)

Audit Policy MetaSchema

AuditPolicy

FilePolicy Field

Policy

EventPolicy

AuditEvent

Page 22: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation22Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

includes

includes

includes

record reads onrecord deletes on

record updates onrecord creates on

is controlled by

_aud-audit-policy_Audit-policy-guid

_Audit-policy-name (AK1.1)_Audit-policy-description (IE1.1)_Audit-data-security-level_Audit-custom-detail-level_Audit-policy-active (IE2.1)

_aud-file-policy_Audit-policy-guid (FK)_File-Name (IE1.1)_Owner (IE1.2)

_Audit-create-level_Audit-create-criteria_Audit-update-level_Audit-update-criteria_Audit-delete-level_Audit-delete-criteria_Audit-read-level_Audit-read-criteria_Create-event-id (FK) (IE2.1)_Update-event-id (FK) (IE3.1)_Delete-event-id (FK) (IE4.1)_Read-event-id (FK) (IE5.1)

_aud-field-policy_Audit-policy-guid (FK)_File-Name (FK) (IE1.1)_Owner (FK) (IE1.2)_Field-Name (IE1.3)

_Audit-create-level_Audit-update-level_Audit-delete-level_Audit-read-level_Audit-identifying-field

_aud-event-policy_Audit-policy-guid (FK)_Event-id (FK) (IE1.1)

_Event-level_Event-criteria

_aud-event_Event-id

_Event-type (IE1.1)_Event-name (IE1.2)_Event-description (IE2.1)

Multiple active policies

Audit Policy MetaSchema

FilePolicy Field

Policy

EventPolicy

AuditEvent

Page 23: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation23Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

includes

includes

includes

record reads onrecord deletes on

record updates onrecord creates on

is controlled by

_aud-audit-policy_Audit-policy-guid

_Audit-policy-name (AK1.1)_Audit-policy-description (IE1.1)_Audit-data-security-level_Audit-custom-detail-level_Audit-policy-active (IE2.1)

_aud-file-policy_Audit-policy-guid (FK)_File-Name (IE1.1)_Owner (IE1.2)

_Audit-create-level_Audit-create-criteria_Audit-update-level_Audit-update-criteria_Audit-delete-level_Audit-delete-criteria_Audit-read-level_Audit-read-criteria_Create-event-id (FK) (IE2.1)_Update-event-id (FK) (IE3.1)_Delete-event-id (FK) (IE4.1)_Read-event-id (FK) (IE5.1)

_aud-field-policy_Audit-policy-guid (FK)_File-Name (FK) (IE1.1)_Owner (FK) (IE1.2)_Field-Name (IE1.3)

_Audit-create-level_Audit-update-level_Audit-delete-level_Audit-read-level_Audit-identifying-field

_aud-event-policy_Audit-policy-guid (FK)_Event-id (FK) (IE1.1)

_Event-level_Event-criteria

_aud-event_Event-id

_Event-type (IE1.1)_Event-name (IE1.2)_Event-description (IE2.1)

Multiple active policies

Control by table / CUD operation

Audit Policy MetaSchema

FieldPolicy

EventPolicy

AuditEvent

Page 24: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation24Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

includes

includes

includes

record reads onrecord deletes on

record updates onrecord creates on

is controlled by

_aud-audit-policy_Audit-policy-guid

_Audit-policy-name (AK1.1)_Audit-policy-description (IE1.1)_Audit-data-security-level_Audit-custom-detail-level_Audit-policy-active (IE2.1)

_aud-file-policy_Audit-policy-guid (FK)_File-Name (IE1.1)_Owner (IE1.2)

_Audit-create-level_Audit-create-criteria_Audit-update-level_Audit-update-criteria_Audit-delete-level_Audit-delete-criteria_Audit-read-level_Audit-read-criteria_Create-event-id (FK) (IE2.1)_Update-event-id (FK) (IE3.1)_Delete-event-id (FK) (IE4.1)_Read-event-id (FK) (IE5.1)

_aud-field-policy_Audit-policy-guid (FK)_File-Name (FK) (IE1.1)_Owner (FK) (IE1.2)_Field-Name (IE1.3)

_Audit-create-level_Audit-update-level_Audit-delete-level_Audit-read-level_Audit-identifying-field

_aud-event-policy_Audit-policy-guid (FK)_Event-id (FK) (IE1.1)

_Event-level_Event-criteria

_aud-event_Event-id

_Event-type (IE1.1)_Event-name (IE1.2)_Event-description (IE2.1)

Multiple active policies

Control by table / CUD operation

Audit Policy MetaSchema

Override individual fields

EventPolicy

AuditEvent

Page 25: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation25Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

includes

includes

includes

record reads onrecord deletes on

record updates onrecord creates on

is controlled by

_aud-audit-policy_Audit-policy-guid

_Audit-policy-name (AK1.1)_Audit-policy-description (IE1.1)_Audit-data-security-level_Audit-custom-detail-level_Audit-policy-active (IE2.1)

_aud-file-policy_Audit-policy-guid (FK)_File-Name (IE1.1)_Owner (IE1.2)

_Audit-create-level_Audit-create-criteria_Audit-update-level_Audit-update-criteria_Audit-delete-level_Audit-delete-criteria_Audit-read-level_Audit-read-criteria_Create-event-id (FK) (IE2.1)_Update-event-id (FK) (IE3.1)_Delete-event-id (FK) (IE4.1)_Read-event-id (FK) (IE5.1)

_aud-field-policy_Audit-policy-guid (FK)_File-Name (FK) (IE1.1)_Owner (FK) (IE1.2)_Field-Name (IE1.3)

_Audit-create-level_Audit-update-level_Audit-delete-level_Audit-read-level_Audit-identifying-field

_aud-event-policy_Audit-policy-guid (FK)_Event-id (FK) (IE1.1)

_Event-level_Event-criteria

_aud-event_Event-id

_Event-type (IE1.1)_Event-name (IE1.2)_Event-description (IE2.1)

Multiple active policies

Control by table / CUD operation

Audit Policy MetaSchema

Override individual fieldsAudit events

EventPolicy

Page 26: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation26Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

includes

includes

includes

record reads onrecord deletes on

record updates onrecord creates on

is controlled by

_aud-audit-policy_Audit-policy-guid

_Audit-policy-name (AK1.1)_Audit-policy-description (IE1.1)_Audit-data-security-level_Audit-custom-detail-level_Audit-policy-active (IE2.1)

_aud-file-policy_Audit-policy-guid (FK)_File-Name (IE1.1)_Owner (IE1.2)

_Audit-create-level_Audit-create-criteria_Audit-update-level_Audit-update-criteria_Audit-delete-level_Audit-delete-criteria_Audit-read-level_Audit-read-criteria_Create-event-id (FK) (IE2.1)_Update-event-id (FK) (IE3.1)_Delete-event-id (FK) (IE4.1)_Read-event-id (FK) (IE5.1)

_aud-field-policy_Audit-policy-guid (FK)_File-Name (FK) (IE1.1)_Owner (FK) (IE1.2)_Field-Name (IE1.3)

_Audit-create-level_Audit-update-level_Audit-delete-level_Audit-read-level_Audit-identifying-field

_aud-event-policy_Audit-policy-guid (FK)_Event-id (FK) (IE1.1)

_Event-level_Event-criteria

_aud-event_Event-id

_Event-type (IE1.1)_Event-name (IE1.2)_Event-description (IE2.1)

Multiple active policies

Control by table / CUD operation

Audit Policy MetaSchema

Override individual fields

Control by event Id

Audit events

Page 27: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation27Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Audit Policy Maintenance

Provides basic functionalityA starting point to build your own• Source code is provided • Re-write as required• APIs provided

Not translated Located in “DLC/auditing” directoryIndependent of other OpenEdge tools

Primarily a developers tool

Page 28: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation28Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Audit Policy Maintenance

Connected Databases

Audit Policy Browse

Single Toolbar

Policy Tabs

Page 29: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation29Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Audit Policy Maintenance - Policy Tab

Create, update, delete policy

Audit Policy Name

Description

Data Security Level

Custom Level

Activate / deactivate

Page 30: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation30Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Audit Policy Maintenance - Audit Tables Tab

View, configure auditing for tables

Table to audit

SQL owner

CUD audit levelsAudit Level

Event IDs Streaming settings

Page 31: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation31Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Audit Policy Maintenance - Audit Fields Tab

Table to audit

Field to audit

CUD audit levelsIdentifying field

Field level auditing – overrides table settings

Streaming values

Page 32: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation32Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Audit Policy Maintenance - Audit Events

Event level auditing

Event ID

Event name

Event Level

Criteria – futures

Page 33: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation33Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Audit Policy Maintenance Events MaintenanceFile -> Events Maintenance…

Cannot be deletedCan be renamedCopy allowedChanges committed on SaveCannot edit events below 32000

Page 34: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation34Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Audit Policy Maintenance

Import / export policies• As XML or dump files

Import / export events• User defined events

Also available from Data Admin tool• Supports multi-selection

Use Audit Policy Maintenance API’s to automate

Additional features

Page 35: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation35Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Conflict Reporting

Policy -> Report Conflicts

Page 36: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation36Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Report Effective Settings

Policy -> Report Effective Settings

Page 37: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation37Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Policy Updates At Runtime

Audit policies are cached in memoryUpdates cause a rebuild• Database is stalled until rebuild complete

Page 38: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation38Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Audit Policy Maintenance – Demo. Lab 2.

Page 39: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation39Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Agenda

OverviewGetting startedAudit Policy MaintenanceAuthenticationDatabase EventsApplication EventsInternal Events

Page 40: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation40Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

The OpenEdge User Identity Challenge

_User table is the only trusted user-id sourceAlmost no 4GL applications use the _User table• No way for 4GL application to tell OpenEdge

that it is a trusted authentication source• No way for OpenEdge to validate that a user-

id came from a trusted 4GL application source Solution: allow a 4GL application to become a trusted source of user authentication

Prior to 10.1A

Page 41: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation41Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

10.1A - What Has Not Changed…

Can still connect to OpenEdge database using –U –P• OpenEdge will require the _User table **

SETUSERID() **• Authenticate and set the user-id for a

database connectionOpenEdge SQL requires using the _User table

** Audited by OpenEdge auditing service

Page 42: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation42Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

ProcessControl

Authentication and Authorization Process

Principal

AuthenticationSystem

UserAccounts

Authenticate

AuthenticationSystem

UserAccounts

AuthenticationSystem

User Accounts

Account Check

Get Account Data

Application ResourcesAccessControl

Data

AuthorizationManager

LoginCredentials

AppServer Agent

Client

AuthenticationManager

Page 43: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation43Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

The Principal

CLIENT-PRINCIPALDomain: LDAPState: LoginUser-ID: JayneLogin-token: BW3G1&2G1836D872Login-date: 3/12/05 08:15:33.12Login-expires: 3/12/05 19:30.00.00Roles: AccountantApp-data: Company=Acme

...Seal: AC63Galx98wBwuuw2

AuthenticationSystem Data

User Account Information

User Account Restrictions

Application Defined Data

Data Integrity Seal

Login-SessionID

Page 44: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation44Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

New OpenEdge 10.1A Features

4GL-session can have a default user-idCLIENT-PRINCIPAL 4GL objectSecure client identity validation and auditing optionsTrusted Authentication Registry 4GL Language extensionsAUDIT-CONTROL 4GL session handleAUDIT-POLICY 4GL session handle

Page 45: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation45Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

4GL CLIENT-PRINCIPAL Object

Created and managed by 4GL application• After user account has been authenticated

Represents a single user login sessionCan be shared for single sign-on purposes• Between application servers• Between application server agents• Transport cross-platform binary value

Set the current user-id for• The 4GL application [ & all database connections]• Individual OpenEdge database connection

Automatically audits login-logout operationsCLIENT-PRINCIPAL’s user-id can be used for run-time permission checking

Page 46: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation46Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Trusted Authentication System Registry

Used to validate CLIENT-PRINCIPAL object• Originating from trusted 4GL user authentication module• Checks integrity of user identity data• Validation uses symmetric key cryptography and HMAC

technologiesContents loaded from• Application code using SECURITY-POLICY object• OpenEdge database tables

– _sec-authentication-system– _sec-authentication-domain

Page 47: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation47Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

User Identity Configuration Options

Stored in _db-option table Used by 10.1A+ 4GL OpenEdge clientsManaged via Data Administration tool

Database options

Page 48: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation48Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

4GL Language Extensions

SECURITY-POLICY object extensions• SET-CLIENT (hClientPrincipal).• LOAD-DOMAINS (dbAlias).• REGISTER-DOMAIN (“domain-name”, … ).

– LOCK-REGISTRATION ().

Page 49: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation49Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Auditing User-id Strategies

Custom application design & implementationOpenEdge auditing service• Use SETUSERID() to built-in _User table

No changes needed if already in useCan use AUDIT-CONTROL objectNo extra configuration and deployment setupNo user login-logout or session informationReplicate _User table for multiple databases

• Use 10.1A CLIENT-PRINCIPAL identity extensionsUse existing 4GL authentication modulesUser login-logout and session informationSingle sign-on between 4GL productsRequires code additionsExtra configuration and deployment setup

Page 50: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation50Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

User Identity Strategies

Define and deploy application supported user authentication system types and domains• _sec-authentication-system table

Ex: 4GL procedure, LDAP, Kerberos, …• _sec-authentication-domain table

Ex: Built-in, Default-LDAP, Default-Kerberos, …Configure/enable domains at production site Define and deploy user identity and validation options • Data Administration

Steps

Page 51: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation51Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Load / Register Domains

FOR EACH trusted-reg NO-LOCK:SECURITY-POLICY:REGISTER-DOMAIN(trusted-reg.cDomainName, trusted-reg.cDomainKey, trusted-reg.cDomainDescr,trusted-reg.cDomainType).

END.SECURITY-POLICY:LOCK-REGISTRATION.

LOAD-DOMAINS (“Sports2000”).

Example

Page 52: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation52Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Creating a CLIENT-PRINCIPAL Object

CREATE CLIENT-PRINCIPAL hCp.hCp:USER-ID = cUserId.hCp:DOMAIN-NAME = cDomainName.IF (SESSION:REMOTE) THEN DO:

IF (SESSION:SERVER-OPERATING-MODE = "State-free") THEN DO:cSessionID = BASE64-ENCODE(GENERATE-UUID).hCp:SESSION-ID = SUBSTRING(cSessionID, 1, 22).

END. ELSE DO:hCp:SESSION-ID = SESSION:SERVER-CONNECTION-ID.

END.END. ELSE DO:

cSessionID = BASE64-ENCODE(GENERATE-UUID).hCp:SESSION-ID = SUBSTRING(cSessionID, 1, 22).

END.END.hCp:AUDIT-EVENT-CONTEXT = cUserId + “@” + cDomainName.hCp:CLIENT-TTY = SESSION:CLIENT-TYPE + "." +

SESSION:DISPLAY-TYPE.

Insert user & domain

Insert login session ID

Insert Audit-Event context

Insert optional information

Page 53: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation53Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Successful user authentication

Unsuccessful user authentication

Ending the user’s login session

Validating the CLIENT-PRINCIPAL

Managing a CLIENT-PRINCIPAL Object

lRetValue = p_hCP:VALIDATE-SEAL (“Gy23800xxYzthslie4yyslzekeylqql”).

m_hCP:AUTHENTICATION-FAILED(“User account not found”).

m_hCP:LOGOUT.DELETE OBJECT m_hCP.

lRetValue = p_hCP:SEAL(“Gy23800xxYzthslie4yyslzekeylqql”).

Page 54: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation54Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Moving the CLIENT-PRINCIPAL

Exporting for storage or transport

m_hCP:IMPORT-PRINCIPAL(UsrCtxDB.rawClientPrincipal).

UsrCtxDB.rawClientPrincipal = m_hCP:EXPORT-PRINCIPAL.

Importing from storage or transport

Import and Export

Page 55: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation55Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

ContextData

AppServer Client

Client

Process

Login Credentials Create CLIENT-PRINCIPAL

EXPORT

Context-id

Context-idRetrieve

CLIENT-PRINCIPAL IMPORT

ContextSub-system

Set User identity

Logout requestContext-id

Retrieve CLIENT-PRINCIPAL

hCp:LOGOUTIMPORT

AppServer shutdown Purge

AppServer Identity Management Tasks

Page 56: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation56Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Authentication – Demo. Lab3

Page 57: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation57Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Agenda

OverviewGetting startedAudit Policy MaintenanceAuthenticationDatabase EventsApplication EventsInternal Events

Page 58: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation58Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Database events

Record level events• Create• Update• Delete

Controlled through file / field policyOld/New values• Stored as character• American format dates and numeric values

What gets Audited?

Page 59: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation59Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Audit Data Schema

is the group for

supplies context to

consists of

has

created

resulted in

has

_aud-audit-data_Audit-data-guid

_Database-connection-id (IE1.1)_Client-session-uuid (FK) (IE1.2)_User-id (IE2.1)_Audit-date-time (IE5.1)_Audit-event-group (FK) (IE3.1)_Db-guid (FK) (IE3.2)_Transaction-id (IE3.3)_Transaction-sequence (IE3.4)_Event-id (FK) (IE4.1)_Event-context (IE6.1)_Application-context-id (FK) (IE7.1)_Event-detail_Audit-custom-detail_Audit-data-security-level_Data-seal

_aud-audit-data-value_Audit-data-guid (FK)_Field-name (IE1.1)_Continuation-sequence

_Data-type-code_Old-string-value_New-string-value_Old-blob-value_New-blob-value_Old-clob-value_New-clob-value_Audit-data-security-level_Data-seal

_aud-event_Event-id

_Event-type (IE1.1)_Event-name (IE1.2)_Event-description (IE2.1)

_client-session_Client-session-uuid

_Client-name_User-id (IE1.1)_Authentication-date-time (IE2.1)_Server-uuid_Authentication-domain-type_Authentication-domain-name_Db-guid (FK) (IE3.1)_Session-custom-detail_Audit-data-security-level_Data-seal

_db-detail_Db-guid

_Db-description_Db-mac-key_Db-custom-detail

consists of

Record client session information

Configurable automated audit data with optional

context & grouping

Optional old/new value recording

Standard database tables

for simplified querying

Page 60: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation60Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Overridden Audit Fields

File level policy is the default for fields• Set according to majority of fields

Individual fields may be overriddenWhen explicitly auditing fields• Consider schema changes

Page 61: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation61Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Field Value Recording

One record per field• Easy to report on individual field changes• Resource intensive

Streamed• Pack as many field values into a single audit

record• Reduced number of database writes

Performance vs. field reporting

Page 62: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation62Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Streamed Field Values

Values stored in _aud-audit-data• _Event-detail field

Character format

• chr(8) delimits array elementsMust be enough space for field value• Otherwise written to _aud-audit-data-value

Order of fields is arbitrary

field-name + chr(6) + data-type + chr(6) + [old-value] + chr(6) + new-value + chr(7)[…]

Page 63: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation63Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Reporting on Streamed Field Values

Unlikely to be able to use SQL reports• Unless specifically coded for OpenEdge

auditing records4GL reports must deal with streamed data• Arbitrary order

Use a ProDataSet for queries and parse streamed field values

Page 64: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation64Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Streamed Values

Store large CHARACTER and RAW fields individually• Maximizes smaller fields being compressed

Reporting requirements• Individual fields

Consider

Page 65: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation65Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Old/New Field Values

No old/new value support in 10.1A for LOBsThere may be continuation records• Where _continuation-sequence > 0

Arrays• Changed elements saved in same field• Each element is identified by “E[n]:”• Separator is chr(7)

chr(7)E[8]:AugustE[11]:November

Page 66: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation66Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Identifying Fields

Primary way of locating application audit data for specific record level events• E.g. for Customer number 10

Default is primary indexAvoid changing format over time• Makes it difficult to find records

Stored in _aud-audit-data._event-contextFormat is

Event context field _aud-audit-data._event-context

<owner>.<table>chr(6)<id-fld-val>[chr(7)<id-fld-val>.. ]

Page 67: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation67Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Agenda

OverviewGetting startedAudit Policy MaintenanceAuthenticationDatabase EventsApplication EventsInternal Events

Page 68: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation68Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Application Defined Events

Events with no corresponding database operationContext describes why the data was audited• Gives meaning to record level auditing• Event ID >= 32000

Fully control granularity and detail• Example: 1 audit record for dispatch of an

order Group into ranges to simplify reporting

Page 69: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation69Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Application Context

Provides contextual information• When, where and why of changes

Types of contextual information• Database transactions and sequence• Client login sessions• Application Context• Application Event Groups (AEG)

Page 70: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation70Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Types of Scope and Auditing Context

Audit-event-record

Audit-event-record

Audit-event-record

Audit-event-record

Audit-event-record

Audit-event-record

Audit-event-record

Audit-event-record

Audit-event-record

Audit-event-record

Database

Transaction

Audit

Event

Group

Application

Context

Client

Login

Session

Page 71: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation71Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Log an Audit Event

Creates an application defined event• In all audit-enabled databases with the event

enabledA supporting active policy must existCan write directly to the long-term storageCan be used for read auditing

AUDIT-CONTROL:LOG-AUDIT-EVENT method

Page 72: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation72Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Log Audit Event - Example

…Ctx-id = AUDIT-CONTROL:LOG-AUDIT-EVENT

(32530, "Starting Procedure: " + PROGRAM-NAME(1), cDetail, cUserData).

…/* READ auditing */Ctx-id = AUDIT-CONTROL:LOG-AUDIT-EVENT

(32003, "Customer Enquiry",{&FIELDS-IN-FRAME-{&FRAME-NAME}}).

Page 73: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation73Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Set Application Context

Sets application context• Sent to all audit-enabled databases

UUID used as context ID• Recorded with all subsequent audit events

– _aud-audit-data. _application-context-idEvent context cannot be unknown valueApplication context does not support nesting

AUDIT-CONTROL:SET-APPL-CONTEXT method

Page 74: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation74Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Clearing Application Context

Clears an application context event-id• For all audit enabled databases• No context-id written in subsequent records

No audit event generated

AUDIT-CONTROL:CLEAR-APPL-CONTEXT

Page 75: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation75Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Application Context - Example

DEF VAR ctx-id as CHAR.

…ctx-id = AUDIT-CONTROL:SET-APPL-CONTEXT

(PROGRAM-NAME(1) + " Context", "Start Customer Enquiry Context").

AUDIT-CONTROL:CLEAR-APPL-CONTEXT.

Page 76: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation76Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Reporting on Event Context

Application context record (parent)• Event ID = 31998• Unique guid in _Audit-data-guid

Audit data records within context• Secondary read required• _Application-context-id = guid of parent

Recursive join on _aud-audit-data

AUDIT-CONTROL:SET-APPL-CONTEXT

Page 77: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation77Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Audit Event Groups

Indicates beginning of a sequence of ‘batched’ operations• Sent to all audit-enabled databases • Can group multi-database transaction events

UUID used as context ID• Recorded with all subsequent audit events

– _aud-audit-data. _audit-event-groupCannot be nestedEvent context argument cannot be unknown value

AUDIT-CONTROL:BEGIN-EVENT-GROUP method

Page 78: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation78Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

End The Event Group

Ends an application event group• Sent to all audit-enabled databases

Does not generate an event

AUDIT-CONTROL:END-EVENT-GROUP method

Ctx-id = AUDIT-CONTROL:BEGIN-EVENT-GROUP("Save Order Details-EVENT GROUP", "Data-set SAVE-ROW-CHANGES", cUserData).…AUDIT-CONTROL:END-EVENT-GROUP.

Page 79: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation79Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Reporting on Event Groups

Event group record (parent)• Event ID = 31999• Unique guid in _Audit-data-guid

Audit data records within context• Secondary read required• _Audit-event-group = guid of parent

Recursive join on _aud-audit-data

AUDIT-CONTROL:BEGIN-EVENT-GROUP

Page 80: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation80Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

OpenEdge SQL Application Auditing

Log audit events

Set context and begin groups

AUDIT INSERT ( event_id, [ event_context | NULL ], [ event_detail | NULL ]);

AUDIT SET APPLICATION_CONTEXT | EVENT_GROUP[ Context | NULL ];

Page 81: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation81Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

AUDIT-CONTROL System Handle

APPL-CONTEXT-ID• Returns UUID of current context

EVENT-GROUP-ID• Returns UUID of current event group

Attributes

Ctx-id = AUDIT-CONTROL:APPL-CONTEXT-ID.

Grp-id = AUDIT-CONTROL:EVENT-GROUP-ID.

Page 82: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation82Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Functions – AUDIT-ENABLED

Queries audit-enabled status

• Returns YES if any connected db is audit enabled

• Returns YES if logical-dbname is audit enabled

logEnabled = AUDIT-ENABLED.

logEnabled = AUDIT-ENABLED (logical-dbname).

Page 83: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation83Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Functions – GENERATE-UUID

Generates a Universal Unique Identifier

DEFINE VARIABLE rawUUID AS RAW NO-UNDO.DEFINE VARIABLE cBase64UUID AS CHAR NO-UNDO.

DO WHILE TRUE:ASSIGN rawUUID = GENERATE-UUID

cBase64UUID = BASE64-ENCODE(rawUUID).DISPLAY cBase64UUID.

END.

Page 84: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation84Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Functions - GUID

Formats a 16byte raw UUID• XXXXXXXX—XXXX—XXXX—XXXX—XXXXXXXXXXXX

DEFINE VARIABLE MyUUID AS RAW NO-UNDO.DEFINE VARIABLE vGUID AS CHARACTER NO-UNDO.DEFINE VARIABLE vGUID2 AS CHARACTER NO-UNDO.

ASSIGN MyUUID = GENERATE-UUIDvGUID = GUID (MyUUID)vGUID2 = GUID. /* Calls GENERATE-UUID */

Page 85: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation85Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Application Events and Context – Demo. Lab4

Page 86: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation86Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Agenda

OverviewGetting startedAudit Policy MaintenanceAuthenticationDatabase EventsApplication EventsInternal Events

Page 87: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation87Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

What gets Audited?

Authentication (login)Database connectionsSchema changesAudit policy administrationSecurity administrationDatabase utilitiesAudit archiving

Internal events

Page 88: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation88Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

What is NOT Audited?

Non record based utilities• Prolog, prostrct, …

Probkup, prorest, procopyProutil• Idxcheck, idxfix, index deactivate

Database utilities

Page 89: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation89Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Audit Archival Utility

Internal events

Audit Archiver

Audit Archive

DB

Short Term StoragePurposed,

Long Term Storage

ApplicationDB

_proutil dbname –C auditarchive _proutil dbname –C auditload

Audit Data

.abd fileReporting

AuditArchive

Audit ArchiveLoader

Page 90: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation90Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Audit Data Archival Utility

Must have Audit Archive privilege to run May be scheduled, e.g. CRONFast binary dump / load using .abd fileOptional delete of source audit data on dumpSupports• Multiple simultaneous invocation online• Online operation

Is an auditable event

Archiving audit data

Page 91: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation91Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Audit Data Archival Utility

Date range format• “MM-DD-YYYY HH:MM:SS.SSS+HH:MM”• Must be quoted

Records deleted num-recs at a time

_proutil <dbname> -C auditarchive[date-range [date-range2]] [-recs num-recs][–nodelete] [-directory directory | /dev/null ][-userid userid –password password][-checkseal]

Audit Archive - command line syntax

Page 92: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation92Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Archive Load Operation

_proutil <dbname> -C auditloadaudit-archive-file-name [-recs num-recs][-userid userid –password password][-checkseal]

Records loaded num-recs at a timeDuplicates are ignored

Loading audit data - command line syntax

Page 93: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation93Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Auditing - Summary

10.1A provides uninterrupted trail of audit events• Database, application, internal

Secure, tamper resistant audit data and policiesFlexible and scalableBuilt-in auditing for 4GL and SQL clientsHigh performance

Page 94: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation94Product Readiness 10.1A FCS Training - INTERNAL USE ONLY

Documentation and Education

OpenEdge Getting Started: Core Business ServicesWebpapersEducationWhat’s New 10.1 – Auditing

Page 95: Product Readiness 10.1A FCS Training - · PDF fileAuditing in OpenEdge® Product Readiness 10.1A FCS Training ... Getting started ... Getting Started Connect to database as the DBA

© 2006 Progress Software Corporation95Product Readiness 10.1A FCS Training - INTERNAL USE ONLY