D-24 Audit Table은 데이터베이스 관리자 계정에 접근하도록 설정
■ 점검영역 : 로그관리
■ 항목 중요도 : 하
■ 점검내용
Audit Table 접근 권한이 관리자 계정으로 제한되고 있는지 점검
■ 점검목적
Audit Table 접근 권한을 관리자 계정으로 제한하고자 함
■ 보안위협
Audit Table 이 데이터베이스 관리자 계정에 속하지 않을 경우, 비인가자가 감사 데이터의 수정, 삭제 등의 수행이 가능함
■ 참고
-
점검대상 및 판단기준(데이터베이스/dbms 취약점 진단)
■ 대상 : Oracle, MSSQL, MySQL, ALTIBASE, TIBERO, PostgreSQL 등
양호
Audit Table 접근 권한이 관리자 계정으로 설정한 경우
취약
Audit Table 접근 권한이 일반 계정으로 설정한 경우
■ 조치방법
Audit Table 접근 권한을 관리자 계정으로 제한
점검 및 조치 방법(oracle, mssql, mysql 등)
■ Oralce, Tibero
Step 1) 설정 확인(SQL*Plus)
SQL> Select owner from dba_tables where table_name='AUD$';
SYS 또는 SYSTEM이 아닌 계정이 나올 경우 확인 후 권한 삭제
Step 2) Audit table에 접근할 권한이 없는 계정이 확인될 경우 권한 삭제
■ Altibase
Step 1) 사용자 계정을 조회하여 SYSTEM_, SYS 의 USER_ID 를 확인
select * from system_.sys_users_;
Step 2) 시스템 테이블 조회 내용 중 AUDIT 관련 테이블 정보의 TABLE_ID 확인
(Step 1) 의 USER_ID 와 동일한)
select * from system_.sys_tables_;
STEP 3) AUDIT 테이블에 권한 없는 계정이 부여되어 있을 경우 권한 삭제
■ Tibero
감사 기록은 $TB_SID.tip 파일에 설정된 AUDIT_TRAIL 파라미터에 따라 데이터베이스 내부 또는 OS 파일에 저장할 수 있음. OS 파일에 감사 기록을 저장하는 경우 파일의 위치와 최대 크기를 각각 $TB_SID.tip파일의 AUDIT_FILE_DEST 파라미터와 AUDIT_FILE_SIZE 파라미터로 설정할 수 있음
조치방법 1. 데이터베이스 내부에 감사 기록 저장
Step 1) <$TB_SID.tip> 파일에 아래 내용 입력
AUDIT_TRAIL=DB_EXTENDED
감사 기록에 포함되는 기본 정보 및 사용자가 실행한 SQL 문장까지 저장
※ 다음 정적 뷰를 통해 감사 기록 조회가 가능
DBA_AUDIT_TRAIL (select * from dba_audit_trail;)
USER_AUDIT_TRAIL (select * from user_audit_trail;)
조치방법 2. OS 파일에 감사 기록 저장
Step 1) <$TB_SID.tip> 파일에 아래 내용 입력
AUDIT_TRAIL=OS
AUDIT_FILE_DEST=/home/Tibero/audit/audit_trail.log
AUDIT_FILE_SIZE=10M
위와 같이 설정하면 "/home/Tibero/audit/audit_trail.log"에 최대 10MB의 크기로 감사 기록이 저장됨
※ 감사 파일이 있는 디렉터리에는 일반사용자는 접근할 수 없도록 설정
■ 조치 시 영향 : 일반적인 경우 영향 없음