1. Database Audit의 개요
가. Database Audit의 정의
-Database 사용자가 권한을 부여받아 Database를 이용할 경우, 승인되지 않은 작업을 수행하거나 적절한 권한이 없는 사용자가 계정을 도용하여 접근할 수 있으므로 추후 책임추적성을 확보하기 위해 제공하는 기법
나. Database Audit의 특징
-(Database 감시), 사용자가 데이터를 조작하거나 조회 시 관련 로그 저장
-(책임추적성), 내부감사 또는 사고 발생 시 저장된 로그를 검토하여 조치 가능
-(Database 성능 저하), 운영 서비스에서 상세한 로그를 저장할 경우 성능 저하의 원인이 될 수 있어 DBA가 설정 가능
-(Audit Trail), Database의 이벤트에 대한 정보를 저장 가능
-(Audit Log 저장), OS, DB, XML 등에 감사 로그 저장
2. Database Audit의 종류 및 관리
가. Database Audit의 종류 (ORACLE)
구분 | 설명 | 명령어 |
Statement Auditing | -CREATE TABLE, DROP USER등의 SQL문장에 대해서 Audit 가능 | AUDIT statment[,statement].. [BY user[,user]] [BY {SESSION | ACCESS}] [WHENEVER [NOT] SUCCESSFUL] |
Priviledge Auditing | -시스템 권한을 부여받은 사용자가 그 권한으로 사용한 모든 문장 감사 | AUDIT privilege [,privilege].. [BY user[,user]] [BY {SESSION|ACCESS}] [WHENEVER [NOT] SUCCESSFUL] |
Object Auditing | -특정스키마 오브젝트에 수행되는 명령문을 감사 | AUDIT statment[,statement].. ON {[schema.]object|DEFAULT} [BY {SESSION|ACCESS}] [WHENEVER [NOT] SUCCESSFUL] |
-Database에 영향을 끼치는 작업을 감시하거나 특정 Database 작업에 모니터링 정보 수집
나. Database Audit의 관리
구분 | 설명 | 명령어 |
Audit 파라미터 보기 | audit_sys_operations 값을 true로 변경 audit_trail은 Audit 저장 위치 지정 |
show parameter audit (결과) NAME TYPE VALUE ------------------------------------ ----------- ------------------ audit_file_dest string .../adump audit_sys_operations boolean FALSE audit_syslog_level string audit_trail string DB unified_audit_sga_queue_size integer 1048576 |
Audit 활성화 | Audit 기록을 db에 저장하도록 설정한 예시 | - init<ORACLE_SID>.ora 파일 alter system set AUDIT_TRAIL=db scope=spfile; |
Audit 결과 보기 | Audit를 통해 생성된 정보는 아래의Audit Trail Data Dictionary 뷰를 통해 확인 가능 | STMT_AUDIT_OPTION_MAP AUDIT_ACTIONS ALL_DEF_AUDIT_OPTS DBA_STMT_AUDIT_OPTS DBA_PRIV_AUDIT_OPTS DBA_OBJ_AUDIT_OPTS USER_OBJ_AUDIT_OPTS DBA_AUDIT_TRAIL USER_AUDIT_TRAIL DBA_AUDIT_OBJECT USER_AUDIT_OBJECT DBA_AUDIT_SESSION USER_AUDIT_SESSION DBA_AUDIT_STATEMENT USER_AUDIT_STATEMENT DBA_AUDIT_EXISTS |
Audit 설정 예 | sys 사용자가 수행하는 작업 추적 관리 | alter system set audit_sys_operations=true scope=spfile |
로그인 기록 추적 관리 | audit session whenever successful | |
로그인 실패한 기록 추적 관리 |
audit session whenever not successful; | |
Audit 확인 예 | 추적 관리되는 작업 정보 | select * from dba_audit_trail; |
로그인 시도 정보 | select username from dba_audit_trail where action_name = 'LOGON' group by username having max(timestamp) < sysdate - 180; |
|
패스워드 문제로 로그인 실패한 정보 | select * from dba_audit_trail where returncode=1017 AND timestamp > sysdate -7 |
-본문에 기술된 Database의 명령문은 실제 실행 여부에 대한 검증은 되지 않았습니다. (관련 명령어의 옵션 중심으로 작성)
'(부제) 나는 CISO 이다 > ISMS-P 인증심사' 카테고리의 다른 글
(ISMS-P) 개인정보 유출 및 침해사고 등 발생 시 신고기관 및 이용자 통지 (0) | 2021.06.29 |
---|---|
(ISMS-P) 법적 요구사항 준수 만족 방안 (0) | 2021.06.29 |
(ISMS-P) 개인정보 수집 이용 제공 동의 시 미흡사항 (0) | 2021.06.16 |
(ISMS-P) 화상회의 서비스 인증 시 추가 점검 기준 (0) | 2021.06.14 |
(CSAP) 개인정보처리시스템 접속기록 보관 기준 (0) | 2021.06.08 |
댓글