DB접근제어솔루션 선정을 위한 BMT 시나리오
개인정보보호법에 고시된 DB접근제어솔루션을 도입하실 때, 솔루션 선정에 도움을 드리기 위해, 필수 BMT 시나리오를 안내드립니다.
시장에 많은 솔루션이 나와있는데, 적합한 솔루션을 검토하실 수 있는 기초자료로 사용하시길 바랍니다.
DB접근제어솔루션 BMT 시나리오 | |
BMT 항목 |
점검사항 |
접근제어 | |
Client IP,DB User, DB 접속 Tool, 사용자 ID별 접근제어 기능 |
|
Table, 컬럼별 접근제어 기능 |
컬럼을 비통제대항 명으로 Aliasing 한 후에도 정상적으로 통제 되는지 확인 |
통제 컬럼 : SAL | |
SELECT EMPNO SAL FROM EMP (통제되지 않아야 함) | |
SQL Type(DML, DCL, DDL, PL/SQL)별 접근제어 기능 |
|
Client IP, 사용자 ID, App명 등 그룹단위 접근제어 기능 |
|
SQL 문장에 의한 통제 기능 |
- 특정 SQL문장에 대한 접근 제어 정책 수행기능 |
- 특정 SQL문장 감사 제외정책 수행 기능 | |
자동 새로 고침 시 관심 세션 색깔 지정 및 Top 유지 기능 |
세션이 많아 화면에 넘칠때, "모니터링 대상" 세션으로 설정하여 색깔을 바꾸고 세션 화면의 TOP에 위치 하도록 하여 조회가 쉽도록 하는지 여부 |
현재 수행중인 SQL 조회(수행 시간 기준으로 제한) |
|
세션 강제 종료 기능 |
|
Idle 세션만 조회 |
|
TABLE, COLUMN별 인증 기능 |
중요 테이블 및 컬럼에 대한 작업 수행시 인증 및 관리자 결재 후 작업 수행 기능 제공 여부 |
정책관리 | |
DB 접속 Tool에서 초기 접속시 수행하는 Default SQL은 보안정책 적용에서 제외하는 기능 |
- 사용자 수행 SQL이 아닌 접속 툴에서 수행하는 기본 SQL접근 제어 및 감사 제외 기능 |
보안 정책 개인화 기능 |
- 고객사에 맞게 사용되는 보안 정책(정책 및 그룹 종류) 선택하여 화면에 나타나도록 환경설정 |
보안정책 그룹화 기능 |
자주 사용하는 보안정책을 그룹으로 지정할 수 있는지 여부 |
보안정책 삭제 및 복구 기능 |
사용되지 않는 보안 정책을 UI에서만 보이지 않도록 삭제하고, 필요시 삭제된 보안 정책을 볼 수 있도록 하는지 여부(실제로 삭제하는 것이 아니라 UI에서만 삭제된 것처럼 보여지도록 하는 기능) |
보안정책 위반시 경고 기능 |
불법적인 행위를 인지하기 위해 특정 정책에 경고 기능을 지정할 수 있는지 여부 |
보안정책 백업 및 복구 |
정책을 백업하고 복수할 수 있는 기능을 제공하는지 여부 |
로그 정보에서 바로 규칙 생성 기능 |
세션, 요청 등의 로그 화면에서 해당 정보를 이용하여 편리하게 규칙 생성 기능 |
개인정보 보호 | |
특정컬럼 Data Masking 기능 |
SQL변조시에도 Masking기능 유지. |
Select empno from emp, select substr(empno,1,2), substr(empno,3,2) from emp | |
위 두가지 SQL수행시 동일하게 Masking이 유지되어야 함. Substr 대상 길이를 자유자재로 변경해도 칼럼 마스킹 유지 | |
사용자 정의 마스킹 함수 지원 기능 |
사용자가 PL/SQL로 마스킹 함수를 정의한 후에, 해당 함수를 이용하여 마스킹 하는 기능 |
'- 사용자가 임의로 마스킹 포맷 설정이 가능해야함. | |
- '******', '######', '999999' | |
- 다양한 사용자 포맷 설정 가능해야함 | |
포맷 변경 시 마스킹 기능 유지 |
주민번호를 85-11-17-18-23-623 처럼 포맷을 가공하여 조회하는 경우에도 마스킹 유지되는 지 확인 |
임시 테이블로 우회시 마스킹 기능 유지 |
Create as select 문장을 이용하여 임시 테이블로 저장(컬럼명 변경 포함)하여 조회시에도 마스킹 유지 여부 |
데이터 타입 변경시 마스킹 기능 |
- to_number(substr(jumin_no),8, 7)) jj1 과 같이 데이터 형 변형하여 조회시 마스킹 기능 유지 |
개인정보 접근 SQL 조회 기능 |
개인정보로 분류한 컬럼에 접근한 SQL 문장 정보 제공 기능 |
개인정보 접근 이력 조회 기능 |
개인정보로 분류한 컬럼들에 대해 SQL 수행한 이력 정보 제공 기능 |
사용자인증 제어 | |
1인 1계정 지원 |
|
접속환경 자동변경 기능 |
보안 대상서버로 접속하는 사용자 PC의 접속정보 변경없이 보안서버 경유 유도 |
인증 ID별 로그인 통제 |
|
인증 ID별 SQL 수행 통제 |
|
감사로그 관리 | |
로그 통합 관리 |
감시대상 DB가 복수일 경우 관리자 화면에서 통합 모니터링 기능 |
로깅 정책 설정 기능 |
실시간 모니터링 로그를 정책에 의해 특정 부분(IP, App, SQL Object 등)만 선별적으로 저장 또는 선별적으로 제외 할 수 있는 기능 제공 |
Return 값 저장 및 테이블 형태로 조회 기능 |
전체건수 저장 기능, 건수 지정 저장 기능, |
SQL 패턴(Literal 제거 후 SQL) 수행횟수 통계 제공 기능 |
select * from emp where empno = 12, select * from emp where empno = 13 |
은 동일한 패턴으로 하여 계산 | |
반복수행되는 SQL 감사 제외 기능 |
감사 대상이 아닌 SQL문장에 대한 감사 기능 제거 기능 |
모니터링 및 보고서 | |
로그조회 기능 |
다양한 검색조건 지원 |
분산된 로그 환경에서 통합 보고서 생성 기능 |
로그가 여러 개의 보안 서버에 분산된 경우에도 보고서는 하나로 통합하여 보여주는 기능 |
보고서 결과 저장 기능 |
보고서 생성을 위한 결과를 저장하여, 보고서 번호를 이용하여 언제든지 동일한 보고서를 다시 생성할 수 있는 기능 |
로그, 트래픽 모니터링 |
로그, 트래픽에 대해 실시간 추이 모니터링 정보를 제공하는지 여부 |
(트래픽량, 초당 접속수, 초당 SQL 요청수) | |
보안 시스템 모니터링 |
보안서버에 대해 실시간 추이 모니터링 정보를 제공하는지 여부 |
단위시간당 SQL 종류별 수행내역 모니터링 |
단위 시간당 SQL 종류별 수행내역 모니터링 기능 제공 여부 |
관리기능 | |
로그 관리 기능 |
로그 보관 및 백업 기능을 제공하는지 여부 |
(디스크 공간 확보, 로그 보관 주기, 로그삭제, 로그백업) | |
SQL 종류별 색깔 지정 기능 |
SELECT, INSERT, UPDATE, DELETE, DROP, ALERT, TRUNCATE, REVOKE, GRANT, DCL, PLSQL, ETC 별 색깔 지정하여 식별이 쉽도록 하는 기능 |
조회 결과 저장 기능 |
화면에 조회된 결과 저장 기능 |
화면내 컬럼 관리 기능 |
조회되는 컬럼, 컬럼의 위치, 컬럼의 사이즈 정보를 저장하여 관리자가 관리하기 쉽도록 화면을 구성하는 기능 |
규칙 동기화 관리 |
이중화 구성 시 규칙이 동기화 되어 관리되는 기능 |
스니핑 기능 | |
패킷 로스(Packet Loss) 측정 |
10개의 세션으로 각 세션당 10만개의 SQL을 수행하여 Loss 되는 SQL이 얼마나되는지 확인 |
대량 규칙하에서 SQL 선택적 로깅 기능 |
SELECT, INSERT, UPDATE, DELETE, DROP, ALERT, TRUNCATE, REVOKE, GRANT, DCL, PLSQL, ETC 별 색깔 지정하여 식별이 쉽도록 하는 기능 |