[DBMS/옵션관리] 응용프로그램 또는 DBA 계정의 Role 이 Public으로 설정되지 않도록 설정 (D-08)

취약점 개요

■ 위험도
- 상

■ 점검 목적
- 응용프로그램 또는 DBA 계정의 Role을 점검하여 일반계정으로 응용프로그램 테이블이나 DBA 테이블의 접근을 차단하기 위함

■ 보안 위협
- 응용프로그램 또는 DBA 계정의 Role이 Public으로 설정되어 있으면, 일반 계정에서도 응용프로그램 테이블 및 DBA 테이블로 접근할 수 있어 주요 정보 유출이 발생할 수 있음

점검 및 조치 방법

■ 판단 기준
- 양호: DBA 계정의 Role이 Public으로 설정되어있지 않은 경우
- 취약: DBA 계정의 Role이 Public으로 설정되어있는 경우

■ 조치 방법
DBA 계정의 Role 설정에서 Public 그룹 권한 취소



■ Oracle
1. DBA Role 설정 확인(SQL*Plus)
SQL> Select granted_role from dba_role_privs where grantee='PUBLIC';
위와 같이 롤(role)이 설정되어 있는 경우 취약

2. public 그룹의 권한 취소(SQL*Plus)
SQL> Revoke role from public;

■ MSSQL
1. 각 Object의 사용 권한이 불필요하게 Public, Guest에 부여된 경우 권한 제거
Use database name
(1) 권한 제거
REVOKE on <권한> on <object> FROM public|guest;
GRANT <권한> on <object> TO public|guest;

(예) syscolumns 테이블에 대한 SELECT 권한 제거
USE master
REVOKE select on sys.syscolumns FROM public;

※ Object 사용 권한이 Public에 부여된 경우, 사용 권한이 없는 모든 계정이 Object에 접근 가능하여 Object의 정보를 획득할 수 있으므로 Object 사용 권한을 Public에 부여하는 것을 제한하여야 함

 

댓글

Designed by JB FACTORY