KR100503772B1 - A monitoring system and method of auditing performanced work connected to database server by utility method - Google Patents

A monitoring system and method of auditing performanced work connected to database server by utility method Download PDF

Info

Publication number
KR100503772B1
KR100503772B1 KR1020050020756A KR20050020756A KR100503772B1 KR 100503772 B1 KR100503772 B1 KR 100503772B1 KR 1020050020756 A KR1020050020756 A KR 1020050020756A KR 20050020756 A KR20050020756 A KR 20050020756A KR 100503772 B1 KR100503772 B1 KR 100503772B1
Authority
KR
South Korea
Prior art keywords
database
monitoring
database server
server
file
Prior art date
Application number
KR1020050020756A
Other languages
Korean (ko)
Inventor
박태욱
Original Assignee
(주)위즈베이스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)위즈베이스 filed Critical (주)위즈베이스
Priority to KR1020050020756A priority Critical patent/KR100503772B1/en
Application granted granted Critical
Publication of KR100503772B1 publication Critical patent/KR100503772B1/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01KANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
    • A01K80/00Harvesting oysters, mussels, sponges or the like

Landscapes

  • Life Sciences & Earth Sciences (AREA)
  • Environmental Sciences (AREA)
  • Animal Husbandry (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 콘솔 모드로 데이터베이스 서버에 접근하거나 클라이언트가 응용 프로그램(Telnet, FTP, R-Command)으로 데이터베이스 서버에 접근시,(이러한 접근 형태를 일반적으로 더미터미널 및 로컬접속 혹은 원격접속이라 하며, 이하 유틸리티라 칭하고 콘솔이나 클라이언트를 접속자라 칭함.), 데이터베이스 서버에 접속하여 수행되는 작업을 감시하는 모니터링 시스템 및 방법에 관한 것으로서, 보다 상세하게는 본 발명은 유틸리티를 방식으로 데이터베이스 서버에 접속과, 해제 사이에 수행된 패킷들을 스니핑하고 수집, 추출 및 분석하여 사용자 정보 및 수행 정보를 실시간으로 원격 감시하며, 데이터베이스 서버 자체적으로 별도의 서버 프로세서를 동작하여 데이터베이스 전용 툴로 데이터베이스에 접속하여 수행된 작업, 데이터베이스 사용과 관련된 스크립트파일(Shell Script, 사용자 정의 소스 및 실행 파일, 기타)들의 생성, 삭제, 변경 및 실행 정보를 감시함으로써, 유틸리티 방식으로 데이터베이스 서버에 로컬로 접속하여 데이터베이스 서버에서 수행되는 모든 데이터베이스의 작업실행 정보를 효율적으로 감시하고 클라이언트를 차단, 경고하는 제어를 할 수 있다.In the present invention, when accessing the database server in console mode or when the client accesses the database server by application programs (Telnet, FTP, R-Command), this type of access is generally referred to as a terminal terminal and a local connection or a remote connection. The present invention relates to a monitoring system and a method for monitoring a task performed by connecting to a database server. More specifically, the present invention provides a method of connecting and disconnecting a utility to a database server. Sniffs, collects, extracts, and analyzes packets that are performed between them to remotely monitor user information and performance information in real time, and operates a separate server processor on the database server itself to access the database using a database-specific tool, and to use the database. Related to By monitoring the creation, deletion, modification, and execution of script files (Shell Script, user-defined source and executable files, etc.), the utility method provides local access to the database server for job execution information of all databases executed on the database server. Efficient monitoring and control of blocking and alerting clients are possible.

Description

유틸리티 방식으로 데이터베이스 서버에 접속하여 수행되는 작업을 감시하는 모니터링 시스템 및 방법 {A monitoring System and method of auditing performanced work connected to database server by utility method}A monitoring system and method of auditing performanced work connected to database server by utility method}

본 발명은 유틸리티 방식으로 데이터베이스 서버에 접속하여 수행되는 작업을 감시하는 모니터링 시스템 및 방법에 관한 것으로서, 더욱 상세하게는 네트워크상에서 운영되는 다수의 데이터베이스 서버와 클라이언트 프로세스 중에서 유틸리티를 이용하여 데이터베이스 서버가 존재하는 데이터베이스 서버에 접속하여, 상기 데이터베이스 서버에서 수행되는 모든 작업실행 정보와, 데이터베이스 서버에 존재하는 파일 중 데이터베이스 작업과 관련이 있는 스크립트 파일에 대한 변경이 발생할 경우에 변경된 파일의 변경정보를 추출하여 분석하고, 이를 기록 저장함으로써 유틸리티 방식으로 접근하여 데이터베이스 서버에서 수행되는 작업실행 정보를 실시간으로 감시하고 모니터링함과 동시에, 특정시점에 수행된 스크립트 파일에 대한 변경정보을 확인할 수 있도록 한 유틸리티 방식으로 데이터베이스 서버에 접속하여 수행되는 작업을 감시하는 모니터링 시스템 및 방법이다.The present invention relates to a monitoring system and method for monitoring operations performed by accessing a database server in a utility manner, and more particularly, a database server using a utility among a plurality of database servers and client processes operating on a network. It accesses to the database server, extracts and analyzes all the job execution information performed in the database server and the changed information of the changed file when a change to the script file related to the database operation occurs among the files existing in the database server. By accessing the utility method by recording and storing the information, it monitors and monitors job execution information performed in the database server in real time and changes information on the script file executed at a specific point in time. As a utility method to confirm a monitoring system and method for monitoring the work done by connecting to the database server.

인터넷과 네트워크의 기술이 발전함으로써, 일명 유비쿼터스 컴퓨팅 기술(제록스 팔로 알토 연구소의 마크 와이저 박사가 도입한 케이블과 무선네트워크가 컴퓨터와 연결되어 수행되는 기술.)이라 불리우는 네트워크상의 컴퓨터를 비롯한 데이터 장치들은 접속되는 위치와 무관하게 쉽고도 용이하게 모든 정보에 접근하여 다른 데이터 장치로 모든 데이터를 전송할 수 있게 되었다.As the technology of the Internet and networks has evolved, data devices, including computers on the network, called ubiquitous computing technology (a cable introduced by Dr. Mark Weiser of the Xerox Palo Alto Research Institute and a wireless network connected to a computer) are connected. Regardless of where it is located, it's easy and easy to access all the information and transfer all the data to other data devices.

일반적으로, 대부분의 정보처리시스템은 근거리 네트워크(Local Area Network, 이하 "LAN"이라 한다.)상에 이더넷 방식으로 연결된다. 이러한 방식은 자신이 속한 네트워크의 각 장치로 브로드캐스팅을 함으로써, 복수의 데이터베이스 운영서버와 복수의 클라이언트 단말간의 데이터 전송은 대용량의 데이터를 편리하고 용이하게 처리할 수 있는 구조를 제공하고 있으나, 반면에 운영서버 내에 존재하는 정보의 유출과 불법 침입에 의한 피해도 또한 쉽고 빠르게 발생될 수 있다는 문제점이 있기 때문에 데이터베이스 서버내의 정보를 보호하기 위한 침입탐지 및 차단을 위한 방화벽과 침입탐지 시스템이 이미 개발되어 사용되고 있는 실정이다.In general, most information processing systems are connected by Ethernet over a local area network (hereinafter referred to as "LAN"). In this method, by broadcasting to each device of the network to which it belongs, data transmission between a plurality of database operation servers and a plurality of client terminals provides a structure that can conveniently and easily process a large amount of data. Because of the problem that information leakage and illegal intrusion in the operating server can also occur easily and quickly, firewalls and intrusion detection systems have already been developed and used for intrusion detection and blocking to protect the information in the database server. There is a situation.

그러나, 상기한 바와 같이 허가되지 않은 외부인과 내부인의 침입을 사전에 탐지하고 차단하는 것 자체만으로는 데이터베이스의 보안유지를 확보할 수 없는 경우가 많으며, 정상적인 권한을 가지고 데이터베이스에 접근하는 모든 사용자에 대해서도 감시할 수 있는 데이터베이스 수준의 해결책에 대한 요구가 증대되고 있다. 특히, 유틸리티를 이용하여 데이터베이스 서버에 직접 접속하는 경우에, 이에 대응하여 데이터베이스의 보안유지를 수행할 수 있는 해결 방법은 현재까지는 없는 실정이다.However, as mentioned above, detecting and blocking intruders by unauthorized outsiders and insiders alone cannot secure the database in many cases, and monitors all users who access the database with normal authority. There is a growing need for database-level solutions that can be done. In particular, when a utility is directly connected to a database server, there is no solution that can perform security maintenance of the database correspondingly.

기존의 정보처리시스템에서의 정보보호는 네트워크상에서 방화벽 또는 침입탐지시스템에 접속하는 사용자의 인증여부를 판정하고, 판정결과에 따라 경고 및 차단하는 조치를 취함으로써, 데이터베이스에 접속하기 이전에 문제를 해결하는데 집중되어 있었다.The information protection in the existing information processing system solves the problem before connecting to the database by determining whether the user who connects to the firewall or intrusion detection system on the network is authenticated and taking measures to warn and block according to the determination result. It was focused on.

그러나, 만일 내부의 운영자나 침입탐지에 탐지되지 않고 내부망에 접속한 자가 유틸리티를 이용하여 데이터베이스 운영서버에 직접 접속한 후 데이터베이스의 데이터에 접근하기 위해서 데이터베이스 전용 툴에서 인식되는 사용자 정의 스크립트 파일을 작성하거나, 쉘 스크립트(Shell Script) 파일을 작성하여 이를 실행 또는 데이터베이스 전용툴로 실행하고, 실행 후에는 파일을 삭제하는 경우에 대한 보안 대책 방법은 전무하다는 것이다.However, if a user connected to the internal network is not detected by the internal operator or intrusion detection, the user can use the utility to directly connect to the database operation server and write the user-defined script file recognized by the database-specific tool to access the data in the database. Or, create a shell script file and execute it as a tool for execution or database, and delete the file after execution.

더욱이, 현재의 데이터베이스 서버에서는 미리 마련되어 인증된 사용자 아이디(Identity)와 패스워드(Password)를 이용하여 기본적인 접근관리를 하고 있으나, 이와 같은 데이터베이스의 정보를 누출하려는 의도가 있다거나, 또한 정상적인 권한을 가진 내부자가 데이터베이스 서버에 직접 접속하는 경우에는 데이터베이스의 접근에 대한 작업실행정보가 남아 있지 않아 비밀정보가 유출되거나 데이터베이스 서버에 치명적인 문제를 일으키더라도 확인하거나 예방할 수 없는 문제점도 있다.Moreover, current database server manages basic access by using pre-authenticated and authenticated user ID and password. However, insider who has the intention to leak information of such database or has normal authority In case of direct access to the database server, there is a problem that cannot be checked or prevented even if secret information is leaked or it causes a fatal problem in the database server because there is no work execution information for accessing the database.

또한, 정상적인 서버운영체제(Server Operating System)에서 서버운영상 파일을 삭제, 이동, 및 변경하는 경우에 대해서도 변경전, 후의 파일에 대한 정보가 남아 있지 않기 때문에 이에 대한 로그를 구현하기가 어렵다는 문제점이 부가적으로 발생한다.In addition, even if a file is deleted, moved, or changed in a normal server operating system, information about the file before and after the change is not left, so it is difficult to implement a log thereof. Occurs as

상기한 문제점을 해결하기 위하여 안출된 것으로 유틸리티 방식으로 데이터베이스 서버에 접속하여 수행되는 작업을 감시하는 모니터링 시스템 및 방법에 관한 것으로, 본 발명은 유틸리티를 이용하여 데이터베이스에 접속하여 수행된 패킷들을 스니핑하고 수집, 추출 및 분석하여 사용자 정보 및 수행 정보를 실시간으로 원격 감시하며, 데이터베이스 서버 자체적으로 별도의 서버 프로세서를 동작하여 데이터베이스 전용 툴로 데이터베이스에 접속하여 수행된 작업, 데이터베이스 사용과 관련된 스크립트파일(Shell Script, 사용자 정의 소스 및 실행 파일, 등)들의 생성, 삭제, 변경 및 실행 정보를 감시함으로써 유틸리티 방식으로 데이터베이스 서버에서 수행되는 모든 데이터베이스의 작업실행 정보를 효율적으로 감시하고 클라이언트를 차단, 경고하는 제어를 할 수 있도록 하는데 그 목적이 있다.The present invention relates to a monitoring system and method for monitoring a task performed by accessing a database server in a utility manner. The present invention relates to sniffing and collecting packets performed by accessing a database using a utility. Extract and analyze user information and performance information remotely in real time, and operate the separate server processor on the database server itself to access the database with a tool dedicated to the database, and to perform script files related to database use (Shell Script, user) By monitoring the creation, deletion, modification, and execution information of custom sources and executables, etc., the utility method effectively monitors job execution information of all databases running on the database server and blocks and alerts clients. The purpose is to give you control.

상기 목적을 달성하기 위한 본 발명에 따른 유틸리티 방식으로 데이터베이스 서버에 접속하여 수행되는 작업을 감시하는 모니터링 시스템에 있어서, 사용자 클라이언트, 인가자 및 비인가자 클라이언트, 콘솔이 데이터베이스 서버에 접근하여 데이터베이스를 이용한 행위와, 변경파일 내용을 감시하고 로그파일에 저장하는 FASA와, SSC가 구비된 데이터베이스 서버와; 상기 데이터베이스 서버에 유틸리티로 접속하고 클라이언트가 서버에 로그인하여 로그아웃까지의 모든 행위를 감시하고 로그파일에 저장하는 감시시스템 서버와; 상기 로그파일을 감시하고 데이터베이스 서버와 감시시스템 서버를 제어하는 감시시스템 클라이언트로 이루어진 것을 특징으로 한다.In the monitoring system for monitoring the work performed by accessing the database server by the utility method according to the present invention for achieving the above object, the act of accessing the database server to the user server, the authorized and unauthorized client, the console using the database A database server provided with an FASA for monitoring the contents of the changed file and storing in a log file; A surveillance system server that accesses the database server as a utility and monitors all operations until the client logs in to the server and logs out, and stores them in a log file; Surveillance system client that monitors the log file and controls the database server and surveillance system server.

또한, 본 발명의 일실시예에 따른 상기 데이터베이스 서버는 특정시간에 데이터베이스를 이용하는 스케쥴러가 더 포함된 것을 특징으로 하는 유틸리티 방식으로 데이터베이스 서버에 접속하여 수행되는 작업을 감시하는 것을 특징으로 한다.In addition, the database server according to an embodiment of the present invention is characterized in that a scheduler using a database at a specific time, characterized in that for monitoring the work performed by accessing the database server in a utility manner.

본 발명의 바람직한 또다른 일실시예에 따른 유틸리티 방식으로 서버에 접속하여 수행되는 작업을 감시하는 방법에 있어서, 클라이언트가 유틸리티 방식으로 인터넷망을 통하여 데이터베이스 서버에 로그인하여 로그아웃까지의 모든 행위를 하는 제1단계와; 감시시스템 서버는 상기 제1단계에서 클라이언트가 로그인하여 로그아웃까지의 모든 행위를 감시하는 제2단계와; 데이터베이스 서버는 상기 제1단계에서 클라이언트의 행위에 대하여 FASA와, SSC가 데이터베이스를 이용한 행위와 변경파일 내용을 감시하는 제3단계와; 상기 감시시스템 서버와, FASA 및 SSC에서 감시된 정보를 모니터링하는 제4단계로 이루어진 것을 특징으로 한다.In a method for monitoring a task performed by accessing a server by a utility method according to another preferred embodiment of the present invention, a client logs in to a database server through an internet network in a utility method and performs all actions until logout. A first step; The monitoring system server includes a second step of monitoring all actions until the client logs in and logs out in the first step; A third step in which the database server monitors the behavior of the FASA and the SSC using the database and the contents of the change file in the first step; And a fourth step of monitoring the monitoring system server and the information monitored by the FASA and the SSC.

또한, 본 발명의 일실시예에 따른 상기 FASA 처리방법은 RTIC 데몬이 패턴을 받은 후 파일의 변경을 감시하면서 파일 이벤트를 RTIC 데몬에 전달하는 단계와; 로그인, 로그아웃 이벤트 발생시 WTMP 데몬이 감지하여 그 이벤트 정보를 상기 RTIC 데몬에 전달하는 단계와; 상기 RTIC 데몬은 로그인, 로그아웃 이벤트를 전달받아 감시파일을 생성하는 단계로 이루어진 것을 특징으로 한다.In addition, the FASA processing method according to an embodiment of the present invention comprises the steps of delivering a file event to the RTIC daemon while monitoring the change of the file after the RTIC daemon receives the pattern; Detecting, by the WTMP daemon, when the login or logout event occurs, and transmitting the event information to the RTIC daemon; The RTIC daemon is characterized in that the step consisting of receiving a login, logout event to generate a monitoring file.

또한, 본 발명의 일실시예에 따른 상기 제2단계 또는 제3단계는 클라이언트에서 Telnet으로 접근하여 개별적으로 키인하여 데이터베이스 서버에서 직접 프로그램하여 데이터베이스에 적근하는 스니핑 또는 SSC 및 FASA 감시하는 방법과; 클라이언트에서 SQL 스크립트를 작성하여 FTP로 업로드하고 telnet으로 접근하여 SQL*PLUS 스크립트 수행 방식으로 데이터베이스에 접근하는 스니핑 및 SSC 또는 FASA 감시하는 방법과; 클라이언트에서 SQL*PLUS를 제외한 프로그램된 정보(Shell, Application)를 FTP로 업로드하고 Telnet으로 접근하여 데이터베이스에 접근하는 스니핑 및 FASA 감시하는 방법과; 콘솔이나 클라이언트에서 SSH(Secure 쉘)로 접속하여 SQL*PLUS 같은 도구로 데이터베이스에 접근하는 SSC 및 FASA 감시하는 방법과; 콘솔이나 클라이언트에서 SSH로 접속하여 SQL*PLUS를 제외한 다른 어플리케이션으로 데이터베이스에 접근하는 FASA 감시하는 방법 중 어느 하나로 접속하는 것을 특징으로 한다.In addition, the second step or the third step according to an embodiment of the present invention is a sniffing or SSC and FASA monitoring method to access the database by directly keying in the database server by accessing the Telnet from the client individually; A method of sniffing and monitoring SSC or FASA by accessing a database by executing SQL * PLUS script by uploading by FTP and accessing by telnet by writing SQL script in a client; Sniffing and FASA monitoring to access the database by FTP and uploading programmed information (Shell, Application) except SQL * PLUS in the client; SSC and FASA monitoring by accessing the database with a tool such as SQL * PLUS by connecting to the console or client via SSH (Secure Shell); SSH through the console or client to access any database other than SQL * PLUS, characterized in that the connection to any one of the FASA monitoring method.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예들을 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 바람직한 실시예에 따른 유틸리티로 데이터베이스 서버에 접속하여 수행되는 작업을 감시하는 모니터링 시스템 구성도로서, 상기 모니터링 시스템은 콘솔(10)과, 데이터베이스 서버(20)와, 사용자 클라이언트(30)와, 인가자 및 비인가자 클라이언트(40)와, 감시시스템 서버(50)와, 감시시스템 클라이언트(60)와, 인터넷(70)으로 구성되고, 더욱 상세하게는 상기 콘솔(10, 슈퍼유저가 전산실에서 서버에 직접 접속하는 모니터 장치.)은 물리적으로 데이터베이스 서버(20)에 직접 연결된 모니터 장치로 콘솔모드로 직접 데이터베이스 서버(20)에 접속 후 데이터베이스(21)에 접속하여 이용되거나 데이터베이스(21)를 이용할 목적으로 데이터베이스에 관한 파일을 변경(생성, 변경, 삭제, 실행 및 이동을 의미하고 이하 변경이라 칭함.)하는 행위를 하고 행위에 따른 파일변경 원인을 제공하는 것이다.1 is a configuration diagram of a monitoring system for monitoring a task performed by accessing a database server with a utility according to a preferred embodiment of the present invention. The monitoring system includes a console 10, a database server 20, and a user client ( 30, authorized and unlicensed clients 40, surveillance system server 50, surveillance system client 60, and the Internet 70. More specifically, the console 10, superuser The monitor device directly connected to the server in the computer room.) Is a monitor device physically connected directly to the database server 20. The monitor device is directly connected to the database server 20 in the console mode and then used to connect to the database 21 or the database 21. Change the files related to the database (which means create, change, delete, execute, and move, referred to as changes). This is to provide the cause of file change according to the action.

상기 데이터베이스 서버(20)에는 데이터베이스(21) 전용 툴(SQL*PLUS)을 사용하여 데이터베이스에 직접 접속하여 수행하는 모든 행위를 실기간으로 저장하는 SSC(22, Sever SQL capture)와, 사용자 정의 프로그램 소스의 변경 및 실행시 또는 데이터베이스(21)를 사용할 용도의 스크립트 파일(script file)의 변경내용을 저장하는 FASA(23, File Access Server Agent)와, 사용자들이 데이터를 이용할 대상의 데이터베이스(21)로 이루어진다. 상기 SSC 및 FASA에 의해서 저장되는 데이터는 공통의 로그파일로 저장되며 SSC 및 FASA와 감시 시스템과 통신 모듈도 공통으로 사용한다.The database server 20 includes a SSC (22, Sever SQL capture) for storing all the actions performed by directly accessing the database using a database 21 dedicated tool (SQL * PLUS) and a user-defined program source. A file access server agent (FASA) 23 for storing changes in a script file for changing or executing a database or for using the database 21, and a database 21 for a user to use data. . The data stored by the SSC and FASA are stored in a common log file, and the SSC and FASA, a monitoring system, and a communication module are also commonly used.

또한, 데이터베이스 서버(20)는 특정시간에 데이터베이스(21)를 이용하는 스케쥴러(CRON)가 구비되어 데이터베이스(21)에 접근하는 SSC(22) 및 FASA(23)를 감시한다.In addition, the database server 20 is equipped with a scheduler (CRON) using the database 21 at a specific time to monitor the SSC 22 and FASA 23 to access the database 21.

상기 사용자 클라이언트(30)는 데이터베이스 서버(20)에 유틸리티로 접속하여 데이터베이스(21)를 이용 및 데이터베이스(21)를 이용할 목적으로 데이터베이스(21)에 관련된 파일을 생성, 변경, 삭제, 실행 및 이동하는 행위를 하고 행위에 따른 파일변경 원인을 제공하는 것이다.The user client 30 accesses the database server 20 as a utility to create, change, delete, execute, and move files related to the database 21 for the purpose of using the database 21 and the database 21. It acts and provides the reason for the file change according to the action.

상기 인가자 및 비인가자 클라이언트(40)는 비인가자 클라이언트가 유틸리티로 접속할 경우 데이터베이스 서버(20)가 비인가자의 접속세션을 차단하고, 인가자 클라이언트가 유틸리티로 접속할 경우에 인가가자 데이터베이스(21)를 이용하는 행위 및 데이터베이스(21)를 이용할 목적으로 데이터베이스(21)에 관련된 파일을 생성, 변경, 삭제, 실행 및 이동하는 행위를 수행하고 행위에 따른 파일변경 원인을 제공하는 것이다.The authorized and non-licensed client 40 uses the authorized-licensed database 21 when the non-licensed client accesses the utility, and the database server 20 intercepts the unauthorized session, and when the authorized client accesses the utility. It is to perform the act of creating, modifying, deleting, executing, and moving files related to the database 21 for the purpose of using the act and the database 21, and providing the cause of the file change according to the act.

상기 감시시스템 서버(50)는 사용자 클라이언트(30), 인가자 및 비인가자 클라이언트(40)와, 데이터베이스 서버(20)간의 데이터 패킷들이 송수신될 때 패킷을 스니핑(Sniffing)하여 모든 패킷을 수집, 분석 및 저장하고 그 중에서 유틸리티를 이용하여 데이터베이스 서버(20)에 접근하는 정보만을 추출하여 감시하고 비인가자는 차단한다. 상기 감시시스템 클라이언트(50)는 인터넷 망을 이용하여 감시시스템 서버(40)와 SSC(22) 및 FASA(23)를 제어하며 각각 저장된 로그정보를 이용하여 사용자들을 감시하고 모니터링한다. 상기 SSC(22) 및 FASA(23)에 저장된 로그데이터는 감시시스템 서버(50)로 이동되어 사용될 수 있다.The surveillance system server 50 collects and analyzes all packets by sniffing packets when data packets are transmitted and received between the user client 30, the authorized and unauthorized client 40, and the database server 20. And storing and extracting and monitoring only information accessing the database server 20 by using a utility, and blocks unauthorized persons. The surveillance system client 50 controls the surveillance system server 40, the SSC 22, and the FASA 23 using the Internet network, and monitors and monitors users by using the stored log information. The log data stored in the SSC 22 and the FASA 23 may be moved to the surveillance system server 50 and used.

상기 인터넷(30)은 웹상에서 데이터가 송수신되도록 하는 TCP/IP, IPX, Token-Ring 및 ATM 등의 통신 프로토콜이 구비된 통신망이다.The Internet 30 is a communication network equipped with communication protocols such as TCP / IP, IPX, Token-Ring, and ATM for transmitting and receiving data on the web.

도 2는 본 발명에 따른 SSC 프로세서 처리 구성도로서, SSC(22, Sever SQL Capture)는 SSC 켑쳐(24-1)가 데이터베이스 전용 툴(SQL*PLUS)로 수행하는 행위(직접실행, 파일로 실행)를 로그파일(25)에 저장하고 상기 로그파일(25)에 저장된 데이터는 감시시스템 클라이언트(30)에서 감시와 모니터링을 위하여 SSC 인터페이스(24-2)와 통신하여 로그데이터 내용을 확인하는 것이다.2 is an SSC processor processing configuration diagram according to the present invention, in which the SSC 22, Sever SQL Capture, is performed by the SSC capturer 24-1 using a database dedicated tool (SQL * PLUS) (directly executed or executed as a file). ) Is stored in the log file 25 and the data stored in the log file 25 communicates with the SSC interface 24-2 for monitoring and monitoring in the monitoring system client 30 to confirm the log data contents.

또한, 상기 로크파일(25)은 로그파일의 성격에 따라 감시시스템 클라이언트(60)가 로컬로 접속되어 확인할 수 있으며, 필요에 따라 로그 데이터는 감시시스템 서버(50)에 저장할 수 있고, 이때 감시시스템 서버(50)는 프로세서(51)를 포함하고 SSC 인터페이스(24)와 통신하여 로그데이터를 감시시스템 서버(50)에 저장하며 감시시스템 클라이언트(60)는 감시시스템 서버(50)와 통신하여 로그데이터를 확인하는 것이다.In addition, the lock file 25 can be confirmed by the monitoring system client 60 is connected locally according to the nature of the log file, log data can be stored in the monitoring system server 50, if necessary, the monitoring system The server 50 includes a processor 51 and communicates with the SSC interface 24 to store log data in the surveillance system server 50 and the surveillance system client 60 communicates with the surveillance system server 50 to log data. To check.

도 3은 본 발명에 따른 FASA 프로세서 처리 구성도로서, 데이터베이스 서버(20)에 구축된 FASA(23)는 FA캡쳐(23-1), FA인터페이스(23-1), 로그파일(25)로 구성되며, 상기 FA캡쳐(23-1)는 클라이언트에 의해서 변경된 파일내역 및 실행 정보를 6하 원칙 즉, 어느파일을 누가, 언제, 어떻게 변경해서 어떻게 변경, 실행했는가에 의거하여 수행내용을 로그파일(25)에 저장하고, 이하 감시시시템 클라이언트(60)가 제어, 감시 및 모니터링하는 과정은 상기 SSC(22)와 동일하다. 즉 FA 인터페이스(23-2)는 SSC 인터페이스(24-2)와 명칭만 다를뿐 그 작용은 동일하다.3 is a block diagram of a FASA processor according to the present invention, in which a FASA 23 constructed in a database server 20 includes a FA capture 23-1, an FA interface 23-1, and a log file 25. The FA capture 23-1 records the contents of the file and execution information changed by the client in accordance with the principle, namely, who, when, how, and how the file is changed and executed. 25), the process of the monitoring system client 60 to control, monitor and monitor is the same as the SSC (22). In other words, the FA interface 23-2 differs only from the name of the SSC interface 24-2, and its operation is the same.

도 4는 본 발명에 따른 바람직한 실시예에 따른 유틸리티로 데이터베이스 서버에 접속하여 수행되는 작업을 감시하는 방법에 대한 프로세서를 나타내는 흐름도로서, 사용자 클라이언트(30)가 스위칭장비(80)에 인터넷을 통하여 유틸리티 방식으로 접속 및 로컬 접속한 후 데이터베이스 서버(20)에 접속하여 상기 데이터베이스 서버(20)에 구축된 데이터베이스(21)를 이용할 목적으로 파일을 생성, 변경, 삭제, 실행 및 이동하면 감시시스템(50)과 SSC(22) 및 FASA(23)가 수행정보를 로그파일에 저장한다. 한편, 클라이언트(30)가 데이터베이스(21)를 이용하기 위해 데이터베이스 관리시스템(90)이 운영된다. 상기 구성요소에 의해서 처리되는 사항을 감시시스템 서버(50)가 스니핑하여 감시하고, 상기 감시시스템 클라이언트(60)는 도시된 바와 같이 시간대별 수행된 사항이 감시되어 모니터링 되는 결과를 예시하고 있으며, 이는 파일의 내용이 확인되지 않고 있다. 즉, SSC(22) 및 FASA(23)의 로그정보가 있어야만 파일내용을 확인할 수 있다는 예시를 보여주고 있다.4 is a flowchart showing a processor for a method for monitoring a task performed by accessing a database server with a utility according to a preferred embodiment of the present invention, in which a user client 30 performs a utility on the switching device 80 via the Internet. After the connection and local access in a manner to access the database server 20 to create, change, delete, execute and move files for the purpose of using the database 21 built in the database server 20, the monitoring system 50 And the SSC 22 and FASA 23 store the performance information in a log file. On the other hand, the database management system 90 is operated so that the client 30 uses the database 21. The monitoring system server 50 sniffs and monitors the matters processed by the component, and the monitoring system client 60 exemplifies a result of monitoring and monitoring the performed time periods as illustrated. The contents of the file are not checked. That is, it shows an example that the file content can be confirmed only if the log information of the SSC (22) and FASA (23).

한편, 상기 클라이언트(30)는 TCP/IP 프로토콜을 이용하여 데이터베이스 서버(IP : 192.168.100.1)에 접속하며, 도시된 패킷접속은 telnet 192.168.100.1과, ftp 192.168.100.1에 의하여 처리되는 과정을 예시하고 있다.On the other hand, the client 30 is connected to the database server (IP: 192.168.100.1) using the TCP / IP protocol, the illustrated packet connection is an example of a process that is processed by telnet 192.168.100.1 and ftp 192.168.100.1 Doing.

도 5는 본 발명에 따른 초기 커널을 형성하기 위한 흐름도로서, 데이터베이스 서버(20)에서 수행되는 모든 작업은 기본적으로 OS 커널이 감시하고 있으며 이중 파일 실행과 변경에 대해 OS 커널 부분을 이용하는 것으로서, 도 5a 내지 도 5b의 흐름도는 도 6에 도시된 RTIC 데몬이 동작되기 위한 것으로서, 다음과 같은 동작에 의하여 처리된다.5 is a flowchart for forming an initial kernel according to the present invention, in which all operations performed by the database server 20 are basically monitored by the OS kernel, and use the OS kernel portion for double file execution and modification. 5A through 5B are for operating the RTIC daemon shown in FIG. 6 and are processed by the following operations.

후크할 것인지 판단하는 단계(S10)와;Determining whether to hook (S10);

상기 S10단계에서 후크할 경우 콜 인터셉트와 후크를 세트하고 다시 S10 단계로 진행하는 단계(11)와;Setting a call intercept and a hook when the hook is performed in step S10, and proceeding to step S10 again;

상기 S10단계에서 후크하지 않을 경우 언후크이지 판단하는 단계(S20)와;Determining not to hook when not hooking in step S10 (S20);

상기 S20단계에서 언후크 할 경우 콜을 재저장하고 후크를 언셋트하고 다시 S10단계로 진행하는 단계(S21)와;If the hook is unhooked in step S20, re-storing the call, unsetting the hook, and proceeding to step S10 again (S21);

상기 S20단계에서 언후크하지 않을 경우 팬턴갱신을 판단하는 단계(S30)와;Determining the pantone update when not unhooked at step S20 (S30);

상기 S30에서 패턴이 갱신되면 패턴을 갱신하고 다시 S10 단계로 진행하는 단계(S31)와;If the pattern is updated in step S30, updating the pattern and proceeding to step S10 again (S31);

상기 S30에서 패턴이 갱신되지 않으면 후크되었는지 여부를 판단하는 단계(S40)와.;Determining if the pattern is hooked if the pattern is not updated in step S30 (S40);

상기 S40단계에서 후크되었을 경우 파일이 열렸나 판단하는 단계(S41)와;Determining whether a file has been opened when it is hooked in step S40 (S41);

상기 S41단계에서 파일이 열렸을 경우 부가, 변경을 결정하고 다시 S10단계로 진행하는 단계(S42)와;When the file is opened in step S41, determining addition and modification, and then proceeding to step S10 again (S42);

상기 S41단계에서 파일이 열리지 않을 경우 파일이 닫혔나 판단하는 단계(S43)와;Determining whether the file is closed when the file is not opened in step S41 (S43);

상기 S43단계에서 파일이 닫혔을 경우 부가로 플래그 되었나 판단하는 단계(S44)와;Determining whether the file is additionally flagged when the file is closed in step S43 (S44);

상기 S44단계에서 부가로서 플래그 되었을 경우 부가 이벤트 전송하고 다시 S10단계로 진행하는 단계(S45)와;If it is flagged as an additional step in step S44, transmitting an additional event and proceeding to step S10 again (S45);

상기 S44단계에서 부가로 플래그 되지 않을 경우 변경으로서 플레그 되었나 판단하는 단계(S46)와;If it is not additionally flagged in step S44, determining whether it is flagged as a change (S46);

상기 S46단계에서 변경 플레그 되었을 경우 변경 이벤트를 전송하고 다시 S10단계로 진행하고 플레그 되지 않을 경우 바로 S10단계로 진행하는 단계(S47)와;Transmitting a change event when the flag is changed in step S46 and proceeding to step S10 again, and immediately proceeding to step S10 when the flag is not flagged (S47);

상기 S43단계에서 파일이 닫혀 있지 않을 경우 파일이 삭제되었나 판단하는 단계(S48)와;Determining whether the file has been deleted if the file is not closed in step S43 (S48);

상기 S48단계에서 파일이 삭제되지 않을 경우 삭제 이벤트 전송하고 다시 S10단계로 진행하는 단계(S49)와;If the file is not deleted in step S48, transmitting a deletion event and proceeding to step S10 again (S49);

상기 S48단계에서 파일이 삭제되지 않을 경우 파일이 실행되었나 판단하는 단계(S50)와;Determining whether the file is executed when the file is not deleted at step S48 (S50);

상기 S50단계에서 파일이 실행되면 실행 이벤트를 전송하고 S10단계로 전송하고 파일이 실행되지 않으면 바로 S10단계로 전송되는 단계(S51)와;Transmitting the execution event when the file is executed in step S50 and transmitting to step S10, and if the file is not executed, directly transmitting to step S10 (S51);

상기 S40단계에서 후크되지 않았을 경우 로드되었는지 판단하는 단계(S60)로 로드되었을 경우 S10단계로 진행되며 로드되지 않을 경우 RTIC 데몬을 위해 초기 커널 형성을 종료하는 것으로 이루어진다.If it is not hooked in step S40, the process proceeds to step S10 when it is loaded in step S60. If it is not loaded, the initial kernel formation for the RTIC daemon is terminated.

도 6은 본 발명에 따른 RTIC 데몬이 동작하는 흐름도로서, 다음과 같은 단계로 이루어져 있다.6 is a flowchart in which the RTIC daemon operates according to the present invention, and includes the following steps.

프로세서가 동작되면 내부적으로 돌아가는 환경값(구성)을 읽어들이는 단계(S70)와;Reading an environment value (configuration) which is internally returned when the processor is operated (S70);

상기 S70단계 이후 초기패턴(구성)을 RTIC(FASA의 FA 캡쳐)로 보내는 단계(S80)와;Sending an initial pattern (configuration) to the RTIC (FA capture of FASA) after step S70 (S80);

상기 S80단계 이후 백업 초기화(구성에 해당되는 파일들) 및 텍스트파일 체크 단계(S90)와;A backup initialization (files corresponding to the configuration) and a text file check step (S90) after step S80;

상기 S90단계 이후 구성에 정의된 파일들에 이벤트가 발생하면 이를 판단하는 단계(100)와;Determining if an event occurs in files defined in the configuration after step S90 (100);

상기 S100단계 이후 이벤트에 대한 시간초과를 판단하는 단계(S110)와;Determining a timeout for the event after step S100 (S110);

상기 S110단계 이후 이벤트에 대한 시간이 초과되지 않았을 경우 RTIC 데몬을 정지(종료)할 것인가 지속(S100)할 것인가에 대한 판단하는 단계(S120)로 이루어진다.After the step S110, if the time for the event is not exceeded, the step of determining whether to stop (end) or continue (S100) the RTIC daemon (S120).

상기 기술한 단계 중에서 S100단계는 이벤트가 발생할 경우 프로세서는 또한, 다음과 같은 과정을 수행한다.In step S100, the processor performs the following process when an event occurs.

즉, 이벤트가 발생하면 파일이벤트인가 판단하는 단계(S101)와;That is, if an event occurs, determining whether the file event (S101);

상기 S101단계 이후 파일이벤트가 발생하면 파일내용차이를 분석하는 단계(S102)와;Analyzing a file content difference when a file event occurs after step S101 (S102);

상기 S102단계 이후 감시파일을 쓰고 S110단계로 진행하는 단계(S103)와;Writing the monitoring file after step S102 and proceeding to step S110 (S103);

상기 S101단계에서 파일 이벤트가 아니라 로그인/로그아웃 이벤트를 판단하는 단계(S104)와;Determining a login / logout event rather than a file event in step S101 (S104);

상기 S104단계에서 로그인/로그아웃 이벤트가 아니면 S110단계로 진행하고 이벤트면 로그인/로그아웃 감시쓰기를 수행하는 S105(WTMP 데몬에서 이벤트 발생시 처리)단계로 이루어진다.If it is not the login / logout event in step S104, the process proceeds to step S110, and if it is an event, S105 (processing when an event occurs in the WTMP daemon) is performed.

또한, 상기 S110단계에서 이벤트에 대한 시간초과시 구성파일 변경에 대한 갱신 과정으로 S70 내지 S90 단계와 비슷하고 다음과 같은 단계로 이루어져 있다.In addition, the update process for the configuration file change when the timeout for the event in step S110 is similar to the steps S70 to S90 and consists of the following steps.

이벤트에 대한 시간이 초과하면 구성파일을 체크하는 단계(S111)와;Checking the configuration file if the time for the event exceeds (S111);

구성파일 수정하고 수정하지 않을 경우 S120단계로 진행하고 구성파일이 수정되었을 경우 S113단계로 진행을 위한 판단하는 단계(S112)와;If the configuration file is modified and not modified, proceed to step S120; and if the configuration file is modified, determining for proceeding to step S113 (S112);

상기 S112단계에 의해서 구성파일이 수정되면 패턴을 RTIC에 갱신하는 단계(S113)와;Updating the pattern in the RTIC when the configuration file is modified in step S112 (S113);

상기 S113에서 갱신된 정보를 토대로 백업 및 텍스트 파일로 체크하고 S120단계로 진행하는 단계(S114)로 이루어져 있다.On the basis of the information updated in the step S113 and check with a text file and proceeds to step S120 (S114).

도 7은 본 발명에 따른 WTMP 데몬이 동작하는 흐름도로서, 다음와 같은 단계로 이루어져 있다.7 is a flowchart in which the WTMP daemon operates according to the present invention, and includes the following steps.

서버 시스템들은 사용자 접속을 관리하는 이벤트 파일이 존재하는데, 이때 로그인/로그아웃 이벤트 파일의 갱신을 판단하는 단계(S130)와;The server systems have an event file for managing a user connection, wherein determining the update of the login / logout event file (S130);

상기 S130단계에서 파일 갱신이 발생되면 기록분석을 통해 로그인, 로그아웃을 결정하는 단계(S131)와;Determining log in and log out through record analysis when a file update occurs in step S130;

로그인 기록 여부를 판단하는 단계(S132)와;Determining whether to log in (S132);

상기 S132단계에서 로그인 기록 여부가 있을 경우 로그인 이벤트를 RTIC 데몬으로 보내는 단계(S133)와;Sending a login event to the RTIC daemon if there is a login record in step S132;

상기 S132단계에서 로그인 기록 여부가 없을 경우 로그아웃 기록 여부를 판단하는 단계(S134)와;In step S132, if there is no log recording, determining whether to log out or not (S134);

상기 S134단계에서 로그아웃 기록여부가 있을 경우 로그아웃 이벤트를 RTIC 데몬으로 보내는 단계(S135)와;Sending a logout event to the RTIC daemon if there is a logout recording in step S134 (S135);

상기 S133단계, S134단계, S135단계 처리 후 WTMP 데몬의 종료 유무를 판단하는 단계(S136)로 이루어진다.After the processing of steps S133, S134, and S135, it is determined whether the WTMP daemon is terminated (S136).

이상 설명한 본 발명의 시스템과 방법의 내부적인 시스템 구성에 대한 실질적인 동작과정은 다음과 같다.The actual operation process for the internal system configuration of the system and method of the present invention described above is as follows.

상기 시스템의 각 구성은 네트워크를 통한 서버 접속시 스니핑 감시, 서버상의 에이전트(FASA, SSC)에 의한 에이전트 감시, 스니핑과 에이전트 연동에 의한 연동 감시로 데이터베이스 서버에 접속(혹은 서버 내부적으로 동작)하여, 서버 내 데이터베이스에 직접 접근하여 수행되는 모든 행위를 감시하는 것으로, 보다 상세하게 다음과 같이 설명한다.Each configuration of the system is connected to a database server (or internally operated by a server) through sniffing monitoring when connecting to a server through a network, agent monitoring by agents (FASA and SSC) on the server, and interlocking monitoring by sniffing and agent interworking. It monitors all the actions performed by accessing the database in the server directly.

상기 스니핑 감시는 클라이언트와 데이터베이스 서버간의 네트워크를 통해 송수신되는 통신패킷을 스니핑(Sniffing) 한다. 패킷의 종류에는 TCP/IP, IPX, Token-Ring 및 ATM 등의 다양한 프로토콜의 표준이 있고 스니핑하는 방법은 모든 패킷을 스니핑하여 TCT/IP 패킷은 제외하고 나머지 패킷은 버리는 방법과, TCP/IP 패킷만을 필터링하여 스니핑하는 방법이 있다.The sniffing monitoring sniffs communication packets transmitted and received through a network between a client and a database server. There are various protocol standards such as TCP / IP, IPX, Token-Ring, and ATM, and the method of sniffing sniffs all packets, discarding all other packets except TCT / IP packets, and TCP / IP packets. There is a way to filter and sniff only.

TCP/IP 패킷에 의해 스니핑하는 방법은 TCP/IP 패킷에는 출발지와 목적지의 MAC 주소, IP(Internet Protocol) 번호 및 포트 번호가 기록되어 있고 감시하고 스니핑 하기 위해서는 패킷의 IP를 검사하여 상기 패킷이 감시하고자 하는 대상 데이터베이스 서버로 전송되는 패킷, 또는 감시하고자 하는 데이터베이스 서버로부터 전송되는 패킷만을 선별한다. 상기 데이터베이스 서버와 관련된 패킷임이 판별될 경우, 서버측의 포트 번호가 Telnet, FTP 및 R-Command의 포트 번호인지를 확인하여 해당 포트번호가 아니면 패킷을 버린다.In the method of sniffing by TCP / IP packet, the MAC address, IP (Internet Protocol) number and port number of the source and destination are recorded in the TCP / IP packet, and the packet is monitored by inspecting the IP of the packet for monitoring and sniffing. Only packets transmitted to the target database server to be monitored or packets transmitted from the database server to be monitored are selected. If it is determined that the packet is related to the database server, check whether the port number of the server side is a port number of Telnet, FTP, and R-Command, and discard the packet if it is not the corresponding port number.

데이터베이스 서버의 해당 포트가 확인된 경우, 시스템 별로 응용프로토콜명(Telnet, FTP 등), 클라이언트 IP 번호, 클라이언트 이름, 시간, 로그인 사용자 및 사용자가 입력한 문자열 또는 서버의 응답 문자열 등의 정보들 중 이용 가능한 정보를 파일 또는 이용 가능한 형태로 기록된다.If the corresponding port of the database server is confirmed, it can be used among system information such as application protocol name (Telnet, FTP, etc.), client IP number, client name, time, login user and user input string or server response string. Possible information is recorded in a file or available format.

감시시스템 클라이언트는 해당 로그 파일의 정보를 조회할 수 있는 프로그램을 사용하여 네트워크를 통해 수행된 작업을 조회한다.Surveillance system client inquires the work done through network by using program that can inquire information of log file.

스니핑 감시는 사용자가 입력한 파일 또는 명령의 이름을 언제나 확인할 수 있으나, 파일 또는 명령의 실제 정보(텍스트)를 확인하기가 불가능한 경우도 있다.Sniffing monitoring can always check the name of a file or command entered by a user, but sometimes it is impossible to see the actual information (text) of a file or command.

상기 에이전트 감시는 데이터베이스 서버에 설치된 에이전트 프로그램이 감시 대상의 파일의 생성, 변경, 삭제, 이동 또는 실행이 일어나는 경우에 이를 감지하여 각각의 행위를 로그 파일에 기록한다.The agent monitoring detects when an agent program installed in a database server generates, changes, deletes, moves, or executes a file to be monitored, and records each action in a log file.

에이전트 프로그램에는 로그 파일의 정보를 조회하기를 원하는 별도의 감시시스템 클라이언트와 통신을 위한 통신모듈이 설치되어서, 생성된 로그 데이터 중 클라이언트가 요구한 데이터만을 선별하여 상기 클라이언트로 전송한다.The agent program is provided with a communication module for communication with a separate surveillance system client that wants to inquire information of a log file, and selects and transmits only the data requested by the client to the client.

상기 연동 감시는 감시시스템 클라이언트의 감시 프로그램이 감시시스템 서버의 감시 프로세서와 통신하여 감시시스템 서버에서 스니핑 감시로 저장된 로그정보를 조회할 수 있다. 사용자(접속자)가 수행한 과정을 조회할 때, 파일 내용을 확인하면 감시시스템 클라이언트의 감시 프로그램은 데이터베이스 서버의 에이전트(SSC, FASA)의 통신 모듈(SSC 인터페이스, FA 인터페이스)과 통신하여 에이전트 감시로 저장된 로그 정보 중 관심파일(변경 내용 및 내역)을 확인할 수 있다.In the interlock monitoring, a monitoring program of a monitoring system client may communicate with a monitoring processor of a monitoring system server to query log information stored as a sniffing monitoring in the monitoring system server. When inquiring the process performed by the user (accessor), if the contents of the file are checked, the surveillance program of the surveillance system client communicates with the communication module (SSC interface, FA interface) of the agent (SSC, FASA) of the database server to monitor the agent. You can check the file of interest (changes and details) from the saved log information.

상기 데이터베이스 서버에 직접 접근하여 데이터베이스를 접속하는 행위 감시는 일부분 중복되는 경우도 있지만 SSC(Server SQL Capture)는 접근형태 및 동작형태와 상관없이 서버에서 데이터베이스 전용 툴(SQL*PLUS)를 수행(파일이나 직접 키인으로 실행한 SQL)하는 행위이며, 스니핑은 FTP나 Telnet으로 서버에 접근하여 직접 키보드상에서 키인하는 행위이며, FASA(File Access Server Agent)는 접근형태 및 동작형태와 상관없이 서버에서 SQL*PLUS로 직접 SQL문을 키인하는 행위와 감시 패턴(감시영역의 감시 파일들)이 아닌 파일을 접근하는 행위를 제외한 모든 행위들을 감시한다.In some cases, monitoring of access to the database by accessing the database server directly may overlap, but SSC (Server SQL Capture) executes a database-specific tool (SQL * PLUS) on the server regardless of the access type and operation type (file or SQL executed by direct key-in, and sniffing is an act of key-in on the keyboard by accessing the server by FTP or Telnet, and FASA (File Access Server Agent) uses SQL * PLUS on the server regardless of the access type and operation type. It monitors all actions except keying in SQL statements directly and accessing files other than monitoring patterns (monitor files in the monitoring area).

다음 데이터베이스 서버에 직접 접근하여 데이터베이스에 접근하는 행위와 감시방법은 하기와 같이 구분된다.Next, accessing database by directly accessing database server and monitoring method are divided as follows.

첫째 클라이언트에서 Telnet으로 접근하여 개별적으로 키인하는 것으로서 데이터베이스 서버에서 직접 프로그램(SQL Script, Shell, Application)하여 데이터베이스에 접근하는 스니핑 또는 SSC 및 FASA 감시하는 방법이 있으며, 둘째 클라이언트에서 SQL 스크립트를 작성하여 FTP로 업로드하고 Telnet으로 접근하여 SQL*PLUS Script 수행 방식으로 데이터베이스에 접근하는 스니핑 및 SSC 또는 FASA 감시하는 방법이 있고, 셋째 클라이언트에서 SQL*PLUS를 제외한 프로그램된 정보(Shell, Application)를 FTP로 업로드하고 Telnet으로 접근하여 데이터베이스에 접근하는 스니핑 및 FASA 감시하는 방법이 있고, 넷째 콘솔(CRON)이나 클라이언트에서 SSH(Secure 쉘)로 접속하여 SQL*PLUS 같은 도구로 데이터베이스에 접근하는 SSC 및 FASA 감시하는 방법이 있으며, 마지막으로 다섯째 콘솔(CRON)이나 클라이언트에서 SSH로 접속하여 SQL*PLUS를 제외한 다른 어플리케이션으로 데이터베이스에 접근하는 FASA 감시하는 방법이 있다.Firstly, it is keyed in by accessing to telnet from client first, and there is a method to access database by program (SQL Script, Shell, Application) directly from database server, or to monitor SSC and FASA. Second, write SQL script in FTP There is a method of sniffing and monitoring SSC or FASA to access the database by executing SQL * PLUS Script by accessing Telnet and uploading the programmed information (Shell, Application) except SQL * PLUS in FTP by the third client. There is a method of sniffing and FASA monitoring accessing the database by telnet access, and the 4th method of SSC and FASA monitoring accessing the database with a tool such as SQL * PLUS by connecting to SSH (Secure Shell) from the console (CRON) or client. Finally, the fifth console (CRON) On the other applications to connect to SSH in gradient than the SQL * PLUS has FASA how to monitor access to the database.

상기의 설명한 바 있는 FASA는 서버에 접근형태와 상관없이 수행 행위 중 데이터베이스에 대한 접근뿐만 아니라, 기타 수행한 행위들도 감시함으로 일정 부분의 서버 보안도 담당한다. 넓은 의미로 FASA는 SSC와 스니핑를 포함하고 있지만, 서버에서 SQL*PLUS에서 파일 스크립트를 수행하지 않고 직접 SQL들을 Key 하거나 쉘 스크립트에서 입력 프롬프트 형태로 SQL*PLUS를 수행하는 경우는 SSC만 가능하다.As described above, the FASA is responsible for securing a part of the server by monitoring not only the access to the database but also other performed actions regardless of the access type to the server. In a broader sense, FASA includes SSC and sniffing, but SSC is only available if you directly key SQLs without executing file scripts in SQL * PLUS on the server, or execute SQL * PLUS as an input prompt in shell scripts.

지금까지 본 발명에 대해서 상세히 설명하였으나, 그 과정에서 언급한 실시예는 예시적인 것일 뿐, 한정적인 것이 아님을 분명히 하며, 본 발명은 이하의 특허청구범위에 의해 제공되는 본 발명의 기술적 사상이나 분야를 벗어나지 않는 범위내에서, 균등하게 대처될 수 있는 정도의 구성요소 변경은 본 발명의 범위에 속한다 할 것이다.Although the present invention has been described in detail so far, it should be apparent that the embodiments mentioned in the process are only illustrative, and not restrictive, and the present invention is provided by the following claims. Within the scope not departing from the scope of the present invention, changes in the components to the extent that they can be dealt with evenly will fall within the scope of the present invention.

이상에서 설명한 바와 같이 본 발명에 따른 데이터베이스 서버에 접속하여 수행되는 작업을 감시하는 모니터링 시스템 및 방법은 유틸리티를 이용하여 데이터베이스 서버에 로컬 및 원격 접속한 후 수행되는 모든 작업정보를 감시하고 이를 모니터링하여 확인함에 있어서, 패킷을 스니핑하는 프로세스를 이용하고, 유틸리티를 이용하여 데이터베이스에 수행되는 작업을 실시간으로 감시하는 효과가 있다. As described above, the monitoring system and method for monitoring operations performed by accessing a database server according to the present invention monitor and verify all operation information performed after accessing the database server locally and remotely using a utility. In this case, there is an effect of using a process of sniffing a packet, and using a utility to monitor in real time what is being done to the database.

또한 본 발명은 데이터베이스 시스템 자체에 별도의 프로세스를 동작하여 특정시점에 수행된 스크립트파일에 대한 변경정보을 감시하게 함으로써, 데이터베이스 서버에 로컬 및 원격접속하여 수행되는 모든 작업을 감시하고 이를 모니터링하여 확인함으로써 수행된 정보를 효율적으로 확인할 수 있으며 클라이언트를 차단, 경고하는 제어를 할 수 있는 장점이 있다.In addition, the present invention is to perform a separate process in the database system itself to monitor the change information for the script file performed at a specific point in time, by monitoring all the operations performed by local and remote access to the database server and monitoring and confirming this operation The information can be checked efficiently, and there is an advantage to control to block and warn the client.

도 1은 본 발명에 따른 유틸리티 방식으로 데이터베이스 서버에 접근하여 감시하는 모니터링 시스템 구성도1 is a configuration of a monitoring system for accessing and monitoring a database server by a utility method according to the present invention

도 2는 본 발명에 따른 SSC(Sever SQL Capture) 프로세서 처리 구성도2 is a SSC (Sever SQL Capture) processor processing configuration according to the present invention

도 3은 본 발명에 따른 FASA(File Access Sever Agent) 프로세서 처리 구성도3 is a block diagram illustrating a process of processing a File Access Sever Agent (FASA) processor according to the present invention.

도 4는 본 발명에 따른 네트워크상에서 유틸리티 방식으로 데이터베이스 시스템에 접근시 감시하는 방법에 대한 프로세서를 나타낸 흐름도4 is a flow diagram illustrating a processor for a method for monitoring access to a database system in a utility manner over a network in accordance with the present invention.

도 5a 내지 도 5b는 본 발명에 따른 RTIC 데몬을 위한 초기 커널을 형성하기 위한 흐름도5A-5B are flow charts for forming an initial kernel for the RTIC daemon in accordance with the present invention.

도 6은 본 발명에 따른 RTIC 데몬이 동작하는 흐름도6 is a flowchart in which the RTIC daemon operates according to the present invention.

도 7은 본 발명에 따른 WTMP 데몬이 동작하는 흐름도7 is a flowchart in which the WTMP daemon operates according to the present invention.

* 주요 도면부호에 대한 설명 ** Description of the main drawing codes *

10 : 콘솔 20: 데이터베이스 서버10: console 20: database server

21 : 데이터베이스 22 : SSC21: Database 22: SSC

23 : FASA 23-1 : FA 캡쳐23: FASA 23-1: FA capture

23-2 : FA 인터페이스 24-1 : SSC 캡쳐23-2: FA interface 24-1: SSC capture

24-2 : SSC 인터페이스 25, 52 : 로크파일24-2: SSC interface 25, 52: Lockfile

30: 사용자 클라이언트30: User Client

40 : 인가자 및 비인가자 클라이언트 50 : 감시시스템 서버40: authorized and unauthorized client 50: surveillance system server

51 : 프로세서 60 : 감시시스템 클라이언트51 processor 60 surveillance system client

70 : 인터넷 80 : 스위칭장비70: Internet 80: switching equipment

90 : 데이터베이스 관리 시스템90: database management system

Claims (5)

복수의 클라이언트 응용 프로세서와, 데이터베이스 서버를 포함한 복수의 데이터베이스 서버간에 발생하는 데이터 패킷들을 송수신하는 데이터베이스를 감시하는 모니터링 시스템에 있어서,A monitoring system for monitoring a database for transmitting and receiving data packets occurring between a plurality of client application processors and a plurality of database servers including a database server, 사용자 클라이언트(30), 인가자 및 비인가자 클라이언트(40), 콘솔(10)이 데이터베이스 서버(20)에 접근하여 데이터베이스(21)를 이용한 행위와, 변경파일 내용을 감시하고 로그파일(25)에 저장하는 FASA(23)와, SSC(22)가 구비된 데이터베이스 서버(20)와;The user client 30, authorized and unauthorized client 40, and console 10 access the database server 20 to monitor the behavior of the database 21 and the contents of the changed file, and to log file 25. A database server 20 having a FASA 23 for storing and an SSC 22; 상기 데이터베이스 서버(20)에 유틸리티로 접속하고 클라이언트(30, 40)가 서버에 로그인하여 로그아웃까지의 모든 행위를 감시하고 로그파일(52)에 저장하는 감시시스템 서버(50)와;A monitoring system server (50) for accessing the database server (20) as a utility and monitoring all actions until the logout by the client (30, 40) logging in to the server and storing them in a log file (52); 상기 로그파일(25, 52)을 감시하고 데이터베이스 서버(20)와 감시시스템 서버(50)를 제어하는 감시시스템 클라이언트(60)로 이루어진 것을 특징으로 하는 유틸리티 방식으로 데이터베이스 서버에 접속하여 수행되는 작업을 감시하는 모니터링 시스템.The operation performed by accessing the database server in a utility manner, characterized in that the monitoring system client 60 for monitoring the log files 25, 52 and controls the database server 20 and the monitoring system server 50. Monitoring system to monitor. 제 1항에 있어서, 상기 데이터베이스 서버(20)는 특정시간에 데이터베이스(21)를 이용하는 스케쥴러가 더 포함된 것을 특징으로 하는 유틸리티 방식으로 데이터베이스 서버에 접속하여 수행되는 작업을 감시하는 모니터링 시스템.The monitoring system according to claim 1, wherein the database server (20) further includes a scheduler using the database (21) at a specific time. 복수의 클라이언트 응용 프로세스와, 데이터베이스 서버를 포함한 복수의 데이터베이스 서버간에 발생하는 데이터 패킷들을 송수신하는 데이터베이스를 감시하는 모니터링 방법에 있어서,A monitoring method for monitoring a database for transmitting and receiving data packets occurring between a plurality of client application processes and a plurality of database servers including a database server, the method comprising: 클라이언트(30, 40)가 유틸리티 방식으로 인터넷망을 통하여 데이터베이스 서버(20)에 로그인하여 로그아웃까지의 모든 행위를 하는 제1단계와;A first step in which the clients 30 and 40 log in to the database server 20 via the internet in a utility manner and perform all actions until logout; 감시시스템 서버(50)는 상기 제1단계에서 클라이언트(30, 40)가 로그인하여 로그아웃까지의 모든 행위를 감시하는 제2단계와;The monitoring system server 50 includes a second step of monitoring all actions until the client logs out and logs out in the first step; 데이터베이스 서버(20)는 상기 제1단계에서 클라이언트(30, 40)의 행위에 대하여 FASA(23), SSC(22)가 데이터베이스(21)를 이용한 행위와 변경파일 내용을 감시하는 제3단계와;A third step in which the database server 20 monitors the contents of the behavior and the change file contents of the FASA 23 and the SSC 22 using the database 21 with respect to the actions of the clients 30 and 40 in the first step; 상기 감시시스템 서버(50)와, FASA(23) 및 SSC(22)에서 감시된 정보를 모니터링하는 제4단계로 이루어진 것을 특징으로 하는 유틸리티 방식으로 데이터베이스 서버에 접속하여 수행되는 작업을 감시하는 모니터링 방법.The monitoring method for monitoring the operation performed by accessing the database server in a utility method, characterized in that it comprises a fourth step of monitoring the information monitored by the monitoring system server 50, FASA (23) and SSC (22) . 제 3항에 있어서, 상기 제 3단계에서의 상기 FASA에 의한 처리방법은The method of claim 3, wherein the treatment by the FASA in the third step RTIC 데몬이 패턴을 받은 후 파일의 변경을 감시하면서 파일 이벤트를 RTIC 데몬에 전달하는 단계와;Forwarding the file event to the RTIC daemon while the RTIC daemon receives the pattern and monitoring the file for change; 로그인, 로그아웃 이벤트 발생시 WTMP 데몬이 감지하여 그 이벤트 정보를 상기 RTIC 데몬에 전달하는 단계와;Detecting, by the WTMP daemon, when the login or logout event occurs, and transmitting the event information to the RTIC daemon; 상기 RTIC 데몬은 로그인, 로그아웃 이벤트를 전달받아 감시파일을 생성하는 단계로 이루어진 것을 특징으로 하는 유틸리티 방식으로 데이터베이스 서버에 접속하여 수행되는 작업을 감시하는 모니터링 방법.The RTIC daemon monitors operations performed by accessing a database server by a utility method, characterized in that the step of generating a monitoring file by receiving a login and logout event. 제 3항에 있어서, 상기 제2단계 또는 제3단계는 클라이언트(30, 40)에서 Telnet으로 접근하여 개별적으로 키인하여 데이터베이스 서버(20)에서 직접 프로그램하여 데이터베이스(21)에 적근하는 스니핑 또는 SSC 및 FASA 감시하는 방법과;4. The method of claim 3, wherein the second or third step is a sniffing or SSC that accesses the Telnet from the clients 30 and 40, individually key-in, and directly programs the database server 20 to the database 21. How to monitor FASA; 클라이언트(30, 40)에서 SQL 스크립트를 작성하여 FTP로 업로드하고 telnet으로 접근하여 SQL*PLUS 스크립트 수행 방식으로 데이터베이스(21)에 접근하는 스니핑 및 SSC 또는 FASA 감시하는 방법과;A method of sniffing and monitoring SSC or FASA to access the database 21 by executing an SQL * PLUS script by uploading by FTP and telnet by creating an SQL script in the clients 30 and 40; 클라이언트(30, 40)는 SQL*PLUS를 제외한 프로그램된 정보(Shell, Application)를 FTP로 업로드하고 Telnet으로 접근하여 데이터베이스(21)에 접근하는 스니핑 및 FASA 감시하는 방법과; Client (30, 40) is a method of sniffing and FASA monitoring access to the database 21 by FTP and uploading the programmed information (Shell, Application) except SQL * PLUS; 콘솔(10) 또는 클라이언트(30, 40)가 SSH로 접속하여 SQL*PLUS 도구로 데이터베이스(21)에 접근하는 SSC 및 FASA 감시하는 방법과;A SSC and FASA monitoring method in which the console 10 or the clients 30 and 40 access SSH and access the database 21 with the SQL * PLUS tool; 콘솔 또는 클라이언트(30, 40)에서 SSH로 접속하여 SQL*PLUS를 제외한 다른 어플리케이션으로 데이터베이스(21)에 접근하는 FASA 감시하는 방법 중 어느 하나로 접속하는 것을 특징으로 하는 유틸리티 방식으로 데이터베이스 서버에 접속하여 수행되는 작업을 감시하는 모니터링 방법.Access to the database server by a utility method, characterized in that the connection to any one of the FASA monitoring method to access the database 21 by other applications except SQL * PLUS by connecting to the console or the client (30, 40) by SSH. Monitoring method to monitor the work being done.
KR1020050020756A 2005-03-11 2005-03-11 A monitoring system and method of auditing performanced work connected to database server by utility method KR100503772B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050020756A KR100503772B1 (en) 2005-03-11 2005-03-11 A monitoring system and method of auditing performanced work connected to database server by utility method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050020756A KR100503772B1 (en) 2005-03-11 2005-03-11 A monitoring system and method of auditing performanced work connected to database server by utility method

Publications (1)

Publication Number Publication Date
KR100503772B1 true KR100503772B1 (en) 2005-07-26

Family

ID=37303747

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050020756A KR100503772B1 (en) 2005-03-11 2005-03-11 A monitoring system and method of auditing performanced work connected to database server by utility method

Country Status (1)

Country Link
KR (1) KR100503772B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008140219A2 (en) * 2007-05-09 2008-11-20 Wellbia. Com Co., Ltd. System and method for security using one-time execution code
KR20160099173A (en) 2015-02-11 2016-08-22 (주) 에스에스알 Monitoring method and monitoring device of executable program's action, Computer program for the same, Recording medium storing computer program for the same
CN112486764A (en) * 2020-11-24 2021-03-12 云南电网有限责任公司信息中心 System and method for issuing monitoring and changing content analysis

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008140219A2 (en) * 2007-05-09 2008-11-20 Wellbia. Com Co., Ltd. System and method for security using one-time execution code
WO2008140219A3 (en) * 2007-05-09 2009-01-08 Wellbia Com Co Ltd System and method for security using one-time execution code
US9830434B2 (en) 2007-05-09 2017-11-28 Wellbia.Com Co., Ltd. System and method for security using one-time execution code
KR20160099173A (en) 2015-02-11 2016-08-22 (주) 에스에스알 Monitoring method and monitoring device of executable program's action, Computer program for the same, Recording medium storing computer program for the same
CN112486764A (en) * 2020-11-24 2021-03-12 云南电网有限责任公司信息中心 System and method for issuing monitoring and changing content analysis

Similar Documents

Publication Publication Date Title
EP3410336B1 (en) Forensic analysis
US7007301B2 (en) Computer architecture for an intrusion detection system
US7134141B2 (en) System and method for host and network based intrusion detection and response
US20050203921A1 (en) System for protecting database applications from unauthorized activity
KR102095334B1 (en) Log information generating device and recording medium and log information extraction device and recording medium
KR20040101490A (en) Detecting and countering malicious code in enterprise networks
US8185955B2 (en) Intrusion detection method and system, related network and computer program product therefor
US20070266433A1 (en) System and Method for Securing Information in a Virtual Computing Environment
US20040015719A1 (en) Intelligent security engine and intelligent and integrated security system using the same
KR101143847B1 (en) Network security apparatus and method thereof
KR101282297B1 (en) The apparatus and method of unity security with transaction pattern analysis and monitoring in network
Lindqvist et al. eXpert-BSM: A host-based intrusion detection solution for Sun Solaris
Safford et al. The TAMU security package: An ongoing response to internet intruders in an academic environment
CN109787964B (en) Process behavior tracing device and method
KR100503772B1 (en) A monitoring system and method of auditing performanced work connected to database server by utility method
KR20040065674A (en) Host-based security system and method
KR20020072618A (en) Network based intrusion detection system
KR20020012855A (en) Integrated log analysis and management system and method thereof
KR100376618B1 (en) Intelligent security system for network based on agent
WO2003021402A2 (en) Network security
KR20030049853A (en) system for protecting of network and operation method thereof
EP1820293A2 (en) Systems and methods for implementing protocol enforcement rules
KR20070008804A (en) Host-based security system and method for providing security service
Cisco Working With Sensor Signatures
Cisco Working with Sensor Signatures

Legal Events

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

Payment date: 20120615

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140408

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee