> 이전 포스팅
Oracle 데이터베이스 보안 솔루션 #3 - Data Safe (1)Oracle 데이터베이스 보안 솔루션 #2 - Data Safe (1)
이번 시간에는 Data Safe 의 Activity Auditing (활동 감사)에 대하여 알아보겠습니다.
Activity Auditing(활동 감사)를 사용하면 대상 데이터베이스에서 감사 데이터를 수집하여 데이터베이스 활동을 모니터링할 수 있습니다. 활동 감사를 사용하면 업계 및 규정 준수 요구 사항에 따라 감사 기록을 수집 및 유지하고, Oracle 데이터베이스에서 사용자 활동을 모니터링할 수 있습니다. 예를 들어 중요한 데이터, 보안 관련 이벤트, 관리자 및 사용자 활동과 같은조직에서 정의한 활동, 규정 권장하는 활동 등에 대한 감사를 할 수 있습니다.
Oracle Data Safe에서는 대상 데이터베이스당 매월 최대 100만 개의 감사 레코드를 무료로 수집할 수 있습니다.
Activity Auditing (활동 감사) 대시보드 미리보기
지난 1주 동안의 감사 이벤트 요약을 차트 및 테이블 형식으로 보여줍니다.
필요에 따라서 대상 데이터베이스 및 기간 설정을 변경할 수 있습니다.
Activity Auditing Reports (활동 감사 보고서)
Oracle Data Safe 는 감사 보고서 페이지에서 볼 수 있는 사전 정의된 여러 감사 보고서를 생성합니다.
보고서는 Oracle Data Safe 활동 뿐만 아니라 감사된 SQL문, 애플리케이션 액세스 활동, 사용자 로그인 활동과 같은 일반 데이터베이스 활동을 추적합니다.
보고서 이름 | 설명 |
모든 활동 | 모든 감사 활동 |
관리자 활동 | 사용자 평가 기능에서 식별된 관리자 사용자에 대한 추적 데이터베이스 활동을 보고합니다. 사용자에 대한 변경사항은 보고서에 즉시 반영되지 않을 수 있으며 표시되는 데 최대 12시간이 걸릴 수 있습니다. |
사용자/자격 변경 | 사용자 생성/삭제/권한 및 역할 변경 |
감사 정책 변경 사항 | 감사 정책의 모든 변경 사항 |
로그인 활동 | 데이터베이스 로그인 시도 |
데이터 접근 | 데이터베이스 쿼리 작업 |
데이터 수정 | 데이터 수정 활동(DML) |
데이터베이스 스키마 변경 | 데이터베이스 스키마 변경(DDL) |
Data Safe Activity | Oracle Data Safe 서비스 에서 생성된 활동 |
Database Vault 활동 | 필수 Database Vault 구성 변경, 영역 위반 및 명령 규칙 위반을 포함하여 대상 데이터베이스에서 활성화된 Oracle Database Vault 정책의 감사 가능한 활동 |
일반 사용자 활동 | 사용자 평가 기능에서 식별된 일반 사용자에 대한 추적 데이터베이스 활동을 보고합니다. |
데이터베이스 오류 | 감사되는 활동에 대해 데이터베이스에 보고된 추적 오류를 보고합니다. |
데이터 Extraction(추출) 활동 | 데이터베이스의 DataPump 및 RMAN 활동 추적을 보고합니다. |
민감한 데이터 활동 | 데이터 검색 기능의 민감한 데이터 모델에서 식별된 민감한 개체에 대한 추적 데이터베이스 활동을 보고합니다. 메모:이 보고서는 대상 데이터베이스에 민감한 데이터 모델이 있는 경우에만 데이터를 표시합니다. |
Audit Profiles (감사 프로필)
대상 데이터베이스를 등록하면 Oracle Data Safe는 대상 데이터베이스에 대한 감사 프로필 리소스를 자동으로 생성합니다.
1) 감사 데이터 보존
- 온라인 보존 기간 : 온라인 저장소에 감사 데이터를 저장하는 개월 수를 지정합니다. 최소 온라인 보관은 1개월, 최대 12개월 입니다.
- 오프라인 보존 기간 : 오프라인 저장소에 감사 데이터를 저장하는 개월 수를 지정합니다. 기본적으로 대상 데이터베이스의 오프라인 보존 기간은 0개월로 설정됩니다. 최소 보관 기간은 0개월, 최대 72개월(6년)입니다. 따라서 감사 레코드가 대상 데이터베이스에 생성된 시점부터 최대 7년 동안 Oracle Data Safe에 감사 데이터를 보관할 수 있습니다. (온라인 1년, 아카이브 6년)
2) 감사 데이터 검색
감사 데이터를 검색하면 온라인 보고서에 사용할 수 있도록 감사 데이터를 오프라인 아카이브 스토리지에서 온라인 Data Safe 저장소로 반환합니다. 언제든지 각 대상 데이터베이스에 대해 최대 12개월 동안 보관된 감사 데이터를 검색할 수 있으며 일반적으로 검색하는데 1시간 정도 소요됩니다.
3) 전역설정
모든 대상에 대한 기본 설정을 수정하려면 전역 설정을 사용하면 됩니다. 특정 대상 데이터베이스에 대한 기본 설정을 수정하려면 대상에 대한 감사 프로필 설정을 사용하면 됩니다.
4) 유료 사용량
Oracle Data Safe는 대상 데이터베이스별로 매월 감사 레코드를 무제한으로 수집할 수 있습니다.
처음 100만 개의 감사 레코드는 무료이고 그 이상부터는 비용이 발생할 수 있습니다.
월별 무료 한도를 넘어 계속해서 감사 데이터를 수집하도록 하려면 해당 대상 데이터베이스에 대해 유료 사용을 활성화 해야 합니다.
5) 감사 데이터 볼륨
감사 프로필 세부 정보 페이지에서는 대상 데이터베이스에서 사용 가능한 감사 레코드 수, 온라인 보고에 사용할 수 있는 Oracle Data Safe에서 수집된 감사 레코드 수, 보관된 감사 수 등 월별 감사 데이터 볼륨을 볼 수 있습니다.
월별 값은 24시간마다 업데이트 됩니다.
Audit Policies (감사정책)
대상 데이터베이스를 등록하면 Oracle Data Safe는 대상 데이터베이스에 대해 하나의 감사 정책 리소스를 자동으로 생성합니다. 대상 데이터베이스에서 감사 정책을 검색한 후에 작업을 수행합니다. 감사 정책은 Data Safe에서 하루에 한 번 자동으로 검색됩니다.
* Oracle Database 12.1 이하에서는 감사 정책의 프로비저닝 및 검색이 지원되지 않습니다.
1) 기본 감사 정책
기본 감사 정책은 Oracle Database에 권장되는 감사 구성 집합을 나타냅니다.
아래, 각 정책 별 데이터베이스에 프로비저닝 됩니다.
- 중요한 데이터베이스 활동 (User, Role, Profile이 Create, modified or Delete될 때)
CREATE AUDIT POLICY ORA_ADS$_CRITICAL_DB_ACTIVITY
PRIVILEGES EXEMPT ACCESS POLICY,EXEMPT REDACTION POLICY,
ADMINISTER KEY MANAGEMENT,EXPORT FULL DATABASE,IMPORT FULL DATABASE,
CREATE PUBLIC DATABASE LINK, ALTER PUBLIC DATABASE LINK, DROP PUBLIC DATABASE LINK,
CREATE PUBLIC SYNONYM, DROP PUBLIC SYNONYM,
SELECT ANY DICTIONARY, ADMINISTER DATABASE TRIGGER,
PURGE DBA_RECYCLEBIN, LOGMINING
ACTIONS CREATE USER, ALTER USER, DROP USER,
CREATE ROLE, DROP ROLE, ALTER ROLE, SET ROLE, GRANT, REVOKE,
CREATE PROFILE, ALTER PROFILE, DROP PROFILE,
CREATE PLUGGABLE DATABASE, DROP PLUGGABLE DATABASE, ALTER PLUGGABLE DATABASE,
CREATE LOCKDOWN PROFILE, ALTER LOCKDOWN PROFILE, DROP LOCKDOWN PROFILE,
ALTER DATABASE, ALTER SYSTEM,
CREATE TABLESPACE, ALTER TABLESPACE, DROP TABLESPACE,
CREATE ROLLBACK SEGMENT, ALTER ROLLBACK SEGMENT, DROP ROLLBACK SEGMENT,
CREATE DIRECTORY, DROP DIRECTORY,
CREATE DISK GROUP,ALTER DISK GROUP,DROP DISK GROUP,
CREATE PFILE,CREATE SPFILE
ACTIONS COMPONENT = datapump EXPORT,IMPORT
ACTIONS COMPONENT = DIRECT_LOAD LOAD;
AUDIT POLICY ORA_ADS$_CRITICAL_DB_ACTIVITY;
-- enabled for all users
- 로그인 이벤트 (사용자의 모든 로그인 및 로그오프 활동 추적)
CREATE AUDIT POLICY ORA_ADS$_LOGON_EVENTS ACTIONS LOGON,LOGOFF;
CREATE AUDIT POLICY ORA_ADS$_LOGON_FAILURES ACTIONS LOGON;
AUDIT POLICY ORA_ADS$_LOGON_EVENTS EXCEPT <comma separated user list>;
AUDIT POLICY ORA_ADS$_LOGON_FAILURES whenever not successful;
- 데이터베이스 스키마 변경(테이블, 데이터베이스 링크, 함수 또는 트리거가 Create, modified, delete 될 때 / DDL)
CREATE AUDIT POLICY ORA_ADS$_DB_SCHEMA_CHANGES
PRIVILEGES
CREATE EXTERNAL JOB, CREATE JOB, CREATE ANY JOB
ACTIONS CREATE PROCEDURE, DROP PROCEDURE, ALTER PROCEDURE,
CREATE PACKAGE, ALTER PACKAGE, DROP PACKAGE, CREATE PACKAGE BODY, ALTER PACKAGE BODY, DROP PACKAGE BODY,
CREATE FUNCTION, DROP FUNCTION, ALTER FUNCTION,
CREATE TRIGGER, ALTER TRIGGER, DROP TRIGGER,
CREATE LIBRARY, ALTER LIBRARY, DROP LIBRARY,
CREATE SYNONYM, DROP SYNONYM,
CREATE TABLE, ALTER TABLE, DROP TABLE, TRUNCATE TABLE,
CREATE DATABASE LINK, ALTER DATABASE LINK, DROP DATABASE LINK,
CREATE INDEX, ALTER INDEX, DROP INDEX,
CREATE OUTLINE, ALTER OUTLINE,DROP OUTLINE,
CREATE CONTEXT, DROP CONTEXT,
CREATE ATTRIBUTE DIMENSION,ALTER ATTRIBUTE DIMENSION,DROP ATTRIBUTE DIMENSION,
CREATE DIMENSION,ALTER DIMENSION,DROP DIMENSION,
CREATE INDEXTYPE,ALTER INDEXTYPE,DROP INDEXTYPE,
CREATE OPERATOR,ALTER OPERATOR,DROP OPERATOR,
CREATE JAVA,ALTER JAVA,DROP JAVA,
CREATE MINING MODEL,ALTER MINING MODEL,DROP MINING MODEL,
CREATE TYPE BODY,ALTER TYPE BODY,DROP TYPE BODY,
CREATE TYPE,ALTER TYPE,DROP TYPE,
CREATE MATERIALIZED VIEW,ALTER MATERIALIZED VIEW,DROP MATERIALIZED VIEW,
CREATE MATERIALIZED VIEW LOG, ALTER MATERIALIZED VIEW LOG,DROP MATERIALIZED VIEW LOG,
CREATE MATERIALIZED ZONEMAP, ALTER MATERIALIZED ZONEMAP,DROP MATERIALIZED ZONEMAP,
CREATE VIEW, ALTER VIEW, DROP VIEW,CREATE ANALYTIC VIEW, ALTER ANALYTIC VIEW, DROP ANALYTIC VIEW,
CREATE SEQUENCE, ALTER SEQUENCE, DROP SEQUENCE,
CREATE CLUSTER, ALTER CLUSTER, DROP CLUSTER,TRUNCATE CLUSTER;
AUDIT POLICY ORA_ADS$_DB_SCHEMA_CHANGES;
-- enabled for all users
2) 관리자 활동 감사 정책
권한이 있는 관리자의 모든 활동을 감사할 수 있습니다. 관리자 활동 감사 정책은 다음 권한이나 Role 중 하나를 가진 사용자의 모든 활동을 감사합니다.
- Admin privileges : SYSOPER, SYSDG, SYSKM, SYSRAC, SYSBACKUP
- Roles : DBA, DATAPUMP_EXP_FULL_DATABASE, DATAPUMP_IMP_FULL_DATABASE, EXP_FULL_DATABASE,
IMP_FULL_DATABASE
CREATE AUDIT POLICY "ORA_ADS$_ADMIN_USER_ACTIVITY" ACTIONS ALL WHEN 'SYS_CONTEXT(''USERENV'', ''CURRENT_USER'') NOT IN
(''CTXSYS'',''ORDSYS'',''OJVMSYS'',''DVSYS'',''SI_INFORMTN_SCHEMA'',''AUDSYS'',''GSMADMIN_INTERNAL'',''ORDPLUGINS'',''DIP'',''MDSYS'',
''OLAPSYS'',''ORDDATA'',''LBACSYS'',''SYSKM'',''OUTLN'',''ORACLE_OCM'',''SYS$UMP'',''SYSRAC'',''ANONYMOUS'',''GGSYS'',''REMOTE_SCHEDULER_AGENT'',
''SYSBACKUP'',''DBSFWUSER'',''MDDATA'',''APPQOSSYS'',''DBSNMP'',''GSMUSER'',''GSMCATUSER'',''XS$NULL'',''SYSTEM'',''SYS'',''SYSDG'',
''WMSYS'',''XDB'',''DVF'')' EVALUATE PER STATEMENT ONLY TOPLEVEL
AUDIT POLICY ORA_ADS$_ADMIN_USER_ACTIVITY BY USERS WITH GRANTED ROLES DBA,
DATAPUMP_EXP_FULL_DATABASE, DATAPUMP_IMP_FULL_DATABASE, EXP_FULL_DATABASE,
IMP_FULL_DATABASE;
AUDIT POLICY ORA_ADS$_ADMIN_USER_ACTIVITY BY PUBLIC, SYSDG, SYSKM, SYSRAC, SYSBACKUP;
19c의 경우 다음 정책도 프로비저닝 됩니다.
CREATE AUDIT POLICY ORA_ADS$_SYS_TOP_ACTIVITY ACTIONS ALL ONLY TOPLEVEL;
AUDIT POLICY ORA_ADS$_SYS_TOP_ACTIVITY by SYS;
3) 사용자 활동 감사 정책
민감한 데이터에 액세스할 수 있거나 관찰 중인 사용자의 모든 활동을 추적합니다. (감사할 사용자를 지정해야 합니다.)
CREATE AUDIT POLICY ORA_ADS$_USER_ACTIVITY ACTIONS ALL
WHEN 'SYS_CONTEXT(''USERENV'', ''CURRENT_USER'') NOT IN (''DIP'',''WMSYS'',''XDB'',''ORDDATA'',''OLAPSYS'',''MDSYS'',''ORDPLUGINS'',''GSMADMIN_INTERNAL'',''SI_INFORMTN_SCHEMA'',''ANONYMOUS'',''GGSYS'',''DBSFWUSER'',''APPQOSSYS'',''DBSNMP'',''GSMUSER'',''SYSDG'',''SYS$UMF'',''ORACLE_OCM'',''OUTLN'',''SYSKM'',''SYS'',''SYSTEM'',''XS$NULL'',''GSMCATUSER'',''MDDATA'',''SYSBACKUP'',''REMOTE_SCHEDULER_AGENT'',''SYSRAC'',''CTXSYS'',''DVF'',''OJVMSYS'',''DVSYS'',''AUDSYS'',''ORDSYS'',''LBACSYS'')' EVALUATE PER STATEMENT;
AUDIT POLICY ORA_ADS$_USER_ACTIVITY BY <comma-separated non-Oracle maintained user list>
4) 맞춤 정책
대상 데이터베이스에서 사용자 정의 감사 정책을 생성할 수 있고, 활성화 하거나 비활성화도 가능합니다.
이상 Data Safe의 Auditing에 대하여 간단하게 살펴보았습니다.
> 다음 포스팅
Oracle 데이터베이스 보안 솔루션 #3 - Data Safe (3) - Data Masking
작성자: 정혜원 / Cloud Architect
개인의 시간을 할애하여 작성된 글로서 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다.
'3. 데이터관리' 카테고리의 다른 글
OCI Data Integration 활용 - Data Pipeline Task 생성 및 Schedule 지정 (0) | 2024.05.22 |
---|---|
OCI Autonomous Database - Automatic Indexing (0) | 2024.05.16 |
Oracle Database API for Mongo DB 살펴보기 (0) | 2024.05.07 |
OCI Data Integration 활용 - Data Integration Task 생성 (0) | 2024.04.29 |
Autonomous JSON Database 살펴보기 (0) | 2024.04.16 |
댓글