D-18: 응용프로그램 또는 DBA 계정의 Role이 Public으로 설정되지 않도록 조정
분류: DBMS
중요도: 상
개요
점검 내용
응용 프로그램 또는 DBA 계정의 Role이 Public으로 설정되어 있는지 점검
점검 목적
응용 프로그램 또는 DBA 계정의 Role을 점검하여 일반 계정으로 응용 프로그램 테이블이나 DBA 테이블의 접근을 차단하기 위함
보안 위협
응용 프로그램 또는 DBA 계정의 Role이 Public으로 설정된 경우 일반 계정에서도 응용 프로그램 테이블 및 DBA 테이블로 접근할 수 있으므로 중요 정보 유출의 위험이 존재함
참고
Role
사용자에게 허가할 수 있는 권한들의 집합
점검 대상 및 판단 기준
대상
Oracle DB, Altibase, Tibero, Cubrid 등
판단 기준
✅ 양호: DBA 계정의 Role이 Public으로 설정되지 않은 경우
❌ 취약: DBA 계정의 Role이 Public으로 설정된 경우
조치 방법
DBA 계정의 Role 설정에서 Public 그룹 권한 취소
조치 시 영향
일반적인 경우 영향 없음
점검 및 조치 사례
Oracle DB
Step 1) DBA Role 설정 확인(SQL*Plus)
Step 2) PUBLIC 그룹의 권한 취소(SQL*Plus)
Altibase
Step 1) 사용자 정보를 조회하여 Object 권한, 시스템 권한이 Public 또는 Guest에게 부여되어 있는지 확인
SELECT * FROM system_.sys_users_;
SELECT * FROM system_.sys_grant_object_;
SELECT * FROM system_.sys_grant_system_;
GRANTOR_ID: 권한을 부여한 사용자의 식별자로,SYS_USERS_메타테이블의 한USER_ID값과 동일GRANTEE_ID: 권한을 부여받은 사용자의 식별자로,SYS_USERS_메타테이블의 한USER_ID값과 동일함. 단, Object 권한을 Public에게 부여한 경우,SYS_USERS_메타테이블에 존재하지 않는USER_ID값인 "0"이 칼럼에 나타남
Step 2) 불필요 권한 회수
Tibero
Step 1) 사용자 정보를 조회하여 Role 부여가 적절한지 확인
Step 2) 불필요 권한 회수