KR102142045B1 - A server auditing system in a multi cloud environment - Google Patents

A server auditing system in a multi cloud environment Download PDF

Info

Publication number
KR102142045B1
KR102142045B1 KR1020190170836A KR20190170836A KR102142045B1 KR 102142045 B1 KR102142045 B1 KR 102142045B1 KR 1020190170836 A KR1020190170836 A KR 1020190170836A KR 20190170836 A KR20190170836 A KR 20190170836A KR 102142045 B1 KR102142045 B1 KR 102142045B1
Authority
KR
South Korea
Prior art keywords
server
information
access
tag
cloud
Prior art date
Application number
KR1020190170836A
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 주식회사 넷앤드
Application granted granted Critical
Publication of KR102142045B1 publication Critical patent/KR102142045B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

The present invention relates to a server auditing system in a multi cloud environment. The system audits content after an administrator in an environment using various cloud services accesses an object server of the cloud environment with a remote protocol (SSH, RDP) and conducts work. The system includes: a connector link unit interworking with a connector of a cloud platform and collecting server tag information and server configuration information in the cloud service from the connector; an access rights management unit managing server access rights information showing a server-accessible user and updating the server access rights information by detecting server generation or elimination in the cloud platform based on the collected server configuration information and server tag information; an authentication rights control unit controlling the server access of the user′s terminal in accordance with the server access rights information; and a communication relay unit performing message relay between the user terminal and the server. According to the present invention, the environment providing various cloud services has a gateway for access path unification, and thus an integrated auditing function can be provided. In addition, the access rights of servers that are auto-scaled are automatically set, and thus authentication information used during server access is not exposed to the outside and security can be enhanced.

Description

멀티 클라우드 환경에서의 서버 감사 시스템 { A server auditing system in a multi cloud environment }Server auditing system in a multi cloud environment {A server auditing system in a multi cloud environment}

본 발명은 다양한 클라우드 서비스를 사용하는 환경에서 관리자가 클라우드 환경의 대상 서버에 원격 프로토콜(SSH,RDP)로 접근하여 작업한 내용을 감사하는, 멀티 클라우드 환경에서의 서버 감사 시스템에 관한 것이다.The present invention relates to a server audit system in a multi-cloud environment, in which an administrator accesses a target server in a cloud environment by using a remote protocol (SSH, RDP) in an environment using various cloud services and audits the work.

또한, 본 발명은 여러 클라우드 서비스를 제공하는 환경에서, 관리자가 클라우드 상의 대상 서버에 원격으로 접근할 때, 서비스 제공자 별로 각기 다른 인터페이스를 제공하더라도, 접근 및 사용의 편의성을 높이고, 클라우드 감사 자료를 용이하게 생산할 수 있는, 멀티 클라우드 환경에서의 서버 감사 시스템에 관한 것이다.In addition, in an environment in which multiple cloud services are provided, the present invention increases accessibility and ease of use and facilitates cloud auditing data even when a manager remotely accesses a target server on the cloud, providing different interfaces for each service provider. It relates to a server audit system in a multi-cloud environment, which can be easily produced.

일반적으로, 클라우드 환경 서비스(또는 클라우드 플랫폼 서비스)는 물리적인 서버를 각 서비스 공급자별로 필요한 만큼의 가상 서버를 빌려주는 서비스이다[특허문헌 1]. 클라우드 환경 또는 클라우드 플랫폼은 관리 비용 및 사용 편의성 등의 장점에 의해 많이 보급되어 사용되고 있다. 여기서, 클라우드 플랫폼 서비스는 클라우드 환경을 제공하는 서비스를 말하면, 클라우드 서비스는 클라우드 플랫폼 상에서 제공되는 포탈, 검색, 홈쇼핑 등 온라인 상의 각종 서비스를 말한다.In general, a cloud environment service (or cloud platform service) is a service that lends as many virtual servers as necessary for each service provider [Patent Document 1]. Cloud environments or cloud platforms are widely used and used due to advantages such as management cost and ease of use. Here, the cloud platform service refers to a service that provides a cloud environment, and the cloud service refers to various online services such as portal, search, and home shopping provided on the cloud platform.

그러나 이러한 클라우드 환경 또는 플랫폼에서 보안 영역은 각 서비스 공급자의 입장에서 책임져야 하는 것이 현실이다. 여기서, 서비스 공급자는 클라우드 환경을 이용한 온라인 상의 서비스 또는 클라우드 서비스를 공급하는 자를 나타낸다.However, in such a cloud environment or platform, it is a reality that the security area must be held by each service provider. Here, the service provider refers to a person who provides online services or cloud services using a cloud environment.

또한, 클라우드 플랫폼 제공자(또는 플랫폼 제공자 등)는 클라우드 서비스에 대한 종속성을 회피하기 위해, 하나의 클라우드 서비스에만 클라우드 환경을 제공하기 보다는 여러가지 서비스(또는 클라우드 서비스)에 동시에 제공한다.In addition, cloud platform providers (or platform providers, etc.) provide a variety of services (or cloud services) at the same time, rather than providing a cloud environment to only one cloud service, in order to avoid dependency on cloud services.

그런데 이와 같이 다수의 클라우드 서비스를 제공하는 환경에서는, 보안 관리의 어려움이 더욱 커지게 된다. 이로 인한 보안 위협도 역시 증가하고 있다.However, in such an environment in which a plurality of cloud services are provided, security management becomes more difficult. Security threats from this are also increasing.

도 1에서 보는 바와 같이, 종래의 클라우드 서버 접근 방식에 의하면, 클라우드 서비스의 관리자가 각각의 클라우드 서비스 웹(WEB) 콘솔(또는 클라우드 서비스 서버)에서 접근 권한을 부여한 후, 사용자에게 접근 대상의 인증 정보를 전달해주어야 한다. 또한, 인증 정보를 받은 사용자가 접근대상으로 직접 접근하는 방식이다.As shown in FIG. 1, according to the conventional cloud server approach, after the administrator of the cloud service grants access from each cloud service web (WEB) console (or cloud service server), authentication information of the access target to the user Should be delivered. In addition, this is a method in which a user who receives authentication information directly accesses an access target.

그러나 이러한 방식은 인증정보 전달 과정에서 정보 유출의 위험이 존재한다. 또한, 사용자의 감사 이력은 각각의 클라우드 서비스 공급자별로 취합한 후, 비교 분석해야 한다. 따라서 중복적인 리소스 소모가 생긴다.However, there is a risk of information leakage in the authentication information delivery process. In addition, the user's audit history should be collected and analyzed for each cloud service provider. Therefore, redundant resource consumption occurs.

한국등록특허 제10-1680702호(2016.11.30.공고)Korean Registered Patent No. 10-1680702 (announced on November 30, 2016)

본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 다양한 클라우드 서비스 서버를 하나의 시스템에서 통합하여 접근 관리하고, 관리자 별로 작업한 이력을 텍스트(SSH) 또는 이미지(RDP)로 저장 관리하여 감사기능을 제공하는, 멀티 클라우드 환경에서의 서버 감사 시스템을 제공하는 것이다.The object of the present invention is to solve the problems as described above, by integrating and managing various cloud service servers in one system, and managing and managing the history of each administrator as text (SSH) or image (RDP) It is to provide a server audit system in a multi-cloud environment that provides an audit function.

또한, 본 발명의 목적은 멀티 클라우드 서비스 환경에서 게이트웨이를 통해 접근 경로를 일원화하고, 각 클라우드 서비스를 위해 생성되거나 소멸되는 가상 서버의 서버 정보를 수집하고, 수집된 가상 서버와 각 관리자 별로 접근통제 권한을 실시간으로 갱신하는, 멀티 클라우드 환경에서의 서버 감사 시스템을 제공하는 것이다.In addition, the object of the present invention is to unify the access path through a gateway in a multi-cloud service environment, collect server information of a virtual server created or destroyed for each cloud service, and access control authority for each collected virtual server and each administrator It is to provide a server audit system in a multi-cloud environment to update in real time.

또한, 본 발명의 목적은 각 클라우드 서비스 별로 할당된 가상 서버 정보를 수신하고, 수신한 서버 정보의 가상 서버들에 대해 각 관리자 별로 접근 권한을 설정하고 관리하는, 멀티 클라우드 환경에서의 서버 감사 시스템을 제공하는 것이다.In addition, an object of the present invention is a server audit system in a multi-cloud environment, which receives virtual server information allocated for each cloud service and sets and manages access authority for each virtual server of the received server information. Is to provide.

상기 목적을 달성하기 위해 본 발명은 적어도 하나의 사용자 단말과, 클라우드 플랫폼 사이에 설치되어, 상기 사용자 단말과 상기 클라우드 플랫폼 내의 적어도 1개의 가상 서버를 중계하는, 멀티 클라우드 환경에서의 서버 감사 시스템에 관한 것으로서, 상기 클라우드 플랫폼의 커넥터와 연동하여, 상기 커넥터로부터 해당 클라우드 서비스 내의 서버 구성 정보 및 서버의 태그 정보를 수집하는 커넥터 연계부; 서버에 접근 가능한 사용자를 나타내는 서버접근 권한 정보를 관리하되, 수집된 서버 구성 정보 및 서버의 태그 정보를 기반으로 상기 클라우드 플랫폼 내의 서버의 생성 또는 소멸을 검출하여 상기 서버접근 권한 정보를 갱신하는 접근권한 관리부; 상기 서버접근 권한 정보에 따라 상기 사용자 단말의 서버 접근을 통제하는 인증권한 통제부; 및, 상기 사용자 단말과 서버 사이에서 메시지를 중계하는 통신 중계부를 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention relates to a server audit system in a multi-cloud environment, which is installed between at least one user terminal and a cloud platform to relay at least one virtual server in the user terminal and the cloud platform. As one of the above, in connection with a connector of the cloud platform, a connector connection unit for collecting server configuration information and tag information of a server in a corresponding cloud service from the connector; Access authority to manage server access authority information indicating users who can access the server, but to update the server access authority information by detecting the creation or destruction of the server in the cloud platform based on the collected server configuration information and server tag information. Management; An authentication authority control unit controlling server access of the user terminal according to the server access authority information; And, it characterized in that it comprises a communication relay for relaying a message between the user terminal and the server.

또, 본 발명은 멀티 클라우드 환경에서의 서버 감사 시스템에 있어서, 상기 접근권한 관리부는 수집된 서버 구성 정보 및 서버의 태그 정보를 서버 태그 정보로 저장하여 관리하고, 새로 수집된 서버 구성 정보의 서버 주소들의 목록과, 이미 저장된 서버 태그 정보의 서버 주소들의 목록을 대비하여, 서버 구성의 서버 생성 또는 소멸을 검출하는 것을 특징으로 한다.In the present invention, in the server audit system in a multi-cloud environment, the access authority management unit stores and manages the collected server configuration information and the server tag information as server tag information, and the server address of the newly collected server configuration information. It is characterized by detecting a server creation or destruction of a server configuration in preparation for a list of servers and a list of server addresses of already stored server tag information.

또, 본 발명은 멀티 클라우드 환경에서의 서버 감사 시스템에 있어서, 상기 접근권한 관리부는, 상기 서버접근 권한 정보와 상기 서버 태그 정보를 조인 매핑하여, 서버 접근이 허용된 사용자들의 정보를 획득하되, 태그 정보에 의해 식별되는 사용자 정보들을 획득하고, 획득된 사용자 정보들을 태그기반 권한 정보로 저장하고, 서버 구성에서 새로운 서버가 생성되는 경우, 상기 태그기반 권한 정보에서, 새로운 서버의 태그 정보가 동일한 사용자를 검색하고, 검색된 사용자에게 해당 서버의 접근 권한을 허용하도록, 상기 서버접근 권한 정보를 갱신하는 것을 특징으로 한다.In addition, in the present invention, in the server audit system in a multi-cloud environment, the access authority management unit joins and maps the server access authority information and the server tag information to obtain information of users allowed to access the server. When the user information identified by the information is acquired, the obtained user information is stored as tag-based authorization information, and when a new server is created in the server configuration, in the tag-based authorization information, the user with the same tag information of the new server It is characterized in that the server access authority information is updated to search and allow the search user to access the corresponding server.

또, 본 발명은 멀티 클라우드 환경에서의 서버 감사 시스템에 있어서, 상기 접근권한 관리부는, 서버 구성에서 새로운 서버가 소멸되는 경우, 상기 서버 태그 정보, 및, 상기 서버접근 권한 정보에서 소멸된 서버의 서버 주소에 해당하는 데이터를 모두 제외시키고, 상기 태그 기반 권한 정보에서, 해당 서버의 태그 정보와 동일한 권한 정보를 모두 제외시키되, 상기 서버 태그 정보를 참조하여, 해당 서버의 태그 정보와 동일한 태그 정보를 가지는 다른 서버가 존재하면, 태그 기반 권한 정보를 갱신하지 않는 것을 특징으로 한다.In addition, the present invention, in a server audit system in a multi-cloud environment, the access authority management unit, when a new server is destroyed in the server configuration, the server tag information, and the server of the server destroyed in the server access authority information Excludes all data corresponding to the address, and excludes all the authorization information identical to the tag information of the corresponding server from the tag-based authorization information, but has the same tag information as the tag information of the corresponding server with reference to the server tag information. If another server exists, the tag-based authorization information is not updated.

또, 본 발명은 멀티 클라우드 환경에서의 서버 감사 시스템에 있어서, 상기 서버 구성 정보는 서버 주소, 서버가 속하는 클라우드 서비스의 서비스 식별정보를 포함하고, 상기 태그 정보는 서버의 속성이나 설명의 코멘트를 나타내는 메타 데이터로서, 다수의 키와 값의 쌍으로 구성되는 것을 특징으로 한다.Further, in the present invention, in a server audit system in a multi-cloud environment, the server configuration information includes a server address and service identification information of a cloud service to which the server belongs, and the tag information indicates a server attribute or a comment of a description As metadata, it is characterized by comprising a plurality of key and value pairs.

또, 본 발명은 멀티 클라우드 환경에서의 서버 감사 시스템에 있어서, 상기 시스템은, 상기 통신 중계부에서 중계되는 메시지 또는 데이터 패킷을 모니터링하고, 상기 서버에 접근하는 내용을 로그로 기록하는 접근로그 기록부; 및, 저장된 로그를 참조하여, 사용자별 접근 내역을 감사할 수 있는 기능을 제공하는 감사자료 생성부를 더 포함하는 것을 특징으로 한다.In addition, the present invention, in a server audit system in a multi-cloud environment, the system includes: an access log recorder that monitors a message or data packet relayed by the communication relay unit and records the contents accessing the server as a log; And, with reference to the stored log, it characterized in that it further comprises an audit data generation unit that provides a function to audit the access history for each user.

상술한 바와 같이, 본 발명에 따른 멀티 클라우드 환경에서의 서버 감사 시스템에 의하면, 다양한 클라우드 서비스를 제공하는 환경에서 게이트웨이를 두어 접근 경로를 일원화 함으로써 통합 감사 기능을 제공할 수 있고, 오토스케일링(auto-scaling) 되는 서버들의 접근 권한을 자동으로 설정함으로써 서버 접근 시 사용하는 인증정보를 외부로 노출 시키지 않아 보안을 강화할 수 있는 효과가 얻어진다.As described above, according to the server audit system in a multi-cloud environment according to the present invention, an integrated audit function can be provided by unifying an access path by placing a gateway in an environment that provides various cloud services, and autoscaling (auto- By automatically setting the access rights of the servers being scaled), the security information can be enhanced by not exposing the authentication information used when accessing the server to the outside.

또한, 본 발명에 따른 멀티 클라우드 환경에서의 서버 감사 시스템에 의하면, 멀티 클라우드 플랫폼에서 오토스케일링(AutoScaling) 등 서버 자동 할당에 대해 태그(TAG) 기반으로 권한을 사전 정의함으로써, 확장(Scale out, 스케일 아웃) 또는 축소(Scale in, 스케일 인) 상황에서 발생하는 보안 홀에 대해 대비할 수 있는 효과가 얻어진다.In addition, according to the server audit system in a multi-cloud environment according to the present invention, by pre-defining authority based on a tag (TAG) for auto-scaling of servers such as AutoScaling in a multi-cloud platform, scale out, scale Out) or scale-in (Scale in) situation, it is possible to prepare for the security hole that occurs.

도 1은 종래의 클라우드 서버 접근 방식을 나타낸 도면.
도 2는 본 발명을 실시하기 위한 전체 시스템에 대한 구성도.
도 3은 본 발명의 일실시예에 따른 멀티 클라우드 환경에서의 서버 감사 시스템의 구성에 대한 블록도.
도 4는 본 발명의 일실시예에 따른 서버접근 권한 정보를 나타낸 테이블.
도 5는 본 발명의 일실시예에 따른 서버 정보를 나타낸 테이블.
도 6은 본 발명의 일실시예에 따른 태그기반 권한 정보를 나타낸 테이블.
도 7은 본 발명의 일실시예에 따른 갱신된 서버접근 권한 정보를 나타낸 테이블.
1 is a view showing a conventional cloud server approach.
2 is a block diagram of an entire system for carrying out the present invention.
Figure 3 is a block diagram of the configuration of a server audit system in a multi-cloud environment according to an embodiment of the present invention.
4 is a table showing server access authority information according to an embodiment of the present invention.
5 is a table showing server information according to an embodiment of the present invention.
6 is a table showing tag-based authorization information according to an embodiment of the present invention.
7 is a table showing updated server access authority information according to an embodiment of the present invention.

이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.Hereinafter, specific contents for carrying out the present invention will be described in accordance with the drawings.

또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.In describing the present invention, the same parts are denoted by the same reference numerals, and repeated explanation is omitted.

먼저, 본 발명을 실시하기 위한 전체 시스템의 구성에 대하여 도 2를 참조하여 설명한다.First, the configuration of the entire system for carrying out the present invention will be described with reference to FIG. 2.

도 2에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 사용자 단말(10), 사용자 단말(10)에 설치되는 감사 클라이언트(20)와 통신 어플리케이션(60), 서버를 감사하는 감사 게이트웨이(30), 서버(41)와 커넥터(42)로 구성되는 클라우드 플랫폼(40), 및, 클라우드 서비스를 이용하는 사용자 단말(50)로 구성된다. 또한, 사용자 단말(10)과 감사 게이트웨이(30)는 네트워크(미도시)를 통해 연결된다.As shown in FIG. 2, the entire system for carrying out the present invention includes a user terminal 10, an audit client 20 installed in the user terminal 10, a communication application 60, and an audit gateway 30 for auditing the server. ), a cloud platform 40 composed of a server 41 and a connector 42, and a user terminal 50 using a cloud service. Also, the user terminal 10 and the audit gateway 30 are connected through a network (not shown).

먼저, 클라우드 플랫폼(40)은 클라우드 환경을 제공하는 통상의 플랫폼이다. 클라우드 플랫폼(40)은 다수의 물리적인 서버를 구비하고, 물리적 서버 상에서 가상 서버(41)를 생성하고, 가상 서버(41)를 통해 클라우드 서비스를 제공한다. 즉, 도 2의 서버(41)는 가상 서버를 나타낸다.First, the cloud platform 40 is a normal platform that provides a cloud environment. The cloud platform 40 includes a plurality of physical servers, creates a virtual server 41 on the physical server, and provides a cloud service through the virtual server 41. That is, the server 41 in FIG. 2 represents a virtual server.

클라우드 서비스는 클라우드 환경 또는 클라우드 플랫폼(40) 상에서 제공하는 온라인 서비스로서, 포탈 서비스, 검색 서비스, 데이터 관리 서비스, 쇼핑몰 서비스 등 각종 온라인 상의 클라우드 기반 서비스를 말한다.The cloud service is an online service provided on the cloud environment or the cloud platform 40, and refers to various online cloud-based services such as portal services, search services, data management services, and shopping mall services.

도 2와 같이, 클라우드 플랫폼(40)은 다수의 클라우드 서비스를 제공할 수 있다. 이때, 클라우드 플랫폼(40)은 각 클라우드 서비스의 서비스 용량에 맞게 가상 서버를 할당한다. 통상 이러한 기능을 클라우드 환경에서 오토스케일링(auto scaling)이라 한다.2, the cloud platform 40 may provide a number of cloud services. At this time, the cloud platform 40 allocates virtual servers according to the service capacity of each cloud service. Normally, this function is called auto scaling in a cloud environment.

예를 들어, 사용자들이 클라우드 서비스 #2를 많이 접속하고 사용하여, 클라우스 서비스 #2가 많은 자원을 필요로 하면, 클라우드 플랫폼(40)은 서비스 #2에 더 많은 서버(41)를 생성하여 할당한다. 또한, 서비스 양이 줄어드는 경우, 할당된 가상 서버 자원, 즉, 서버(41) 자원을 소멸시킬 수 있다.For example, when users access and use cloud service #2 a lot, and cloud service #2 needs a lot of resources, cloud platform 40 creates and allocates more servers 41 to service #2. . In addition, when the service amount is reduced, the allocated virtual server resource, that is, the server 41 resource may be destroyed.

한편, 클라우드 플랫폼(40)은 해당 클라우스 서비스에서 가상 서버를 추가하여 생성할 때, 기존에 서비스를 제공하던 서버를 복제하여 생성한다. 따라서 새로 복제되는 생성되는 서버의 서버 정보는 기존의 서버(또는 복제 대상)의 서버 정보와 동일하다.On the other hand, when the cloud platform 40 adds and creates a virtual server in the corresponding cloud service, it creates a duplicate server that previously provided the service. Therefore, the server information of the newly created server to be duplicated is the same as the server information of the existing server (or replication target).

다만, 서버를 식별하기 위한 접속 정보(IP주소 및 프로토콜의 조합)는 달라진다. 따라서 태그 정보 등 서버의 속성을 나타내는 메타 데이터는 동일하게 복제된다. 또한, 접속 계정과 패스워드 등 접속 인증 정보나 접속 보안 정보 등도 동일하게 복제된다.However, the access information (combination of IP address and protocol) to identify the server is different. Therefore, meta data representing attributes of the server, such as tag information, are duplicated identically. In addition, access authentication information such as access accounts and passwords, and access security information are also duplicated.

또한, 커넥터(42)는 각 클라우드 서비스를 관리하는 모듈로서, 해당 클라우드 서비스를 제공하는 모든 서버(41)의 서버 정보를 수집하여 관리한다. 바람직하게는, 커넥트(42)는 해당 클라우드 서비스의 각 서버(41)에 대한, IP주소, 프로토콜, DNS 정보 등을 관리한다.In addition, the connector 42 is a module that manages each cloud service, and collects and manages server information of all servers 41 that provide the cloud service. Preferably, Connect 42 manages IP addresses, protocols, and DNS information for each server 41 of the corresponding cloud service.

한편, 일반 온라인 서비스의 사용자는 서버(41)의 클라우드 서비스에 접속하여, 서버(41)가 제공하는 온라인 상의 클라우드 서비스를 이용한다. 즉, 이때의 클라우드 서비스는 클라우드 플랫폼 상의 서버(41)가 제공하는 온라인 상의 서비스이다.Meanwhile, the user of the general online service accesses the cloud service of the server 41 and uses the online cloud service provided by the server 41. That is, the cloud service at this time is an online service provided by the server 41 on the cloud platform.

다음으로, 사용자 단말(10)은 사용자가 사용하는 컴퓨팅 단말로서, PC, 노트북, 태플릿PC, 스마트폰, 태블릿PC 등이다. 또한, 사용자 단말(10)은 네트워크(미도시)를 통해 서버(41) 또는 감사 게이트웨이(30)에 연결할 수 있는 네트워크 기능을 보유한다. 또한, 사용자 단말(10)은 어플리케이션 등 프로그램 시스템이 설치되어 실행될 수 있다.Next, the user terminal 10 is a computing terminal used by a user, and is a PC, a laptop, a tablet PC, a smartphone, a tablet PC, and the like. In addition, the user terminal 10 has a network function capable of connecting to the server 41 or the audit gateway 30 through a network (not shown). In addition, the user terminal 10 may be executed by installing a program system such as an application.

한편, 사용자는 사용자 단말(10)을 통해, 클라우드 플랫폼(40) 내에서 클라우드 서비스를 제공하는 서버(41)들의 시스템(또는 운영체제의 시스템)을 관리한다.Meanwhile, the user manages a system (or a system of an operating system) of servers 41 that provide a cloud service in the cloud platform 40 through the user terminal 10.

다음으로, 통신 어플리케이션(60)은 사용자 단말(10)에 설치되는 프로그램 시스템으로서, 클라우드 플랫폼(40) 내의 서버(41)에 접속하기 위한 통신 프로토콜에 의한 통신 프로그램, 쉘 스크립트, 터미널 어플리케이션 등 통신용 프로그램 시스템이다. 특히, 통신 어플리케이션(20)은 서버(41)의 시스템 관리(또는 운영체제의 시스템 관리)를 원격에서 처리하기 위한 통신용 프로그램이다.Next, the communication application 60 is a program system installed in the user terminal 10, a communication program using a communication protocol for accessing the server 41 in the cloud platform 40, a shell script, a program for communication such as a terminal application System. In particular, the communication application 20 is a communication program for remotely processing system management (or system management of the operating system) of the server 41.

예를들어, 통신 어플리케이션(20)은 텔넷(TELNET), RDP(Remote Desktop Protocol) 등 원격접속 프로토콜을 통한 작업을 수행한다. 이외에도 통신 어플리케이션(20)은 파일 전송을 위한 FTP(File Transfer Protocol), SSH(secure shell), SFTP(SSH Transfer Protocol) 등 표준화된 원격 접속 프로토콜을 이용하여 서버(41)에 접속할 수 있는 프로그램 시스템이다.For example, the communication application 20 performs a task through a remote access protocol such as Telnet (TELNET) and Remote Desktop Protocol (RDP). In addition, the communication application 20 is a program system that can access the server 41 using standardized remote access protocols such as File Transfer Protocol (FTP), Secure Shell (SSH), and SSH Transfer Protocol (SFTP) for file transfer. .

통신 어플리케이션(60)은 서버(41)에 접속하여 통신을 수행하나, 실제로 감사 게이트웨이(30)를 통해 우회적으로 서버(41)에 접속한다. 즉, 통신 어플리케이션(60)은 자신의 입장에서 서버(41)와 직접적으로 통신하는 것으로 작동한다. 예를 들어, 통신 어플리케이션(60)은 서버 정보와 프로토콜 정보(IP주소 및 포트)를 이용하여 세션 설정을 수행하고, 설정된 세션으로 서버(41)에 접근한다. 그러나 감사 클라이언트(20)는 통신 어플리케이션(60)의 통신 패킷 등을 변조하여 감사 게이트웨이(30)로 우회시킨다.The communication application 60 connects to the server 41 to perform communication, but actually connects to the server 41 bypassing the audit gateway 30. That is, the communication application 60 works by directly communicating with the server 41 from its standpoint. For example, the communication application 60 performs session establishment using server information and protocol information (IP address and port), and accesses the server 41 with the established session. However, the audit client 20 modulates the communication packet of the communication application 60 and bypasses it to the audit gateway 30.

특히, 통신 어플리케이션(60)은 통신을 수행하는 사용자 레벨의 어플리케이션이고, 통신을 위한 시스템콜(system call)을 운영체제(또는 운영 시스템)에 요청하면, 사용자 단말(10)의 운영체제는 해당 시스템콜 요청을 처리하는데 이때, 네트워크 드라이버를 통해 네트워크에 접속한다. 즉, 통신 어플리케이션(60)은 시스템 레벨의 네트워크 드라이버를 통해 네트워크에 접속하여 통신을 수행한다. 따라서 통신 어플리케이션(60)이 송수신하는 모든 데이터 또는 데이터 패킷은 네트워크 드라이버(미도시)를 거쳐 처리된다(송수신 된다).In particular, the communication application 60 is a user-level application that performs communication, and when a system call for communication is requested to the operating system (or operating system), the operating system of the user terminal 10 requests a corresponding system call. At this time, it connects to the network through a network driver. That is, the communication application 60 connects to the network through a system-level network driver to perform communication. Therefore, all data or data packets transmitted and received by the communication application 60 are processed (transmitted and received) through a network driver (not shown).

한편, 통신 어플리케이션(60)은 서버(41)에 접근하여 접속 계정 및 패스워드로 사용자 인증을 수행받고, 사용자 인증이 통과되면 서버(41)의 서비스를 이용할 수 있다.Meanwhile, the communication application 60 may access the server 41 to perform user authentication with an access account and password, and use the service of the server 41 when the user authentication passes.

다음으로, 감사 클라이언트(20)는 사용자 단말(10)에 설치되는 프로그램 시스템(또는 어플리케이션)으로서, 통신 어플리케이션(60)이 서버(41)와 송수신하는 패킷을 감사 게이트웨이(30)로 우회시킨다. 즉, 감사 클라이언트(20)는 통신 어플리케이션(60)이 전송하는 패킷의 목적지를 변조하여 감사 게이트웨이(30)로 전송하고, 감사 게이트웨이(30)로부터 수신한 패킷을 통신 어플리케이션(60)로 전달하게 한다. 따라서 통신 어플리케이션(60)과 서버(41)간의 통신은 감사 게이트웨이(30)로 우회되나, 통신 어플리케이션(60)에게는 서버(41)와 직접 통신하는 것으로 보여진다.Next, the audit client 20 is a program system (or application) installed on the user terminal 10, and the communication application 60 bypasses the packet transmitted and received by the server 41 to the audit gateway 30. That is, the audit client 20 modulates the destination of the packet transmitted by the communication application 60 and transmits it to the audit gateway 30 and transmits the packet received from the audit gateway 30 to the communication application 60. . Therefore, communication between the communication application 60 and the server 41 is bypassed to the audit gateway 30, but the communication application 60 is shown to communicate directly with the server 41.

또한, 감사 클라이언트(20)는 감사 게이트웨이(30)에 대한 접근을 위해 사용자의 게이트웨이 인증을 수행할 수 있다. 구체적으로, 감사 클라이언트(20)는 감사 게이트웨이(30)에 접근하여 사용자 인증, 또는 게이트웨이에 대한 사용자 인증을 수행한다. 이를 사용자의 게이트웨이 인증이라 부르기로 한다.In addition, the audit client 20 may perform a user's gateway authentication for access to the audit gateway 30. Specifically, the audit client 20 approaches the audit gateway 30 to perform user authentication or user authentication for the gateway. We will call this the user's gateway authentication.

또한, 감사 클라이언트(20)는 감사 게이트웨이(30)로부터 접속가능 서버 정보를 수신하여, 통신 어플리케이션(60)이 접속가능 서버 정보 내의 서버만 접속하도록 통제할 수 있다.Further, the audit client 20 may receive access server information from the audit gateway 30, and control the communication application 60 to access only the server within the access server information.

일 실시예로서, 감사 클라이언트(20)는 각 사용자에 대하여 접속 가능한 서버 목록을 표시할 때, 접속가능 서버 정보 내의 서버 접근 정보만을 제시한다. 다른 실시예로서, 감사 클라이언트(20)는 통신 어플리케이션(60)의 데이터 패킷(또는 메시지)을 우회시킬 때, 목적 정보가 접속가능 서버 정보 내의 서버 접근 정보에 속하는 데이터 패킷 또는 메시지만을 필터링하여 전송한다.As one embodiment, when the audit client 20 displays a list of accessible servers for each user, only the server access information in the accessible server information is presented. As another embodiment, when the audit client 20 bypasses the data packet (or message) of the communication application 60, only the data packet or message whose purpose information belongs to the server access information in the accessible server information is filtered and transmitted. .

다음으로, 감사 게이트웨이(30)는 사용자 단말(10) 또는 통신 어플리케이션(60)과 서버(41) 사이의 네트워크(미도시) 상에 설치되는 게이트웨이로서, 통신 어플리케이션(60)과 서버(41) 사이를 모니터링하고 중계한다.Next, the audit gateway 30 is a user terminal 10 or a gateway installed on a network (not shown) between the communication application 60 and the server 41, between the communication application 60 and the server 41 Monitor and relay.

즉, 감사 게이트웨이(30)는 통신 어플리케이션(60)이 감사 클라이언트(20)를 통해 우회되어 접속되면, 감사 클라이언트(20)와 서버(41) 사이에서 메시지(또는 데이터 패킷)를 중계한다. 이하에서, 메시지는 패킷 또는 IP 패킷으로 전달되므로, 메시지와 패킷을 혼용한다.That is, the audit gateway 30 relays a message (or data packet) between the audit client 20 and the server 41 when the communication application 60 is bypassed and connected through the audit client 20. Hereinafter, since the message is delivered as a packet or an IP packet, the message and the packet are mixed.

또한, 감사 게이트웨이(30)는 감사 클라이언트(20)에 대하여 사용자의 게이트웨이 인증을 수행할 수 있다.In addition, the audit gateway 30 may perform the user's gateway authentication to the audit client 20.

또한, 감사 게이트웨이(30)는 클라우드 플랫폼(40)으로부터 실시간으로 각 클라이언트 서비스의 서버 정보를 수집하고, 수집된 서버 정보를 참조하여 서버접근 권한 정보 또는 각 사용자의 접근가능 서버 정보를 갱신한다.In addition, the audit gateway 30 collects server information of each client service in real time from the cloud platform 40 and updates server access authority information or accessible server information of each user with reference to the collected server information.

또한, 일 실시예로서, 감사 게이트웨이(30)는 갱신된 각 사용자의 접근가능 서버 정보를 감사 클라이언트(20)에 전송하여, 감사 클라이언트(20)를 통해 각 사용자의 서버 접근을 통제하게 한다.In addition, as an embodiment, the audit gateway 30 transmits the updated accessible server information of each user to the audit client 20, thereby controlling access to the server of each user through the audit client 20.

또한, 다른 실시예로서, 감사 게이트웨이(30)는 갱신된 서버접근 권한 정보를 참조하여, 각 사용자의 통신 어플리케이션(60)과, 서버(41) 간의 통신을 허용 또는 차단하는 등 접근 통제를 직접 수행할 수 있다.In addition, as another embodiment, the audit gateway 30 directly performs access control, such as allowing or blocking communication between the communication application 60 of each user and the server 41 by referring to the updated server access authority information. can do.

또한, 감사 게이트웨이(30)는 각 클라우드 서비스의 각 서버(41)를 접근하는 이력을 기록하여 저장한다.In addition, the audit gateway 30 records and stores a history of accessing each server 41 of each cloud service.

다음으로, 서버(41)은 사용자 단말(10) 또는 통신 어플리케이션(60)으로부터 네트워크(미도시)를 통해 접속 요청을 받고, 요청에 따라 접속을 허용하여 통신을 수행시켜준다. 이때, 바람직하게는, 서버(41)은 표준화된 통신 프로토콜을 통해 통신 어플리케이션(60)과 통신을 수행한다.Next, the server 41 receives a connection request from the user terminal 10 or the communication application 60 through a network (not shown), and permits connection according to the request to perform communication. At this time, preferably, the server 41 communicates with the communication application 60 through a standardized communication protocol.

이때, 서버(41)는 통신 어플리케이션(60)을 통한 서버 접속에 대하여, 사용자 인증을 수행한다. 바람직하게는, 사용자 인증은 접속 계정 및 패스워드를 통해 수행된다. 더욱 바람직하게는, 접속 계정은 루트 계정 등 서버(41)의 시스템(또는 운영체제 시스템 등)을 관리하기 위한 계정이다.At this time, the server 41 performs user authentication for the server connection through the communication application 60. Preferably, user authentication is performed through an access account and password. More preferably, the access account is an account for managing the system (or operating system, etc.) of the server 41, such as a root account.

즉, 서버(41)는 통신 어플리케이션(60)을 통해, 서버 시스템의 관리 서비스를 제공한다. 반면, 앞서 서버(41)가 공급하는 클라우드 서비스는 클라우드 기반의 온라인 상에서 제공되는 응용 서비스이다.That is, the server 41 provides a management service of the server system through the communication application 60. On the other hand, the cloud service previously provided by the server 41 is an application service provided on the cloud-based online.

한편, 서버(41)은 통신 프로토콜을 이용하여, 통신 어플리케이션(60)으로부터 명령문 등 메시지를 수신하고, 해당 메시지의 명령 또는 요청을 수행하고 그 결과(또는 결과 메시지)를 통신 어플리케이션(60)에 전송한다. 이때, 통신 어플리케이션(60)과, 서버(41) 사이에는 세션이 형성되고, 세션 내에서 접속 요청 또는 메시지, 결과내용 등이 통신 프로토콜을 통해 데이터 패킷으로 송수신된다.Meanwhile, the server 41 receives a message such as a statement from the communication application 60 using a communication protocol, performs a command or request of the corresponding message, and transmits the result (or result message) to the communication application 60 do. At this time, a session is established between the communication application 60 and the server 41, and a connection request or message, result content, etc. are transmitted and received in a data packet through a communication protocol.

한편, 위에서 설명된 서버(41)과 통신 어플리케이션(60)과의 통신은 직접 연결되어 처리되지 않고, 감사 게이트웨이(30)을 통해 연결된다. 즉, 통신 어플리케이션(60)의 요청 메시지는 감사 게이트웨이(30)을 통해 서버(41)로 전달되고, 또한, 서버(41)의 응답 메시지도 감사 게이트웨이(30)을 통해 통신 어플리케이션(60)에 전달된다.Meanwhile, the communication between the server 41 and the communication application 60 described above is not directly connected and processed, but is connected through the audit gateway 30. That is, the request message of the communication application 60 is transmitted to the server 41 through the audit gateway 30, and the response message of the server 41 is also transmitted to the communication application 60 through the audit gateway 30. do.

한편, 바람직하게는, 서버(41)은 방화벽(firewall)이 설치되고, 접근통제 게이트(30)로부터 수신되는 데이터(또는 데이터 패킷)만을 통과시키도록, 통제 정책을 설정할 수 있다. 따라서 사용자 단말(10) 또는 통신 어플리케이션(60)은 직접 서버(50)에 접근할 수 없고 반드시 감사 게이트웨이(30)을 통해서만 서버(41)에 접근할 수 있다. 만약 게이트웨이(30)로 패킷 경로를 변경하지 않고 패킷 그대로 서버(41)로 전송되면, 접근통제 구축 조건인 게이트웨이 이외의 서버 접근 경로는 모두 차단하는 방화벽 정책에 의하여 차단되어 접근할 수 없다.Meanwhile, preferably, the server 41 may set a control policy so that a firewall is installed and only data (or data packets) received from the access control gate 30 pass through. Therefore, the user terminal 10 or the communication application 60 cannot directly access the server 50 and must be able to access the server 41 only through the audit gateway 30. If the packet path is not changed to the gateway 30 and the packet is transmitted to the server 41 as it is, the access path of the server other than the gateway, which is the condition for establishing access control, is blocked by the firewall policy blocking all access.

다음으로, 데이터베이스(80)는 데이터를 저장하기 위한 데이터베이스로서, 서버의 태그 정보를 저장하는 서버태그DB(81), 사용자별 서버에 대한 접근 권한 정보를 저장하는 접근권한DB(82), 태그 기반으로 접근 권한을 매핑하는 태그권한DB(83), 접근 기록을 저장하는 접근로그DB(84) 등으로 이루어진다. 그러나 데이터베이스(80)의 구성은 바람직한 일실시예일 뿐이며, 구체적인 장치를 개발하는데 있어서, 접근 및 검색의 용이성 및 효율성 등을 감안하여 데이터베이스 구축이론에 의하여 다른 구조로 구성될 수 있다.Next, the database 80 is a database for storing data, the server tag DB 81 that stores tag information of the server, the access authority DB 82 that stores access authority information for each user server, and tag-based It consists of a tag authority DB (83) that maps access rights, and an access log DB (84) that stores access records. However, the configuration of the database 80 is only a preferred embodiment, and in developing a specific device, it may be configured in a different structure according to a database construction theory in consideration of the ease and efficiency of access and search.

다음으로, 본 발명의 일실시예에 따른 감사 클라이언트(20)의 세부 구성을 도 2를 참조하여 설명한다.Next, a detailed configuration of the audit client 20 according to an embodiment of the present invention will be described with reference to FIG. 2.

또한, 도 2에서 보는 바와 같이, 본 발명의 일실시예에 따른 감사 클라이언트(20)는 감사 게이트웨이(30)로부터 접속가능 서버 정보를 수신하는 클라이언트 매니저(21), 통신 어플리케이션(60)의 패킷을 변조하여 우회시키는 클라이언트 필터 드라이버(22), 및, 클라이언트 필터 드라이버(22)로부터 수신되는 패킷을 감사 게이트웨이(30)로 우회시키는 클라이언트 프록시(23)로 구성된다.In addition, as shown in FIG. 2, the audit client 20 according to an embodiment of the present invention receives a packet of the client manager 21 and the communication application 60 that receive connectable server information from the audit gateway 30. It consists of a client filter driver (22) that bypasses and modulates, and a client proxy (23) that bypasses packets received from the client filter driver (22) to the audit gateway (30).

일례로서, 사용자는 인가된 서버에 접근 시 감사 클라이언트(20)에 로그온 후 서버에 접근을 요청하게 된다. 사용자 단말(10)의 감사 클라이언트(20)는 통신 어플리케이션(60)을 실행하고, 클라이언트 프록시(23)를 경유하여 감사 게이트웨이(30)에 서버 접근을 요청한다.As an example, when a user accesses an authorized server, a user logs on to the audit client 20 and requests access to the server. The audit client 20 of the user terminal 10 executes the communication application 60 and requests access to the server from the audit gateway 30 via the client proxy 23.

먼저, 클라이언트 매니저(21)는 감사 게이트웨이(30)에 접속하여 사용자의 게이트웨이에 대한 인증(게이트웨이 인증)을 수행한다.First, the client manager 21 accesses the audit gateway 30 to perform authentication (gateway authentication) for the user's gateway.

또한, 클라이언트 매니저(21)는 감사 게이트웨이(30)로부터, 게이트웨이를 통해 접근 가능한 서버 정보(또는 접속가능 서버 정보)를 전달받는다.In addition, the client manager 21 receives server information (or connectable server information) accessible through the gateway from the audit gateway 30.

일실시예로서, 클라이언트 매니저(21)는 접속 가능 서버 목록을 표시할 때, 접속가능 서버 정보만 표시한다. 따라서 사용자는 클라이언트 매니저(21)에서 접속가능 서버 정보 내의 서버만을 선택하도록 통제된다.In one embodiment, when the client manager 21 displays a list of accessible servers, only the accessible server information is displayed. Therefore, the user is controlled to select only the server in the accessible server information in the client manager 21.

다른 실시예로서, 클라이언트 매니저(21)는 접속가능 서버 정보를 주소필터 정보로 클라이언트 프록시(23)에 전달한다. 바람직하게는, 클라이언트 프록시(23)를 실행시키고 주소필터 정보를 전달한다. 클라이언트 프록시(23)는 서버(41)와의 통신 세션에서 우회시키는 프록시(proxy) 기능을 수행한다.In another embodiment, the client manager 21 delivers the connectable server information to the client proxy 23 as address filter information. Preferably, the client proxy 23 is executed and address filter information is delivered. The client proxy 23 performs a proxy function to bypass in a communication session with the server 41.

다음으로, 클라이언트 필터 드라이버(22)는 사용자 단말(10)의 운영체제에 설치되는 네트워크 필터 드라이버로서, 송수신되는 통신 패킷들을 모니터링하고 주소필터 정보(또는 주소필터 리스트)에 속하는 패킷을 탐지하여 변조한다.Next, the client filter driver 22 is a network filter driver installed in the operating system of the user terminal 10, monitors communication packets transmitted and received, and detects and modulates packets belonging to the address filter information (or address filter list).

클라이언트 필터 드라이버(22)는 네트워크 드라이버의 일부로서, 네트워크 드라이버의 중간에서 필터링 또는 후킹하는 드라이버이며, 통신 어플리케이션(60)에서 전송할 패킷을 필터링한다. 즉, 데이터 패킷에서 주소필터 정보로 목적주소(destination address)를 필터링하여, 필터링된 데이터 패킷의 목적주소를 프록시 주소로 변조(변경)한다.The client filter driver 22 is a part of the network driver, which is a driver that filters or hooks in the middle of the network driver, and filters packets to be transmitted by the communication application 60. That is, the destination address is filtered with the address filter information in the data packet, and the destination address of the filtered data packet is modulated (modified) with the proxy address.

이때, 주소필터 정보에는 서버(41)의 주소를 포함한다. 주소필터 정보(또는 IP필터링 리스트)에는 필터링할 주소 정보를 리스트로 관리하고, 주소필터 정보에 속하는 주소를 목적주소로 가지는 패킷들은 클라이언트 프록시(23)로 우회된다. 즉, 클라이언트 필터 드라이버(22)는 접속가능 서버 정보 내의 서버로의 데이터 패킷인 경우, 해당 데이터 패킷의 목적지를 변경함으로써, 직접 서버(41)로 전송하지 않고 클라이언트 프록시(23)로 우회시킨다.At this time, the address filter information includes the address of the server 41. The address filter information (or IP filtering list) manages address information to be filtered as a list, and packets having an address belonging to the address filter information as a destination address are bypassed to the client proxy 23. That is, the client filter driver 22 bypasses the client proxy 23 without directly transmitting it to the server 41 by changing the destination of the data packet in the case of a data packet to a server in the connectable server information.

다음으로, 클라이언트 프록시(23)는 패킷 또는 통신 세션을 중계하는 프록시 기능을 수행한다. 바람직하게는, 클라이언트 프록시(23)는 사용자 단말(10)에서 독립적인 프로세스로서 작동되는 사용자 계층의 프로그램 시스템이다.Next, the client proxy 23 performs a proxy function for relaying a packet or communication session. Preferably, the client proxy 23 is a user layer program system that operates as an independent process at the user terminal 10.

구체적으로, 클라이언트 프록시(23)는 클라이언트 필터 드라이버(22)를 실행시키고, 주소필터 정보 및 자신의 주소(또는 프록시 주소)를 전달하여 필터링하고 변조하게 한다. 그리고, 클라이언트 프록시(23)는 클라이언트 필터 드라이버(22)로부터 변조된 패킷을 수신하여 감사 게이트웨이(30)로 중계한다.Specifically, the client proxy 23 executes the client filter driver 22 and delivers address filter information and its own address (or proxy address) to filter and falsify. Then, the client proxy 23 receives the modulated packet from the client filter driver 22 and relays it to the audit gateway 30.

즉, 클라이언트 필터 드라이버(22)가 실행되어 구동되면, 통신 어플리케이션(60)이 서버(41)에 원격 접근 패킷을 전송하려는 것을 감지하고, 클라이언트 프록시(23)로 패킷의 경로를 바꿔 전송하게 시킨다. 이때, 클라이언트 프록시(23)는 클라이언트 필터 드라이버(22)로부터 변조된 패킷을 수신하고, 수신한 패킷을 감사 게이트웨이(30)로 전송한다.That is, when the client filter driver 22 is executed and driven, the communication application 60 detects that the server 41 wants to transmit a remote access packet, and changes the path of the packet to the client proxy 23 for transmission. At this time, the client proxy 23 receives the modulated packet from the client filter driver 22, and transmits the received packet to the audit gateway 30.

한편, 이를 위해, 클라이언트 프록시(23)는 감사 게이트웨이(30)와 세션을 수립하고, 수립된 세션(또는 클라이언트용 세션)을 통해 패킷을 송수신한다. Meanwhile, for this purpose, the client proxy 23 establishes a session with the audit gateway 30 and transmits and receives packets through the established session (or session for the client).

또한, 클라이언트 프록시(23)는 통신 어플리케이션(60)의 패킷을 최초로 감사 게이트웨이(30)에 우회시킬 때, 통신 어플리케이션(60)의 서버 접근 정보를 감사 게이트웨이(30)에 전달한다. 서버 접근 정보는 서버 주소(IP주소) 및 프로토콜 정보(포트번호) 등으로 구성된다.In addition, when the client proxy 23 bypasses the packet of the communication application 60 to the audit gateway 30 for the first time, the server access information of the communication application 60 is transmitted to the audit gateway 30. Server access information consists of server address (IP address) and protocol information (port number).

다음으로, 본 발명의 일실시예에 따른 멀티 클라우드 환경에서의 서버 감사 시스템의 구성에 대하여 도 3을 참조하여 설명한다.Next, a configuration of a server audit system in a multi-cloud environment according to an embodiment of the present invention will be described with reference to FIG. 3.

본 발명에 따른 멀티 클라우드 환경에서의 서버 감사 시스템은 앞서 설명한 감사 게이트웨이(30)로 실시될 수 있다. 이하에서, 서버 감사 시스템과 감사 게이트웨이의 도면 부호를 동일하게 사용한다.The server audit system in a multi-cloud environment according to the present invention can be implemented with the audit gateway 30 described above. Hereinafter, the same reference numerals are used for the server audit system and the audit gateway.

도 3에서 보는 바와 같이, 본 발명의 일실시예에 따른 멀티 클라우드 환경에서의 서버 감사 시스템(30)은 클라우드 플랫폼(40)의 커넥터(42)와 연동하여 서버 정보를 수집하는 커넥터 연계부(31), 서버접속 권한 정보를 관리하는 접근권한 관리부(32), 서버접속 권한 정보에 따라 사용자의 서버 접근을 통제하는 인증권한 통제부(33), 및, 사용자 단말(10)과 서버(41) 간의 데이터 패킷 또는 메시지를 중계하는 통신 중계부(34)로 구성된다. 추가적으로, 서버의 접속 로그를 기록하는 접근로그 기록부(35), 또는, 로그 기록을 이용하여 감사 자료를 생성하는 감사자료 생성부(36)를 더 포함하여 구성될 수 있다.As shown in FIG. 3, the server audit system 30 in a multi-cloud environment according to an embodiment of the present invention is a connector linkage unit 31 for collecting server information by interworking with the connector 42 of the cloud platform 40 ), the access authority management unit 32 for managing server access authority information, the authentication authority control unit 33 for controlling the user's server access according to the server access authority information, and between the user terminal 10 and the server 41 It consists of a communication relay unit 34 for relaying data packets or messages. In addition, it may be configured to further include an access log recorder 35 for recording the access log of the server, or an audit data generator 36 for generating audit data using log records.

먼저, 커넥터 연계부(31)는 클라우드 플랫폼(40)의 커넥터(42)에 연동하여, 커넥터(42)로부터 해당 클라우드 서비스 내의 서버 구성 및, 그 서버의 태그 정보를 수집한다.First, the connector linkage part 31 interlocks with the connector 42 of the cloud platform 40, and collects the server configuration in the cloud service and tag information of the server from the connector 42.

바람직하게는, 클라우드 플랫폼(40)의 커넥터(42)는 서버 구성 정보 및, 서버의 태그 정보를 수집하여 전달하는 API(application program interface) 함수를 제공하도록 구성되고, 커넥터 연계부(31)는 API 함수를 호출하여 서버 구성 정보, 및, 그 태그 정보를 가져온다.Preferably, the connector 42 of the cloud platform 40 is configured to provide an application program interface (API) function that collects and delivers server configuration information and tag information of the server, and the connector connection unit 31 is an API The server configuration information and its tag information are obtained by calling a function.

통상적으로, 클라우드 플랫폼(40)에는 커넥터(42)가 각 클라우드 서비스 별로 구성된다. 따라서 커넥터 연계부(31)는 모든 커넥터(42)에 접속하여, 모든 클라우드 서비스 내의 서버 정보 및, 그들에 대한 태그 정보를 수집한다. 수집된 서버 구성 정보 및, 태그 정보는 각 클라우드 서비스 별로 구분된다.Typically, a connector 42 is configured for each cloud service in the cloud platform 40. Accordingly, the connector linkage unit 31 accesses all the connectors 42 to collect server information in all cloud services and tag information about them. The collected server configuration information and tag information are divided for each cloud service.

또한, 커넥터 연계부(31)는 실시간으로, 바람직하게는, 소정의 주기 간격으로 서버 구성 정보 및, 그 태그 정보를 수집한다.Further, the connector linkage unit 31 collects server configuration information and tag information in real time, preferably at predetermined intervals.

서버 구성 정보는 클라우드 서비스(또는 서비스명, 서비스 아이디)와, 서버 주소로 구성된다. IP주소는 각 서버 마다 고유한 값을 가지므로, IP주소 또는 서버 주소는 서버 접속 정보로서 서버를 식별하는 정보이다.The server configuration information consists of a cloud service (or service name, service ID) and a server address. Since the IP address has a unique value for each server, the IP address or server address is information identifying the server as server access information.

서비스 식별정보는 서비스명, 서비스 아이디 등 클라우드 서비스를 식별할 수 있는 데이터이다. 또한, 복제되는 서버들은 클라우드 서비스로 구분될 수 있다. 즉, 복제되는 서버는 동일한 클라우드 서비스 내에서만 발생된다. 따라서 태그 정보가 동일하더라도, 서로 다른 클라우드 서비스에 속한다면, 2개의 서버는 서로 복제된 것이 아니다. 클라우드 서비스는 서버의 그룹을 나타낸다. 즉, 서버의 그룹 내에서만 서버들이 복제된다.Service identification information is data that can identify cloud services such as service name and service ID. In addition, the replicated servers can be classified as cloud services. That is, the server to be replicated only occurs within the same cloud service. Therefore, even if the tag information is the same, the two servers are not duplicated if they belong to different cloud services. Cloud service represents a group of servers. That is, servers are replicated only within a group of servers.

또한, 서버 구성 정보는 DNS 정보를 포함할 수 있다. DNS 정보는 외부에서 접근 가능한 퍼블릭 DNS와 클라우드 서비스 내부에서만 접근 가능한 프라이빗 DNS가 있으며, 각 서버 마다 고유한 DNS값을 가진다. 외부에서 대상 서버에 접근할 때, 기존의 IP 정보 대신 퍼블릭 DNS 정보로 접속할 수 있다. 한편, 도메인 네임과 DNS 정보는 IP주소를 대체하여 접근 정보로 활용할 수 있다.Further, the server configuration information may include DNS information. DNS information includes public DNS accessible from the outside and private DNS accessible only from inside the cloud service, and each server has a unique DNS value. When accessing the target server from the outside, you can access with public DNS information instead of the existing IP information. Meanwhile, the domain name and DNS information can be used as access information by replacing the IP address.

다음으로, 태그 정보는 서버의 속성이나 코멘트(설명)를 나타내기 위한 메타 데이터이다. 구체적으로, 태그(TAG) 정보는 키(Key), 값(Value) 쌍으로 이루어져 있으며, 클라우드 서비스에서 리소스(서버)를 식별하고 구성하기 위한 메타 데이터로 작동하는 단어나 구문이다. 태그(TAG)는 리소스(서버) 관리를 위한 용도로 사용되며 리소스(서버)에 하나 이상의 태그(TAG)를 배정할 수 있다. 예를 들어 { Key(소유자), Value(LINUX 관리자) }, { Key(상태), Value(운영) } 형태로 리소스(서버)에 배정하여 동일 유형의 리소스를 관리할 때 사용한다.Next, the tag information is meta data for indicating a server attribute or a comment (description). Specifically, the tag (TAG) information is composed of key and value pairs, and is a word or phrase that acts as metadata for identifying and constructing a resource (server) in a cloud service. The tag (TAG) is used for the purpose of managing a resource (server), and one or more tags (TAG) may be assigned to the resource (server). For example, {Key (owner), Value (LINUX administrator) }, {Key (status), Value (operation)} are assigned to a resource (server) and used when managing the same type of resource.

특히, 태그 정보는 해당 서버의 식별 또는 관리를 위한 메타 데이터이므로, 복제되는 서버들은 복제 대상인 원래 서버와, 동일한 태그 정보를 가진다. 따라서 태그 정보의 전체 동일성 여부를 통해, 2개의 서버가 서로 복제된 서버인지 여부를 판단할 수 있다. 즉, 2개의 서버가 복제된 것이라면, 모든 태그 정보가 동일해야 한다.In particular, since the tag information is metadata for identification or management of the corresponding server, the duplicated servers have the same tag information as the original server to be replicated. Therefore, it is possible to determine whether two servers are duplicated servers based on whether the tag information is entirely identical. That is, if two servers are duplicated, all tag information must be identical.

한편, 태그 정보는 태그 형식으로 존재하는 데이터 외에도 서버의 속성을 나타내는 데이터를 더 포함할 수 있다. 즉, 이하에서, 태그 정보는 태그 형식의 데이터 외에 다른 방식으로 수집된 데이터도 포함하는 개념으로 설명한다.Meanwhile, the tag information may further include data indicating attributes of the server in addition to data existing in the form of a tag. That is, hereinafter, the tag information will be described as a concept including data collected in other ways in addition to tag type data.

일례로서, 태그 정보는 운영체제 모델을 포함할 수 있다. 운영체제 모델은 해당 서버에서 사용하는 운영체제(OS)의 모델을 말한다. 복제된 서버들은 동일한 운영체제를 사용한다. 따라서 운영체제 모델도 다른 태그 정보와 같이, 운영체제의 동일성 여부를 통해 복제 여부를 판단할 수 있다.As an example, the tag information may include an operating system model. The operating system model refers to the operating system (OS) model used by the server. Replicated servers use the same operating system. Therefore, the operating system model, like other tag information, can determine whether to copy through the sameness of the operating system.

다음으로, 접근권한 관리부(32)는 사용자의 서버 접근 권한에 대한 정보(또는 서버접근 권한 정보)를 저장하여 관리하되, 수집된 서버 구성 정보 및 서버의 태그 정보를 기반으로 상기 클라우드 플랫폼 내의 서버의 생성 또는 소멸을 검출하여 사용자의 서버접근 권한 정보를 갱신한다.Next, the access authority management unit 32 stores and manages information (or server access authority information) of the user's server access authority, but based on the collected server configuration information and the tag information of the server, It detects creation or destruction and updates the user's server access authority information.

즉, 접근권한 관리부(32)는 서버접근 권한 정보(82)를 사전에 설정하여 저장하고, 클라우드 플랫폼(40)에서 서버(41)의 구성이 변경될 때마다 서버접근 권한 정보(82)를 갱신한다.That is, the access authority management unit 32 sets and stores the server access authority information 82 in advance, and updates the server access authority information 82 whenever the configuration of the server 41 is changed in the cloud platform 40. do.

서버접근 권한 정보(82)는 각 사용자에 대해 해당 사용자가 접근할 수 있는 서버의 목록을 저장하는 정보이다. 서버접근 권한 정보(82)는 권한 데이터(권한 정보)를 목록으로 관리하고, 바람직하게는, 접근권한 DB(82)에 저장한다. 이하에서, 설명의 편의를 위하여, 서버접근 권한 정보(82)로 참조 부호를 동일하게 부여한다. 바람직하게는 서버접근 권한 정보(82)는 테이블 형태로 구성된다. 따라서 서버접근 권한 정보(82) 또는 서버접근 권한 목록(82)으로 부르기로 한다.The server access authority information 82 is information for storing a list of servers that the user can access for each user. The server access authority information 82 manages authority data (permission information) as a list, and preferably stores it in the access authority DB 82. Hereinafter, for convenience of description, reference numerals are assigned to the server access authority information 82 identically. Preferably, the server access authority information 82 is configured in a table form. Therefore, it will be referred to as server access authority information 82 or server access authority list 82.

도 4에서 보는 바와 같이, 일례로서, 서버접근 권한 정보(82)는 사용자 아이디, 서버 주소(IP 주소), 서비스 명(또는 서비스 식별정보) 등으로 구성될 수 있다. IP주소를 통해 서버를 식별할 수 있다. 서비스 명은 서버의 그룹을 나타낸다. 또한, 서버접근 권한 정보(82)는 다수 개의 권한 데이터를 리스트로 관리될 수 있다.As shown in FIG. 4, as an example, the server access authority information 82 may include a user ID, a server address (IP address), and a service name (or service identification information). Servers can be identified by IP address. The service name indicates a group of servers. In addition, the server access authority information 82 may manage a plurality of authority data as a list.

한편, 사용자 아이디는 게이트웨이에 대한 사용자 식별정보이며, 각 서버에 대한 접속 계정과는 다르다.Meanwhile, the user ID is user identification information for the gateway and is different from the access account for each server.

또한, 접근권한 관리부(32)는 커넥터 연계부(31)에서 수집된 서버 구성 정보 및 태그 정보를 분석하여, 서버접근 권한 정보(82)를 갱신한다.In addition, the access authority management unit 32 analyzes the server configuration information and tag information collected by the connector connection unit 31 to update the server access authority information 82.

이를 위해, 접근권한 관리부(32)는 각 서버에 대한 서버 태그 정보(81), 및, 태그 기반의 접근권한 정보(83)를 관리한다.To this end, the access authority management unit 32 manages server tag information 81 for each server and tag-based access authority information 83.

먼저, 서버 태그 정보(81)에 대해 설명한다.First, the server tag information 81 will be described.

바람직하게는, 서버 태그 정보는 서버정보DB(81)에 저장된다. 이하에서, 설명의 편의를 위하여, 서버 태그 정보(81)로 참조 부호를 동일하게 부여한다. 바람직하게는 서버 태그 정보(81)는 테이블 형태로 구성된다. 따라서 서버 태그 정보(81) 또는 서버태그 목록(81)으로 부르기로 한다. 목록에서 하나의 데이터를 태그 데이터라 부르기로 한다.Preferably, the server tag information is stored in the server information DB 81. Hereinafter, for convenience of description, reference numerals are assigned to the server tag information 81 in the same way. Preferably, the server tag information 81 is configured in a table form. Therefore, it will be referred to as server tag information 81 or server tag list 81. Let's call one data from the list as tag data.

도 5에서 보는 바와 같이, 각 서버의 서버 정보(81)는 서버 주소(IP주소), 서비스 식별정보(서비스명), 태그 정보, 운영체제 등으로 구성된다.5, the server information 81 of each server is composed of a server address (IP address), service identification information (service name), tag information, and an operating system.

태그 정보는 < 키, 값 >의 쌍들의 집합으로 구성된다. 태그 정보 ST는 다음과 같이, 쌍들의 집합으로 볼 수 있다.The tag information consists of a set of <key, value> pairs. The tag information S T can be viewed as a set of pairs, as follows.

[수학식 1][Equation 1]

ST = { (K1,V1), (K2,V2), ..., (Kn,Vn) }S T = {(K 1 ,V 1 ), (K 2 ,V 2 ), ..., (K n ,V n )}

여기서, Ki 는 태그의 키(key)를 나타내고, Vi 는 해당 키의 값을 나타낸다. 키(key)는 태그를 식별하기 위한 식별자이다.Here, K i represents a key of the tag, and V i represents a value of the corresponding key. The key is an identifier for identifying the tag.

다음으로, 태그 기반 권한 정보(83)를 설명한다.Next, the tag-based authorization information 83 will be described.

또한, 접근권한 관리부(32)는 태그를 기반으로 한 서버접근 권한 정보(이하 태그 기반 권한 정보)를 생성한다. 태그 기반 권한 정보(83)는 태그 정보로 식별되는 사용자의 접근 허용 권한을 나타낸다. 바람직하게는, 태그 기반 권한 정보는 태그기반 권한DB(83)에 저장된다. 이하에서 설명의 편의를 위하여, 태그기반 권한 정보(83)의 참조 번호를 동일하게 부여한다. 바람직하게는 태그기반 권한 정보(83)는 테이블 형태로 구성된다. 따라서 태그기반 권한 정보(83) 또는 태그기반 권한 목록(83)으로 부르기로 한다. 목록에서 하나의 권한 정보를 태그기반 권한 데이터로 부르기로 한다.In addition, the access authority management unit 32 generates server access authority information (hereinafter, tag-based authority information) based on tags. The tag-based permission information 83 indicates a user's permission to access identified by the tag information. Preferably, the tag-based authorization information is stored in the tag-based authorization DB 83. Hereinafter, for convenience of description, reference numbers of the tag-based authorization information 83 are equally assigned. Preferably, the tag-based authorization information 83 is configured in a table form. Therefore, it will be referred to as tag-based authorization information 83 or tag-based authorization list 83. Let's call one authority information from the list as tag-based authority data.

바람직하게는, 태그 기반 권한 정보(83)는 서버접근 권한 정보(82)의 테이블과, 서버 태그 정보(81)의 테이블을 데이터베이스에 의해 조인(join) 매핑하여 획득될 수 있다. 즉, 태그 기반 권한 정보(83)는 서버접근 권한 정보(82) 및 서버 정보(81)의 서버 주소를 기본 키(primary key)로 하여 조인되어, 태그 정보에 의해 식별되는 사용자 아이디들의 데이터로 구해진다.Preferably, the tag-based authorization information 83 may be obtained by join mapping the table of the server access authority information 82 and the table of the server tag information 81 by a database. That is, the tag-based authorization information 83 is joined using the server access authority information 82 and the server address of the server information 81 as a primary key, and is obtained as data of user IDs identified by the tag information. Becomes

도 6은 도 5의 서버접근 권한 정보(82)와, 도 4의 서버 태그 정보(81)를 조인 매핑하여 획득된 태그 기반 권한 정보(83)를 나타내고 있다.FIG. 6 shows tag-based authorization information 83 obtained by join mapping the server access authorization information 82 of FIG. 5 and the server tag information 81 of FIG. 4.

도 6에서 보는 바와 같이, 태그 기반 권한 정보(83)는 태그 정보를 기반으로 하여, 서버접근이 허용된 사용자(또는 사용자 아이디)로 구성된다. 태그 정보 외에도, 운영체제 등이 추가적으로 식별자(또는 키) 역할을 할 수 있다.As shown in FIG. 6, the tag-based authorization information 83 is configured as a user (or user ID) allowed to access the server based on the tag information. In addition to tag information, an operating system or the like may additionally serve as an identifier (or key).

한편, 접근권한 관리부(32)는 수집된 서버 구성 정보의 서버 주소들의 목록과, 서버 태그 정보(81)의 서버 주소들의 목록을 대비하여, 서버 구성의 변동(서버의 소멸 또는 생성)을 검출한다. 즉, 수집된 서버 구성 정보 내에 특정 서버 주소가 있는데 서버 정보(81)의 목록에 없으면, 해당 서버는 새로 생성된 것으로 검출된다. 반대로, 서버 구성 정보 내에 존재하지 않으나 서버 정보(81) 내에 존재하면, 해당 서버 주소의 서버는 소멸된 것으로 검출된다.On the other hand, the access authority management unit 32 detects a change (destruction or creation of the server) of the server configuration in preparation for the list of server addresses of the collected server configuration information and the list of server addresses of the server tag information 81. . That is, if there is a specific server address in the collected server configuration information and it is not in the list of server information 81, the server is detected as newly created. Conversely, if it does not exist in the server configuration information but exists in the server information 81, the server of the corresponding server address is detected to be destroyed.

접근권한 관리부(32)는 클라우드 플랫폼(40) 내의 서버 구성의 변동(서버의 소멸 또는 생성)에 따라 서버 정보(81), 서버접근 권한 정보(82), 및, 태그기반 권한 정보(83)를 갱신한다.The access authority management unit 32 may transmit the server information 81, the server access authority information 82, and the tag-based authority information 83 according to the change (destruction or creation of the server) of the server in the cloud platform 40. Update.

먼저, 서버가 생성되는 경우를 설명한다. 즉, 접근권한 관리부(32)는 수집된 서버 구성 정보를 분석하여 새로운 가상 서버를 발견하면, 서버 정보 목록(81), 태그 기반 권한 목록(83), 및, 서버접근 권한 목록(82)을 갱신한다.First, the case where the server is created will be described. That is, the access authority management unit 32 analyzes the collected server configuration information, and when a new virtual server is found, the server information list 81, the tag-based authority list 83, and the server access authority list 82 are updated. do.

먼저, 접근권한 관리부(32)는 수집된 서버 구성 정보의 IP 주소(또는 서버 주소)가 기존의 서버 정보에 존재하지 않으면, 새로운 서버가 생성된 것으로 판단한다. 예를 들어, 새로운 가상 서버의 서버주소, 서비스명, DNS, 운영체제, 태그가 각각 232.41.66.1, 네이버, 10.1.3.1, Linux, ST1의 값을 갖는다.First, when the IP address (or server address) of the collected server configuration information does not exist in the existing server information, the access authority management unit 32 determines that a new server has been created. For example, the server address, service name, DNS, operating system, and tag of the new virtual server have values of 232.41.66.1, Naver, 10.1.3.1, Linux, and ST1, respectively.

다음으로, 접근권한 관리부(32)는 태그 기반 권한 정보(83)를 참조하여, 새로운 서버의 서버 정보 중 태그 정보(태그 정보, 운영체제 등)가 동일한 사용자 또는 사용자 아이디를 검색한다.Next, the access authority management unit 32 refers to the tag-based authority information 83 to search for a user or user ID having the same tag information (tag information, operating system, etc.) among server information of the new server.

앞서 예에서, 새로운 서버의 서버 정보 중 태그 정보(태그 정보, 운영체제 등)는 < ST1, 네이버, Linux > 이고, 도 6의 태그 기반 권한 정보에서 이들과 동일한 사용자 아이디는 User_01과 User_02 가 존재한다.In the previous example, the tag information (tag information, operating system, etc.) among the server information of the new server is <ST1, NAVER, Linux>, and user_01 and User_02 are the same user IDs as those in the tag-based authorization information of FIG. 6.

다음으로, 접근권한 관리부(32)는 검색된 사용자 아이디를 새로운 서버에 접근할 수 있는 아이디로 서버접근 권한 정보(82)에 추가하여 갱신한다. 또한, 새로운 서버의 태그 정보를 서버 태그 정보(81)에 추가하여 갱신한다. 이때, 새로운 서버의 태그 정보는 종래 서버와 태그 정보가 동일하므로, 태그 기반 권한 정보(83)는 추가로 갱신되지 않는다.Next, the access authority management unit 32 updates the searched user ID by adding it to the server access authority information 82 with an ID that can access the new server. Further, the tag information of the new server is updated by adding it to the server tag information 81. At this time, since the tag information of the new server is the same as the tag information of the conventional server, the tag-based authorization information 83 is not updated.

예를 들어, 도 7에서 보는 바와 같이, 새로운 서버(232.41.66.1)에 대해 User_01과 User_02은 접근 권한을 갖는다.For example, as shown in FIG. 7, User_01 and User_02 have access to the new server 232.41.66.1.

다음으로, 서버가 소멸되는 경우를 설명한다.Next, the case where the server is destroyed will be described.

또한, 인증권한 정책부(32)는 종래 존재하던 서버가 소멸되면, 서버 태그 정보(81)에서 소멸된 서버를 제외시키고, 서버접근 권한 정보(82)와 태그 기반 권한 정보(83)도 갱신한다. 즉, 서버접근 권한 정보(82)에서는 해당 서버 주소를 가지는 권한 데이터를 모두 제외시킨다.In addition, the authentication authority policy unit 32, when the existing server is extinguished, excludes the extinguished server from the server tag information 81, and also updates the server access authority information 82 and tag-based authority information 83. . That is, the server access authority information 82 excludes all authority data having a corresponding server address.

또한, 태그 기반 권한 목록(83)에서, 해당 서버의 태그 정보와 동일한 권한 정보를 모두 제외시킨다. 단, 서버 태그 정보(81)를 참조하여, 해당 서버의 태그 정보와 동일한 태그 정보를 가지는 다른 서버가 존재하면, 태그 기반 권한 정보(83)를 갱신하지 않는다.In addition, in the tag-based permission list 83, all the same permission information as the tag information of the corresponding server is excluded. However, referring to the server tag information 81, if there is another server having the same tag information as the tag information of the corresponding server, the tag-based authorization information 83 is not updated.

한편, 인증권한 정책부(32)는 클라우드 플랫폼(40)에서 서버(41)의 구성이 변경될 때마다 서버접근 권한 정보(82) 등을 갱신한다.Meanwhile, the authentication authority policy unit 32 updates the server access authority information 82 and the like whenever the configuration of the server 41 is changed in the cloud platform 40.

다음으로, 인증권한 통제부(33)는 서버 접근 권한 정보(82)에 기반하여 사용자 단말(10) 또는 통신 어플리케이션(60)의 서버(41) 접근을 허용하거나 차단하는 등 서버 접근에 대한 통제를 수행한다.Next, the authentication authority control unit 33 controls the access to the server, such as allowing or blocking access to the server 41 of the user terminal 10 or the communication application 60 based on the server access authority information 82. Perform.

특히, 인증권한 통제부(33)는 서버 접근 권한 정보(82)에 기반하여 접속가능 서버 정보를 생성하여 감사 클라이언트(20)에 전송하거나, 통신 중계부(33)를 통해 서버 접근 권한(또는 접속가능 서버 정보)에 따라 메시지 또는 데이터 패킷의 중계를 통제한다.In particular, the authentication authority control unit 33 generates accessible server information based on the server access authority information 82 and transmits it to the audit client 20 or accesses the server through the communication relay unit 33 (or access) Control of message or data packet).

먼저, 인증권한 통제부(33)는 감사 클라이언트(20)가 접속해오면, 사용자의 게이트웨이 인증을 수행할 수 있다. 게이트웨이 인증은 게이트웨이(30)에 대한 사용자 인증을 말한다. 이때, 바람직하게는, 게이트웨이 인증은 사용자 아이디 및 패스워드로 인증된다. 사용자 아이디는 게이트웨이에 대한 사용자 식별정보이다. 즉, 사용자 아이디는 서버(41)에 접속하기 위한 접속 계정과는 구별된다.First, the authentication authority control unit 33 may perform the user's gateway authentication when the audit client 20 accesses. Gateway authentication refers to user authentication to the gateway 30. At this time, preferably, the gateway authentication is authenticated with a user ID and password. The user ID is user identification information for the gateway. That is, the user ID is distinguished from the access account for accessing the server 41.

또한, 인증권한 통제부(33)는 서버접근 권한 정보(82)에 따라 사용자의 서버 접근을 통제한다. 즉, 인증권한 통제부(33)는 게이트웨이에 접근한 사용자에 대하여, 서버접근 권한 정보(82)를 참조하여 해당 사용자의 접속가능 서버 정보를 생성하고, 생성된 접속가능 서버 정보를 통해 해당 사용자의 서버 접근을 통제한다.In addition, the authentication authority control unit 33 controls the user's access to the server according to the server access authority information 82. That is, the authentication authority control unit 33 generates the accessible server information of the corresponding user with reference to the server access authority information 82 for the user accessing the gateway, and the user of the corresponding user through the generated accessible server information. Control server access.

바람직하게는, 제1 실시예로서, 인증권한 통제부(33)는 생성된 접속가능 서버 정보를 감사 클라이언트(20)에 전송하여, 감사 클라이언트(20)에 의해 접속가능 서버 정보 내의 서버만 접근되도록 통제시킨다.Preferably, as the first embodiment, the authentication authority control unit 33 transmits the generated connectable server information to the audit client 20, so that only the server within the connectable server information is accessed by the audit client 20 Control.

또는 제2 실시예로서, 인증권한 통제부(33)는 생성된 접속가능 서버 정보를 통신 중계부(33)에 전달하여, 통신 중계부(33)에 의해 접속가능 서버 정보 내의 서버만 접근되도록 통제시킨다.Alternatively, as a second embodiment, the authentication authority control unit 33 transmits the generated connectable server information to the communication relay unit 33, so that only the server within the accessable server information is accessed by the communication relay unit 33. Order.

또한, 앞서 제1 및 제2 실시예를 모두 실시할 수 있다.In addition, both the first and second embodiments can be implemented.

한편, 해당 사용자의 접속가능 서버 정보는 서버 주소 및 프로토콜 정보 등으로 구성된다. 특히, 서버 주소 및, 프로토콜의 다수 개가 리스트로 구성된다.On the other hand, the user's accessible server information consists of server address and protocol information. Specifically, a server address and a number of protocols are composed of a list.

다음으로, 통신 중계부(34)는 사용자 단말(10) 또는 통신 어플리케이션(60)과 서버(41) 사이에서 메시지(또는 데이터 패킷)를 중계한다.Next, the communication relay unit 34 relays a message (or data packet) between the user terminal 10 or the communication application 60 and the server 41.

즉, 통신 중계부(34)는 사용자 단말(10)로부터 메시지를 수신하여 서버(41)로 전달하고, 서버(41)로부터 결과 메시지 등을 수신하여 사용자 단말(10)로 전달한다.That is, the communication relay unit 34 receives a message from the user terminal 10 and delivers it to the server 41, and receives a result message or the like from the server 41 and transmits it to the user terminal 10.

바람직하게는, 통신 중계부(34)는 사용자 단말(10)과 클라이언트용 세션을 수립하고, 수립된 클라이언트용 세션을 통해 데이터(메시지 등)를 송수신한다. 또한, 통신 중계부(34)는 클라이언트용 세션에 대응되는 서버용 세션을 서버(41)와 형성한다. 즉, 클라이언트용 세션과 서버용 세션은 사용자 단말(10)과 서버(41) 사이를 중계하기 위한 세션들이다.Preferably, the communication relay unit 34 establishes a session for the client with the user terminal 10, and transmits and receives data (such as a message) through the established client session. In addition, the communication relay unit 34 forms a server session corresponding to the client session with the server 41. That is, the client session and the server session are sessions for relaying between the user terminal 10 and the server 41.

또한, 바람직하게는, 통신 중계부(34)는 인증권한 정책부(32)로부터 접근가능 서버 정보를 전달받고, 사용자 단말(10)로부터 수신한 메시지 또는 데이터 패킷 중에서, 접근가능 서버 정보 내의 서버를 목적 주소로 하는 메시지 또는 데이터 패킷의 중계를 차단한다.In addition, preferably, the communication relay unit 34 receives the accessible server information from the authentication authority policy unit 32, and among the messages or data packets received from the user terminal 10, the server in the accessible server information. The relay of a message or data packet to the destination address is blocked.

다음으로, 접근로그 기록부(35)는 통신 중계부(34)에서 중계되는 메시지 또는 데이터 패킷을 모니터링하고, 서버(41)에 접근하는 내용을 로그로 기록한다.Next, the access log recording unit 35 monitors the message or data packet relayed by the communication relay unit 34, and records the access to the server 41 as a log.

바람직하게는, 접근로그 기록부(35)는 SSH와 RDP 등 통신 프로토콜로 원격으로 접근한 이력을 텍스트 또는 이미지 형태로 로그(저장)하여 관리한다.Preferably, the access log recorder 35 manages by logging (storing) the history of accessing remotely through a communication protocol such as SSH and RDP in the form of text or images.

특히, 접근로그 기록부(35)는 SSH, 쉘(shell) 등 명령줄 인터페이스(CLI, Command line interface) 기반의 프로토콜에 의해 통신하는 경우에는 접근 이력을 텍스트(text)로 저장하고, RDP 등 GUI(Graphic User Interface) 기반의 프로토콜에 의해 통신하는 경우에는 접근 이력을 이미지로 저장한다.In particular, the access log recorder 35 stores the access history as text (text) when communicating by a command line interface (CLI) based protocol such as SSH, shell, and GUI (such as RDP). Graphic User Interface) When communicating by protocol, the access history is saved as an image.

다음으로, 감사자료 생성부(36)는 저장된 로그를 참조하여, 사용자별 접근 내역을 감사할 수 있는 기능을 제공한다.Next, the audit data generation unit 36 provides a function to audit access history for each user by referring to the stored log.

특히, 감사자료 생성부(36)는 로그에 기록된 이력 데이터와, 인증권한 정책부(32)의 정보를 조합하여, 사용자 별 감사자료를 생성한다. 감사 자료는 사용자를 기준으로 접근 대상 서버 정보, 접근 시간, 사용한 계정 정보, 사용한 명령어 정보(cli 기반 서버) 등을 포함하여 생성한다. In particular, the audit data generation unit 36 combines the history data recorded in the log with the information of the authentication authority policy unit 32 to generate audit data for each user. The audit data is generated based on the user, including the target server information, access time, account information used, command information used (cli-based server).

다음으로, 본 발명의 효과를 보다 구체적으로 설명한다.Next, the effect of the present invention will be described in more detail.

국내외 기관들은 비용 절감 및 유연한 환경 제공으로 인한 편의성 등을 이유로 물리서버에서 클라우드 서버로 전환을 시도하고 있다. 클라우드 환경에서의 자산 보호 및 컴플라이언스 이슈 대응을 위해서는 클라우드 서비스의 특성을 고려하여 레거시 환경과는 다른 관점에서 접근이 필요하다.Organizations at home and abroad are attempting to switch from physical servers to cloud servers for reasons such as cost reduction and convenience due to the provision of a flexible environment. In order to protect assets in the cloud environment and respond to compliance issues, considering the characteristics of cloud services, it is necessary to approach from a perspective different from the legacy environment.

클라우드의 서버는 휘발성을 지니고 있으며, 다양한 환경에서 접근이 가능하고, 서비스 제공자 별로 각기 다른 정책을 제공하고 있다. 이러한 클라우드 환경에서 레거시 수준의 사용자 감사 기능을 수행하기 위해서는 모니터링, 감사자료 수집 및 취합 등 인적 비용이 추가로 발생한다.The servers in the cloud are volatile, accessible in various environments, and provide different policies for each service provider. In order to perform the user audit function at the legacy level in such a cloud environment, human costs such as monitoring, audit data collection, and collection are additionally incurred.

본 발명이 적용될 경우 다양한 클라우드 서비스를 사용하는 환경에서 접근 경로를 일원화하여 통합 감사기능을 제공할 수 있고, 오토스케일링(AutoScaling)과 같은 자동화 정책에 대해 TAG 기반으로 권한을 사전 정의함으로써, 스케일 아웃(Scale out), 스케일 인(Scale in) 상황에서 발생하는 보안 홀에 대해 대비할 수 있으며, 서버 접근 시 사용하는 인증정보를 외부로 노출 시키지 않음으로써 보안을 강화할 수 있다.When the present invention is applied, it is possible to provide an integrated audit function by unifying the access path in an environment using various cloud services, and scale-out by defining rights in advance based on TAG for an automation policy such as AutoScaling. It can be prepared for security holes that occur in Scale out and Scale in situations, and it can strengthen security by not exposing the authentication information used when accessing the server to the outside.

이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.Above, although the invention made by the present inventors has been specifically described according to the above-described embodiments, the present invention is not limited to the above-described embodiments, and it is needless to say that the invention can be changed in various ways without departing from the gist thereof.

10 : 사용자 단말 20 : 감사 클라이언트
21 : 클라이언트 매니저 22 : 클라이언트 필터 드라이버
23 : 클라이언트 프록시
30 : 감사 게이트웨이 31 : 커넥터 연계부
32 : 접근권한 관리부 33 : 인증권한 통제부
34 : 통신 중계부 35 : 접근로그 기록부
36 : 감사자료 생성부
40 : 클라우드 플랫폼 41 : 서버
42 : 커넥터 80 : 데이터베이스
81 : 서버정보DB 82 : 접근권한DB
83 : 태그기반 권한DB 84 : 접근로그DB
10: user terminal 20: audit client
21: client manager 22: client filter driver
23: client proxy
30: audit gateway 31: connector linkage
32: access authority management unit 33: authentication authority control unit
34: communication relay unit 35: access log recorder
36: Audit data generation unit
40: cloud platform 41: server
42: connector 80: database
81: Server information DB 82: Access authority DB
83: Tag-based authorization DB 84: Access log DB

Claims (6)

적어도 하나의 사용자 단말과, 클라우드 플랫폼 사이에 설치되어, 상기 사용자 단말과 상기 클라우드 플랫폼 내의 적어도 1개의 가상 서버를 중계하는, 멀티 클라우드 환경에서의 서버 감사 시스템에 있어서,
상기 클라우드 플랫폼은 가상 서버를 생성 또는 소멸시켜 각 클라우드 서비스의 서비스 용량에 맞게 가상 서버를 할당하고,
상기 클라우드 플랫폼의 커넥터와 연동하여, 상기 커넥터로부터 해당 클라우드 서비스 내의 서버 구성 정보 및 서버의 태그 정보를 수집하는 커넥터 연계부;
서버에 접근 가능한 사용자를 나타내는 서버접근 권한 정보를 관리하되, 수집된 서버 구성 정보 및 서버의 태그 정보를 기반으로 상기 클라우드 플랫폼 내의 서버의 생성 또는 소멸을 검출하여 상기 서버접근 권한 정보를 갱신하는 접근권한 관리부;
상기 서버접근 권한 정보에 따라 상기 사용자 단말의 서버 접근을 통제하는 인증권한 통제부; 및,
상기 사용자 단말과 서버 사이에서 메시지를 중계하는 통신 중계부를 포함하고,
상기 접근권한 관리부는, 서버 접근이 허용된 사용자들의 정보를 획득하되, 태그 정보에 의해 식별되는 사용자 정보들을 획득하여 태그기반 권한 정보로 저장하고,
상기 접근권한 관리부는, 서버 구성에서 새로운 서버가 생성되는 경우, 상기 태그기반 권한 정보에서 새로운 서버의 태그 정보와 동일한 사용자를 검색하고, 검색된 사용자에게 해당 서버의 접근 권한을 허용하도록, 상기 서버접근 권한 정보를 갱신하는 것을 특징으로 하는 멀티 클라우드 환경에서의 서버 감사 시스템.
In the server audit system in a multi-cloud environment, which is installed between at least one user terminal and a cloud platform to relay the user terminal and at least one virtual server in the cloud platform,
The cloud platform creates or destroys virtual servers and allocates virtual servers according to the service capacity of each cloud service,
A connector linkage unit for interworking with the connector of the cloud platform and collecting server configuration information and server tag information in the cloud service from the connector;
Access authority to manage server access authority information indicating users who can access the server, but to update the server access authority information by detecting the creation or destruction of the server in the cloud platform based on the collected server configuration information and server tag information. Management;
An authentication authority control unit controlling server access of the user terminal according to the server access authority information; And,
And a communication relay unit relaying a message between the user terminal and the server,
The access authority management unit acquires information of users allowed to access the server, obtains user information identified by the tag information, and stores it as tag-based authority information,
The access authority management unit, when a new server is created in a server configuration, searches the same user as the tag information of the new server in the tag-based authority information, and allows the searched user to access the server, the server access authority Server audit system in a multi-cloud environment characterized by updating information.
제1항에 있어서,
상기 접근권한 관리부는 새로 수집된 서버 구성 정보의 서버 주소들의 목록과, 이미 저장된 서버 구성 정보의 서버 주소들의 목록을 대비하여, 서버 구성의 서버 생성 또는 소멸을 검출하는 것을 특징으로 하는 멀티 클라우드 환경에서의 서버 감사 시스템.
According to claim 1,
In the multi-cloud environment, the access authority management unit detects the server creation or destruction of the server configuration in preparation for a list of server addresses of newly collected server configuration information and a list of server addresses of already stored server configuration information. Server audit system.
제1항에 있어서,
상기 접근권한 관리부는 수집된 서버 구성 정보 및 서버의 태그 정보를 서버 태그 정보로 저장하여 관리하고,
상기 접근권한 관리부는, 상기 서버접근 권한 정보와 상기 서버 태그 정보를 조인 매핑하여, 상기 태그기반 권한 정보를 획득하는 것을 특징으로 하는 멀티 클라우드 환경에서의 서버 감사 시스템.
According to claim 1,
The access authority management unit stores and manages the collected server configuration information and server tag information as server tag information.
The access authority management unit, the server access authority information and the server tag information by join mapping, to obtain the tag-based authority information Server audit system in a multi-cloud environment.
제3항에 있어서,
상기 접근권한 관리부는, 서버 구성에서 새로운 서버가 소멸되는 경우, 상기 서버 태그 정보, 및, 상기 서버접근 권한 정보에서 소멸된 서버의 서버 주소에 해당하는 데이터를 모두 제외시키고, 상기 태그 기반 권한 정보에서, 해당 서버의 태그 정보와 동일한 권한 정보를 모두 제외시키되, 상기 서버 태그 정보를 참조하여, 해당 서버의 태그 정보와 동일한 태그 정보를 가지는 다른 서버가 존재하면, 태그 기반 권한 정보를 갱신하지 않는 것을 특징으로 하는 멀티 클라우드 환경에서의 서버 감사 시스템.
According to claim 3,
In the server configuration, when the new server is destroyed in the server configuration, the access authority management unit excludes all data corresponding to the server address of the decayed server from the server tag information and the server access authority information, and from the tag-based authority information. , Except that all of the same authority information as the tag information of the corresponding server is excluded, and when there is another server having the same tag information as the tag information of the corresponding server with reference to the server tag information, the tag-based authority information is not updated. Server audit system in a multi-cloud environment.
제1항에 있어서,
상기 서버 구성 정보는 서버 주소, 서버가 속하는 클라우드 서비스의 서비스 식별정보를 포함하고,
상기 태그 정보는 서버의 속성이나 설명의 코멘트를 나타내는 메타 데이터로서, 다수의 키와 값의 쌍으로 구성되는 것을 특징으로 하는 멀티 클라우드 환경에서의 서버 감사 시스템.
According to claim 1,
The server configuration information includes a server address and service identification information of a cloud service to which the server belongs,
The tag information is metadata representing a comment of an attribute or a description of a server, and a server audit system in a multi-cloud environment, characterized by comprising a plurality of key and value pairs.
제1항에 있어서, 상기 시스템은,
상기 통신 중계부에서 중계되는 메시지 또는 데이터 패킷을 모니터링하고, 상기 서버에 접근하는 내용을 로그로 기록하는 접근로그 기록부; 및,
저장된 로그를 참조하여, 사용자별 접근 내역을 감사할 수 있는 기능을 제공하는 감사자료 생성부를 더 포함하는 것을 특징으로 하는 멀티 클라우드 환경에서의 서버 감사 시스템.
The method of claim 1, wherein the system,
An access log recorder that monitors the message or data packet relayed by the communication relay unit and records the contents accessing the server as a log; And,
A server audit system in a multi-cloud environment, further comprising an audit data generation unit that provides a function to audit access history for each user by referring to the stored log.
KR1020190170836A 2019-11-28 2019-12-19 A server auditing system in a multi cloud environment KR102142045B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190155795 2019-11-28
KR20190155795 2019-11-28

Publications (1)

Publication Number Publication Date
KR102142045B1 true KR102142045B1 (en) 2020-08-06

Family

ID=72040114

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190170836A KR102142045B1 (en) 2019-11-28 2019-12-19 A server auditing system in a multi cloud environment

Country Status (1)

Country Link
KR (1) KR102142045B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230062174A (en) * 2021-10-29 2023-05-09 주식회사 테이텀 Method for collecting information agentless for dynamically changing resources in cloud and container environments and apparatus therefor
CN116684282A (en) * 2023-07-27 2023-09-01 深圳高灯计算机科技有限公司 Method and device for initializing newly-added cloud server and computer equipment
KR102584579B1 (en) 2022-09-29 2023-10-05 주식회사 신시웨이 Database access control gateway service system based on software as a service and method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120084990A (en) * 2011-01-21 2012-07-31 엔에이치엔(주) Cache system and caching service providing method using structure of cache cloud
KR101680702B1 (en) 2014-04-25 2016-11-30 (주)나누미넷 System for web hosting based cloud service
KR101784312B1 (en) * 2012-05-07 2017-10-11 삼성전자주식회사 A apparatus and method of providing security to cloud data to prevent unauthorized access
KR102014807B1 (en) * 2019-02-25 2019-08-27 주식회사 넷앤드 An access control system of detecting and blocking roundabout access

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120084990A (en) * 2011-01-21 2012-07-31 엔에이치엔(주) Cache system and caching service providing method using structure of cache cloud
KR101784312B1 (en) * 2012-05-07 2017-10-11 삼성전자주식회사 A apparatus and method of providing security to cloud data to prevent unauthorized access
KR101680702B1 (en) 2014-04-25 2016-11-30 (주)나누미넷 System for web hosting based cloud service
KR102014807B1 (en) * 2019-02-25 2019-08-27 주식회사 넷앤드 An access control system of detecting and blocking roundabout access

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230062174A (en) * 2021-10-29 2023-05-09 주식회사 테이텀 Method for collecting information agentless for dynamically changing resources in cloud and container environments and apparatus therefor
KR102701334B1 (en) 2021-10-29 2024-08-30 주식회사 테이텀 Method for collecting information agentless for dynamically changing resources in cloud and container environments and apparatus therefor
KR102584579B1 (en) 2022-09-29 2023-10-05 주식회사 신시웨이 Database access control gateway service system based on software as a service and method thereof
CN116684282A (en) * 2023-07-27 2023-09-01 深圳高灯计算机科技有限公司 Method and device for initializing newly-added cloud server and computer equipment
CN116684282B (en) * 2023-07-27 2024-01-16 深圳高灯计算机科技有限公司 Method and device for initializing newly-added cloud server and computer equipment

Similar Documents

Publication Publication Date Title
US11397805B2 (en) Lateral movement path detector
US20200125347A1 (en) Methods, Systems, and Computer Program Products for Monitoring and Control of Changes to a Computer Apparatus and/or Virtual Machines by Means of a Management System via a Network
DE60130203T2 (en) METHOD AND SYSTEM FOR MANAGING VIRTUAL ADDRESSES FOR VIRTUAL NETWORKS
US9258308B1 (en) Point to multi-point connections
EP1934768B1 (en) Providing consistent application aware firewall traversal
US9197668B2 (en) Access control to files based on source information
KR102142045B1 (en) A server auditing system in a multi cloud environment
US11102174B2 (en) Autonomous alerting based on defined categorizations for network space and network boundary changes
US20070061460A1 (en) Remote access
US20050193103A1 (en) Method and apparatus for automatic configuration and management of a virtual private network
US10148637B2 (en) Secure authentication to provide mobile access to shared network resources
US10721209B2 (en) Timing management in a large firewall cluster
CN106844489A (en) A kind of file operation method, device and system
KR102017038B1 (en) An access control system for web applications
Irvine et al. Overview of a high assurance architecture for distributed multilevel security
KR102184114B1 (en) Method and apparatus for providing network security service
JP2005100358A (en) Moving principal across security boundary without interrupting service
CN112511562A (en) Cross-network data transmission system based on one-way isolation all-in-one machine and cloud desktop technology
JP3649180B2 (en) Security management system and routing program
Cisco Configuring the Device-Specific Settings of Network Objects
JP2015082787A (en) Information processing system and firewall device for implementing secure credit card system in cloud environment
Cisco Configuring the Device-Specific Settings of Network Objects
Cisco Configuring the Device-Specific Settings of Network Objects
KR102120225B1 (en) Access control management system and method of 4-tier type CASB
KR102269885B1 (en) An access control system of making up customized server work environment for each user

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant