KR100868037B1 - 데이터베이스 접속 통제 방법 및 시스템 - Google Patents

데이터베이스 접속 통제 방법 및 시스템 Download PDF

Info

Publication number
KR100868037B1
KR100868037B1 KR1020060101416A KR20060101416A KR100868037B1 KR 100868037 B1 KR100868037 B1 KR 100868037B1 KR 1020060101416 A KR1020060101416 A KR 1020060101416A KR 20060101416 A KR20060101416 A KR 20060101416A KR 100868037 B1 KR100868037 B1 KR 100868037B1
Authority
KR
South Korea
Prior art keywords
access
database
account
query
port
Prior art date
Application number
KR1020060101416A
Other languages
English (en)
Other versions
KR20080035144A (ko
Inventor
김광희
김원주
Original Assignee
주식회사 케이티프리텔
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티프리텔 filed Critical 주식회사 케이티프리텔
Priority to KR1020060101416A priority Critical patent/KR100868037B1/ko
Publication of KR20080035144A publication Critical patent/KR20080035144A/ko
Application granted granted Critical
Publication of KR100868037B1 publication Critical patent/KR100868037B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 데이터베이스 시스템에서 데이터베이스 접속을 통제하는 방법에 있어서, (a) 데이터베이스 접속 권한 별로 구분된 복수의 접속 포트 및 계정 목록을 유지하는 단계-여기서, 상기 계정 목록은 상기 접속 포트 별로 접속 권한이 부여된 계정 정보를 포함함-; (b) 사용자 클라이언트가 전송한 계정 정보를 포함하는 접속 요청 신호를 상기 복수의 접속 포트 중 어느 하나로부터 수신하는 단계; (c) 상기 수신된 계정 정보가 상기 접속 포트의 계정 목록에 포함되어 있는지 여부를 통해 상기 접속 포트로의 접속 권한이 있는지 판단하는 단계; 및 (d) 상기 판단 결과에 따라 상기 데이터베이스로의 접속 허가 여부를 결정하는 단계를 포함하는 데이터베이스 접속 통제 방법을 제공할 수 있다.
방화벽, 계정, 인증, 데이터베이스, 서버, 보안

Description

데이터베이스 접속 통제 방법 및 시스템{Method and System for Controlling the Access to the Database}
도 1은 종래 기술에 따른 데이터베이스 접속 통제 시스템 블록도.
도 2는 본 발명에 따른 데이터베이스 접속 통제 시스템 블록도.
도 3은 본 발명에 따른 데이터베이스 접속 통제 시스템 구성 절차를 도시한 흐름도.
도 4는 본 발명에 따른 중간 더미 데이터베이스 서버의 처리 순서도.
도 5는 본 발명에 따른 방화벽의 접속 통제 기능을 도시한 흐름도.
도 6은 본 발명에 따른 중간 더미 데이터베이스 서버의 블록 구성도.
* 도면의 주요 부분에 대한 부호 설명
100 : 주 데이터베이스 서버(Main Database Server)
112 : 방화벽(FireWall)
210 : 중간 더미 감사부(Middle Dummy Auditor)
200 : 중간 더미 데이터베이스 서버(Middle Dummy Database Server)
본 발명은 데이터베이스 시스템에 관한 것으로, 좀 더 상세하게는 데이터베이스의 보안을 강화하기 위해 중간 더미 (Middle Dummy) 데이터베이스 서버를 추가함으로써, 보다 안정되고 저렴하게 불법 사용자의 데이터베이스 접속을 제어하는 방법 및 시스템에 관한 것이다.
일반적으로 데이터베이스 시스템은 데이터들의 모임인 데이터베이스, 데이터베이스를 직접 생성, 조작, 관리하는 소프트웨어인 데이터베이스 관리 시스템(Data Base Management System), 데이터베이스 관리 시스템에게 기능 수행요청을 하기 위한 수단인 데이터 언어(Data Language), 데이터베이스를 설계하고 전체적으로 관리하는 사람인 데이터베이스 관리자(DataBase Administrator) 및 일반 사용자와 응용 프로그래머를 포함한 사용자(User) 등으로 구성된다.
특히, 데이터베이스 관리 시스템(DataBase Management System:DBMS)은 다수의 컴퓨터 사용자들이 기억장치 안에 데이터를 기록하거나 접근할 수 있게 해주는 프로그램으로서 통상적으로 약어인 DBMS라는 용어를 더 많이 사용한다.
데이터베이스 관리 시스템의 목적은 데이터베이스 내의 정보를 검색하거나, 데이터베이스에 정보를 저장하는데 있어서 편리하고 효율적인 환경을 제공하는 데 있다.
데이터베이스 관리 시스템은 운영 체제(Operating System : OS) 및 통신 관 리 시스템(Communication Management System : CMS)과 함께 컴퓨터의 3대 기간 소프트웨어로 자리잡아 왔다.
특히, 데이터베이스 관리 시스템은 응용 소프트웨어 별로 흩어져 있는 자료들을 통합하고 통합된 자료들을 각 응용 소프트웨어가 공유하여 정보의 체계적인 활용을 가능하게 한다.
데이터베이스 관리 시스템의 기능은 자료 구조의 정의 기능, 자료 구조에 따른 자료의 축적 기능, 데이터베이스 관련 언어에 의한 자료 검색, 삽입, 삭제 및 갱신 기능, 복수 사용자의 다중 처리 제어 기능, 데이터 원복 기능 및 보안 기능을 포함할 수 있다.
특히, 데이터베이스 관리 시스템의 보안 기능은 불법 사용자의 접근을 제어함으로써 기업 및 개인 정보를 보호하는 가장 중요한 기능이다.
최근, 산업전반에 걸친 침입이 증가하고 개인 데이터에 대한 강력한 규제 요구가 커져감에 따라, 기업의 최우선 과제는 데이터베이스 관리 시스템의 보안을 유지하는 것이다.
기업의 데이터베이스에 저장된 개인 데이터에 대한 단 한번의 공격이 야기시킬 손해는 기업 평판에 영향을 미칠 만큼 심각한 수준에 이르고 있다.
일반적으로, 데이터베이스에 대한 접근은 부여된 계정(예컨대, 아이디 및 패스워드)의 인증을 통해 가능하며, 데이터의 중요도 및 목적에 따라 데이터에 대한 접근 권한을 달리하는 계정이 부여될 수 있다.
예컨대, 조회 계정은 특정 데이터에 대한 조회 권한만 부여된 계정이며, 변 경 계정은 특정 데이터의 조회, 삽입, 삭제 및 수정 권한을 가지는 계정이다.
특히, 어드민(Admin) 계정은 일반적으로 모든 데이터의 조회 및 변경이 가능한 계정이므로, 어드민 계정이 일반 사용자에게 노출될 경우 심각한 문제를 야기할 수 있다.
하지만, 종래에는 어드민 권한이 부여되지 않은 일반 사용자에게 어드민 계정이 노출된 경우, 일반 사용자의 해당 데이터베이스로의 물리적 접근을 제어할 수 있는 효율적인 방법이 없었다.
또한, 나날이 고도화되는 헤커의 공격을 막기 위해 별도의 데이터베이스 보안 툴을 도입하는 것은 많은 시간 및 비용이 드는 문제점이 있었다
상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명은 데이터베이스 시스템에서 데이터베이스 접속을 통제하는 방법에 있어서, 사용자의 직접적인 데이터베이스 접근을 방지하는 중간 더미 데이터베이스 서버 및 계정 별 독립된 접속 포트를 구비하는 방화벽을 추가함으로써, 보다 안정적이고 보안 수준이 향상된 데이터베이스 접속 통제 방법 및 시스템을 제안하고자 한다.
본 발명의 다른 목적들은 이하의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일 측면에 따르면 데이터베이스 시스템에서 데이터베이스 접속을 통제하는 방법에 있어서, (a) 데이터베이스 접속 권한 별로 구분된 복수의 접속 포트 및 계정 목록을 유지하는 단계-여기서, 상기 계정 목록은 상기 접속 포트 별로 접속 권한이 부여된 계정 정보를 포함함-; (b) 사용자 클라이언트가 전송한 계정 정보를 포함하는 접속 요청 신호를 상기 복수의 접속 포트 중 어느 하나로부터 수신하는 단계; (c) 상기 수신된 계정 정보가 상기 접속 포트의 계정 목록에 포함되어 있는지 여부를 통해 상기 접속 포트로의 접속 권한이 있는지 판단하는 단계; 및 (d) 상기 판단 결과에 따라 상기 데이터베이스로의 접속 허가 여부를 결정하는 단계를 포함하는 데이터베이스 접속 통제 방법이 제공된다.
본 발명의 바람직한 일 실시 예에 따르면, 데이터베이스로의 접속을 통제하는 시스템에 있어서, 상기 데이터베이스 접속 권한 별로 복수의 접속 포트 및 계정 목록을 유지하는 수단; 상기 복수의 접속 포트 중 적어도 어느 하나로부터 계정 정보를 포함하는 접속 요청 신호를 수신하는 수단-여기서 상기 계정 정보는 아이디와 패스워드를 포함함-; 상기 아이디와 패스워드에 대한 상기 접속 포트로의 접속 권한을 판단하는 수단; 및 상기 판단 결과에 따라 상기 데이터베이스로의 접속 허가 여부를 결정하는 단계 수단을 포함하는 데이터베이스 접속 통제 시스템이 제공된다.
본 발명의 다른 일 실시 예에 따르면, 데이터베이스로의 접속을 통제하는 시스템에 있어서, 상기 데이터베이스 접속 권한 별로 구분된 복수의 접속 포트를 이 용하여 상기 접속 포트 별로 접속 권한을 통제하는 방화벽; 상기 방화벽을 통해 수신된 질의문을 파싱(Parsing)하고 상기 파싱된 질의문의 실행 가능 여부를 판단하는 제1 데이터베이스 서버; 및 상기 방화벽 또는 상기 제1 데이터베이스 서버 중 적어도 어느 하나로부터 상기 질의문을 수신하면 데이터베이스로부터 질의 결과를 추출하는 제2 데이터베이스 서버를 포함하는 데이터베이스 접속 통제 시스템이 제공된다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 우선 각 도면의 구성요소들에 참조 번호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다.
이하에서는, 본 발명의 이해를 돕기 위해 우선 종래 기술에 대한 도면을 참조하여 설명하기로 한다.
도 1은 종래 기술에 따른 데이터베이스 서버의 접속 통제 방법을 도시한 블록도이다.
도 1에 도시된 바와 같이, 데이터베이스 접속 통제 시스템은 크게 주 데이터베이스 서버(100), 방화벽(112) 및 클라이언트(122)를 포함할 수 있다.
주 데이터베이스 서버(100)는 주 데이터베이스 관리 시스템(Main DataBase Management System : Main DBMS, 102), 운용 체제(109) 및 감사부(110)을 포함할 수 있다.
여기서, 주 데이터베이스 관리 시스템(102)은 관리자 계정 프로세스(104), 조회 계정 프로세스(106) 및 변경 계정 프로세스(108)를 포함할 수 있다.
일반적으로, 데이터베이스 서버를 기동하기 위해서는 데이터베이스 서버의 IP 주소 및 데이터베이스 서버가 클라이언트의 접속을 받아들이기 위해 필요한 프로토콜에 대한 정의가 필요하다.
또한, 하나의 데이터베이스 서버에는 하나 이상의 프로세스가 존재할 수 있으며, 각 프로세스에 대한 고유한 프로세스 식별자(이하 'SID'이라 함)가 필요하다.
상기 SID는 클라이언트(122)가 데이터베이스 서버에 접속 시 상기 데이터베이스 서버의 IP 주소 및 프로토콜과 더불어 특정 계정과 관련된 프로세스에 접근하기 위해 필요한 파라메터이다.
특히, 데이터베이스 서버의 IP 주소, 프로토콜 및 SID를 묶어 하나의 서비스명로 정의할 수 있으며, 클라이언트(122)는 상기 정의된 서비스명으로 데이터베이스 서버에 접속할 수 있다.
주 데이터베이스 관리 시스템(102)에 포함된 관리자 계정 프로세스(104), 조회 계정 프로세스(106) 및 변경 계정 프로세스(108)는 각각 상기 고유한 SID가 할당되며, 각 계정 프로세스는 서로 상이한 서비스를 클라이언트(122)에 제공할 수 있다.
관리자 계정 프로세스(104)는 어드민(Admin) 자격으로 접속한 사용자(이하 ' 제1 사용자'라 함)의 질의를 처리하는 프로세스로서, 데이터베이스에 저장된 모든 데이터, 뷰(view) 및 테이블(table)의 삽입, 삭제, 변경 및 조회 기능을 모두 수행할 수 있다.
조회 계정 프로세스(106)는 조회 업무를 담당하는 사용자(이하 '제2 사용자'라 함)의 질의를 처리하는 프로세스로서, 데이터베이스에 저장된 특정 데이터의 조회 서비스만을 제공할 수 있다.
변경 계정 프로세스(108)는 변경 업무를 담당하는 사용자(이하 '제3 사용자'라 함)의 질의를 처리하는 프로세스로서, 데이터베이스에 저장된 특정 데이터의 변경 서비스를 제공할 수 있다.
감사부(110)의 핵심기능은 불법 사용자의 침입 추적 및 방어, 데이터 감사, 관리 보고, 실시간 감사, 적극적인 보안 모니터링 기능을 포함할 수 있다.
특히, 감사부(110)는 데이터 업데이트, 삭제, 삽입 및 조회 시도 등에 대해서 기 정의된 보안 정책에 위배되는 활동을 추적하거나 감사 결과를 실시간 로깅한 후 소정의 저장 매체에 기록할 수 있다.
여기서, 상기 감사 결과는 로그 엔트리(entry)의 형태로 소정의 저장 매체에 저장된다.
이때, 상기 로그 엔트리는 해당 데이터 접속에 관련된 사람, 접속 시도된 데이터 및 접속 시기 등의 유용한 정보를 포함할 수 있다.
방화벽(112)은 클라이언트(122)와 주 데이터베이스 서버(100) 사이에 위치하며, 클라이언트(122)가 불법적으로 주 데이터베이스 서버(100)에 접속하는 것을 방 지하는 기능을 수행한다.
특히, 종래에는 클라이언트(122)의 주 데이터베이스 서버(100)로의 접속 시도는 공용 포트(114)를 통해서만 가능했다.
일반적으로, 클라이언트의 데이터베이스 서버로의 접속 권한에 대한 확인 절차는 해당 계정의 아이디 및 패스워드의 확인을 통해 수행되었으며, 타 사용자에게 아이디 및 패스워드가 노출될 경우, 이에 따른 불법 침입을 제어할 수 있는 특별한 방법이 없었다.
예컨대, 제1 사용자(116)의 아이디 및 패스워드가 타 사용자(예컨대, 제2 사용자(118) 또는 제3 사용자(120))에 노출된 경우, 주 데이터베이스 서버(100)에 저장된 데이터의 보안 유지에 치명적인 허점이 발생할 수 있다.
또한, 종래에는 감사부(110) 및 주 데이터베이스 관리 시스템(102)이 하나의 운영 체제(109) 상에 탑재되는 구조를 가지므로, 감사부(110)에 과다한 부하가 가해질 경우 전체적으로 주 데이터베이스 관리 시스템(102)의 성능이 저하되는 단점이 있었다.
특히, 감사부(110)가 활성화 되어 있으면, 클라이언트(122)로부터 수신되는 모든 사용자 질의문(예컨대, SQL(Structured Query Language))이 로깅(logging) 되므로 주 데이터베이스 서버(100)의 처리 속도가 저하되는 문제점이 있었다.
즉, 종래 기술은 효율적으로 데이터베이스의 감사를 수행하기가 힘든 문제점이 있었다.
이하의 설명에서는, 본 발명에 따른 데이터베이스 접속 통제 방법 및 시스템에 관한 바람직한 실시 예를 도면을 참조하여 상세하게 설명한다.
도 2는 본 발명에 따른 데이터베이스 서버의 접속 통제 방법을 도시한 시스템 블록도이다.
본 발명에 따른 데이터베이스 접속 통제 시스템은 주 데이터베이스 서버(100)와 방화벽(112) 사이에 중간 더미 데이터베이스 서버(200)가 구비되는 것을 특징으로 한다.
특히, 본 발명에 따른 방화벽(112)은 기존의 공용 포트(114)를 사용하는 대신 계정 별로 독립된 접속 포트가 구비된다.
즉, 방화벽(112)은 관리자 포트(21), 조회 포트(214) 및 변경 포트(216)을 포함할 수 있다.
이에 따라, 클라이언트(122)는 자신의 계정에 상응하는 접속 포트를 통해서만 주 데이터베이스 서버(100)에 직접 또는 간접으로 접속할 수 있다.
예컨대, 어드민 자격을 갖는 제1 사용자(116)는 관리자 포트(212)를 통해서 주 데이터베이스 서버(100)에 직접적으로 접속할 수 있다.
이때, 제1 사용자(116)에게 관리자 포트(212)를 통한 직접적인 주 데이터베이스 서버(100)로의 접근 권한을 부여하는 이유는 제1 사용자(116)가 제2 사용자(118) 및 제3 사용자(120)의 계정 아이디 및 패스워드를 도용할 필요가 없기 때문이다.
즉, 제1 사용자(116)는 데이터베이스에 대한 모든 접근 권한을 가지므로 제1 사용자가(116)가 다른 계정(예컨대, 조회 계정 또는 변경 계정)의 아이디 및 패스워드를 도용할 필요가 없음을 의미한다.
반면, 조회 업무를 담당하는 제2 사용자(118) 및 변경 업무를 담당하는 제3 사용자(120)는 각각 조회 포트(214) 및 변경 포트(216)를 통해 중간 더미 데이터베이스 서버(200)에 접속한 후 데이터베이스 링크(예컨대, 조회 데이터베이스 링크(218) 및 변경 데이터베이스 링크(220))를 통해서만 주 데이터베이스 서버(100)에 접속할 수 있다.
예컨대, 조회 계정 프로세스(106)는 조회 데이터베이스 링크(218)를 통해서 제2 사용자(118)로부터 수신한 조회 요청 메시지를 조회 계정 프로세스(106)에 전달할 수 있다.
이후, 조회 계정 프로세스(106)는 상기 조회 요청 신호에 상응하는 데이터를 해당 데이터베이스로부터 추출하여 조회 데이터베이스 링크(218)을 통해 중간 조회 계정 프로세스(204)에 상기 추출된 데이터를 전송한다.
즉, 상기 데이터베이스 링크는 주 데이터베이스 서버(100)의 계정 프로세스와 중간 더미 데이터베이스 서버(200)의 계정 프로세스 사이에 설정된 통신 링크로서의 기능을 수행한다.
또한, 상기 데이터베이스 링크는 제1 사용자(116)를 제외한 제2 사용자(118) 및 제3 사용자(120)의 직접적인 주 데이터베이스 서버(100)로의 접근을 방지하는 역할을 수행한다.
중간 더미 데이터베이스 서버(200)는 중간 조회 계정 프로세스(204)를 포함 하는 제1 더미 데이터베이스 관리 시스템(202), 중간 변경 계정 프로세스(208)을 포함하는 제2 더미 데이터베이스 관리 시스템(206), 중간 더미 감사부(210) 및 중간 더미 데이터베이스 서버(200)의 운영 체제인 제2 운용 체제(209)를 포함할 수 있다.
특히, 제1 더미 데이터베이스 관리 시스템(202) 및 제2 더미 데이터베이스 관리 시스템(206)은 별도의 데이터베이스 객체(object)를 생성하지 않는다.
상기 데이터베이스 객체는 테이블(Table) 및 뷰(View)를 포함할 수 있으며, 상기 데이터베이스 객체는 주 데이터베이스 관리 시스템(102)에 의해서만 생성 또는 삭제될 수 있다.
여기서, 상기 테이블은 동일한 속성을 갖는 데이터들의 구조와 집합을 말하는 것으로서, 클라이언트(122)의 요청에 따라 주 데이터베이스 관리 시스템(102)에서 생성되는 것이다
상기 뷰는 하나 또는 둘 이상의 기존 테이블로부터 유도되어 만들어진 가상 테이블(virtual table)로서, 각 뷰는 고유한 이름을 갖는다.
결과적으로, 본 발명에 의해 추가되는 중간 더미 데이터베이스 서버(200)는 기존의 주 데이터베이스 서버(100)에 의해 관리되는 객체에 대한 어떤 권한(예컨대, 데이터의 검색, 삽입, 삭제 및 갱신 권한)도 가지지 않을 뿐만 아니라, 자체적으로 별도의 객체(예컨대, 테이블 및 뷰)를 생성하지 않으므로 기존 데이터베이스 시스템에 대한 영향을 최소화할 수 있는 장점을 가진다.
중간 더미 감사부(210)는 방화벽(112)을 통해 수신되는 모든 질의문의 처리 과정 및 상태 정보를 로깅하여 중간 더미 데이터베이스 서버(200)에 위치한 해당 데이터베이스에 저장한다.
상기 로깅된 정보는 사후 침입 추적 및 보안 문제점 분석을 위해 활용된다.
특히, 중간 더미 감사부(210)가 주 데이터베이스 서버(100) 대신 중간 더미 데이터베이스 서버(200)에 위치하므로, 주 데이터베이스 서버(100)의 감사에 따른 부하를 분산시키는 효과를 얻을 수 있다.
도 3은 본 발명의 일 실시 예에 따른 데이터베이스 접속 통제 시스템 구성 절차를 도시한 흐름도이다.
본 발명에 따른 데이터베이스 접속 통제 시스템을 구성하기 위한 제1 단계는 기존의 주 데이터베이스로의 접속 포트인 공용포트(114)를 차단하고(S302), 계정 별로 독립된 접속 포트인 관리자 포트(212), 조회 포트(214) 및 변경 포트(216)를 방화벽(112)에 설치(S304)하는 단계이다.
제2 단계는 NT급 소형 용량의 서버상에 중간 더미 데이터베이스 서버(200)를 설치하고, 조회 포트(214)와 연결된 중간 조회 계정 프로세스(204) 및 변경 포트(216)와 연결된 중간 변경 계정 프로세스(208)를 생성(S306)하는 단계이다.
이때, 상기 제2 단계는 상기 설치된 조회 포트(214) 및 변경 포트(216)로부터 수신된 질의(Query) 및 그에 따른 처리 결과를 감사하기 위한 중간 더미 감사부(210)를 설치하는 단계를 더 포함한다.
여기서, 중간 더미 감사부(210)는 디폴트로 비활성화 상태로 설치된다.
제3 단계는 중간 더미 데이터베이스 서버(200)에 포함된 중간 조회 계정 프로세스(204) 및 중간 변경 계정 프로세스(208)와 주 데이터베이스 서버(100)에 포함된 조회 계정 프로세스(106) 및 변경 계정 프로세스(108) 사이의 통신을 위한 데이터베이스 링크(예컨대, 조회 데이터베이스 링크(218) 및 변경 데이터베이스 링크(220))를 설정(S308)하는 단계이다.
제4 단계는 상기 설치된 중간 더미 감사부(210)를 활성화(S310)하는 단계이다.
마지막으로, 제5 단계는 상기 설치된 포트를 통한 클라이언트(122)의 접속 시도를 허락함과 동시에 해당 포트에 대한 접속 통제 기능을 활성화 시키는 접속 포트 별 방화벽을 허용(S312)하는 단계이다.
도 4는 본 발명의 일 실시예에 따른 중간 더미 데이터베이스 서버의 동작 순서를 도시한 순서도이다.
도 4에 도시된 바와 같이, 중간 더미 데이터베이스 서버(210)는 방화벽(112)을 통해 수신된 사용자 질의문이 있는지 확인(S302)한 후, 만약 수신된 사용자 질의문이 있으면 해당 질의문을 파싱(parsing)한다(S302).
여기서, 상기 파싱은 수신된 질의문을 해당 질의 언어의 문법에 따라 해석하는 것을 의미한다.
중간 더미 데이터베이스 서버(210)는 상기 질의문에 포함된 아이디(ID) 및 패스워드를 이용하여 해당 사용자 계정이 인증된 계정인지 확인한다(S406).
확인 결과, 인증된 계정이 아니면, 해당 사용자 계정에 대한 인증 및 인증 허가를 수행(S410)한 후 해당 사용자 계정이 주 데이터베이스 접근 권한이 있는지 확인한다(S412).
확인 결과, 권한이 있으며, 상기 수신된 질의문을 실행(S414)하고, 중간 더미 감사부(210)는 질의문 수행 중에 보안 문제가 발생하는지 감시한다(S418).
만약, 보안 문제가 발생하면, 해당 보안 문제와 관련된 감사 로그 엔트리를 생성하여, 중간 더미 데이터베이스 서버(200) 내부의 데이터베이스에 저장(S420)한 후 상기 402 단계로 회귀한다.
상기한 418단계에서, 만약 보안 문제가 발생하지 않으면, 질의문 실행 결과를 질의 요청자에게 송신한다(S422).
상기한 406 단계에 있어서, 만약 해당 사용자 계정이 이미 인증 완료된 계정일 경우, 데이터베이스로의 억세스를 제어하는 인증 허가 단계를 수행한다(S408).
여기서, 인증과 인증 허가의 차이를 설명하면 다음과 같다.
일반적으로, 모든 데이터베이스 관리 시스템은 기본적으로 인증 기능과 인증 허가 기능을 갖추고 있으며, 이들 기능은 모든 데이터베이스 관련 응용 소프트웨어에 대해 핵심 요구 사항이다.
인증이란 실제로 누가 혹은 무엇이 데이터 요청을 하는지를 확인하는 기능으로서, 이미 인증된 사용자는 또다시 인증 받을 필요가 없다.
즉, 인증 절차는 해당 계정의 아이디 및 패스워드가 데이터베이스 관리 시스템의 인증 데이터베이스에 등록되어 있는지 확인하는 절차이다.
인증 확인이란 누군가에게 무언가를 실행할 수 있도록 허가해 주는 것이다.
인증은 인증 허가에 선행되지만, 인증된 사용자는 표를 만들거나 일정 데이터에 엑세스(여기서, 엑세스는 해당 데이터의 조회, 삽입, 삭제 및 수정 동작 중 어느 하나일 수 있음)하는 등의 다양한 데이터베이스 대상 및 기능에 대한 접근 권한을 부여 받기 위해 반드시 인증 허가 절차를 거쳐야 한다.
즉, 상기 인증 허가 절차는 상기 인증된 사용자로부터 수신되는 모든 질의문에 대해 수행되어야 하는 절차이다.
예컨대, 조회 업무 담당자(118)가 조회 포트(214)를 통해 특정 데이터의 변경과 관련된 질의문을 중간 조회 계정 프로세스(204)에 송신한 경우, 중간 조회 계정 프로세스(204)는 인증 허가 단계에서 해당 데이터의 변경 권한이 없음을 확인하면 조회 업무 담당자(118)에게 해당 사실을 통보한다.
상기한 412 단계에 있어서, 해당 사용자 질의문이 주 데이터베이스 서버(100)으로의 접근 권한이 없으면, 해당 사용자에 접근 권한 부재 통보 메시지를 송신(S416)한 후 상기 402단계로 회귀한다.
도 5는 본 발명의 일 실시 예에 따른 방화벽에서의 불법 사용자 접속 제한 기능을 도시한 흐름도이다.
도 5에 도시된 바와 같이, 조회 업무 담당자(118)가 노출된 관리자 계정 아이디 및 패스워드를 획득한 경우(S502), 조회 포트(214)를 통해 계정 정보를 포함하는 데이터베이스 접속 요청 신호를 방화벽(112)에 송신한다(S504).
여기서, 상기 계정 정보는 아이디 및 패스워드로 구성되며, 본 실시 예에 따른 계정 정보는 상기 획득된 관리자 계정의 아이디 및 패스워드이다.
본 발명에 따른 방화벽(112)은 상기 데이터베이스 접속 요청 신호를 수신하면 해당 계정 정보를 조회 계정 목록과 비교하여 계정 정보에 포함된 아이디 및 패스워드가 조회 포트(214)로의 접속 권한이 부여된 계정인지 확인한다(S506).
여기서, 상기 조회 계정 목록은 조회 포트(214)로의 접속 권한이 부여된 계정들의 집합으로 해당 계정의 아이디 및 패스워드를 포함할 수 있다.
이와 유사하게, 본 발명에 따른 방화벽(112)은 관리자 포트(212)로의 접속 권한을 갖는 계정들의 집합인 관리자 계정 목록 및 변경 포트(216)로의 접속 권한을 갖는 계정들의 집합인 변경 계정 목록을 유지한다.
상기한 506 단계에 있어서, 만약 상기 계정 정보가 조회 포트(214)로의 접속 권한이 없으면, 방화벽(112)은 조회 업무 담당자(118)에게 접속 요청 실패 신호를 송신한다.
본 발명의 다른 실시 예에 따르면, 변경 업무 담당자(120)가 관리자 계정의 아이디 및 패스워드를 획득하여, 데이터베이스 서버로의 접속을 시도할 경우에도 상기한 동일한 절차에 따라 데이터베이스 접속이 통제될 수 있다.
즉, 해당 접속 포트로의 접속 권한이 부여되지 않은 계정에 의한 데이터베이스 접속 시도를 방화벽(112) 레벨에서 차단하는 효과를 얻을 수 있다.
도 6은 본 발명의 일 실시 예에 따른 중간 더미 데이터베이스 서버의 블록 구성도이다.
도 6에 도시된 바와 같이, 중간 더미 데이터베이스 서버(200)는 주 데이터베이스 서버(100) 및 방화벽(112)과 인터페이스를 가진다.
중간 더미 데이터베이스 서버(200)는 메시지 송수신부(602), 데이터베이스 링크 설정부(604), 주제어부(606), 질의문 해석부(608), 질의문 실행부(610), 인증 처리부(614), 중간 더미 감사부(616), 인증 데이터베이스(612) 및 감사 로그 데이터베이스(620)를 포함할 수 있다.
메시지 송수신부(602)는 주 데이터베이스 서버(100) 및 방화벽(112)로부터 수신된 메시지를 주제어부(606)에 전달하거나, 주제어부(606)으로부터 수신한 메시지를 주 데이터베이스 서버(100) 또는 방화벽(112) 중 적어도 어느 하나에 송신하는 기능을 가진다.
특히, 메시지 송수신부(602)는 데이터베이스 링크 설정부(604)에 의해 설정된 각 계정의 데이터베이스 링크를 통해 주 데이터베이스 서버(100)와 통신한다.
데이터베이스 링크 설정부(604)는 주 데이터베이스 서버(100)에 위치한 계정 프로세스(예컨대, 조회 계정 프로세스(106) 및 변경 계정 프로세스(108))와 중간 더미 데이터베이스 서버(200)에 위치한 계정 프로세스(예컨대, 중간 조회 계정 프로세스(204) 및 중간 변경 계정 프로세스(208)) 사이에 송수신되는 질의 요청 및 질의 응답 메시지를 전달하기 위한 데이터베이스 링크를 설정하는 기능을 수행한다.
질의문 해석부(608)는 주제어부(606)의 제어 신호에 따라, 수신된 질의문을 파싱한 후, 그 결과를 주제어부(606) 및 질의문 실행부(610)에 송신하는 기능을 수행한다.
질의문 실행부(610)는 질의문 해석부(608)에 의해 파싱된 질의문을 수신하면 해당 데이터베이스 링크를 통해 주 데이터베이스 서버(100)의 해당 계정 프로세스에 송신하고, 그에 따른 질의 결과를 수신하여 해당 질의문을 요청한 사용자에 제공하는 기능을 수행한다.
인증 처리부(614)는 인증 데이터베이스(612)에 저장된 각 계정의 인증 정보를 이용하여 질의문을 송신한 사용자 계정에 대한 인증 및 해당 질의문에 대한 인증 허가 기능을 수행한다.
특히, 인증 처리부(614)는 파싱된 질의문의 인증 허가 과정에서 문제가 발생한 경우, 해당 사용자에게 해당 데이터베이스로의 접근 권한 부재 통보를 할 수 있다.
즉, 인증 처리부(614)는 불법 사용자의 데이터 조작에 의한 데이터간의 불일치성을 막고 정당한 사용자만이 허가된 데이터 접근 기능을 사용 할 수 있도록 하는 권한 검사(authority check)와 보안(security) 기능을 수행함으로써, 보다 강력한 불법 사용자 접속 제한 기능을 제공할 수 있다.
중간 더미 감사부(616)는 주제어부(606)에 의해 활성화 또는 비활성화 될 수 있으며, 만약 활성화된 경우 방화벽(112)을 통해 수신되는 모든 질의문의 로깅 및 해당 질의문의 실행 과정에서 생성되는 모든 보안 관련 모니터링 정보를 수집하여 감사 로그 데이터베이스(620)에 저장하는 기능을 수행한다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
이상에서 설명한 바와 같이, 본 발명은 데이터베이스 시스템에서 데이터베이스 접속을 통제하는 방법에 있어서, 계정 별 독립된 접속 포트를 구비하는 방화벽을 추가함으로써, 해당 포트에 대한 접속 권한이 없는 사용자가 데이터베이스에 접속하려는 시도를 방화벽 레벨에서 차단할 수 있는 장점이 있다.
또한, 본 발명은 방화벽과 주 데이터베이스 서버 사이에 중간 더미 데이터베이스 서버를 추가함으로써, 클라이언트의 직접적인 데이터베이스 접근을 방지하고, 보다 안정적이고 향상된 보안 수준을 갖는 데이터베이스 접속 통제 방법 및 시스템을 제공할 수 있는 장점이 있다.
본 발명의 다른 장점은 주 데이터베이스 서버 대신 중간 더미 데이터베이스에 감사부를 설치함으로써, 주 데이터베이스의 부하를 분산시키는 효과를 얻을 수 있다.

Claims (14)

  1. 데이터베이스 시스템에서 데이터베이스 접속을 통제하는 방법에 있어서,
    (a) 데이터베이스 접속 권한 별로 구분된 복수의 접속 포트 및 계정 목록을 유지하는 단계-여기서, 상기 계정 목록은 상기 복수의 접속 포트 별로 접속 권한이 부여된 계정 정보를 포함함-;
    (b) 사용자 클라이언트가 전송한 계정 정보를 포함하는 접속 요청 신호를 상기 복수의 접속 포트 중 어느 하나로부터 수신하는 단계;
    (c) 상기 수신된 계정 정보가 상기 접속 요청 신호를 수신한 접속 포트의 계정 목록에 포함되어 있는지 여부를 통해 상기 접속 요청 신호를 수신한 접속 포트로의 접속 권한이 있는지 판단하는 단계; 및
    (d) 상기 판단 결과에 따라 상기 데이터베이스로의 접속 허가 여부를 결정하는 단계
    를 포함하는 데이터베이스 접속 통제 방법.
  2. 제1항에 있어서,
    상기 (c) 단계에서, 상기 수신된 계정 정보가 상기 접속 요청 신호를 수신한 접속 포트로의 접속 권한이 있는 것으로 판단된 경우,
    (e) 상기 접속 요청 신호를 수신한 접속 포트를 통해 질의문을 수신하는 단계;
    (f) 상기 질의문을 파싱(parsing)하고 상기 파싱된 질의문에 대한 인증 허가를 수행하는 단계; 및
    (g) 상기 파싱된 질의문의 인증 허가에 실패하는 경우, 상기 사용자 클라이언트로 데이터베이스 접근 권한 부재 통보 신호를 전송하는 단계
    를 더 포함하는 데이터베이스 접속 통제 방법.
  3. 삭제
  4. 제2항에 있어서,
    상기 (f) 단계에서 상기 파싱된 질의문에 대한 인증 허가에 성공하는 경우, 상기 파싱된 질의문에 대한 실행 결과를 상기 사용자 클라이언트로 전송하는 단계를 더 포함하는 데이터베이스 접속 통제 방법.
  5. 데이터베이스로의 접속을 통제하는 시스템에 있어서,
    상기 데이터베이스 접속 권한 별로 구분된 복수의 접속 포트를 이용하여 상기 접속 포트 별로 접속 권한을 통제하는 방화벽;
    상기 방화벽을 통해 수신된 질의문을 파싱(Parsing)하고 상기 파싱된 질의문에 대한 인증 허가를 수행하는 제1 데이터베이스 서버; 및
    상기 방화벽 또는 상기 제1 데이터베이스 서버 중 적어도 어느 하나로부터 상기 질의문을 수신하면 데이터베이스로부터 질의 결과를 추출하는 제2 데이터베이스 서버
    를 포함하는 데이터베이스 접속 통제 시스템.
  6. 제5항에 있어서,
    상기 복수의 접속 포트는,
    관리자 계정의 접속을 제어하는 관리자 포트;
    조회 계정의 접속을 제어하는 조회 포트; 및
    변경 계정의 접속을 제어하는 변경 포트 중 적어도 어느 하나
    를 포함하는 데이터베이스 접속 통제 시스템.
  7. 제6항에 있어서,
    상기 제2 데이터베이스 서버는 관리자 계정 프로세스를 포함하며,
    상기 관리자 포트를 통해 수신된 질의문은 직접 상기 관리자 계정 프로세스로 전송되는 데이터베이스 접속 통제 시스템.
  8. 제6항에 있어서,
    상기 제1 데이터베이스 서버는,
    상기 조회 포트를 통해 수신된 질의문을 처리하는 중간 조회 계정 프로세스; 및
    상기 변경 포트를 통해 수신된 질의문을 처리하는 중간 변경 계정 프로세스
    를 포함하는 데이터베이스 접속 통제 시스템.
  9. 제5항에 있어서,
    상기 제1 데이터베이스 서버 및 상기 제2 데이터베이스 서버에 생성된 프로세스 간의 통신을 지원하는 복수의 데이터베이스 링크를 더 포함하되,
    상기 프로세스 간의 통신은 동일한 접속 권한에 대응되는 프로세스 사이의 통신인 것을 특징으로 하는 데이터베이스 접속 통제 시스템.
  10. 제5항에 있어서,
    상기 제1 데이터베이스 서버는
    상기 수신된 질의문의 처리 과정에서 발생되는 로그를 수집하고 저장하는 수단을 더 포함하는 데이터베이스 접속 통제 시스템.
  11. 제5항에 있어서,
    상기 제1 데이터베이스 서버 및 상기 제2 데이터베이스 서버는 독립된 운영 체제 상에서 동작하는 데이터베이스 접속 통제 시스템.
  12. 삭제
  13. 제5항에 있어서,
    상기 제1 데이터베이스 서버는 데이터베이스 객체(object)를 생성하지 않는 데이터베이스 접속 통제 시스템.
  14. 제5항에 있어서,
    상기 방화벽은 접속 포트 별로 접근 권한이 부여된 계정들의 집합인 복수의 계정 목록을 유지하는 데이터베이스 접속 통제 시스템.
KR1020060101416A 2006-10-18 2006-10-18 데이터베이스 접속 통제 방법 및 시스템 KR100868037B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060101416A KR100868037B1 (ko) 2006-10-18 2006-10-18 데이터베이스 접속 통제 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060101416A KR100868037B1 (ko) 2006-10-18 2006-10-18 데이터베이스 접속 통제 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20080035144A KR20080035144A (ko) 2008-04-23
KR100868037B1 true KR100868037B1 (ko) 2008-11-10

Family

ID=39574191

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060101416A KR100868037B1 (ko) 2006-10-18 2006-10-18 데이터베이스 접속 통제 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR100868037B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3185469B1 (en) 2012-10-30 2018-10-17 LG Electronics Inc. Method and apparatus for authenticating access authority for specific resource in wireless communication system
CN109815284A (zh) * 2019-01-04 2019-05-28 平安科技(深圳)有限公司 一种数据处理的方法和装置
CN111897872A (zh) * 2020-07-03 2020-11-06 杭州浮云网络科技有限公司 基于服务中心的大规模mssql管理方法、系统和计算机设备
CN113535677B (zh) * 2021-06-29 2024-04-02 平安国际融资租赁有限公司 数据分析查询管理方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015507A (ja) 2002-06-07 2004-01-15 Sony Corp アクセス権限管理システム、通信処理装置、および方法、並びにコンピュータ・プログラム
KR20040052569A (ko) * 2004-04-03 2004-06-23 주식회사 피앤피시큐어 데이터베이스 감시 및 보안 방법 및 장치
KR20050008486A (ko) * 2003-07-15 2005-01-21 김용규 데이터베이스 접근 및 권한 관리 강화 방법
KR20050099751A (ko) * 2004-04-12 2005-10-17 주식회사 비티웍스 데이터베이스 보안 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015507A (ja) 2002-06-07 2004-01-15 Sony Corp アクセス権限管理システム、通信処理装置、および方法、並びにコンピュータ・プログラム
KR20050008486A (ko) * 2003-07-15 2005-01-21 김용규 데이터베이스 접근 및 권한 관리 강화 방법
KR20040052569A (ko) * 2004-04-03 2004-06-23 주식회사 피앤피시큐어 데이터베이스 감시 및 보안 방법 및 장치
KR20050099751A (ko) * 2004-04-12 2005-10-17 주식회사 비티웍스 데이터베이스 보안 시스템 및 방법

Also Published As

Publication number Publication date
KR20080035144A (ko) 2008-04-23

Similar Documents

Publication Publication Date Title
US9049195B2 (en) Cross-domain security for data vault
US7593942B2 (en) Mandatory access control base
US7831570B2 (en) Mandatory access control label security
US10552622B2 (en) Multi-layer system for privacy enforcement and monitoring of suspicious data access behavior
US7814076B2 (en) Data vault
US7814075B2 (en) Dynamic auditing
US8141138B2 (en) Auditing correlated events using a secure web single sign-on login
US7788366B2 (en) Centralized network control
CN100596361C (zh) 信息系统或设备的安全防护系统及其工作方法
CN103413083B (zh) 单机安全防护系统
US20090300712A1 (en) System and method for dynamically enforcing security policies on electronic files
US9118617B1 (en) Methods and apparatus for adapting the protection level for protected content
US8375424B2 (en) Replicating selected secrets to local domain controllers
KR20000052556A (ko) 외부 시스템 로그인을 위한 자동 서버 결정을 허용하는방법 및 장치
KR100868037B1 (ko) 데이터베이스 접속 통제 방법 및 시스템
RU2434283C1 (ru) Система защиты информации от несанкционированного доступа к информации, содержащей сведения, составляющие государственную тайну
KR20050121778A (ko) 데이터베이스 시스템의 감사, 통제 방법 및 시스템
RU2443017C1 (ru) Система защиты информации от несанкционированного доступа к информации, содержащей сведения, составляющие государственную тайну
JP2002304231A (ja) コンピュータシステム
RU2444057C1 (ru) Система защиты информации от несанкционированного доступа к конфиденциальной информации и информации, содержащей персональные данные
KR100341852B1 (ko) 서버-클라이언트 응용 프로그램에 독립적인 인증 시스템 및 인증 방법
KR20050096047A (ko) 사용자 계정 및 스케쥴링에 의한 디바이스 접근권한 제어장치 및 그 방법
JP2005011052A (ja) データベース管理方法およびシステム
Bui Single sign-on solution for MYSEA services
Hutchison et al. Ids/a: An interface between intrusion detection system and application

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111101

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee