KR100913190B1 - Method for database preservation web-based 3 tier environment and apparatus thereof - Google Patents
Method for database preservation web-based 3 tier environment and apparatus thereof Download PDFInfo
- Publication number
- KR100913190B1 KR100913190B1 KR1020070093110A KR20070093110A KR100913190B1 KR 100913190 B1 KR100913190 B1 KR 100913190B1 KR 1020070093110 A KR1020070093110 A KR 1020070093110A KR 20070093110 A KR20070093110 A KR 20070093110A KR 100913190 B1 KR100913190 B1 KR 100913190B1
- Authority
- KR
- South Korea
- Prior art keywords
- server
- web
- database
- access
- query
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 208
- 238000004321 preservation Methods 0.000 title 1
- 239000000284 extract Substances 0.000 claims abstract description 53
- 238000012544 monitoring process Methods 0.000 claims description 31
- 230000009466 transformation Effects 0.000 claims description 24
- 238000004891 communication Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims 1
- 238000012550 audit Methods 0.000 abstract description 27
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 238000007781 pre-processing Methods 0.000 description 12
- 230000002159 abnormal effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
Abstract
개시된 내용은 웹기반 3-티어 환경의 데이터베이스 보안방법 및 그 장치에 관한 것으로서, 웹기반 3-티어 환경의 데이터베이스 보안서비스를 수행하는 데이터베이스 보안서버에서 웹 소스 내에서 SQL 문장을 추출한 후 웹 페이지별 SQL 문자 리스트를 저장하고, 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 웹서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속이 수행되면 웹 접속 정보수집 모듈에서 웹서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속을 수행하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 접속자료를 추출하여 데이터베이스 보안서버로 전송하고, 웹서버와 데이터베이스 서버 사이에 설치된 데이터베이스 보안 게이트웨이에서 웹서버를 경유하여 데이터베이스 서버에 접근하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버 접속자료를 추출하며, 데이터베이스 보안서버에서 웹 접속 정보수집 모듈에서 추출한 웹서버 접속자료와 데이터베이스 보안 게이트웨이에서 추출한 데이터베이스 서버 접속자료의 데이터 매칭을 수행하여 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버로의 접속 통제를 수행한다.Disclosed are a method and a device for database security in a web-based three-tier environment. After extracting SQL statements from a web source in a database security server that performs a database security service in a web-based three-tier environment, the SQL for each web page is extracted. The user who stores the character list and performs the HTTP connection for accessing the database server via the web server in the web access information collection module when the HTTP connection for accessing the database server via the web server of the user computer or the internal user computer is performed. Data from the user computer or internal user computer that accesses the database server via the web server from the database security gateway installed between the web server and the database server after extracting the connection data of the computer or internal user computer. It extracts the base server connection data and performs data matching between the web server connection data extracted from the web access information collection module and the database server connection data extracted from the database security gateway from the database security server to the database server of the user computer or the internal user computer. Perform access control.
웹기반, 3-티어(tier, 계층), 데이터베이스, 보안, 감사, 통제 Web-Based, 3-Tier, Database, Security, Audit, Control
Description
본 발명은 데이터베이스 보안방법 및 그 장치에 관한 것이다.The present invention relates to a database security method and apparatus thereof.
보다 상세하게는 웹서버, 웹 어플리케이션 서버(Web Application Server, WAS) 등을 사용하는 3-티어 환경에서의 각 티어에 대한 접근 정보를 통합 수집, 관리함으로써, 웹 기반 서비스를 사용하는 환경에서의 데이터베이스 보안을 수행할 수 있도록 하는 웹기반 3-티어 환경의 데이터베이스 보안방법 및 그 장치에 관한 것이다.More specifically, by collecting and managing access information for each tier in a three-tier environment using a web server, a web application server (WAS), and the like, a database in an environment using a web-based service A method and apparatus for securing a database in a web-based three-tier environment that can perform security.
일반적으로 공공기관, 기업을 포함하는 거의 모든 조직에 있어서 데이터베이스는 가치 창출을 위한 소중한 자산으로 인식되고 있으며, 정보기술(Information Technology, IT)의 중심에서 그 중요성이 강조되고 있다.In general, in almost all organizations including public institutions and corporations, databases are recognized as valuable assets for value creation, and their importance is emphasized at the center of information technology (IT).
이에 따라 데이터의 관리를 위한 많은 개념들과 이를 수용하기 위한 각종 솔루션이 활발하게 개발되어 왔으며, 특히 데이터의 유출 또는 악의적인 목적에 의한 훼손, 변형 등을 방지하기 위한 데이터베이스 보안 제품의 경우 그 중요도가 더욱 커지고 있다.Accordingly, many concepts for managing data and various solutions for accommodating data have been actively developed, and in particular, the importance of database security products to prevent data leakage or damage or modification due to malicious purposes is important. It's getting bigger.
인터넷의 발달로 인한 개인 정보의 가치가 급속하게 증가함에 따라 최근 들어 자주 발생되는 웹 서비스를 통한 개인 정보 유출 사고의 경우, 기업의 이미지 하락, 정보 유출에 대한 보상 요구 등의 직접적인 피해와 유출된 개인정보의 무단사용으로 인한 추가적인 피해로 인한 사회적, 경제적 손실이 발생되었으며, 이처럼 급증하는 개인정보 유출사고에 대비하여 각 국가별로 관계 법령의 정비가 속속 제정되고 있다.With the rapid increase in the value of personal information due to the development of the Internet, in the case of personal information leakage accidents through web services, which have occurred frequently in recent years, direct damages such as the loss of corporate image and the demand for compensation for information leakage, etc. Social and economic losses have been caused by additional damages caused by unauthorized use of information, and in order to prepare for such a surge of personal information leakage, relevant laws are being enacted in each country.
이와 같이 개인정보 보호를 위한 각국 정부의 법안 제정 등으로 인하여 공공기관, 기업 등에서는 데이터베이스 보안 제품을 필수적으로 적용하여야 하는 제품으로 인식하고 있으며, 향후 데이터베이스 보안 제품의 시장 역시 그 영역을 넓혀가고 있다.Due to the legislation of governments for the protection of personal information, public institutions and corporations recognize that database security products should be applied as essential products, and the market for database security products is expanding in the future.
데이터베이스 보안을 제공하기 위하여 현재 시장에 출시되어 있는 데이터베이스 보안 제품은 데이터를 암호화하여 데이터베이스에 저장하는 제품과, 데이터베이스에 접근하는 사용자를 통제하고 접근 이력을 감사하는 제품 등 크게 2가지 종류로 나눌 수 있다.Database security products currently on the market to provide database security can be divided into two categories: products that encrypt data and store it in the database, and products that control the users who access the database and audit the access history. .
이 중에서 접근 통제 및 감사를 주기능으로 하는 보안 제품의 경우 데이터베이스에 접속하는 최종 사용자에 대한 접근 및 감사 기능을 제공하고 있다.Among them, security products whose main functions are access control and auditing, provide access and auditing functions for end users accessing the database.
즉, 도 1에 도시된 바와 같이 사용자 PC(1)에서 데이터베이스 서버(3)로 직접 접근을 시도하는 2-티어 방식의 경우에는, 데이터베이스 보안서버(2)에서 데이 터베이스 서버(3)에 접근하는 사용자 PC(1)의 접근 통제와 접근에 대한 감사가 가능하다.That is, in the case of the two-tier system in which the user PC 1 directly attempts to access the
하지만, 도 2에 도시된 바와 같이 사용자 PC(10)에서 웹서버 또는 웹 어플리케이션 서버(20)를 경유하여 데이터베이스 서버(40)로 접근하는 3-티어 방식의 경우에는, 데이터베이스 보안서버(30)에서 웹서버 또는 웹 어플리케이션 서버(20)의 정보가 사용자 정보로 나타나기 때문에 데이터베이스 서버(40)에 접근하는 실제 사용자 PC(10)에 대한 통제 및 감사 기능을 제공할 수 없는 문제점이 발생하였다.However, in the case of the three-tier method of accessing the
즉, 현재 웹서버 또는 웹 어플리케이션 서버를 경유한 데이터베이스 서버로의 접근은 최종 사용자 정보를 취득할 수 없기 때문에 웹서버 또는 웹 어플리케이션 서버에서 인증된 사용자의 경우 아무런 제약을 받지 않고 데이터베이스 서버에 접근할 수 있으며, 특히 웹서버 또는 웹 어플리케이션 서버의 경우에는 실행 소스 자체가 오픈되어 있는 상태이므로 악의적인 의도를 가진 사용자에 의해 해킹되거나 또는 내부 사용자에 의해 데이터베이스의 내용이 유출되는 사고가 발생될 수 있는 것이다. 이 경우 데이터베이스 보안 제품이 설치되어 있다고 하더라도 데이터베이스의 내용을 유출한 사용자를 확인할 방법이 없게 된다.In other words, access to the database server via the current web server or web application server cannot obtain end user information. Therefore, the authenticated user in the web server or web application server can access the database server without any restrictions. In particular, in the case of a web server or a web application server, since the execution source itself is open, an accident in which the contents of the database may be hacked by a malicious user or leaked by an internal user may occur. In this case, even if a database security product is installed, there is no way to identify the user who has leaked the contents of the database.
이처럼 IT 환경이 3-티어 기반의 환경으로 변화되어 가면서 기존의 2-티어 환경을 위한 데이터베이스 보안 제품으로는 이러한 IT 환경에서의 데이터베이스 보안을 지원하지 못하는 기술적인 한계에 부딪치게 되었으며, 데이터베이스 서버를 사용하는 고객들의 보안강화 요구가 지속적으로 증가되고 있는 추세에 있다.As the IT environment changes to a three-tier environment, database security products for existing two-tier environments face technical limitations that cannot support database security in these IT environments. The demand for enhanced security of customers is on the rise.
본 발명의 목적은 전술한 문제점을 해결할 수 있도록, 웹서버, 웹 어플리케이션 서버 등을 사용하는 3-티어 환경에서의 데이터베이스 보안 기능을 제공하기 위하여 중간에 위치하는 웹서버, 웹 어플리케이션 서버에 대한 접속 정보와 데이터베이스 보안의 연계를 통해 3-티어 환경의 데이터베이스 보안을 제공할 수 있도록 하는 웹기반 3-티어 환경의 데이터베이스 보안방법 및 그 장치를 제공하는 데 있다.An object of the present invention to solve the above problems, access information for a web server, a web application server located in the middle to provide a database security function in a three-tier environment using a web server, a web application server, etc. The present invention provides a method and apparatus for securing a database in a web-based three-tier environment that can provide database security in a three-tier environment by linking the database and database security.
본 발명의 다른 목적은, 서비스를 제공하는 웹서버, 웹 어플리케이션 서버에 대한 접속 정보와 웹서버, 웹 어플리케이션 서버로부터 발생하는 데이터베이스 접근 정보를 통합 저장, 관리하고, 데이터베이스와 웹서버/웹 어플리케이션 서버를 연계하는 접근 제어 및 감사 자료를 수집하고, 비인가 웹페이지 또는 모듈로부터의 데이터베이스 접근을 통제하며, 3-티어 환경에서의 접속 내용에 대한 보고서 작성 기능을 제공하도록 하는 웹기반 3-티어 환경의 데이터베이스 보안방법 및 그 장치를 제공하는 데 있다.It is another object of the present invention to integrate and store a web server providing a service, access information for a web application server and database access information generated from a web server and a web application server, and to manage a database and a web server / web application server. Database security in a web-based three-tier environment that collects associated access control and audit data, controls database access from unauthorized web pages or modules, and provides reporting capabilities for access in three-tier environments. A method and apparatus are provided.
이러한 목적을 달성하기 위한 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법은, (1-1) 웹기반 3-티어 환경의 데이터베이스 보안서비스를 수행하는 데이터베이스 보안서버에서 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지 별 SQL 문자 리스트를 저장하는 단계와, (1-2) 웹서버 내에 설치되어 있는 웹 접속 정보수집 모듈에서 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 웹서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속이 수행되는지를 확인하는 단계와, (1-3) 웹 접속 정보수집 모듈에서 웹서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속을 수행하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 웹서버 접속자료를 추출하고, 추출된 웹서버 접속자료를 데이터베이스 보안서버로 전송하는 단계와, (1-4) 웹서버와 데이터베이스 서버 사이에 설치된 데이터베이스 보안 게이트웨이에서 웹서버를 경유하여 데이터베이스 서버에 접근하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버 접속자료를 추출하는 단계와, (1-5) 데이터베이스 보안서버에서 (1-3) 단계를 통해 웹 접속 정보수집 모듈에서 추출한 웹서버 접속자료와 (1-4) 단계를 통해 데이터베이스 보안 게이트웨이에서 추출한 데이터베이스 서버 접속자료의 데이터 매칭을 수행하고, 데이터 매칭 수행 결과를 토대로 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버로의 접속 통제를 수행하는 단계, 및 (1-6) 데이터베이스 보안서버에서 (1-3) 단계 및 (1-4) 단계에서 추출되는 웹서버 접속자료 및 데이터베이스 서버 접속자료와, (1-5) 단계에서 수행하는 웹서버를 경유한 데이터베이스 서버로의 접속 통제 결과를 지속적으로 저장, 관리하고, 보고서를 생성하는 단계를 포함하는 것을 특징으로 한다.Database security method of a web-based three-tier environment according to the present invention for achieving this purpose, (1-1) SQL statements in a web source in a database security server that performs a database security service of a web-based three-tier environment Extracting and storing a list of SQL characters for each web page, and (1-2) for accessing a database server via a web server of a user computer or an internal user computer in a web access information collection module installed in a web server. Checking whether the HTTP connection is established, and (1-3) extracting the web server access data of the user computer or the internal user computer that performs the HTTP connection for accessing the database server via the web server in the web access information collection module. Transmitting the extracted web server access data to a database security server, and (1-4) the web server and the database server. Extracting database server connection data of user computer or internal user computer accessing the database server through the web server at the database security gateway installed in between, and (1-5) step (1-3) at the database security server. Data matching between the web server access data extracted from the web access information collection module and the database server access data extracted from the database security gateway through steps (1-4), and based on the data matching result, Performing access control to the database server, and (1-6) web server access data and database server access data extracted in steps (1-3) and (1-4) from the database security server, (1 -5) Access control to database server via web server executed in step 5) Persistently storing, managing, and characterized in that it comprises the step of generating a report.
그리고 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법은, (2-1) 웹기반 3-티어 환경의 데이터베이스 보안서비스를 수행하는 데이터베이스 보안서버에서 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지별 SQL 문자 리스트를 저 장하는 단계와, (2-2) 웹서버 내에 설치되어 있는 웹 접속 정보수집 모듈에서 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 웹서버/웹 어플리케이션 서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속이 수행되는지를 확인하는 단계와, (2-3) 웹 접속 정보수집 모듈에서 웹서버/웹 어플리케이션 서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속을 수행하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 웹서버 접속자료를 추출하고, 추출된 웹서버 접속자료를 데이터베이스 보안서버로 전송하는 단계와, (2-4) 웹 어플리케이션 서버에 설치된 쿼리 스니핑 모듈에서 데이터베이스 서버 접속을 위한 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 쿼리 정보를 추출하고, 추출된 쿼리 정보를 데이터베이스 보안서버로 전송하는 단계와, (2-5) 웹서버/웹 어플리케이션 서버와 데이터베이스 서버 사이에 설치된 데이터베이스 보안 게이트웨이에서 웹서버/웹 어플리케이션 서버를 경유하여 데이터베이스 서버에 접근하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버 접속자료를 추출하는 단계와, (2-6) 데이터베이스 보안서버에서 (2-3) 단계를 통해 웹 접속 정보수집 모듈에서 추출한 웹서버 접속자료, (2-4) 단계를 통해 쿼리 스니핑 모듈에서 추출한 쿼리 정보, (2-5) 단계를 통해 데이터베이스 보안 게이트웨이에서 추출한 데이터베이스 서버 접속자료의 데이터 매칭을 수행하고, 데이터 매칭 수행 결과를 토대로 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버로의 접속 통제를 수행하는 단계와, (2-7) 데이터베이스 보안서버에서 (2-3) 단계 및 (2-4) 단계에서 추출되는 웹서버 접속자료 및 쿼리 정보와, (2-6) 단계에서 수행하는 웹서버/웹 어플리케이션 서버를 경유한 데이터베이스 서버로의 접속 통제 결과를 지 속적으로 저장, 관리하고, 보고서를 생성하는 단계를 포함하는 것을 다른 특징으로 한다.In addition, the database security method of the web-based three-tier environment according to the present invention, (2-1) extracts SQL statements from a web source in a database security server that performs a database security service of a web-based three-tier environment, (2-2) Web access information collection module installed in web server to access database server via web server / web application server of user computer or internal user computer. A step of checking whether an HTTP connection is made, and (2-3) a web server of a user computer or an internal user computer that performs an HTTP connection for accessing a database server via a web server / web application server in a web access information collection module. Extracting the access data and transmitting the extracted web server access data to the database security server; (2-4) Extracting query information of a user computer or an internal user computer for accessing a database server from a query sniffing module installed in an application server, and transmitting the extracted query information to a database security server; (2-5) a web server / web application; Extracting database server connection data of a user computer or an internal user computer accessing the database server through a web server / web application server at a database security gateway installed between the server and the database server, and (2-6) a database security server. In (2-3), the web server access data extracted from the web access information collection module, the query information extracted from the query sniffing module through (2-4), and the database security gateway extracted through (2-5). Data Matching of Database Server Connection Data And controlling access to the database server of the user computer or the internal user computer based on the result of data matching, (2-7) steps (2-3) and (2-4) at the database security server. Continuously store and manage the web server access data and query information extracted in the step, and the access control result to the database server via the web server / web application server performed in step (2-6) and generate a report It is another feature that comprises the step of.
그리고 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법은, (3-1) 웹기반 3-티어 환경의 데이터베이스 보안서비스를 수행하는 데이터베이스 보안서버에서 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지별 SQL 문자 리스트를 저장하는 단계와, (3-2) 웹서버 전단에 설치된 웹 접속 감시 게이트웨이 내에 구비된 웹 접속 정보수집 모듈에서 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 웹서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속이 수행되는지를 확인하는 단계와, (3-3) 웹 접속 감시 게이트웨이 내에 구비된 웹 접속 정보수집 모듈에서 웹서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속을 수행하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 웹서버 접속자료를 추출하고, 추출된 웹서버 접속자료를 데이터베이스 보안서버로 전송하는 단계와; (3-4) 웹서버와 데이터베이스 서버 사이에 설치된 데이터베이스 보안 게이트웨이에서 웹서버를 경유하여 데이터베이스 서버에 접근하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버 접속자료를 추출하는 단계와, (3-5) 데이터베이스 보안서버에서 (3-3) 단계를 통해 웹 접속 감시 게이트웨이 내에 구비된 웹 접속 정보수집 모듈에서 추출한 웹서버 접속자료와 (3-4) 단계를 통해 데이터베이스 보안 게이트웨이에서 추출한 데이터베이스 서버 접속자료의 데이터 매칭을 수행하고, 데이터 매칭 수행 결과를 토대로 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버로의 접속 통제를 수행하는 단계, 및 (3-6) 데이터베이스 보안서버에서 (3-3) 단계 및 (3-4) 단계에서 추출되 는 웹서버 접속자료 및 데이터베이스 서버 접속자료와, (3-5) 단계에서 수행하는 웹서버를 경유한 데이터베이스 서버로의 접속 통제 결과를 지속적으로 저장, 관리하고, 보고서를 생성하는 단계를 포함하는 것을 또 다른 특징으로 한다.In addition, the database security method of the web-based three-tier environment according to the present invention, (3-1) extracts SQL statements in the web source from a database security server that performs a database security service of the web-based three-tier environment, Storing the SQL character list for each page, and (3-2) accessing the database server via the web server of the user computer or the internal user computer in the web access information collection module provided in the web access monitoring gateway installed at the front of the web server. (3-3) a user computer or an internal user performing an HTTP connection for accessing a database server via a web server in the web access information collection module provided in the web access monitoring gateway; Extract web server access data of computer and transfer extracted web server access data to database security server And the step of; (3-4) extracting the database server connection data of the user computer or the internal user computer accessing the database server via the web server at the database security gateway installed between the web server and the database server, and (3-5) the database. Data matching of web server access data extracted from web access information collection module provided in web access monitoring gateway through step (3-3) and database server access data extracted from database security gateway through step (3-4) Performing access control to the database server of the user computer or the internal user computer based on the result of data matching, and (3-6) steps (3-3) and (3-4) at the database security server. Web server connection data and database server connection data extracted in step (3-5) Another feature is the step of continuously storing, managing, and generating a report of access control results to a database server via a web server running in the system.
그리고 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법은, (4-1) 웹기반 3-티어 환경의 데이터베이스 보안서비스를 수행하는 데이터베이스 보안서버에서 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지별 SQL 문자 리스트를 저장하는 단계와, (4-2) 웹서버 전단에 설치된 웹 접속 감시 게이트웨이 내에 구비된 웹 접속 정보수집 모듈에서 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 웹서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속이 수행되는지를 확인하는 단계와, (4-3) 웹 접속 정보수집 모듈에서 웹서버/웹 어플리케이션 서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속을 수행하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 웹서버 접속자료를 추출하고, 추출된 웹서버 접속자료를 데이터베이스 보안서버로 전송하는 단계와, (4-4) 웹 어플리케이션 서버에 설치된 쿼리 스니핑 모듈에서 데이터베이스 서버 접속을 위한 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 쿼리 정보를 추출하고, 추출된 쿼리 정보를 데이터베이스 보안서버로 전송하는 단계와, (4-5) 웹서버/웹 어플리케이션 서버와 데이터베이스 서버 사이에 설치된 데이터베이스 보안 게이트웨이에서 웹서버/웹 어플리케이션 서버를 경유하여 데이터베이스 서버에 접근하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버 접속자료를 추출하는 단계와, (4-6) 데이터베이스 보안서버에서 (4-3) 단계를 통해 웹 접속 정보수집 모듈에서 추출한 웹서버 접속자료, (4-4) 단계를 통해 쿼리 스니핑 모듈에서 추출한 쿼리 정보, (4-5) 단계를 통해 데이터베이스 보안 게이트웨이에서 추출한 데이터베이스 서버 접속자료의 데이터 매칭을 수행하고, 데이터 매칭 수행 결과를 토대로 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버로의 접속 통제를 수행하는 단계, 및 (4-7) 데이터베이스 보안서버에서 (4-3) 단계 및 (4-4) 단계에서 추출되는 웹서버 접속자료 및 쿼리 정보와, (4-6) 단계에서 수행하는 웹서버/웹 어플리케이션 서버를 경유한 데이터베이스 서버로의 접속 통제 결과를 지속적으로 저장, 관리하고, 보고서를 생성하는 단계를 포함하는 것을 또 다른 특징으로 한다.In addition, the database security method of the web-based three-tier environment according to the present invention, (4-1) extracts SQL statements in a web source from a database security server that performs a database security service of a web-based three-tier environment, Storing the SQL character list for each page, and (4-2) accessing the database server via the web server of the user computer or the internal user computer in the web access information collection module provided in the web access monitoring gateway installed at the front of the web server. (4-3) the web of the user computer or the internal user computer that performs the HTTP connection for accessing the database server via the web server / web application server in the web access information collection module (4-3). Extracting the server access data and transmitting the extracted web server access data to the database security server; Extracting the query information of the user computer or the internal user computer for accessing the database server from the query sniffing module installed in the web application server, and transmitting the extracted query information to the database security server (4-5) Extracting database server connection data of a user computer or an internal user computer accessing the database server via the web server / web application server at a database security gateway installed between the server / web application server and the database server, (4-6 ) Web server access data extracted from web access information collection module through step (4-3) of database security server, query information extracted from query sniffing module through step (4-4), database through (4-5) step Of database server connection data extracted from security gateway. Performing data matching, and controlling access of the user computer or the internal user computer to the database server based on the data matching result, and (4-7) steps (4-3) and (4- in the database security server. Continuously store and manage web server access data and query information extracted in step 4) and access control results to database server via web server / web application server performed in step (4-6). It is another feature to include the step of generating.
그리고 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법은, (5-1) 웹기반 3-티어 환경의 데이터베이스 보안서비스를 수행하는 데이터베이스 보안서버에서 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지별 SQL 문자 리스트를 저장하는 단계와, (5-2) 웹서버로 HTTP 접속을 요청하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 스위칭을 수행하는 네트워크 스위치에 탭 장비에 의해 연결, 설치된 패킷 스니핑 장치에서 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 웹서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속이 수행되는지를 확인하는 단계와, (5-3) 패킷 스니핑 장치 내에 구비된 웹 접속 정보수집 모듈에서 웹서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속을 수행하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 웹서버 접속자료를 추출하고, 추출된 웹서버 접속자료를 데이터베이스 보안서버로 전송하는 단계와, (5-4) 웹서버와 데이터베이스 서버 사이에 설치된 데이터베이스 보안 게이트웨이에서 웹서버를 경유하여 데이터베이스 서버에 접근하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버 접속자료를 추출하는 단계와, (5-5) 데이터베이스 보안서버에서 (5-3) 단계를 통해 패킷 스니핑 장치 내에 구비된 웹 접속 정보수집 모듈에서 추출한 웹서버 접속자료와 (5-4) 단계를 통해 데이터베이스 보안 게이트웨이에서 추출한 데이터베이스 서버 접속자료의 데이터 매칭을 수행하고, 데이터 매칭 수행 결과를 토대로 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버로의 접속 통제를 수행하는 단계, 및 (5-6) 데이터베이스 보안서버에서 (5-3) 단계 및 (5-4) 단계에서 추출되는 웹서버 접속자료 및 데이터베이스 서버 접속자료와, (5-5) 단계에서 수행하는 웹서버를 경유한 데이터베이스 서버로의 접속 통제 결과를 지속적으로 저장, 관리하고, 보고서를 생성하는 단계를 포함하는 것을 또 다른 특징으로 한다.In addition, the database security method of the web-based three-tier environment according to the present invention, (5-1) to extract the SQL statements in the web source from the database security server that performs the database security service of the web-based three-tier environment, Storing a list of SQL characters for each page, and (5-2) connecting a tap device to a network switch that performs switching of a user computer or an internal user computer that requests HTTP access to a web server. Checking whether an HTTP connection for accessing a database server via a web server of a computer or an internal user computer is performed; and (5-3) a database via a web server in the web access information collection module provided in the packet sniffing device. Web server access data of user computer or internal user computer that performs HTTP connection for server access. Extracting and transmitting the extracted web server access data to the database security server, and (5-4) a user computer or internal user accessing the database server via the web server at the database security gateway installed between the web server and the database server. Extracting the database server connection data of the user computer; and (5-5) the web server connection data extracted from the web access information collection module provided in the packet sniffing device through the step (5-3) of the database security server; Performing data matching of the database server connection data extracted from the database security gateway through step -4), and controlling access to the database server of the user computer or the internal user computer based on the data matching result; and (5- 6) Steps (5-3) and (5-4) at the database security server. Web server access data and database server access data extracted from, and continuously storing and managing the results of access control to the database server via the web server performed in step (5-5), and generating a report It is another feature to do.
그리고 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법은, (6-1) 웹기반 3-티어 환경의 데이터베이스 보안서비스를 수행하는 데이터베이스 보안서버에서 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지별 SQL 문자 리스트를 저장하는 단계와, (6-2) 웹서버로 HTTP 접속을 요청하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 스위칭을 수행하는 네트워크 스위치에 탭 장비에 의해 연결, 설치된 패킷 스니핑 장치에서 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 웹서버/웹 어플리케이션 서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속이 수행되는지를 확인하는 단계와, (6-3) 패킷 스니핑 장치 내의 웹 접속 정보수집 모듈에서 웹서버/웹 어플리케이션 서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속을 수행하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 웹서버 접속자료를 추출하고, 추출 된 웹서버 접속자료를 데이터베이스 보안서버로 전송하는 단계와, (6-4) 웹 어플리케이션 서버에 설치된 쿼리 스니핑 모듈에서 데이터베이스 서버 접속을 위한 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 쿼리 정보를 추출하고, 추출된 쿼리 정보를 데이터베이스 보안서버로 전송하는 단계와, (6-5) 웹서버/웹 어플리케이션 서버와 데이터베이스 서버 사이에 설치된 데이터베이스 보안 게이트웨이에서 웹서버/웹 어플리케이션 서버를 경유하여 데이터베이스 서버에 접근하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버 접속자료를 추출하는 단계와, (6-6) 데이터베이스 보안서버에서 (6-3) 단계를 통해 웹 접속 정보수집 모듈에서 추출한 웹서버 접속자료, (6-4) 단계를 통해 쿼리 스니핑 모듈에서 추출한 쿼리 정보, (6-5) 단계를 통해 데이터베이스 보안 게이트웨이에서 추출한 데이터베이스 서버 접속자료의 데이터 매칭을 수행하고, 데이터 매칭 수행 결과를 토대로 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버로의 접속 통제를 수행하는 단계, 및 (6-7) 데이터베이스 보안서버에서 (6-3) 단계 및 (6-4) 단계에서 추출되는 웹서버 접속자료 및 쿼리 정보와, (6-6) 단계에서 수행하는 웹서버/웹 어플리케이션 서버를 경유한 데이터베이스 서버로의 접속 통제 결과를 지속적으로 저장, 관리하고, 보고서를 생성하는 단계를 포함하는 것을 또 다른 특징으로 한다.In addition, the database security method of the web-based three-tier environment according to the present invention, (6-1) extracts SQL statements in a web source from a database security server that performs a database security service of a web-based three-tier environment, Storing a list of SQL characters per page, and (6-2) connecting to a network switch that performs switching of a user computer or an internal user computer requesting an HTTP connection to a web server. Checking whether an HTTP connection for accessing a database server via a web server / web application server of a computer or an internal user computer is performed; and (6-3) a web server / web in a web access information collection module in a packet sniffing device. User computer or HTTP server making HTTP connection for connecting to database server through application server Extracting the web server access data of the user computer, and transmitting the extracted web server access data to the database security server, and (6-4) user computer or internal access to the database server in the query sniffing module installed in the web application server Extracting the query information of the user computer and transmitting the extracted query information to the database security server, and (6-5) the web server / web application server at the database security gateway installed between the web server / web application server and the database server. Extracting the database server connection data of the user computer or internal user computer accessing the database server via (6-6) and the web extracted from the web access information collection module in step (6-3) of the database security server. Server sniffing, query sniffing through steps (6-4) Through the query information extracted from the module, and (6-5), data matching of the database server connection data extracted from the database security gateway is performed, and access control of the user computer or the internal user computer to the database server is performed based on the data matching result. And (6-7) web server access data and query information extracted in steps (6-3) and (6-4) of the database security server, and the web server performed in step (6-6) Another feature includes the continuous storage and management of access control results to the database server via the web application server and the generation of reports.
또한, 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치는, 네트워크 통신망을 통해 접속한 사용자 컴퓨터 또는 내부 사용자 컴퓨터로부터 웹서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속이 수행되면, 해당 사용자 컴 퓨터 또는 내부 사용자 컴퓨터의 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리를 포함한 웹서버 접속자료를 추출하는 웹 접속 정보수집 모듈이 구비된 웹서버와; 웹서버와 데이터베이스 사이에 설치되며, 웹서버를 경유하여 데이터베이스에 접근하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 접속자료를 추출하는 데이터베이스 보안 게이트웨이와; 각종 디지털 컨텐츠를 저장하고 있으며, 웹서버를 경유하여 접속된 사용자 컴퓨터 또는 내부 사용자 컴퓨터에서 요청하는 소정의 데이터를 제공하는 데이터베이스 서버, 및 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지별 SQL 문자 리스트를 저장하고, 웹서버 내의 웹 접속 정보수집 모듈로부터 전송받은 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리를 포함한 웹서버 접속자료와 데이터베이스 보안 게이트웨이로부터 전송받은 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 서버 접속자료를 저장, 관리하고, 웹서버 접속자료와 데이터베이스 서버 접속자료 중 쿼리 실행 프로세스 ID와 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행하고, 데이터 매칭 수행 결과를 토대로 데이터베이스 보안 게이트웨이에서 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버로의 접속 통제를 제어하며, 웹 접속 정보수집 모듈에서 추출한 웹서버 접속자료 및 데이터베이스 보안 게이트웨이에서 추출한 데이터베이스 서버 접속자료와, 웹서버를 경유한 데이터베이스 서버로의 접속 통제 결과를 토대로 보고서를 생성하는 데이터베이스 보안 서버를 포함하는 것을 특징으로 한다.In addition, the database security device of the web-based three-tier environment according to the present invention, when the HTTP connection for accessing the database server via a web server from a user computer or an internal user computer connected through a network communication network, the user com A web server provided with a web access information collecting module for extracting web server access data including access time, access IP address, calling web page, query execution process ID, and query of a computer or an internal user computer; Installed between web server and database, database access data including access time, access server IP address, user ID, application name, query execution process ID, and query of user computer or internal user computer accessing database through web server. A database security gateway for extracting; It stores various digital contents, provides a database server which provides predetermined data requested from a user computer or an internal user computer connected via a web server, and extracts SQL statements from a web source, and lists SQL characters for each web page. The access time received from the web access information collection module in the web server, the access IP address, the calling web page, the query execution process ID, the web server access data including the query, the access time received from the database security gateway, and the access server. Stores and manages database server connection data including IP address, user ID, application name, query execution process ID, and query, and checks for consistency using query execution process ID and query among web server connection data and database server connection data. Perform data matching, and Based on the matching result, it controls the access control from the database security gateway to the database server of the user computer or the internal user computer, and the web server access data extracted from the web access information collection module and the database server access data extracted from the database security gateway It characterized in that it comprises a database security server for generating a report based on the access control results to the database server via the server.
그리고 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치는, 웹서버 내에 설치되어 네트워크 통신망을 통해 접속한 사용자 컴퓨터 또는 내부 사용자 컴퓨터로부터 웹서버/웹 어플리케이션 서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속이 수행되면, 해당 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리를 포함한 웹서버 접속자료를 추출하는 웹 접속 정보수집 모듈과, 웹 어플리케이션 서버 내에 설치되어 데이터베이스 서버 접속을 위한 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 접속시간, 쿼리를 포함한 쿼리 정보를 추출하는 쿼리 스니핑 모듈이 구비된 웹서버/웹 어플리케이션 서버와; 웹서버/웹 어플리케이션 서버와 데이터베이스 사이에 설치되며, 웹서버/웹 어플리케이션 서버를 경유하여 데이터베이스에 접근하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 접속자료를 추출하는 데이터베이스 보안 게이트웨이와; 각종 디지털 컨텐츠를 저장하고 있으며, 웹서버/웹 어플리케이션 서버를 경유하여 접속된 사용자 컴퓨터 또는 내부 사용자 컴퓨터에서 요청하는 소정의 데이터를 제공하는 데이터베이스 서버, 및 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지별 SQL 문자 리스트를 저장하고, 웹서버 내의 웹 접속 정보수집 모듈로부터 전송받은 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리를 포함한 웹서버 접속자료와, 웹 어플리케이션 서버 내의 쿼리 스니핑 모듈로부터 전송받은 접속시간, 쿼리를 포함한 쿼리 정보와, 데이터베이스 보안 게이트웨이로부 터 전송받은 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 서버 접속자료를 저장, 관리하고, 웹서버 접속자료와, 쿼리 정보와, 데이터베이스 서버 접속자료 중 접속시간과 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행하고, 데이터 매칭 수행 결과를 토대로 데이터베이스 보안 게이트웨이에서 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버로의 접속 통제를 제어하며, 웹 접속 정보수집 모듈에서 추출하는 웹서버 접속자료와, 쿼리 스니핑 모듈에서 추출하는 쿼리 정보와, 데이터베이스 보안 게이트웨이에서 추출하는 데이터베이스 서버 접속자료와, 웹서버/웹 어플리케이션 서버를 경유한 데이터베이스 서버로의 접속 통제 결과를 토대로 보고서를 생성하는 데이터베이스 보안서버를 포함하는 것을 다른 특징으로 한다.In addition, the database security device of the web-based three-tier environment according to the present invention, HTTP for accessing a database server via a web server / web application server from a user computer or an internal user computer installed in a web server and connected through a network communication network When the connection is established, the web access information collection module extracts web server access data including access time, access IP address, calling web page, and query of the user computer or internal user computer, and is installed in the web application server to access the database server. A web server / web application server equipped with a query sniffing module for extracting query information including a connection time and a query of a user computer or an internal user computer; Installed between the web server / web application server and the database, the access time, access server IP address, user ID, application name, query execution process of the user computer or internal user computer accessing the database via the web server / web application server. A database security gateway for extracting database connection data including IDs and queries; It stores various digital contents, provides a database server which provides predetermined data requested from a user computer or an internal user computer connected via a web server / web application server, and extracts SQL statements from a web source. It stores a list of SQL characters for each character, and accesses web server connection data including access time, connection IP address, calling web page, and query received from web access information collection module in web server, and query received from query sniffing module in web application server. Stores and manages query information including time and query, access time received from database security gateway, access server IP address, user ID, application name, query execution process ID, and database server connection data including query Server connection data, query information, database Perform data matching to check whether the server access data is matched by using the access time and query, and control access control from the database security gateway to the database server of the user computer or the internal user computer based on the data matching result. Web server connection data extracted from the connection information collection module, query information extracted from the query sniffing module, database server connection data extracted from the database security gateway, and access control to the database server via the web server / web application server. Another feature is that it includes a database security server that generates reports based on the results.
그리고 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치는, 웹서버 전단에 설치되고, 네트워크 통신망을 통해 접속한 사용자 컴퓨터 또는 내부 사용자 컴퓨터로부터 웹서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속이 수행되면, 해당 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리를 포함한 웹서버 접속자료를 추출하는 웹 접속 정보수집 모듈이 구비된 웹 접속 감시 게이트웨이와; 웹서버와 데이터베이스 사이에 설치되며, 웹서버를 경유하여 데이터베이스에 접근하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 접속자료를 추출하는 데이터베이스 보안 게이트웨이와; 각종 디지털 컨텐츠를 저장하고 있으며, 웹서버를 경유하여 접속된 사용자 컴퓨터 또는 내부 사용자 컴퓨터에서 요청하는 소정의 데이터를 제공하는 데이터베이스 서버; 및 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지별 SQL 문자 리스트를 저장하고, 웹 접속 감시 게이트웨이 내의 웹 접속 정보수집 모듈로부터 전송받은 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리를 포함한 웹서버 접속자료와 데이터베이스 보안 게이트웨이로부터 전송받은 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 서버 접속자료를 저장, 관리하고, 웹서버 접속자료와 데이터베이스 서버 접속자료 중 쿼리 실행 프로세스 ID와 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행하고, 데이터 매칭 수행 결과를 토대로 데이터베이스 보안 게이트웨이에서 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버로의 접속 통제를 제어하며, 웹 접속 정보수집 모듈에서 추출한 웹서버 접속자료 및 데이터베이스 보안 게이트웨이에서 추출한 데이터베이스 서버 접속자료와, 웹서버를 경유한 데이터베이스 서버로의 접속 통제 결과를 토대로 보고서를 생성하는 데이터베이스 보안서버를 포함하는 것을 또 다른 특징으로 한다.In addition, the database security apparatus of the web-based three-tier environment according to the present invention is installed in front of the web server, HTTP connection for accessing the database server via a web server from a user computer or an internal user computer connected through a network communication network A web access monitoring gateway equipped with a web access information collection module which extracts web server access data including access time, access IP address, calling web page, query execution process ID, and query of the corresponding user computer or internal user computer; ; Installed between web server and database, database access data including access time, access server IP address, user ID, application name, query execution process ID, and query of user computer or internal user computer accessing database through web server. A database security gateway for extracting; A database server which stores various digital contents and provides predetermined data requested by a user computer or an internal user computer connected via a web server; And extracting SQL statements from the web source, storing a list of SQL characters per web page, access time received from the web access information collection module in the web access monitoring gateway, access IP address, calling web page, query execution process ID, Web server connection data including query, access time received from database security gateway, access server IP address, user ID, application name, query execution process ID, database server connection data including query are stored and managed. Data matching is performed to confirm the match using the query execution process ID and the query among the database server and the database server access data, and access control from the database security gateway to the database server of the user computer or the internal user computer is performed based on the data matching result. Control, And another database security server that generates a report based on the results of access control to the database server via the web server and the web server access data extracted from the web access information collection module and the database server access data extracted from the database security gateway. It features.
그리고 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치는, 웹서버/웹 어플리케이션 서버 전단에 설치되고, 네트워크 통신망을 통해 접속한 사용자 컴퓨터 또는 내부 사용자 컴퓨터로부터 웹서버/웹 어플리케이션 서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속이 수행되면, 해당 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프 로세스 ID, 쿼리를 포함한 웹서버 접속자료를 추출하는 웹 접속 정보수집 모듈이 구비된 웹 접속 감시 게이트웨이와; 웹 어플리케이션 서버 내에 설치되어 웹 접속 감시 게이트웨이를 통해 데이터베이스 서버 접속을 위한 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 접속시간, 쿼리를 포함한 쿼리 정보를 추출하는 쿼리 스니핑 모듈이 구비된 웹서버/웹 어플리케이션 서버와; 웹서버/웹 어플리케이션 서버와 데이터베이스 사이에 설치되며, 웹서버/웹 어플리케이션 서버를 경유하여 데이터베이스에 접근하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 접속자료를 추출하는 데이터베이스 보안 게이트웨이와; 각종 디지털 컨텐츠를 저장하고 있으며, 웹서버/웹 어플리케이션 서버를 경유하여 접속된 사용자 컴퓨터 또는 내부 사용자 컴퓨터에서 요청하는 소정의 데이터를 제공하는 데이터베이스 서버; 및 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지별 SQL 문자 리스트를 저장하고, 웹 접속 감시 게이트웨이 내의 웹 접속 정보수집 모듈로부터 전송받은 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리를 포함한 웹서버 접속자료와, 웹 어플리케이션 서버 내의 쿼리 스니핑 모듈로부터 전송받은 접속시간, 쿼리를 포함한 쿼리 정보와, 데이터베이스 보안 게이트웨이로부터 전송받은 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 서버 접속자료를 저장, 관리하고, 웹서버 접속자료와, 쿼리 정보와, 데이터베이스 서버 접속자료 중 접속시간과 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행하고, 데이터 매칭 수행 결과를 토대로 데이터베이스 보안 게이트웨이에서 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버로의 접속 통제를 제어하며, 웹 접속 정보수집 모듈에서 추출하는 웹서버 접속자료와, 쿼리 스니핑 모듈에서 추출하는 쿼리 정보와, 데이터베이스 보안 게이트웨이에서 추출하는 데이터베이스 서버 접속자료와, 웹서버/웹 어플리케이션 서버를 경유한 데이터베이스 서버로의 접속 통제 결과를 토대로 보고서를 생성하는 데이터베이스 보안서버를 포함하는 것을 또 다른 특징으로 한다.In addition, the database security apparatus of a web-based three-tier environment according to the present invention is installed in front of a web server / web application server and connected to a user computer or an internal user computer via a network communication network via a web server / web application server. When an HTTP connection is established to access a database server, web access information is collected to extract web server access data including access time, access IP address, calling web page, query execution process ID, and query. A web access monitoring gateway equipped with a module; A web server / web application server installed in the web application server and including a query sniffing module configured to extract query information including a connection time and a query of a user computer or an internal user computer for accessing a database server through a web access monitoring gateway; Installed between the web server / web application server and the database, the access time, access server IP address, user ID, application name, query execution process of the user computer or internal user computer accessing the database via the web server / web application server. A database security gateway for extracting database connection data including IDs and queries; A database server storing various digital contents and providing predetermined data requested by a user computer or an internal user computer connected via a web server / web application server; And a web server that extracts an SQL statement from a web source, stores a list of SQL characters for each web page, and includes a connection time, an access IP address, a calling web page, and a query received from a web access information collection module in a web access monitoring gateway. Access data, query information including query time sent from query sniffing module in web application server, query information including query, access time received from database security gateway, access server IP address, user ID, application name, query execution process ID, query Stores and manages database server connection data, including the database server, performs data matching to check whether the web server connection data, query information, and database server connection data are matched using the connection time and query, and performs the data matching result. Users at the database security gateway It controls access control to the database server of the computer or internal user computer, and web server access data extracted from the web access information collection module, query information extracted from the query sniffing module, and database server access data extracted from the database security gateway. And a database security server that generates a report based on a result of access control to the database server via the web server / web application server.
그리고 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치는, 웹서버로 HTTP 접속을 요청하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 스위칭을 수행하는 네트워크 스위치에 탭 장비에 의해 연결, 설치되고, 사용자 컴퓨터 또는 내부 사용자 컴퓨터로부터 웹서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속이 수행되면, 네트워크 스위치로부터 미러링한 패킷을 통해 해당 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리를 포함한 웹서버 접속자료를 추출하는 웹 접속 정보수집 모듈이 구비된 패킷 스니핑 장치와; 웹서버와 데이터베이스 사이에 설치되며, 웹서버를 경유하여 데이터베이스에 접근하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 접속자료를 추출하는 데이터베이스 보안 게이트웨이와; 각종 디지털 컨텐츠를 저장하고 있으며, 웹서버를 경유하여 접속된 사용자 컴퓨터 또는 내부 사용자 컴퓨터에서 요청하는 소정의 데이터를 제공하는 데이터베이스 서버; 및 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지별 SQL 문자 리 스트를 저장하고, 패킷 스니핑 장치 내의 웹 접속 정보수집 모듈로부터 전송받은 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리를 포함한 웹서버 접속자료와 데이터베이스 보안 게이트웨이로부터 전송받은 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 서버 접속자료를 저장, 관리하고, 웹서버 접속자료와 데이터베이스 서버 접속자료 중 쿼리 실행 프로세스 ID와 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행하고, 데이터 매칭 수행 결과를 토대로 데이터베이스 보안 게이트웨이에서 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버로의 접속 통제를 제어하며, 웹 접속 정보수집 모듈에서 추출한 웹서버 접속자료 및 데이터베이스 보안 게이트웨이에서 추출한 데이터베이스 서버 접속자료와, 웹서버를 경유한 데이터베이스 서버로의 접속 통제 결과를 토대로 보고서를 생성하는 데이터베이스 보안서버를 포함하는 것을 또 다른 특징으로 한다.In addition, the database security device of a web-based three-tier environment according to the present invention is connected and installed by a tap device to a network switch that performs switching of a user computer or an internal user computer requesting an HTTP connection to a web server, and the user computer. Alternatively, when an HTTP connection is made to access a database server from an internal user computer via a web server, the access time, access IP address, calling web page, query, etc. of the user computer or internal user computer are executed through the packet mirrored from the network switch. A packet sniffing device equipped with a web access information collecting module for extracting web server access data including a process ID and a query; Installed between web server and database, database access data including access time, access server IP address, user ID, application name, query execution process ID, and query of user computer or internal user computer accessing database through web server. A database security gateway for extracting; A database server which stores various digital contents and provides predetermined data requested by a user computer or an internal user computer connected via a web server; Extract the SQL statement from the web source, store the list of SQL characters for each web page, access time received from the web access information collection module in the packet sniffing device, access IP address, calling web page, query execution process ID, Web server connection data including query, access time received from database security gateway, access server IP address, user ID, application name, query execution process ID, database server connection data including query are stored and managed. Data matching is performed to confirm the match using the query execution process ID and the query among the database server and the database server access data, and access control from the database security gateway to the database server of the user computer or the internal user computer is performed based on the data matching result. Control, web contact Another feature is that it includes Web server access data extracted from the information collection module and database server access data extracted from the database security gateway, and a database security server that generates a report based on the results of access control to the database server via the web server. do.
그리고 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치는, 웹서버/웹 어플리케이션 서버로 HTTP 접속을 요청하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 스위칭을 수행하는 네트워크 스위치에 탭 장비에 의해 연결, 설치되고, 사용자 컴퓨터 또는 내부 사용자 컴퓨터로부터 웹서버/웹 어플리케이션 서버를 경유한 데이터베이스 서버 접속을 위한 HTTP 접속이 수행되면, 네트워크 스위치로부터 미러링한 패킷을 통해 해당 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리를 포함한 웹서버 접속자료를 추출하는 웹 접속 정보수집 모듈이 구비된 패킷 스니핑 장치와; 웹 어플리케이션 서버 내에 설치되어 네트워크 스위치를 통해 데이터베이스 서버 접속을 위한 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 접속시간, 쿼리를 포함한 쿼리 정보를 추출하는 쿼리 스니핑 모듈이 구비된 웹서버/웹 어플리케이션 서버와; 웹서버/웹 어플리케이션 서버와 데이터베이스 사이에 설치되며, 웹서버/웹 어플리케이션 서버를 경유하여 데이터베이스에 접근하는 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 접속자료를 추출하는 데이터베이스 보안 게이트웨이와; 각종 디지털 컨텐츠를 저장하고 있으며, 웹서버/웹 어플리케이션 서버를 경유하여 접속된 사용자 컴퓨터 또는 내부 사용자 컴퓨터에서 요청하는 소정의 데이터를 제공하는 데이터베이스 서버; 및 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지별 SQL 문자 리스트를 저장하고, 패킷 스니핑 장치 내의 웹 접속 정보수집 모듈로부터 전송받은 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리를 포함한 웹서버 접속자료와, 웹 어플리케이션 서버 내의 쿼리 스니핑 모듈로부터 전송받은 접속시간, 쿼리를 포함한 쿼리 정보와, 데이터베이스 보안 게이트웨이로부터 전송받은 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 서버 접속자료를 저장, 관리하고, 웹서버 접속자료와, 쿼리 정보와, 데이터베이스 서버 접속자료 중 접속시간과 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행하고, 데이터 매칭 수행 결과를 토대로 데이터베이스 보안 게이트웨이에서 사용자 컴퓨터 또는 내부 사용자 컴퓨터의 데이터베이스 서버로의 접속 통제를 제어하며, 웹 접속 정보수집 모듈에 서 추출하는 웹서버 접속자료와, 쿼리 스니핑 모듈에서 추출하는 쿼리 정보와, 데이터베이스 보안 게이트웨이에서 추출하는 데이터베이스 서버 접속자료와, 웹서버/웹 어플리케이션 서버를 경유한 데이터베이스 서버로의 접속 통제 결과를 토대로 보고서를 생성하는 데이터베이스 보안서버를 포함하는 것을 또 다른 특징으로 한다.In addition, the database security apparatus of the web-based three-tier environment according to the present invention is connected and installed by a tap device to a network switch that performs switching of a user computer or an internal user computer requesting HTTP access to a web server / web application server. When the HTTP connection for accessing the database server from the user computer or the internal user computer via the web server / web application server is performed, the access time and the access IP of the user computer or the internal user computer through the packet mirrored from the network switch. A packet sniffing device equipped with a web access information collecting module for extracting web server access data including an address, a calling web page, a query execution process ID, and a query; A web server / web application server installed in the web application server and having a query sniffing module configured to extract query information including a query time and a connection time of a user computer or an internal user computer for accessing a database server through a network switch; Installed between the web server / web application server and the database, the access time, access server IP address, user ID, application name, query execution process of the user computer or internal user computer accessing the database via the web server / web application server. A database security gateway for extracting database connection data including IDs and queries; A database server storing various digital contents and providing predetermined data requested by a user computer or an internal user computer connected via a web server / web application server; And extracting SQL statements from a web source, storing a list of SQL characters for each web page, and accessing a web server including access time, access IP address, calling web page, and query received from a web access information collection module in a packet sniffing device. Data, the query information including the connection time received from the query sniffing module in the web application server, the query information including the query, the connection time received from the database security gateway, the access server IP address, the user ID, the application name, the query execution process ID, and the query. Stores and manages database server access data, including web server access data, query information, and data matching to check whether the database server access data is matched using the access time and query, and based on the data matching result. User computer or database security gateway Controls access control of internal user computer to database server. Web server access data extracted from web access information collection module, query information extracted from query sniffing module, and database server access data extracted from database security gateway. And a database security server that generates a report based on a result of access control to the database server via the web server / web application server.
이상에서와 같이 본 발명의 웹기반 3-티어 환경의 데이터베이스 보안방법 및 그 장치에 따르면, 웹에 접근하는 사용자의 정보와 사용자가 호출한 쿼리 정보, 그리고 이 쿼리가 실행되어 데이터베이스에 접근하는 일련의 정보를 통합적으로 관리할 수 있고, 데이터베이스의 접근 내용에 대하여 최종 사용자의 정보와 접속한 웹 페이지 정보 등의 감사자료를 수집할 수 있고, 지정되지 않은 사용자의 웹을 경유한 데이터베이스 접속 및 등록되지 않은 웹페이지, 쿼리를 통한 데이터베이스 접속을 차단할 수 있으며, 수집된 정보를 활용한 보고서 작성 기능을 제공함으로써, 악의적인 의도를 가진 사용자에 의해 해킹되거나 또는 내부 사용자에 의해 데이터베이스의 내용이 유출되는 사고를 미연에 방지하여 3-티어 환경의 데이터베이스 보안을 원활하게 수행할 수 있는 효과가 있다.As described above, according to the database security method and apparatus of the web-based three-tier environment of the present invention, the information of the user accessing the web, the query information called by the user, and the query is executed to access the database. Information can be integratedly managed, audit data such as the information of end users and web pages connected to the contents of database access can be collected, and database access and unregistered via the web of unspecified users. Access to the database through web pages and queries can be blocked, and the report creation function using the collected information can be prevented, so that the contents of the database can be hacked by malicious users or leaked by the internal users. To secure databases in 3-tier environments It can work.
이하, 첨부된 도면을 참조하여 본 발명의 웹기반 3-티어 환경의 데이터베이 스 보안방법 및 그 장치를 상세하게 설명한다.Hereinafter, a method and apparatus for securing a database in a web-based three-tier environment according to the present invention will be described in detail with reference to the accompanying drawings.
우선, 본 발명의 상세한 설명에 앞서 현재 국내 및 해외에 출시되어 있는 데이터베이스 보안 제품은, 보안 시스템의 설치 위치 및 동작 방식에 따라 에이전트(agent) 방식, 스니핑(sniffing) 방식, 게이트웨이(gateway) 방식의 세 가지로 나눌 수 있다.First, prior to the detailed description of the present invention, a database security product currently released in Korea and overseas is based on an installation method and an operation method of a security system, such as an agent method, a sniffing method, and a gateway method. It can be divided into three.
에이전트 방식은, 데이터베이스에 보안을 위한 에이전트를 설치하여 데이터베이스에 접근하는 사용자를 통제하거나 또는 접근 내용에 대한 감사 정보를 저장한다. 데이터베이스에 접근하는 모든 접속에 대하여 보안을 적용할 수 있어서 가장 강한 보안 정책을 수립하고, 운영할 수 있다. 그러나 에이전트가 데이터베이스 서버에 설치되기 때문에 데이터베이스에 추가적인 부하를 주며, 에이전트가 오류가 생긴 경우에 데이터베이스에 대한 접근에 제한이 생길 수 있다.In the agent method, an agent for security is installed in a database to control a user accessing a database or to store audit information about the access contents. Security can be applied to all accesses to the database so that the strongest security policy can be established and operated. However, because the agent is installed on the database server, it puts an additional load on the database. If the agent fails, access to the database may be restricted.
스니핑 방식은, 데이터베이스 서버가 연결되어 있는 네트워크 스위치에 탭 장비를 사용하여 연결, 설치하는 것으로서, 네트워크의 중간에서 데이터베이스 서버에 접근하는 내용을 감시하는 방식이어서 데이터베이스 서버와 네트워크에 부하를 주지 않는다. 그러나 접근에 대하여 통제를 할 수 없는 한계가 있으며, 감사 자료 수집에 주로 사용된다.The sniffing method is a tap device connected to and installed on a network switch to which a database server is connected. The sniffing method monitors access to a database server in the middle of the network, and does not put a load on the database server and the network. However, there are limitations on the access control and it is mainly used for collecting audit data.
게이트웨이 방식은, 네트워크 스위치와 데이터베이스 서버 사이에 설치되는 것으로서, 사용자는 데이터베이스 서버에 보안 장비를 거쳐서 접속하게 된다. 일반적으로 게이트웨이 방식이라고 불리는 제품들은 인라인 형태, 프록시 형태, IP-Forwarding 형태 등으로 서비스를 제공한다. 사용자의 접속에 대한 통제, 감사 자 료 수집 등이 가능하며 접근 통제 및 감사 제품의 주류를 형성하고 있다. 데이터베이스 서버에는 부하를 주지 않지만 네트워크의 중간에 위치하게 되므로 데이터베이스 트랜잭션이 많은 경우 분산된 환경을 구성하여야 한다.The gateway system is installed between the network switch and the database server, and the user connects to the database server via security equipment. Products commonly called gateways provide services in the form of inline, proxy, and IP-forwarding. It is possible to control the access of users, collect audit data, and form the mainstream of access control and audit products. Although it does not put a load on the database server, it is located in the middle of the network, so if there are many database transactions, a distributed environment should be configured.
본 발명은 상술한 방식들을 이용한 HTTP(Hyper Text Transfer Protocol) 정보 수집 에이전트 방식(제 1, 2 실시예), HTTP 정보 수집 게이트웨이 방식(제 3, 4 실시예), HTTP 정보 수집 스니핑 방식(제 5, 6 실시예) 등으로서, 이하에서 상세하게 설명한다.The present invention provides a Hyper Text Transfer Protocol (HTTP) information collection agent method (first and second embodiments), an HTTP information collection gateway method (third and fourth embodiments), and an HTTP information collection sniffing method (fifth). , Example 6) and the like will be described in detail below.
제 1 First 실시예Example
도 3은 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치의 제 1 실시예의 구성을 개략적으로 나타낸 도면이고, 도 4는 도 3의 데이터베이스 보안서버에서 수행하는 데이터 매칭의 예를 설명하기 위한 도면으로서, 본 발명의 제 1 실시예는 사용자 컴퓨터(120) 또는 내부 사용자 컴퓨터(130)가 웹서버(150)를 경유하여 데이터베이스 서버(170)에 접근할 때 HTTP 정보 수집 에이전트 방식에 따른 데이터베이스 보안을 설명하기 위한 것이다.FIG. 3 is a diagram schematically showing a configuration of a first embodiment of a database security apparatus of a web-based three-tier environment according to the present invention, and FIG. 4 is a view for explaining an example of data matching performed by the database security server of FIG. As a diagram, the first embodiment of the present invention is a database security based on the HTTP information collection agent method when the
도 3에 도시된 바와 같이 데이터베이스 보안장치는, 네트워크 통신망(110), 복수의 사용자 컴퓨터(120), 복수의 내부 사용자 컴퓨터(130), 네트워크 스위치(140), 웹서버(150), 데이터베이스 보안 게이트웨이(160), 데이터베이스 서버(170), 데이터베이스 보안서버(180) 등으로 구성된다.As shown in FIG. 3, the database security device includes a
웹서버(150)는 네트워크 통신망(110)을 통한 사용자 컴퓨터(120) 또는 내부 사용자 컴퓨터(130)의 HTTP 접속을 처리하는 웹서버(152)와, 네트워크 통신망(110)을 통해 접속한 사용자 컴퓨터(120) 또는 내부 사용자 컴퓨터(130)로부터 웹서버(150)를 경유한 데이터베이스 서버(170) 접속을 위한 HTTP 접속이 수행되면, 해당 사용자 컴퓨터(120) 또는 내부 사용자 컴퓨터(130)의 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리를 포함한 웹서버 접속자료를 추출하여 데이터베이스 보안서버(180)로 전송하는 웹 접속 정보수집 모듈(154)과, JSP, ASP, ASP.Net, PHP, Perl, CGI 등의 웹 개발 언어(156)와, 자바프로그램 안에서 SQL(Structured Query Language, 구조화 질의어)을 실행하기 위하여 데이터베이스를 연결해주는 응용프로그램 인터페이스인 JDBC, ADO, ADO.Net, ODBC 등의 데이터베이스 접속 클라이언트(158) 등으로 구성된다.The
데이터베이스 보안 게이트웨이(160)는 웹서버(150)와 데이터베이스 서버(170) 사이에 설치되어 TNS(Transaction Network Service) 패킷의 송수신을 처리하며, 웹서버(150)를 경유하여 데이터베이스 서버(170)에 접근하는 사용자 컴퓨터(120) 또는 내부 사용자 컴퓨터(130)의 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 접속자료를 추출하여 데이터베이스 보안서버(180)로 전송한다.The
데이터베이스 서버(170)는 각종 디지털 컨텐츠를 저장하고 있으며, 웹서버(150)를 경유하여 접속된 사용자 컴퓨터(120) 또는 내부 사용자 컴퓨터(130)에서 요청하는 소정의 데이터를 제공한다.The
데이터베이스 보안서버(180)는 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지별 SQL 문자 리스트를 저장하는 전처리 프로세스를 수행하고, 웹 접속 정보수집 모듈(154)로부터 전송받은 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리를 포함한 웹서버 접속자료와 데이터베이스 보안 게이트웨이로(160)부터 전송받은 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 서버 접속자료를 저장, 관리하고, 웹서버 접속자료와 데이터베이스 서버 접속자료 중 쿼리 실행 프로세스 ID와 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행하며, 데이터 매칭 수행 결과를 토대로 데이터베이스 보안 게이트웨이(160)에서 사용자 컴퓨터(120) 또는 내부 사용자 컴퓨터(130)의 데이터베이스 서버(170)로의 접속 통제를 제어한다.The
이때, 데이터베이스 보안서버(180)는, 웹 접속 정보수집 모듈(154)에서 추출한 웹서버 접속자료 및 데이터베이스 보안 게이트웨이(160)에서 추출한 데이터베이스 서버 접속자료와, 웹서버(150)를 경유한 데이터베이스 서버(170)로의 접속 통제 결과를 토대로 보고서를 생성하는 기능을 더 수행할 수 있다.At this time, the
또한, 데이터베이스 보안서버(180)에서 수행하는 웹서버(150)를 경유한 사용자 컴퓨터(120) 또는 내부 사용자 컴퓨터(130)의 데이터베이스 서버(170)로의 접속 통제는, 동일한 사용자가 일정 시간 이내에 특정 테이블 또는 특정 컬럼에 정해진 횟수 이상 접속하거나, 또는 등록되지 않은 쿼리 또는 웹 페이지, 접근 권한이 없는 테이블 또는 컬럼에 접근하거나, 또는 SQL 변형 공격에 대하여 수행한다.In addition, the access control of the
이와 같이 구성된 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법의 제 1 실시예를 도 5를 참조하여 상세하게 설명한다.A first embodiment of a database security method for a web-based three-tier environment according to the present invention configured as described above will be described in detail with reference to FIG.
웹기반 3-티어 환경의 데이터베이스 보안서비스를 수행하는 데이터베이스 보안서버(180)에서 웹 소스 내에서 SQL 문장을 추출하고(S110), 웹 페이지별 SQL 문자 리스트를 저장하는 전처리 프로세스를 수행한다(S120).A
이후, 웹서버(150) 내에 설치되어 있는 웹 접속 정보수집 모듈(154)에서 네트워크 통신망(110)을 통해 사용자 컴퓨터(120) 또는 내부 사용자 컴퓨터(130)의 웹서버(150)를 경유한 데이터베이스 서버(170) 접속을 위한 HTTP 접속이 수행되는지를 확인한다(S130).Subsequently, the database server via the
사용자 컴퓨터(120) 또는 내부 사용자 컴퓨터(130)의 HTTP 접속이 수행되면, 웹 접속 정보수집 모듈(154)에서 웹서버(150)를 경유한 데이터베이스 서버(170) 접속을 위한 HTTP 접속을 수행하는 사용자 컴퓨터(120) 또는 내부 사용자 컴퓨터(130)의 웹서버 접속자료를 추출하고, 추출된 웹서버 접속자료를 데이터베이스 보안서버(180)로 전송한다(S140).When the HTTP connection of the
이때 S140 단계를 통해 웹 접속 정보수집 모듈(154)에서 추출하는 웹서버 접속자료는 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리 등의 감사 자료이다.At this time, the web server access data extracted from the web access
사용자 컴퓨터(120) 또는 내부 사용자 컴퓨터(130)의 웹서버(150)를 경유한 데이터베이스 서버(170) 접속이 수행되면, 웹서버(150)와 데이터베이스 서버(170) 사이에 설치된 데이터베이스 보안 게이트웨이(160)에서 데이터베이스 서버(170)에 접근하는 사용자 컴퓨터(120) 또는 내부 사용자 컴퓨터(130)의 데이터베이스 서버 접속자료를 추출하고, 추출된 데이터베이스 서버 접속자료를 데이터베이스 보안서버(180)로 전송한다(S150).When the connection of the
이때 S150 단계를 통해 데이터베이스 보안 게이트웨이(160)에서 추출하는 데이터베이스 서버 접속자료는 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리 등의 감사 자료이다.At this time, the database server access data extracted from the
이후 데이터베이스 보안서버(180)에서는 S140 단계를 통해 웹 접속 정보수집 모듈(154)에서 추출한 웹서버 접속자료와 S150 단계를 통해 데이터베이스 보안 게이트웨이(160)에서 추출한 데이터베이스 서버 접속자료의 데이터 매칭을 수행한다(S160).Thereafter, the
이때 데이터베이스 보안서버(180)는 웹 접속 정보수집 모듈(154)에서 추출하는 웹서버 접속자료와 데이터베이스 보안 게이트웨이(160)에서 추출하는 데이터베이스 서버 접속자료 중 쿼리 실행 프로세스 ID와 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행한다.At this time, the
그리고 데이터 매칭 수행 결과를 토대로 웹서버(150)를 경유한 사용자 컴퓨터(120) 또는 내부 사용자 컴퓨터(130)의 데이터베이스 서버(170)로의 접속 통제를 수행한다(S170).Then, the access control to the
이때 데이터베이스 서버(170)로의 접속 통제는, 동일한 사용자가 일정 시간 이내에 특정 테이블 또는 특정 컬럼에 정해진 횟수 이상 접속하는 경우 통제하거 나, 또는 S110, S120 단계에서 등록되지 않은 쿼리 또는 웹 페이지, 접근 권한이 없는 테이블 또는 컬럼에 대하여 통제하거나, 또는 SQL 변형 공격에 대하여 통제하여 데이터베이스 보안을 수행한다.In this case, access control to the
한편, 데이터베이스 보안서버(180)에서는 S140 및 S150 단계에서 추출되는 웹서버 접속자료 및 데이터베이스 서버 접속자료와, S160 단계에서 수행하는 웹서버(150)를 경유한 데이터베이스 서버(170)로의 접속 통제 결과를 지속적으로 저장, 관리하며, 필요에 따라 관련된 보고서를 생성하는 기능을 수행한다(S180). 이때, 지속적으로 저장, 관리하는 웹서버 접속자료 및 데이터베이스 서버 접속자료의 감사 자료는 추후 비정상적인 데이터베이스 접속 정보 경보, 악의적인 HTTP 접속 사용자에 대한 추적, 악의적인 내부 사용자의 데이터베이스 자료 접근 추적 등에 활용할 수 있다.On the other hand, in the
제 2 2nd 실시예Example
도 6은 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치의 제 2 실시예의 구성을 개략적으로 나타낸 도면이고, 도 7은 도 6의 데이터베이스 보안서버에서 수행하는 데이터 매칭의 예를 설명하기 위한 도면으로서, 본 발명의 제 2 실시예는 사용자 컴퓨터(220) 또는 내부 사용자 컴퓨터(230)가 웹서버/웹 어플리케이션 서버(250)( 즉, 웹서버 + 웹 어플리케이션 서버(WAS)의 구조 )를 경유하여 데이터베이스 서버(270)에 접근할 때 HTTP 정보 수집 에이전트 방식에 따른 데이터베 이스 보안을 설명하기 위한 것이다.FIG. 6 is a diagram schematically showing a configuration of a second embodiment of a database security apparatus of a web-based three-tier environment according to the present invention, and FIG. 7 is a view for explaining an example of data matching performed by the database security server of FIG. As a diagram, a second embodiment of the present invention is provided in which the
도 6에 도시된 바와 같이 데이터베이스 보안장치는, 네트워크 통신망(210), 복수의 사용자 컴퓨터(220), 복수의 내부 사용자 컴퓨터(230), 네트워크 스위치(240), 웹서버/웹 어플리케이션 서버(250), 데이터베이스 보안 게이트웨이(260), 데이터베이스 서버(270), 데이터베이스 보안서버(280) 등으로 구성된다.As shown in FIG. 6, the database security device includes a
웹서버/웹 어플리케이션 서버(250)는 네트워크 통신망(210)을 통한 사용자 컴퓨터(220) 또는 내부 사용자 컴퓨터(230)의 HTTP 접속을 처리하는 웹서버(252a), 네트워크 통신망(210)을 통해 접속한 사용자 컴퓨터(220) 또는 내부 사용자 컴퓨터(230)로부터 웹서버/웹 어플리케이션 서버(250)를 경유한 데이터베이스 서버(270) 접속을 위한 HTTP 접속이 수행되면, 해당 사용자 컴퓨터(220) 또는 내부 사용자 컴퓨터(230)의 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리를 포함한 웹서버 접속자료를 추출하여 데이터베이스 보안서버(280)로 전송하는 웹 접속 정보수집 모듈(252b)이 구비된 웹서버(252)와, WAS(254a), JDBC, ADO, ADO.Net, ODBC 등의 데이터베이스 접속 클라이언트(254b), 데이터베이스 서버(270) 접속을 위한 사용자 컴퓨터(220) 또는 내부 사용자 컴퓨터(230)의 접속시간, 쿼리를 포함한 쿼리 정보를 추출하여 데이터베이스 보안서버(280)로 전송하는 쿼리 스니핑 모듈(254c)이 구비된 웹 어플리케이션 서버(254)로 구성된다.The web server /
데이터베이스 보안 게이트웨이(270)는 웹서버/웹 어플리케이션 서버(250)와 데이터베이스 서버(270) 사이에 설치되어 TNS 패킷의 송수신을 처리하며, 웹서버/웹 어플리케이션 서버(250)를 경유하여 데이터베이스 서버(270)에 접근하는 사용자 컴퓨터(220) 또는 내부 사용자 컴퓨터(230)의 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 접속자료를 추출하여 데이터베이스 보안서버(280)로 전송한다.The
데이터베이스 서버(270)는 각종 디지털 컨텐츠를 저장하고 있으며, 웹서버/웹 어플리케이션 서버(250)를 경유하여 접속된 사용자 컴퓨터(220) 또는 내부 사용자 컴퓨터(230)에서 요청하는 소정의 데이터를 제공한다.The
데이터베이스 보안서버(280)는 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지별 SQL 문자 리스트를 저장하는 전처리 프로세스를 수행하고, 웹 접속 정보수집 모듈(252b)로부터 전송받은 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리를 포함한 웹서버 접속자료와, 쿼리 스니핑 모듈(254c)로부터 전송받은 접속시간, 쿼리를 포함한 쿼리 정보와, 데이터베이스 보안 게이트웨이(260)로부터 전송받은 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 서버 접속자료를 저장, 관리하고, 웹서버 접속자료와, 쿼리 정보와, 데이터베이스 서버 접속자료 중 접속시간과 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행하며, 데이터 매칭 수행 결과를 토대로 데이터베이스 보안 게이트웨이(260)에서 사용자 컴퓨터(220) 또는 내부 사용자 컴퓨터(230)의 데이터베이스 서버(270)로의 접속 통제를 제어한다.The
이때, 데이터베이스 보안서버(280)는, 웹 접속 정보수집 모듈(252b)에서 추출하는 웹서버 접속자료와, 쿼리 스니핑 모듈(254c)에서 추출하는 쿼리 정보와, 데이터베이스 보안 게이트웨이(260)에서 추출하는 데이터베이스 서버 접속자료와, 웹 서버/웹 어플리케이션 서버(250)를 경유한 데이터베이스 서버(270)로의 접속 통제 결과를 토대로 보고서를 생성하는 기능을 더 수행할 수 있다.At this time, the
또한, 데이터베이스 보안서버(280)에서 수행하는 웹서버/웹 어플리케이션 서버(250)를 경유한 사용자 컴퓨터(220) 또는 내부 사용자 컴퓨터(230)의 데이터베이스 서버(270)로의 접속 통제는, 동일한 사용자가 일정 시간 이내에 특정 테이블 또는 특정 컬럼에 정해진 횟수 이상 접속하거나, 등록되지 않은 쿼리 또는 웹 페이지, 접근 권한이 없는 테이블 또는 컬럼에 접근하거나, SQL 변형 공격에 대하여 수행한다.In addition, the access control of the
이와 같이 구성된 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법의 제 2 실시예를 도 8을 참조하여 상세하게 설명한다.A second embodiment of a database security method for a web-based three-tier environment according to the present invention configured as described above will be described in detail with reference to FIG.
데이터베이스 보안서비스를 수행하는 데이터베이스 보안서버(280)에서 웹 소스 내에서 SQL 문장을 추출하고(S210), 웹 페이지별 SQL 문자 리스트를 저장하는 전처리 프로세스를 수행한다(S220).The
이후, 웹서버/웹 어플리케이션 서버(250) 내의 웹서버(252)에 설치된 웹 접속 정보수집 모듈(252b)에서 네트워크 통신망(210)을 통해 사용자 컴퓨터(220) 또는 내부 사용자 컴퓨터(230)의 웹서버/웹 어플리케이션 서버(250)를 경유한 데이터베이스 서버(270) 접속을 위한 HTTP 접속이 수행되는지를 확인한다(S230).Then, the web server of the
사용자 컴퓨터(220) 또는 내부 사용자 컴퓨터(230)의 HTTP 접속이 수행되면, 웹 접속 정보수집 모듈(252b)에서 웹서버/웹 어플리케이션 서버(250)를 경유한 데 이터베이스 서버(270) 접속을 위한 HTTP 접속을 수행하는 사용자 컴퓨터(220) 또는 내부 사용자 컴퓨터(230)의 웹서버 접속자료를 추출하고, 추출된 웹서버 접속자료를 데이터베이스 보안서버(280)로 전송한다(S240).When the HTTP connection of the
이때 S240 단계를 통해 웹 접속 정보수집 모듈(252b)에서 추출하는 웹서버 접속자료는 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 등의 감사 자료이다.At this time, the web server access data extracted by the web access
이후 웹 어플리케이션 서버(254)에 설치된 쿼리 스니핑 모듈(254c)에서 데이터베이스 서버(270) 접속을 위한 사용자 컴퓨터(220) 또는 내부 사용자 컴퓨터(230)의 쿼리 정보를 추출하고, 추출된 쿼리 정보를 데이터베이스 보안서버(280)로 전송한다(S250).Thereafter, the
이때 S250 단계를 통해 쿼리 스니핑 모듈(254c)에서 추출하는 쿼리 정보는 접속시간, 쿼리 등의 감사 자료이다.At this time, the query information extracted by the
그리고 사용자 컴퓨터(220) 또는 내부 사용자 컴퓨터(230)의 웹서버/웹 어플리케이션 서버(250)를 경유한 데이터베이스 서버(270) 접속이 수행되면, 웹서버/웹 어플리케이션 서버(250)와 데이터베이스 서버(270) 사이에 설치된 데이터베이스 보안 게이트웨이(260)에서 데이터베이스 서버(270)에 접근하는 사용자 컴퓨터(220) 또는 내부 사용자 컴퓨터(230)의 데이터베이스 서버 접속자료를 추출하고, 추출된 데이터베이스 서버 접속자료를 데이터베이스 보안서버(280)로 전송한다(S260).When the connection of the
이때 S260 단계를 통해 데이터베이스 보안 게이트웨이(260)에서 추출하는 데이터베이스 서버 접속자료는 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리 케이션명, 쿼리 실행 프로세스 ID, 쿼리 등의 감사 자료이다.At this time, the database server access data extracted from the
이후 데이터베이스 보안서버(280)에서는 S240 단계를 통해 웹 접속 정보수집 모듈(252b)에서 추출한 웹서버 접속자료, S250 단계를 통해 쿼리 스니핑 모듈(254c)에서 추출한 쿼리 정보, S260 단계를 통해 데이터베이스 보안 게이트웨이(260)에서 추출한 데이터베이스 서버 접속자료의 데이터 매칭을 수행한다(S270).Thereafter, the
이때 데이터베이스 보안서버(280)는 웹 접속 정보수집 모듈(252b)에서 추출한 웹서버 접속자료, 쿼리 스니핑 모듈(254c)에서 추출한 쿼리 정보, 데이터베이스 보안 게이트웨이(260)에서 추출하는 데이터베이스 서버 접속자료 중 접속시간과 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행한다.At this time, the
그리고 데이터 매칭 수행 결과를 토대로 웹서버/웹 어플리케이션 서버(250)를 경유한 사용자 컴퓨터(220) 또는 내부 사용자 컴퓨터(230)의 데이터베이스 서버(270)로의 접속 통제를 수행한다(S280).Then, the access control is performed to the
이때 데이터베이스 서버(270)로의 접속 통제는, 상술한 실시예와 마찬가지로 동일한 사용자가 일정 시간 이내에 특정 테이블 또는 특정 컬럼에 정해진 횟수 이상 접속하는 경우 통제하거나, 또는 S210, S220 단계에서 등록되지 않은 쿼리 또는 웹 페이지, 접근 권한이 없는 테이블 또는 컬럼에 대하여 통제하거나, 또는 SQL 변형 공격에 대하여 통제하여 데이터베이스 보안을 수행한다.In this case, the access control to the
마지막으로, 데이터베이스 보안서버(280)에서는 S240, S250 및 S260 단계에서 추출되는 웹서버 접속자료, 쿼리 정보 및 데이터베이스 서버 접속자료와, S280 단계에서 수행하는 웹서버/웹 어플리케이션 서버(250)를 경유한 데이터베이스 서 버(270)로의 접속 통제 결과를 지속적으로 저장, 관리하며, 필요에 따라 관련된 보고서를 생성하는 기능을 수행한다(S290). 이때, 지속적으로 저장, 관리하는 웹서버 접속자료, 쿼리 정보 및 데이터베이스 서버 접속자료의 감사 자료는 추후 비정상적인 데이터베이스 접속 정보 경보, 악의적인 HTTP 접속 사용자에 대한 추적, 악의적인 내부 사용자의 데이터베이스 자료 접근 추적 등에 활용할 수 있다.Finally, the
제 3 3rd 실시예Example
도 9는 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치의 제 3 실시예의 구성을 개략적으로 나타낸 도면이고, 도 10은 도 9의 데이터베이스 보안서버에서 수행하는 데이터 매칭의 예를 설명하기 위한 도면으로서, 본 발명의 제 3 실시예는 사용자 컴퓨터(320) 또는 내부 사용자 컴퓨터(330)가 웹서버(360)를 경유하여 데이터베이스 서버(380)에 접근할 때 HTTP 정보 수집 게이트웨이 방식에 따른 데이터베이스 보안을 설명하기 위한 것이다.FIG. 9 is a diagram schematically showing a configuration of a third embodiment of a database security apparatus of a web-based three-tier environment according to the present invention, and FIG. 10 is a view for explaining an example of data matching performed by the database security server of FIG. As a diagram, a third embodiment of the present invention is a database security based on the HTTP information collection gateway method when the
도 9에 도시된 바와 같이 데이터베이스 보안장치는, 네트워크 통신망(310), 복수의 사용자 컴퓨터(320), 복수의 내부 사용자 컴퓨터(330), 네트워크 스위치(340), 웹 접속 감시 게이트웨이(350), 웹서버(360), 데이터베이스 보안 게이트웨이(370), 데이터베이스 서버(380), 데이터베이스 보안서버(390) 등으로 구성된다.As shown in FIG. 9, the database security device includes a
웹 접속 감시 게이트웨이(350)는 네트워크 스위치(340)와 웹서버(360) 사이 에 설치되며, 네트워크 통신망(310)을 통해 웹서버(360)를 경유한 데이터베이스 서버(380) 접속을 위한 HTTP 접속을 수행하는 사용자 컴퓨터(320) 또는 내부 사용자 컴퓨터(330)의 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리를 포함한 웹서버 접속자료를 추출하여 데이터베이스 보안서버(390)로 전송하는 웹 접속 정보수집 모듈(352)이 구비된다.The web
웹서버(360)는 웹 접속 감시 게이트웨이(350)를 통한 사용자 컴퓨터(320) 또는 내부 사용자 컴퓨터(330)의 HTTP 접속을 처리하는 웹서버(362)와, JSP, ASP, ASP.Net, PHP, Perl, CGI 등의 웹 개발 언어(364)와, 데이터베이스를 연결해주는 응용프로그램 인터페이스인 JDBC, ADO, ADO.Net, ODBC 등의 데이터베이스 접속 클라이언트(366) 등으로 구성된다.The
데이터베이스 보안 게이트웨이(370)는 웹서버(360)와 데이터베이스 서버(380) 사이에 설치되어 TNS 패킷의 송수신을 처리하며, 웹 접속 감시 게이트웨이(350), 웹서버(360)를 경유하여 데이터베이스 서버(380)에 접근하는 사용자 컴퓨터(320) 또는 내부 사용자 컴퓨터(330)의 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 접속자료를 추출하여 데이터베이스 보안서버(390)로 전송한다.The
데이터베이스 서버(380)는 각종 디지털 컨텐츠를 저장하고 있으며, 웹 접속 감시 게이트웨이(350), 웹서버(360)를 경유하여 접속된 사용자 컴퓨터(320) 또는 내부 사용자 컴퓨터(330)에서 요청하는 소정의 데이터를 제공한다.The
데이터베이스 보안서버(390)는 웹 소스 내에서 SQL 문장을 추출하고, 웹 페 이지별 SQL 문자 리스트를 저장하는 전처리 프로세스를 수행하고, 웹 접속 감시 게이트웨이(350) 내의 웹 접속 정보수집 모듈(352)로부터 전송받은 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리를 포함한 웹서버 접속자료와 데이터베이스 보안 게이트웨이로(370)부터 전송받은 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 서버 접속자료를 저장, 관리하고, 웹서버 접속자료와 데이터베이스 서버 접속자료 중 쿼리 실행 프로세스 ID와 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행하며, 데이터 매칭 수행 결과를 토대로 데이터베이스 보안 게이트웨이(370)에서 사용자 컴퓨터(320) 또는 내부 사용자 컴퓨터(330)의 데이터베이스 서버(380)로의 접속 통제를 제어한다.The
이때, 데이터베이스 보안서버(390)는, 웹 접속 정보수집 모듈(352)에서 추출한 웹서버 접속자료 및 데이터베이스 보안 게이트웨이(370)에서 추출한 데이터베이스 서버 접속자료와, 웹 접속 감시 게이트웨이(350), 웹서버(360)를 경유한 데이터베이스 서버(380)로의 접속 통제 결과를 토대로 보고서를 생성하는 기능을 더 수행할 수 있다.At this time, the
또한, 데이터베이스 보안서버(390)에서 수행하는 웹서버(360)를 경유한 사용자 컴퓨터(320) 또는 내부 사용자 컴퓨터(330)의 데이터베이스 서버(380)로의 접속 통제는, 사용자가 일정 시간 이내에 특정 테이블 또는 특정 컬럼에 정해진 횟수 이상 접속하거나, 또는 등록되지 않은 쿼리 또는 웹 페이지, 접근 권한이 없는 테이블 또는 컬럼에 접근하거나, 또는 SQL 변형 공격에 대하여 수행한다.In addition, the access control of the
이와 같이 구성된 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법의 제 3 실시예를 도 11을 참조하여 상세하게 설명한다.A third embodiment of a database security method for a web-based 3-tier environment according to the present invention configured as described above will be described in detail with reference to FIG.
웹기반 3-티어 환경의 데이터베이스 보안서비스를 수행하는 데이터베이스 보안서버(390)에서 웹 소스 내에서 SQL 문장을 추출하고(S310), 웹 페이지별 SQL 문자 리스트를 저장하는 전처리 프로세스를 수행한다(S320).The
이후, 웹 접속 감시 게이트웨이(350) 내에 구비된 웹 접속 정보수집 모듈(352)에서 네트워크 통신망(310)을 통해 사용자 컴퓨터(320) 또는 내부 사용자 컴퓨터(330)의 웹서버(360)를 경유한 데이터베이스 서버(380) 접속을 위한 HTTP 접속이 수행되는지를 확인한다(S330).Subsequently, in the web access
사용자 컴퓨터(320) 또는 내부 사용자 컴퓨터(330)의 HTTP 접속이 수행되면, 웹 접속 정보수집 모듈(352)에서 HTTP 접속을 수행하는 사용자 컴퓨터(320) 또는 내부 사용자 컴퓨터(330)의 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리 등의 감사 자료인 웹서버 접속자료를 추출하고, 추출된 웹서버 접속자료를 데이터베이스 보안서버(390)로 전송한다(S340).When the HTTP connection of the
사용자 컴퓨터(320) 또는 내부 사용자 컴퓨터(330)의 웹서버(360)를 경유한 데이터베이스 서버(380) 접속이 수행되면, 웹서버(360)와 데이터베이스 서버(380) 사이에 설치된 데이터베이스 보안 게이트웨이(370)에서 데이터베이스 서버(380)에 접근하는 사용자 컴퓨터(320) 또는 내부 사용자 컴퓨터(330)의 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리 등의 감사 자료인 데이터베이스 서버 접속자료를 추출하고, 추출된 데이터베이스 서버 접속자료를 데이터베이스 보안서버(390)로 전송한다(S350).When the connection of the
이후 데이터베이스 보안서버(390)에서는 S340 단계를 통해 웹 접속 정보수집 모듈(352)에서 추출한 웹서버 접속자료와 S350 단계를 통해 데이터베이스 보안 게이트웨이(370)에서 추출한 데이터베이스 서버 접속자료 중 쿼리 실행 프로세스 ID와 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행한다(S360).The
그리고 데이터 매칭 수행 결과를 토대로 웹서버(360)를 경유한 사용자 컴퓨터(320) 또는 내부 사용자 컴퓨터(330)의 데이터베이스 서버(380)로의 동일한 사용자가 일정 시간 이내에 특정 테이블 또는 특정 컬럼에 정해진 횟수 이상 접속하는 경우 통제하거나, 또는 S310, S320 단계에서 등록되지 않은 쿼리 또는 웹 페이지, 접근 권한이 없는 테이블 또는 컬럼에 대하여 통제하거나, 또는 SQL 변형 공격에 대한 접속 통제를 수행한다(S370).Based on the data matching result, the same user to the
한편, 데이터베이스 보안서버(390)에서는 비정상적인 데이터베이스 접속 정보 경보, 악의적인 HTTP 접속 사용자에 대한 추적, 악의적인 내부 사용자의 데이터베이스 자료 접근 추적 등에 활용할 수 있도록 상술한 340 및 S350 단계에서 추출되는 웹서버 접속자료 및 데이터베이스 서버 접속자료와, S360 단계에서 수행하는 웹서버(360)를 경유한 데이터베이스 서버(380)로의 접속 통제 결과를 지속적으로 저장, 관리하며, 필요에 따라 관련된 보고서를 생성하는 기능을 수행한다(S380).On the other hand, in the
제 4 4th 실시예Example
도 12는 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치의 제 4 실시예의 구성을 개략적으로 나타낸 도면이고, 도 13은 도 12의 데이터베이스 보안서버에서 수행하는 데이터 매칭의 예를 설명하기 위한 도면으로서, 본 발명의 제 4 실시예는 사용자 컴퓨터(420) 또는 내부 사용자 컴퓨터(430)가 웹서버/웹 어플리케이션 서버(460)를 경유하여 데이터베이스 서버(480)에 접근할 때 HTTP 정보 수집 게이트웨이 방식에 따른 데이터베이스 보안을 설명하기 위한 것이다.FIG. 12 is a diagram schematically showing a configuration of a fourth embodiment of a database security apparatus of a web-based three-tier environment according to the present invention, and FIG. 13 is a view for explaining an example of data matching performed by the database security server of FIG. As a diagram, a fourth embodiment of the present invention is an HTTP information collection gateway scheme when a
도 12에 도시된 바와 같이 데이터베이스 보안장치는, 네트워크 통신망(410), 복수의 사용자 컴퓨터(420), 복수의 내부 사용자 컴퓨터(430), 네트워크 스위치(440), 웹 접속 감시 게이트웨이(450), 웹서버/웹 어플리케이션 서버(460), 데이터베이스 보안 게이트웨이(470), 데이터베이스 서버(480), 데이터베이스 보안서버(490) 등으로 구성된다.As shown in FIG. 12, the database security device includes a
웹 접속 감시 게이트웨이(450)는 네트워크 스위치(440)와 웹서버/웹 어플리케이션 서버(460) 사이에 설치되며, 네트워크 통신망(410)을 통해 웹서버/웹 어플리케이션 서버(460)를 경유한 데이터베이스 서버(480) 접속을 위한 HTTP 접속을 수행하는 사용자 컴퓨터(420) 또는 내부 사용자 컴퓨터(430)의 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리를 포함한 웹서버 접속자료를 추출하여 데이터베이스 보안서버(490)로 전송하는 웹 접속 정보수집 모듈(452)이 구비된다.The web
웹서버/웹 어플리케이션 서버(460)는 웹 접속 감시 게이트웨이(450)를 통한 사용자 컴퓨터(420) 또는 내부 사용자 컴퓨터(430)의 HTTP 접속을 처리하는 웹서 버(462)와, WAS(464a), JDBC, ADO, ADO.Net, ODBC 등의 데이터베이스 접속 클라이언트(464b), 데이터베이스 서버(480) 접속을 위한 사용자 컴퓨터(420) 또는 내부 사용자 컴퓨터(430)의 접속시간, 쿼리를 포함한 쿼리 정보를 추출하여 데이터베이스 보안서버(490)로 전송하는 쿼리 스니핑 모듈(464c)이 구비된 웹 어플리케이션 서버(464)로 구성된다.The web server /
데이터베이스 보안 게이트웨이(470)는 웹서버/웹 어플리케이션 서버(460)와 데이터베이스 서버(480) 사이에 설치되어 TNS 패킷의 송수신을 처리하며, 웹서버/웹 어플리케이션 서버(460)를 경유하여 데이터베이스 서버(480)에 접근하는 사용자 컴퓨터(420) 또는 내부 사용자 컴퓨터(430)의 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 접속자료를 추출하여 데이터베이스 보안서버(490)로 전송한다.The
데이터베이스 서버(480)는 각종 디지털 컨텐츠를 저장하고 있으며, 웹서버/웹 어플리케이션 서버(460)를 경유하여 접속된 사용자 컴퓨터(420) 또는 내부 사용자 컴퓨터(430)에서 요청하는 소정의 데이터를 제공한다.The
데이터베이스 보안서버(490)는 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지별 SQL 문자 리스트를 저장하는 전처리 프로세스를 수행하고, 웹 접속 감시 게이트웨이(450) 내의 웹 접속 정보수집 모듈(452)로부터 전송받은 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리를 포함한 웹서버 접속자료와, 웹서버/웹 어플리케이션 서버(460) 내의 쿼리 스니핑 모듈(464c)로부터 전송받은 접속시간, 쿼리를 포함한 쿼리 정보와, 데이터베이스 보안 게이트웨이(470)로부터 전송받은 접속시 간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 서버 접속자료를 저장, 관리하고, 웹서버 접속자료와, 쿼리 정보와, 데이터베이스 서버 접속자료 중 접속시간과 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행하며, 데이터 매칭 수행 결과를 토대로 데이터베이스 보안 게이트웨이(470)에서 사용자 컴퓨터(420) 또는 내부 사용자 컴퓨터(430)의 데이터베이스 서버(480)로의 접속 통제를 제어한다.The
이때, 데이터베이스 보안서버(490)는, 웹 접속 정보수집 모듈(452)에서 추출하는 웹서버 접속자료와, 쿼리 스니핑 모듈(464c)에서 추출하는 쿼리 정보와, 데이터베이스 보안 게이트웨이(470)에서 추출하는 데이터베이스 서버 접속자료와, 웹서버/웹 어플리케이션 서버(460)를 경유한 데이터베이스 서버(480)로의 접속 통제 결과를 토대로 보고서를 생성하는 기능을 더 수행할 수 있다.At this time, the
또한, 데이터베이스 보안서버(490)에서 수행하는 웹서버/웹 어플리케이션 서버(460)를 경유한 사용자 컴퓨터(420) 또는 내부 사용자 컴퓨터(430)의 데이터베이스 서버(480)로의 접속 통제는, 동일한 사용자가 일정 시간 이내에 특정 테이블 또는 특정 컬럼에 정해진 횟수 이상 접속하거나, 등록되지 않은 쿼리 또는 웹 페이지, 접근 권한이 없는 테이블 또는 컬럼에 접근하거나, SQL 변형 공격에 대하여 수행한다.In addition, the access control of the
이와 같이 구성된 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법의 제 4 실시예를 도 14를 참조하여 상세하게 설명한다.A fourth embodiment of a method for securing a database in a web-based three-tier environment according to the present invention configured as described above will be described in detail with reference to FIG.
웹기반 3-티어 환경의 데이터베이스 보안서비스를 수행하는 데이터베이스 보안서버(390)에서 웹 소스 내에서 SQL 문장을 추출하고(S410), 웹 페이지별 SQL 문자 리스트를 저장하는 전처리 프로세스를 수행한다(S420).The
이후, 웹 접속 감시 게이트웨이(450) 내에 구비된 웹 접속 정보수집 모듈(452)에서 네트워크 통신망(410)을 통해 사용자 컴퓨터(420) 또는 내부 사용자 컴퓨터(430)의 웹서버/웹 어플리케이션 서버(460)를 경유한 데이터베이스 서버(460) 접속을 위한 HTTP 접속이 수행되는지를 확인한다(S430).Subsequently, the web server /
사용자 컴퓨터(420) 또는 내부 사용자 컴퓨터(430)의 HTTP 접속이 수행되면, 웹 접속 정보수집 모듈(452)에서 HTTP 접속을 수행하는 사용자 컴퓨터(420) 또는 내부 사용자 컴퓨터(430)의 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 등의 감사 자료인 웹서버 접속자료를 추출하고, 추출된 웹서버 접속자료를 데이터베이스 보안서버(490)로 전송한다(S440).When the HTTP connection of the
이후 웹 어플리케이션 서버(464)에 설치된 쿼리 스니핑 모듈(464c)에서 데이터베이스 서버(480) 접속을 위한 사용자 컴퓨터(420) 또는 내부 사용자 컴퓨터(430)의 접속시간, 쿼리 등의 감사 자료인 쿼리 정보를 추출하고, 추출된 쿼리 정보를 데이터베이스 보안서버(490)로 전송한다(S450).Thereafter, the
그리고 사용자 컴퓨터(420) 또는 내부 사용자 컴퓨터(430)의 웹서버/웹 어플리케이션 서버(460)를 경유한 데이터베이스 서버(480) 접속이 수행되면, 웹서버/웹 어플리케이션 서버(460)와 데이터베이스 서버(480) 사이에 설치된 데이터베이스 보안 게이트웨이(470)에서 데이터베이스 서버(480)에 접근하는 사용자 컴퓨터(420) 또는 내부 사용자 컴퓨터(430)의 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리 등의 감사 자료인 데이터베이스 서버 접속자료를 추출하고, 추출된 데이터베이스 서버 접속자료를 데이터베이스 보안서버(490)로 전송한다(S460).When the
이후 데이터베이스 보안서버(480)에서는 S440 단계를 통해 웹 접속 정보수집 모듈(452)에서 추출한 웹서버 접속자료, S450 단계를 통해 쿼리 스니핑 모듈(464c)에서 추출한 쿼리 정보, S460 단계를 통해 데이터베이스 보안 게이트웨이(470)에서 추출한 데이터베이스 서버 접속자료 중 접속시간과 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행한다(S470).Thereafter, the
그리고 데이터 매칭 수행 결과를 토대로 웹서버/웹 어플리케이션 서버(460)를 경유한 사용자 컴퓨터(420) 또는 내부 사용자 컴퓨터(430)의 데이터베이스 서버(480)로의 동일한 사용자가 일정 시간 이내에 특정 테이블 또는 특정 컬럼에 정해진 횟수 이상 접속하는 경우 통제하거나, 또는 S410, S420 단계에서 등록되지 않은 쿼리 또는 웹 페이지, 접근 권한이 없는 테이블 또는 컬럼에 대하여 통제하거나, 또는 SQL 변형 공격에 대한 접속 통제를 수행한다(S480).Based on the data matching result, the same user to the
한편, 데이터베이스 보안서버(490)에서는 비정상적인 데이터베이스 접속 정보 경보, 악의적인 HTTP 접속 사용자에 대한 추적, 악의적인 내부 사용자의 데이터베이스 자료 접근 추적 등에 활용할 수 있도록 상술한 S440, S450 및 S460 단계에서 추출되는 웹서버 접속자료, 쿼리 정보 및 데이터베이스 서버 접속자료와, S470 단계에서 수행하는 웹서버/웹 어플리케이션 서버(460)를 경유한 데이터베이스 서 버(480)로의 접속 통제 결과를 지속적으로 저장, 관리하며, 필요에 따라 관련된 보고서를 생성하는 기능을 수행한다(S490).On the other hand, the
제 5 5th 실시예Example
도 15는 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치의 제 5 실시예의 구성을 개략적으로 나타낸 도면이고, 도 16은 도 15의 데이터베이스 보안서버에서 수행하는 데이터 매칭의 예를 설명하기 위한 도면으로서, 본 발명의 제 5 실시예는 사용자 컴퓨터(520) 또는 내부 사용자 컴퓨터(530)가 웹서버(560)를 경유하여 데이터베이스 서버(580)에 접근할 때 HTTP 정보 수집 스니핑 방식에 따른 데이터베이스 보안을 설명하기 위한 것이다.FIG. 15 is a diagram schematically showing a configuration of a fifth embodiment of a database security apparatus of a web-based three-tier environment according to the present invention, and FIG. 16 is a view for explaining an example of data matching performed by the database security server of FIG. As a drawing, a fifth embodiment of the present invention is a database security based on HTTP information collection sniffing scheme when a
도 15에 도시된 바와 같이 데이터베이스 보안장치는, 네트워크 통신망(510), 복수의 사용자 컴퓨터(520), 복수의 내부 사용자 컴퓨터(530), 네트워크 스위치(540), 패킷 스니핑(Packet Sniffing) 장치(550), 웹서버(560), 데이터베이스 보안 게이트웨이(570), 데이터베이스 서버(580), 데이터베이스 보안서버(590) 등으로 구성된다.As shown in FIG. 15, the database security device includes a
패킷 스니핑 장치(550)는 웹서버(560)로 HTTP 접속을 요청하는 사용자 컴퓨터(520) 또는 내부 사용자 컴퓨터(530)의 스위칭을 수행하는 네트워크 스위치(540)에 탭 장비에 의해 연결, 설치되고, 사용자 컴퓨터(520) 또는 내부 사용자 컴퓨터(530)로부터 웹서버(560)를 경유한 데이터베이스 서버(580) 접속을 위한 HTTP 접 속이 수행되면, 네트워크 스위치(540)로부터 미러링한 패킷을 통해 해당 사용자 컴퓨터(520) 또는 내부 사용자 컴퓨터(530)의 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리를 포함한 웹서버 접속자료를 추출하여 데이터베이스 보안서버(590)로 전송하는 웹 접속 정보수집 모듈(352)이 구비된다.The
웹서버(560)는 사용자 컴퓨터(520) 또는 내부 사용자 컴퓨터(530)의 HTTP 접속을 처리하는 웹서버(562)와, JSP, ASP, ASP.Net, PHP, Perl, CGI 등의 웹 개발 언어(564)와, 데이터베이스를 연결해주는 응용프로그램 인터페이스인 JDBC, ADO, ADO.Net, ODBC 등의 데이터베이스 접속 클라이언트(566) 등으로 구성된다.The
데이터베이스 보안 게이트웨이(570)는 웹서버(560)와 데이터베이스 서버(580) 사이에 설치되어 TNS 패킷의 송수신을 처리하며, 웹서버(560)를 경유하여 데이터베이스 서버(580)에 접근하는 사용자 컴퓨터(520) 또는 내부 사용자 컴퓨터(530)의 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 접속자료를 추출하여 데이터베이스 보안서버(590)로 전송한다.The
데이터베이스 서버(580)는 각종 디지털 컨텐츠를 저장하고 있으며, 웹서버(360)를 경유하여 접속된 사용자 컴퓨터(520) 또는 내부 사용자 컴퓨터(530)에서 요청하는 소정의 데이터를 제공한다.The
데이터베이스 보안서버(590)는 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지별 SQL 문자 리스트를 저장하는 전처리 프로세스를 수행하고, 패킷 스니핑 장치(550) 내의 웹 접속 정보수집 모듈(552)로부터 전송받은 접속시간, 접속 IP 어드 레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리를 포함한 웹서버 접속자료와 데이터베이스 보안 게이트웨이로(570)부터 전송받은 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 서버 접속자료를 저장, 관리하고, 웹서버 접속자료와 데이터베이스 서버 접속자료 중 쿼리 실행 프로세스 ID와 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행하며, 데이터 매칭 수행 결과를 토대로 데이터베이스 보안 게이트웨이(570)에서 사용자 컴퓨터(520) 또는 내부 사용자 컴퓨터(530)의 데이터베이스 서버(580)로의 접속 통제를 제어한다.The
이때, 데이터베이스 보안서버(590)는, 웹 접속 정보수집 모듈(552)에서 추출한 웹서버 접속자료 및 데이터베이스 보안 게이트웨이(570)에서 추출한 데이터베이스 서버 접속자료와, 웹서버(560)를 경유한 데이터베이스 서버(580)로의 접속 통제 결과를 토대로 보고서를 생성하는 기능을 더 수행할 수 있다.At this time, the
또한, 데이터베이스 보안서버(590)에서 수행하는 웹서버(560)를 경유한 사용자 컴퓨터(520) 또는 내부 사용자 컴퓨터(530)의 데이터베이스 서버(580)로의 접속 통제는, 사용자가 일정 시간 이내에 특정 테이블 또는 특정 컬럼에 정해진 횟수 이상 접속하거나, 또는 등록되지 않은 쿼리 또는 웹 페이지, 접근 권한이 없는 테이블 또는 컬럼에 접근하거나, 또는 SQL 변형 공격에 대하여 수행한다.In addition, access control of the
이와 같이 구성된 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법의 제 5 실시예를 도 17을 참조하여 상세하게 설명한다.A fifth embodiment of a database security method for a web-based three-tier environment according to the present invention configured as described above will be described in detail with reference to FIG.
웹기반 3-티어 환경의 데이터베이스 보안서비스를 수행하는 데이터베이스 보안서버(590)에서 웹 소스 내에서 SQL 문장을 추출하고(S510), 웹 페이지별 SQL 문자 리스트를 저장하는 전처리 프로세스를 수행한다(S520).The
이후, 패킷 스니핑 장치(550) 내에 구비된 웹 접속 정보수집 모듈(552)에서 네트워크 스위치(540)로부터 미러링한 패킷을 토대로 사용자 컴퓨터(520) 또는 내부 사용자 컴퓨터(530)의 웹서버(560)를 경유한 데이터베이스 서버(580) 접속을 위한 HTTP 접속이 수행되는지를 확인한다(S530).Subsequently, the
사용자 컴퓨터(320) 또는 내부 사용자 컴퓨터(330)의 HTTP 접속이 수행되면, 패킷 스니핑 장치(550) 내에 구비된 웹 접속 정보수집 모듈(552)에서 HTTP 접속을 수행하는 사용자 컴퓨터(520) 또는 내부 사용자 컴퓨터(530)의 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리 등의 감사 자료인 웹서버 접속자료를 추출하고, 추출된 웹서버 접속자료를 데이터베이스 보안서버(590)로 전송한다(S540).When the HTTP connection of the
사용자 컴퓨터(520) 또는 내부 사용자 컴퓨터(530)의 웹서버(560)를 경유한 데이터베이스 서버(580) 접속이 수행되면, 웹서버(560)와 데이터베이스 서버(580) 사이에 설치된 데이터베이스 보안 게이트웨이(570)에서 데이터베이스 서버(580)에 접근하는 사용자 컴퓨터(520) 또는 내부 사용자 컴퓨터(530)의 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리 등의 감사 자료인 데이터베이스 서버 접속자료를 추출하고, 추출된 데이터베이스 서버 접속자료를 데이터베이스 보안서버(590)로 전송한다(S550).When the connection of the
이후 데이터베이스 보안서버(590)에서는 S540 단계를 통해 웹 접속 정보수집 모듈(552)에서 추출한 웹서버 접속자료와 S550 단계를 통해 데이터베이스 보안 게이트웨이(570)에서 추출한 데이터베이스 서버 접속자료 중 쿼리 실행 프로세스 ID와 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행한다(S560).Thereafter, the
그리고 데이터 매칭 수행 결과를 토대로 웹서버(560)를 경유한 사용자 컴퓨터(520) 또는 내부 사용자 컴퓨터(530)의 데이터베이스 서버(580)로의 동일한 사용자가 일정 시간 이내에 특정 테이블 또는 특정 컬럼에 정해진 횟수 이상 접속하는 경우 통제하거나, 또는 S510, S520 단계에서 등록되지 않은 쿼리 또는 웹 페이지, 접근 권한이 없는 테이블 또는 컬럼에 대하여 통제하거나, 또는 SQL 변형 공격에 대한 접속 통제를 수행한다(S570).Based on the data matching result, the same user to the
한편, 데이터베이스 보안서버(590)에서는 비정상적인 데이터베이스 접속 정보 경보, 악의적인 HTTP 접속 사용자에 대한 추적, 악의적인 내부 사용자의 데이터베이스 자료 접근 추적 등에 활용할 수 있도록 상술한 540 및 S550 단계에서 추출되는 웹서버 접속자료 및 데이터베이스 서버 접속자료와, S560 단계에서 수행하는 웹서버(560)를 경유한 데이터베이스 서버(580)로의 접속 통제 결과를 지속적으로 저장, 관리하며, 필요에 따라 관련된 보고서를 생성하는 기능을 수행한다(S580).On the other hand, in the
제 6 6th 실시예Example
도 18은 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치의 제 6 실시예의 구성을 개략적으로 나타낸 도면이고, 도 19는 도 18의 데이터베이스 보안서버에서 수행하는 데이터 매칭의 예를 설명하기 위한 도면으로서, 본 발명의 제 6 실시예는 사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)가 웹서버/웹 어플리케이션 서버(660)를 경유하여 데이터베이스 서버(680)에 접근할 때 HTTP 정보 수집 스니핑 방식에 따른 데이터베이스 보안을 설명하기 위한 것이다.FIG. 18 is a diagram schematically showing a configuration of a sixth embodiment of a database security apparatus of a web-based three-tier environment according to the present invention, and FIG. 19 is a view for explaining an example of data matching performed by the database security server of FIG. As a drawing, a sixth embodiment of the present invention is an HTTP information collection sniffing scheme when a
도 18에 도시된 바와 같이 데이터베이스 보안장치는, 네트워크 통신망(610), 복수의 사용자 컴퓨터(620), 복수의 내부 사용자 컴퓨터(630), 네트워크 스위치(640), 패킷 스니핑 장치(650), 웹서버/웹 어플리케이션 서버(660), 데이터베이스 보안 게이트웨이(670), 데이터베이스 서버(680), 데이터베이스 보안서버(690) 등으로 구성된다.As shown in FIG. 18, the database security device includes a
패킷 스니핑 장치(650)는 웹서버/웹 어플리케이션 서버(660)로 HTTP 접속을 요청하는 사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)의 스위칭을 수행하는 네트워크 스위치(640)에 탭 장비에 의해 연결, 설치되고, 사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)로부터 웹서버/웹 어플리케이션 서버(660)를 경유한 데이터베이스 서버(680) 접속을 위한 HTTP 접속이 수행되면, 네트워크 스위치(640)로부터 미러링한 패킷을 통해 해당 사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)의 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 실행 프로세스 ID, 쿼리를 포함한 웹서버 접속자료를 추출하여 데이터베이스 보안서버(690)로 전송하는 웹 접속 정보수집 모듈(652)이 구비된다.The
웹서버/웹 어플리케이션 서버(660)는 네트워크 스위치(640)를 통한 사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)의 HTTP 접속을 처리하는 웹서버(662)와, WAS(664a), JDBC, ADO, ADO.Net, ODBC 등의 데이터베이스 접속 클라이언트(664b), 데이터베이스 서버(680) 접속을 위한 사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)의 접속시간, 쿼리를 포함한 쿼리 정보를 추출하여 데이터베이스 보안서버(690)로 전송하는 쿼리 스니핑 모듈(664c)이 구비된 웹 어플리케이션 서버(664)로 구성된다.The web server /
데이터베이스 보안 게이트웨이(670)는 웹서버/웹 어플리케이션 서버(660)와 데이터베이스 서버(680) 사이에 설치되어 TNS 패킷의 송수신을 처리하며, 웹서버/웹 어플리케이션 서버(660)를 경유하여 데이터베이스 서버(680)에 접근하는 사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)의 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 접속자료를 추출하여 데이터베이스 보안서버(690)로 전송한다.The
데이터베이스 서버(680)는 각종 디지털 컨텐츠를 저장하고 있으며, 웹서버/웹 어플리케이션 서버(660)를 경유하여 접속된 사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)에서 요청하는 소정의 데이터를 제공한다.The
데이터베이스 보안서버(690)는 웹 소스 내에서 SQL 문장을 추출하고, 웹 페이지별 SQL 문자 리스트를 저장하는 전처리 프로세스를 수행하고, 패킷 스니핑 장치(650) 내의 웹 접속 정보수집 모듈(652)로부터 전송받은 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리를 포함한 웹서버 접속자료와, 웹서버/웹 어플리케이션 서버(660) 내의 쿼리 스니핑 모듈(664c)로부터 전송받은 접속시간, 쿼리를 포함한 쿼리 정보와, 데이터베이스 보안 게이트웨이(670)로부터 전송받은 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리를 포함한 데이터베이스 서버 접속자료를 저장, 관리하고, 웹서버 접속자료와, 쿼리 정보와, 데이터베이스 서버 접속자료 중 접속시간과 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행하며, 데이터 매칭 수행 결과를 토대로 데이터베이스 보안 게이트웨이(670)에서 사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)의 데이터베이스 서버(680)로의 접속 통제를 제어한다.The
이때, 데이터베이스 보안서버(690)는, 웹 접속 정보수집 모듈(652)에서 추출하는 웹서버 접속자료와, 쿼리 스니핑 모듈(664c)에서 추출하는 쿼리 정보와, 데이터베이스 보안 게이트웨이(670)에서 추출하는 데이터베이스 서버 접속자료와, 웹서버/웹 어플리케이션 서버(660)를 경유한 데이터베이스 서버(680)로의 접속 통제 결과를 토대로 보고서를 생성하는 기능을 더 수행할 수 있다.At this time, the
또한, 데이터베이스 보안서버(690)에서 수행하는 웹서버/웹 어플리케이션 서버(660)를 경유한 사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)의 데이터베이스 서버(680)로의 접속 통제는, 동일한 사용자가 일정 시간 이내에 특정 테이블 또는 특정 컬럼에 정해진 횟수 이상 접속하거나, 등록되지 않은 쿼리 또는 웹 페이지, 접근 권한이 없는 테이블 또는 컬럼에 접근하거나, SQL 변형 공격에 대하여 수행한다.In addition, the access control of the
이와 같이 구성된 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안 방법의 제 6 실시예를 도 20을 참조하여 상세하게 설명한다.A sixth embodiment of a database security method for a web-based 3-tier environment according to the present invention configured as described above will be described in detail with reference to FIG.
웹기반 3-티어 환경의 데이터베이스 보안서비스를 수행하는 데이터베이스 보안서버(690)에서 웹 소스 내에서 SQL 문장을 추출하고(S610), 웹 페이지별 SQL 문자 리스트를 저장하는 전처리 프로세스를 수행한다(S620).A
이후, 패킷 스니핑 장치(650) 내에 구비된 웹 접속 정보수집 모듈(652)에서 네트워크 스위치(640)로부터 미러링한 패킷을 토대로 사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)의 웹서버/웹 어플리케이션 서버(660)를 경유한 데이터베이스 서버(680) 접속을 위한 HTTP 접속이 수행되는지를 확인한다(S630).Then, the web server / web application server of the
사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)의 HTTP 접속이 수행되면, 패킷 스니핑 장치(650) 내에 구비된 웹 접속 정보수집 모듈(652)에서 HTTP 접속을 수행하는 사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)의 접속시간, 접속 IP 어드레스, 호출 웹페이지, 쿼리 등의 감사 자료인 웹서버 접속자료를 추출하고, 추출된 웹서버 접속자료를 데이터베이스 보안서버(690)로 전송한다(S640).When the HTTP connection of the
이후 웹 어플리케이션 서버(664)에 설치된 쿼리 스니핑 모듈(664c)에서 데이터베이스 서버(680) 접속을 위한 사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)의 접속시간, 쿼리 등의 감사 자료인 쿼리 정보를 추출하고, 추출된 쿼리 정보를 데이터베이스 보안서버(690)로 전송한다(S650).Thereafter, the
그리고 사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)의 웹서버/웹 어플리케이션 서버(660)를 경유한 데이터베이스 서버(680) 접속이 수행되면, 웹서버/웹 어플리케이션 서버(660)와 데이터베이스 서버(680) 사이에 설치된 데이터베이스 보 안 게이트웨이(670)에서 데이터베이스 서버(680)에 접근하는 사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)의 접속시간, 접속 서버 IP 어드레스, 사용자 ID, 어플리케이션명, 쿼리 실행 프로세스 ID, 쿼리 등의 감사 자료인 데이터베이스 서버 접속자료를 추출하고, 추출된 데이터베이스 서버 접속자료를 데이터베이스 보안서버(690)로 전송한다(S660).When the
이후 데이터베이스 보안서버(680)에서는 S640 단계를 통해 웹 접속 정보수집 모듈(652)에서 추출한 웹서버 접속자료, S650 단계를 통해 쿼리 스니핑 모듈(664c)에서 추출한 쿼리 정보, S660 단계를 통해 데이터베이스 보안 게이트웨이(670)에서 추출한 데이터베이스 서버 접속자료 중 접속시간과 쿼리를 이용하여 일치 여부를 확인하는 데이터 매칭을 수행한다(S670).Thereafter, the
그리고 데이터 매칭 수행 결과를 토대로 웹서버/웹 어플리케이션 서버(660)를 경유한 사용자 컴퓨터(620) 또는 내부 사용자 컴퓨터(630)의 데이터베이스 서버(680)로의 동일한 사용자가 일정 시간 이내에 특정 테이블 또는 특정 컬럼에 정해진 횟수 이상 접속하는 경우 통제하거나, 또는 S610, S620 단계에서 등록되지 않은 쿼리 또는 웹 페이지, 접근 권한이 없는 테이블 또는 컬럼에 대하여 통제하거나, 또는 SQL 변형 공격에 대한 접속 통제를 수행한다(S680).Based on the data matching result, the same user to the
한편, 데이터베이스 보안서버(690)에서는 비정상적인 데이터베이스 접속 정보 경보, 악의적인 HTTP 접속 사용자에 대한 추적, 악의적인 내부 사용자의 데이터베이스 자료 접근 추적 등에 활용할 수 있도록 상술한 S640, S650 및 S660 단계에서 추출되는 웹서버 접속자료, 쿼리 정보 및 데이터베이스 서버 접속자료와, S670 단계에서 수행하는 웹서버/웹 어플리케이션 서버(660)를 경유한 데이터베이스 서버(680)로의 접속 통제 결과를 지속적으로 저장, 관리하며, 필요에 따라 관련된 보고서를 생성하는 기능을 수행한다(S690).On the other hand, the
여기에서, 상술한 본 발명에서는 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경할 수 있음을 이해할 수 있을 것이다.Herein, while the present invention has been described with reference to the preferred embodiments, those skilled in the art will variously modify the present invention without departing from the spirit and scope of the invention as set forth in the claims below. And can be changed.
도 1과 도 2는 일반적인 웹기반 2-티어 환경과 3-티어 환경을 개략적으로 나타낸 도면,1 and 2 schematically illustrate a typical web-based two-tier environment and a three-tier environment;
도 3은 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치의 제 1 실시예의 구성을 개략적으로 나타낸 도면,3 is a diagram schematically showing the configuration of a first embodiment of a database security apparatus for a web-based three-tier environment according to the present invention;
도 4는 도 3의 데이터베이스 보안서버에서 수행하는 데이터 매칭의 예를 설명하기 위한 도면,4 is a view for explaining an example of data matching performed in the database security server of FIG.
도 5는 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법의 제 1 실시예의 동작과정을 상세하게 나타낸 순서도,5 is a flowchart showing in detail the operation of the first embodiment of the method for securing a database in a web-based 3-tier environment according to the present invention;
도 6은 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치의 제 2 실시예의 구성을 개략적으로 나타낸 도면,6 is a diagram schematically showing the configuration of a second embodiment of a database security apparatus for a web-based three-tier environment according to the present invention;
도 7은 도 6의 데이터베이스 보안서버에서 수행하는 데이터 매칭의 예를 설명하기 위한 도면,7 is a view for explaining an example of data matching performed in the database security server of FIG.
도 8은 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법의 제 2 실시예의 동작과정을 상세하게 나타낸 순서도,8 is a flow chart showing in detail the operation of the second embodiment of a method for securing a database in a web-based 3-tier environment according to the present invention;
도 9는 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치의 제 3 실시예의 구성을 개략적으로 나타낸 도면,9 is a view schematically showing the configuration of a third embodiment of a database security apparatus for a web-based three-tier environment according to the present invention;
도 10은 도 9의 데이터베이스 보안서버에서 수행하는 데이터 매칭의 예를 설명하기 위한 도면,10 is a view for explaining an example of data matching performed in the database security server of FIG.
도 11은 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법의 제 3 실시예의 동작과정을 상세하게 나타낸 순서도,11 is a flow chart showing in detail the operation of the third embodiment of a database security method for a web-based 3-tier environment according to the present invention;
도 12는 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치의 제 4 실시예의 구성을 개략적으로 나타낸 도면,12 is a diagram schematically showing the configuration of a fourth embodiment of a database security apparatus for a web-based three-tier environment according to the present invention;
도 13은 도 12의 데이터베이스 보안서버에서 수행하는 데이터 매칭의 예를 설명하기 위한 도면,FIG. 13 is a diagram for explaining an example of data matching performed by the database security server of FIG. 12. FIG.
도 14는 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법의 제 4 실시예의 동작과정을 상세하게 나타낸 순서도,14 is a flow chart showing in detail the operation of the fourth embodiment of a method for securing a database in a web-based three-tier environment according to the present invention;
도 15는 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치의 제 5 실시예의 구성을 개략적으로 나타낸 도면,15 is a view schematically showing the configuration of a fifth embodiment of a database security apparatus for a web-based 3-tier environment according to the present invention;
도 16은 도 15의 데이터베이스 보안서버에서 수행하는 데이터 매칭의 예를 설명하기 위한 도면,FIG. 16 is a view for explaining an example of data matching performed by the database security server of FIG. 15; FIG.
도 17은 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법의 제 5 실시예의 동작과정을 상세하게 나타낸 순서도,17 is a flow chart showing in detail the operation of the fifth embodiment of a method for securing a database in a web-based three-tier environment according to the present invention;
도 18은 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안장치의 제 6 실시예의 구성을 개략적으로 나타낸 도면,18 is a diagram schematically showing the configuration of a sixth embodiment of a database security device for a web-based three-tier environment according to the present invention;
도 19는 도 18의 데이터베이스 보안서버에서 수행하는 데이터 매칭의 예를 설명하기 위한 도면,19 is a view for explaining an example of data matching performed by the database security server of FIG. 18;
도 20은 본 발명에 따른 웹기반 3-티어 환경의 데이터베이스 보안방법의 제 6 실시예의 동작과정을 상세하게 나타낸 순서도이다.20 is a flowchart showing in detail the operation of the sixth embodiment of a method for securing a database in a web-based three-tier environment according to the present invention.
Claims (46)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070093110A KR100913190B1 (en) | 2007-09-13 | 2007-09-13 | Method for database preservation web-based 3 tier environment and apparatus thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070093110A KR100913190B1 (en) | 2007-09-13 | 2007-09-13 | Method for database preservation web-based 3 tier environment and apparatus thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090027917A KR20090027917A (en) | 2009-03-18 |
KR100913190B1 true KR100913190B1 (en) | 2009-08-20 |
Family
ID=40695305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070093110A KR100913190B1 (en) | 2007-09-13 | 2007-09-13 | Method for database preservation web-based 3 tier environment and apparatus thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100913190B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102521784B1 (en) * | 2021-10-26 | 2023-04-17 | 주식회사 신시웨이 | Access management apparatus and method for managing database access based on web application server |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102654479B1 (en) * | 2021-12-24 | 2024-04-04 | 주식회사 아이디알소프트 | A system that detects and monitors the risk of tampering with request parameters by generating and executing verification queries through analysis of large amounts of user behavior data |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040052569A (en) * | 2004-04-03 | 2004-06-23 | 주식회사 피앤피시큐어 | Method and system for monitoring and securing a database |
KR20050008486A (en) * | 2003-07-15 | 2005-01-21 | 김용규 | method of administering access to database |
KR20050073349A (en) * | 2004-01-09 | 2005-07-13 | 주식회사 바넷정보기술 | System for controlling database access based on 3-tier structure and method thereof |
-
2007
- 2007-09-13 KR KR1020070093110A patent/KR100913190B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050008486A (en) * | 2003-07-15 | 2005-01-21 | 김용규 | method of administering access to database |
KR20050073349A (en) * | 2004-01-09 | 2005-07-13 | 주식회사 바넷정보기술 | System for controlling database access based on 3-tier structure and method thereof |
KR20040052569A (en) * | 2004-04-03 | 2004-06-23 | 주식회사 피앤피시큐어 | Method and system for monitoring and securing a database |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102521784B1 (en) * | 2021-10-26 | 2023-04-17 | 주식회사 신시웨이 | Access management apparatus and method for managing database access based on web application server |
Also Published As
Publication number | Publication date |
---|---|
KR20090027917A (en) | 2009-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7640235B2 (en) | System and method for correlating between HTTP requests and SQL queries | |
US8132239B2 (en) | System and method for validating requests in an identity metasystem | |
US10142291B2 (en) | System for providing DNS-based policies for devices | |
US8996669B2 (en) | Internet improvement platform with learning module | |
EP1379045B1 (en) | Arrangement and method for protecting end user data | |
CN102594934B (en) | Method and device for identifying hijacked website | |
US7917759B2 (en) | Identifying an application user as a source of database activity | |
CN109690547A (en) | For detecting the system and method cheated online | |
KR100745044B1 (en) | Apparatus and method for protecting access of phishing site | |
US9992234B2 (en) | System for providing DNS-based control of individual devices | |
WO2005069823A2 (en) | Centralized transactional security audit for enterprise systems | |
AU2012217565A1 (en) | System and methods for identifying compromised personally identifiable information on the internet | |
CN109274632A (en) | A kind of recognition methods of website and device | |
US11841910B2 (en) | Token-based authentication for a proxy web scraping service | |
CN103841123A (en) | Number information obtaining method and obtaining system, and cloud number information system | |
CN110430188A (en) | A kind of quick url filtering method and device | |
US9721014B2 (en) | System and method of processing database queries | |
Takahashi et al. | Web of cybersecurity: Linking, locating, and discovering structured cybersecurity information | |
KR100913190B1 (en) | Method for database preservation web-based 3 tier environment and apparatus thereof | |
EP4227828A1 (en) | Web scraping through use of proxies, and applications thereof | |
KR100655492B1 (en) | Web server vulnerability detection system and method of using search engine | |
Zheng et al. | A framework for protecting personal information and privacy | |
KR102070607B1 (en) | Database security device based on user identification via web application server | |
KR101028037B1 (en) | A system and a method for compulsory redirecting user's connection address by watching the user's connection address | |
US20080033961A1 (en) | Electronic Document Browsing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |