DB접근제어

DB접근제어는 Data Base에 저장된 데이터에 대해 사용자별 접근권한에 따라 접근을 제한하기 위한 기술을 말한다.

DB접근제어 구조

DB접근제어 및 감사를 위한 보안정책을 설정 관리하는 관리콘솔과 실제 접근을 차단하고 감사를 위한 모니터링 및 로깅을 수행하는 서버엔진으로 구성된다.

서버엔진

구분 설명
접근제어 • 다양한 정책 구성에 따른 접근 허용/거부, 로깅 여부 등을 정의함
• 접속 IP와 IP 대역, 컴퓨터 이름, 접속 시간 별로 선택적인 접근이 가능하도록 설정
• Toad, SQL Plus, Golen32, Orange 등 Application 별 선택적 접근 설정
권한제어 • 객체(IP, Application, Oracle ID), SQL 명령어, DB Table 등의 조건을 이용하여 DBMS 접근 이후의 상세 권한을 제어하는 기능
• 객체의 내용을 조합하여 다양한 정책을 구성하여 제어
• DML, DCL, DDL문의 선택을 통해 허용/거부 정책을 구성하여 제어
Telnet 모니터링 • Telnet을 통한 SQL Plus 작업내용 Logging
• Telnet 작업 내역, 명령 결과 Logging 및 추적
로깅 및 조회 • 서버 목록, 클라이언트 조건(IP, Oracle ID, Application), 네트워크, 컴퓨터 이름, DB Table, 검색 Query, 결과 내역 등의 조건으로 사용 내역 로깅 및 조회
DBMS공격에 대한 방어 • DBMS 서버에 대한 공격을 자동 감지, 차단, 방어
DBMS상태 감시 • 현재 사용중인 DB 상태 표시 - Buffer Cache Hit, Library Cache Hit, Connected Sessions, Active Transactions, I/O Blocks, Execution Counts 등의 상태 표시
이벤트 Alert • 이벤트 Alert의 유형별로 메일, SMS, 쪽지, 경고음, 화면 표시 등 다양한 Alert를 제공
보고서 • 사용자보고서/테이블 보고서/시간통계보고서
• 색조건(color code)을 이용한 Wizard 방식의 편리한 보고서 생성
• 통계보고서/접속보고서/차단로그보고서
• MS엑셀 등 오피스프로그램으로 Export 하여 리포트 포맷 등 변경 가능

관리 콘솔

관리콘솔은 DB보안 솔루션을 운영하기 위한 화면으로 일반적으로 서버엔진과 동일한 시스템에서 운영될 수 있지만 운영관리 등의 목적으로 별도의 독립된 시스템에서 구현할 수 있으며 다음과 같은 기능을 주로 수행한다.

  • 접근통제 정책 설정
  • 감사정책 설정과 감사, 조회
  • 서버엔진 등 관련 모듈의 통합 관리

구현 방식별 특징

Sniffing 방식

스니핑 방식의 솔루션은 서버/네트워크 구성을 변경하지 않은채로 DB 서버나 Application 서버 상의 추가적인 성능 부하 없이 DB 사용을 감시하는데는 매우 훌륭하다. 하지만 사전에 허가되지 않은 종류의 DB 쿼리가 수행되어도 중간에서 차단할 수 없기 때문에 감시만 할 뿐 접근제어나 권한제어는 기술적으로 구현하기 어렵다. 또한 초당 3,000∼4,000건 이상의 대규모 DB 트랜잭션이 있을 경우 쿼리 문을 수집해 저장하는데 손실(Loss)이 생길 수 있기 때문에 대규모 환경에서는 적합하지 않다는 지적을 받고 있다

Sniffing 방식(이미지)

Gateway 방식

게이트웨이 방식의 제품은 모든 쿼리를 게이트웨이를 통해 거쳐가게 만들어졌기 때문에 미들웨어 역할도 할 수 있다. DB 서버가 게이트웨이 방식 보안 솔루션과만 DB 포트를 열도록 방화벽이나 ACL로 접근제어를 할 수 있어 웹이나 여러 애플리케이션이 해킹을 당해도 DB 서버로의 직접 해킹을 방지할 수 있다. 이에 따라 보안 정책을 심도있게 반영할 수 있다는 장점을 지닌다.

하지만 현업에서 실제로 요구되는 접근제어가 유연하게 구현되는 경우가 드물고, DBMS가 다기종으로 쓰일 경우 모든 기종에 대한 접근제어를 해주도록 개발된 제품이 없어 이 또한 구현하기 어렵다. 대부분 오라클 DB를 지원하는 제품으로 이루어져 있다.

게이트웨이 방식의 이와 같은 한계 때문에 사실상 완벽한 접근제어는 힘들다. 이런 보안 정책의 헛점을 이용할 경우 우회 침입이 가능하며 하드웨어 장애시 DB 보안 기능이 중단될 수도 있다. 따라서 이중화 구현이 필요하며 이런 경우 추가 비용이 발생하게 된다

Gateway 방식(이미지)

Hybrid 방식

Hybrid 방식은 대용량 트랜잭션이 발생하여도 모든 감사로그와 내부 사용자에 대한 통제를 구현할 수 있는 방식으로 보안관점에서 사용자 접속방식에 따라 다음과 같은 2가지의 DB보안정책을 구현할 수 있다.

  • Application 서버와 같은 일반 업무를 위해서 연결되는 세션의 경우 대용량 트랜잭션으로 인하여 속도지연 현상이 발생할 수 있기 때문에 Sniffing 방식을 통해 감사 데이터 생성
  • 내부 사용자가 Local 접속(BEQ 세션)등으로 임의의 SQL Query를 발생할 경우 DB보안관점에서 문제 발생 소지가 가장 높게 되며 Gateway방식을 통해 접근제어와 감사를 구현함

최근의 DB접근제어 툴들은 Sniffing방식과 Gateway방식을 혼용한 하이브리드(Hybrid)형태의 제품도 출시가 이루어 지고 있다.

Hybrid 방식(이미지)

구현방식별 비교

DB 접근통제 및 감사 기술은 다음 세 가지 방식으로 구현 가능하며, 각각의 방식에 따른 서버 성능 부하, 장애 발생 시 업무 영향도, 모니터링 성능 등을 고려하여 KB에 적합한 방식을 선정하는 것이 중요하다.

구분 Sniffing 방식 Gateway 방식 Hybrid 방식
구현 방식 DB서버의 패킷 스니핑 DB접속 트래픽이 모니터링 서버를 경유하도록 함 Sniffing방식과 Gateway방식을 혼용하여 구성
인증강화 기능 없음 PKI 등 연계 가능 PKI 등 연계 가능
접근통제 및 권한제어 기능 미흡 우수 우수
장애발생 시 업무 영향도 없음 DB서버 사용 불가 /
장애대응(Fail Over) 시스템 필요
없음
DB서버 내에 에이전트 여부 필요 없음 필요 필요
모니터링 성능 대규모 트랜잭션 업무 시
패킷 손실 가능
패킷 손실 없음 패킷 손실 없음
데이터베이스 종속성 거의 없음 거의 없음 거의 없음
DB성능 부하 거의 없음 DB보안 서버에 병목 발생 가능 거의 없음

DB접근통제-작업인증 솔루션

상기 제품들이 IDS와 같은 모니터링과 사전에 정의된 접근패턴 혹은 공격 패턴에 대해 동작하는 제품이라면 업무 프로세스 상에 요청, 승인 절차를 통해 접근통제 하도록 지원하는 솔루션이 있다.

대표적인 제품이 웨어리이의 Trusted Orange이며 이 제품을 적용 전에 운용을 위한 조직의 역할과 책임이 사전에 정의되어야 한다.

Trusted Orange 사전접근 통제 Flow(이미지)

작업 요청의 내용을 검토하고 어떠한 종류로 승인을 할지에 대한 검토도 이루어 져야 하는데 아래 그림과 같은 방식으로 운영된다.

Trusted Orange 결재 Flow(이미지)