콘텐츠로 이동

D-17: Audit Table은 데이터베이스 관리자 계정으로 접근하도록 제한

분류: DBMS

중요도: 하


개요

점검 내용

Audit Table 접근 권한이 관리자 계정으로 제한되고 있는지 점검

점검 목적

Audit Table 접근 권한을 관리자 계정으로 제한함으로써 비인가자가 감사 데이터의 수정, 삭제하는 것을 방지하고, 감사 기록의 무결성과 신뢰성을 보장하기 위함

보안 위협

Audit Table이 데이터베이스 관리자 계정에 속하지 않을 경우, 비인가자가 감사 데이터의 수정, 삭제 등을 수행할 수 있으므로 보안 사고 발생 시 원인 분석이 불가능하게 되며, 이로 인해 재발 방지를 위한 조치를 할 수 없으므로 동일 유형의 공격이 반복되거나 시스템 취약점의 악용이 반복될 위험이 존재함

참고

-

점검 대상 및 판단 기준

대상

Oracle DB, Altibase, Tibero 등

판단 기준

✅ 양호: Audit Table 접근 권한이 관리자 계정으로 설정한 경우

❌ 취약: Audit Table 접근 권한이 일반 계정으로 설정한 경우

조치 방법

Audit Table 접근 권한을 관리자 계정으로 제한

조치 시 영향

일반적인 경우 영향 없음

점검 및 조치 사례

Oracle DB, Tibero

Step 1) 설정 확인(SQL*Plus)

SQL> SELECT owner FROM dba_tables WHERE table_name = 'AUD$';

Step 2) Audit table에 접근할 권한이 없는 계정이 확인될 경우 권한 삭제(SYS 또는 SYSTEM 제외)

REVOKE <권한> ON <Object> FROM <계정명>;

Altibase

Step 1) 사용자 계정을 조회하여 SYSTEM_, SYS의 USER_ID를 확인

SELECT * FROM system_.sys_users_;

Step 2) 시스템 테이블 조회 내용 중 AUDIT 관련 테이블 정보의 TABLE_ID 확인

SELECT * FROM system_.sys_tables_;

Step 3) Audit Table의 계정에 불필요한 권한이 부여되어 있는 경우 권한 삭제

REVOKE <권한> ON [audit_table] FROM [계정명];

Tibero

감사 기록은 $TB_SID.tip 파일에 설정된 AUDIT_TRAIL 파라미터에 따라 데이터베이스 내부 또는 OS 파일에 저장할 수 있으며, OS 파일에 감사 기록을 저장하는 경우 파일의 위치와 최대 크기를 각각 $TB_SID.tip파일의 AUDIT_FILE_DEST 파라미터와 AUDIT_FILE_SIZE 파라미터로 설정할 수 있음

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;)

또는

AUDIT_TRAIL=OS AUDIT_FILE_DEST=/home/Tibero/audit/audit_trail.log AUDIT_FILE_SIZE=10M

위와 같이 설정하면 "/home/Tibero/audit/audit_trail.log"에 최대 10MB의 크기로 감사 기록이 저장됨

참고

감사 파일이 있는 디렉터리에는 일반 사용자는 접근할 수 없도록 설정