KR102142045B1 - 멀티 클라우드 환경에서의 서버 감사 시스템 - Google Patents

멀티 클라우드 환경에서의 서버 감사 시스템 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
English (en)
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/ko

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

다양한 클라우드 서비스를 사용하는 환경에서 관리자가 클라우드 환경의 대상 서버에 원격 프로토콜(SSH,RDP)로 접근하여 작업한 내용을 감사하는, 멀티 클라우드 환경에서의 서버 감사 시스템에 관한 것으로서, 클라우드 플랫폼의 커넥터와 연동하여, 상기 커넥터로부터 해당 클라우드 서비스 내의 서버 구성 정보 및 서버의 태그 정보를 수집하는 커넥터 연계부; 서버에 접근 가능한 사용자를 나타내는 서버접근 권한 정보를 관리하되, 수집된 서버 구성 정보 및 서버의 태그 정보를 기반으로 상기 클라우드 플랫폼 내의 서버의 생성 또는 소멸을 검출하여 상기 서버접근 권한 정보를 갱신하는 접근권한 관리부; 상기 서버접근 권한 정보에 따라 상기 사용자 단말의 서버 접근을 통제하는 인증권한 통제부; 및, 상기 사용자 단말과 서버 사이에서 메시지를 중계하는 통신 중계부를 포함하는 구성을 마련한다.
상기와 같은 시스템에 의하여, 다양한 클라우드 서비스를 제공하는 환경에서 게이트웨이를 두어 접근 경로를 일원화 함으로써 통합 감사 기능을 제공할 수 있고, 오토스케일링(auto-scaling) 되는 서버들의 접근 권한을 자동으로 설정함으로써 서버 접근 시 사용하는 인증정보를 외부로 노출 시키지 않아 보안을 강화할 수 있다.

Description

멀티 클라우드 환경에서의 서버 감사 시스템 { A server auditing system in a multi cloud environment }
본 발명은 다양한 클라우드 서비스를 사용하는 환경에서 관리자가 클라우드 환경의 대상 서버에 원격 프로토콜(SSH,RDP)로 접근하여 작업한 내용을 감사하는, 멀티 클라우드 환경에서의 서버 감사 시스템에 관한 것이다.
또한, 본 발명은 여러 클라우드 서비스를 제공하는 환경에서, 관리자가 클라우드 상의 대상 서버에 원격으로 접근할 때, 서비스 제공자 별로 각기 다른 인터페이스를 제공하더라도, 접근 및 사용의 편의성을 높이고, 클라우드 감사 자료를 용이하게 생산할 수 있는, 멀티 클라우드 환경에서의 서버 감사 시스템에 관한 것이다.
일반적으로, 클라우드 환경 서비스(또는 클라우드 플랫폼 서비스)는 물리적인 서버를 각 서비스 공급자별로 필요한 만큼의 가상 서버를 빌려주는 서비스이다[특허문헌 1]. 클라우드 환경 또는 클라우드 플랫폼은 관리 비용 및 사용 편의성 등의 장점에 의해 많이 보급되어 사용되고 있다. 여기서, 클라우드 플랫폼 서비스는 클라우드 환경을 제공하는 서비스를 말하면, 클라우드 서비스는 클라우드 플랫폼 상에서 제공되는 포탈, 검색, 홈쇼핑 등 온라인 상의 각종 서비스를 말한다.
그러나 이러한 클라우드 환경 또는 플랫폼에서 보안 영역은 각 서비스 공급자의 입장에서 책임져야 하는 것이 현실이다. 여기서, 서비스 공급자는 클라우드 환경을 이용한 온라인 상의 서비스 또는 클라우드 서비스를 공급하는 자를 나타낸다.
또한, 클라우드 플랫폼 제공자(또는 플랫폼 제공자 등)는 클라우드 서비스에 대한 종속성을 회피하기 위해, 하나의 클라우드 서비스에만 클라우드 환경을 제공하기 보다는 여러가지 서비스(또는 클라우드 서비스)에 동시에 제공한다.
그런데 이와 같이 다수의 클라우드 서비스를 제공하는 환경에서는, 보안 관리의 어려움이 더욱 커지게 된다. 이로 인한 보안 위협도 역시 증가하고 있다.
도 1에서 보는 바와 같이, 종래의 클라우드 서버 접근 방식에 의하면, 클라우드 서비스의 관리자가 각각의 클라우드 서비스 웹(WEB) 콘솔(또는 클라우드 서비스 서버)에서 접근 권한을 부여한 후, 사용자에게 접근 대상의 인증 정보를 전달해주어야 한다. 또한, 인증 정보를 받은 사용자가 접근대상으로 직접 접근하는 방식이다.
그러나 이러한 방식은 인증정보 전달 과정에서 정보 유출의 위험이 존재한다. 또한, 사용자의 감사 이력은 각각의 클라우드 서비스 공급자별로 취합한 후, 비교 분석해야 한다. 따라서 중복적인 리소스 소모가 생긴다.
한국등록특허 제10-1680702호(2016.11.30.공고)
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 다양한 클라우드 서비스 서버를 하나의 시스템에서 통합하여 접근 관리하고, 관리자 별로 작업한 이력을 텍스트(SSH) 또는 이미지(RDP)로 저장 관리하여 감사기능을 제공하는, 멀티 클라우드 환경에서의 서버 감사 시스템을 제공하는 것이다.
또한, 본 발명의 목적은 멀티 클라우드 서비스 환경에서 게이트웨이를 통해 접근 경로를 일원화하고, 각 클라우드 서비스를 위해 생성되거나 소멸되는 가상 서버의 서버 정보를 수집하고, 수집된 가상 서버와 각 관리자 별로 접근통제 권한을 실시간으로 갱신하는, 멀티 클라우드 환경에서의 서버 감사 시스템을 제공하는 것이다.
또한, 본 발명의 목적은 각 클라우드 서비스 별로 할당된 가상 서버 정보를 수신하고, 수신한 서버 정보의 가상 서버들에 대해 각 관리자 별로 접근 권한을 설정하고 관리하는, 멀티 클라우드 환경에서의 서버 감사 시스템을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 적어도 하나의 사용자 단말과, 클라우드 플랫폼 사이에 설치되어, 상기 사용자 단말과 상기 클라우드 플랫폼 내의 적어도 1개의 가상 서버를 중계하는, 멀티 클라우드 환경에서의 서버 감사 시스템에 관한 것으로서, 상기 클라우드 플랫폼의 커넥터와 연동하여, 상기 커넥터로부터 해당 클라우드 서비스 내의 서버 구성 정보 및 서버의 태그 정보를 수집하는 커넥터 연계부; 서버에 접근 가능한 사용자를 나타내는 서버접근 권한 정보를 관리하되, 수집된 서버 구성 정보 및 서버의 태그 정보를 기반으로 상기 클라우드 플랫폼 내의 서버의 생성 또는 소멸을 검출하여 상기 서버접근 권한 정보를 갱신하는 접근권한 관리부; 상기 서버접근 권한 정보에 따라 상기 사용자 단말의 서버 접근을 통제하는 인증권한 통제부; 및, 상기 사용자 단말과 서버 사이에서 메시지를 중계하는 통신 중계부를 포함하는 것을 특징으로 한다.
또, 본 발명은 멀티 클라우드 환경에서의 서버 감사 시스템에 있어서, 상기 접근권한 관리부는 수집된 서버 구성 정보 및 서버의 태그 정보를 서버 태그 정보로 저장하여 관리하고, 새로 수집된 서버 구성 정보의 서버 주소들의 목록과, 이미 저장된 서버 태그 정보의 서버 주소들의 목록을 대비하여, 서버 구성의 서버 생성 또는 소멸을 검출하는 것을 특징으로 한다.
또, 본 발명은 멀티 클라우드 환경에서의 서버 감사 시스템에 있어서, 상기 접근권한 관리부는, 상기 서버접근 권한 정보와 상기 서버 태그 정보를 조인 매핑하여, 서버 접근이 허용된 사용자들의 정보를 획득하되, 태그 정보에 의해 식별되는 사용자 정보들을 획득하고, 획득된 사용자 정보들을 태그기반 권한 정보로 저장하고, 서버 구성에서 새로운 서버가 생성되는 경우, 상기 태그기반 권한 정보에서, 새로운 서버의 태그 정보가 동일한 사용자를 검색하고, 검색된 사용자에게 해당 서버의 접근 권한을 허용하도록, 상기 서버접근 권한 정보를 갱신하는 것을 특징으로 한다.
또, 본 발명은 멀티 클라우드 환경에서의 서버 감사 시스템에 있어서, 상기 접근권한 관리부는, 서버 구성에서 새로운 서버가 소멸되는 경우, 상기 서버 태그 정보, 및, 상기 서버접근 권한 정보에서 소멸된 서버의 서버 주소에 해당하는 데이터를 모두 제외시키고, 상기 태그 기반 권한 정보에서, 해당 서버의 태그 정보와 동일한 권한 정보를 모두 제외시키되, 상기 서버 태그 정보를 참조하여, 해당 서버의 태그 정보와 동일한 태그 정보를 가지는 다른 서버가 존재하면, 태그 기반 권한 정보를 갱신하지 않는 것을 특징으로 한다.
또, 본 발명은 멀티 클라우드 환경에서의 서버 감사 시스템에 있어서, 상기 서버 구성 정보는 서버 주소, 서버가 속하는 클라우드 서비스의 서비스 식별정보를 포함하고, 상기 태그 정보는 서버의 속성이나 설명의 코멘트를 나타내는 메타 데이터로서, 다수의 키와 값의 쌍으로 구성되는 것을 특징으로 한다.
또, 본 발명은 멀티 클라우드 환경에서의 서버 감사 시스템에 있어서, 상기 시스템은, 상기 통신 중계부에서 중계되는 메시지 또는 데이터 패킷을 모니터링하고, 상기 서버에 접근하는 내용을 로그로 기록하는 접근로그 기록부; 및, 저장된 로그를 참조하여, 사용자별 접근 내역을 감사할 수 있는 기능을 제공하는 감사자료 생성부를 더 포함하는 것을 특징으로 한다.
상술한 바와 같이, 본 발명에 따른 멀티 클라우드 환경에서의 서버 감사 시스템에 의하면, 다양한 클라우드 서비스를 제공하는 환경에서 게이트웨이를 두어 접근 경로를 일원화 함으로써 통합 감사 기능을 제공할 수 있고, 오토스케일링(auto-scaling) 되는 서버들의 접근 권한을 자동으로 설정함으로써 서버 접근 시 사용하는 인증정보를 외부로 노출 시키지 않아 보안을 강화할 수 있는 효과가 얻어진다.
또한, 본 발명에 따른 멀티 클라우드 환경에서의 서버 감사 시스템에 의하면, 멀티 클라우드 플랫폼에서 오토스케일링(AutoScaling) 등 서버 자동 할당에 대해 태그(TAG) 기반으로 권한을 사전 정의함으로써, 확장(Scale out, 스케일 아웃) 또는 축소(Scale in, 스케일 인) 상황에서 발생하는 보안 홀에 대해 대비할 수 있는 효과가 얻어진다.
도 1은 종래의 클라우드 서버 접근 방식을 나타낸 도면.
도 2는 본 발명을 실시하기 위한 전체 시스템에 대한 구성도.
도 3은 본 발명의 일실시예에 따른 멀티 클라우드 환경에서의 서버 감사 시스템의 구성에 대한 블록도.
도 4는 본 발명의 일실시예에 따른 서버접근 권한 정보를 나타낸 테이블.
도 5는 본 발명의 일실시예에 따른 서버 정보를 나타낸 테이블.
도 6은 본 발명의 일실시예에 따른 태그기반 권한 정보를 나타낸 테이블.
도 7은 본 발명의 일실시예에 따른 갱신된 서버접근 권한 정보를 나타낸 테이블.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명을 실시하기 위한 전체 시스템의 구성에 대하여 도 2를 참조하여 설명한다.
도 2에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 사용자 단말(10), 사용자 단말(10)에 설치되는 감사 클라이언트(20)와 통신 어플리케이션(60), 서버를 감사하는 감사 게이트웨이(30), 서버(41)와 커넥터(42)로 구성되는 클라우드 플랫폼(40), 및, 클라우드 서비스를 이용하는 사용자 단말(50)로 구성된다. 또한, 사용자 단말(10)과 감사 게이트웨이(30)는 네트워크(미도시)를 통해 연결된다.
먼저, 클라우드 플랫폼(40)은 클라우드 환경을 제공하는 통상의 플랫폼이다. 클라우드 플랫폼(40)은 다수의 물리적인 서버를 구비하고, 물리적 서버 상에서 가상 서버(41)를 생성하고, 가상 서버(41)를 통해 클라우드 서비스를 제공한다. 즉, 도 2의 서버(41)는 가상 서버를 나타낸다.
클라우드 서비스는 클라우드 환경 또는 클라우드 플랫폼(40) 상에서 제공하는 온라인 서비스로서, 포탈 서비스, 검색 서비스, 데이터 관리 서비스, 쇼핑몰 서비스 등 각종 온라인 상의 클라우드 기반 서비스를 말한다.
도 2와 같이, 클라우드 플랫폼(40)은 다수의 클라우드 서비스를 제공할 수 있다. 이때, 클라우드 플랫폼(40)은 각 클라우드 서비스의 서비스 용량에 맞게 가상 서버를 할당한다. 통상 이러한 기능을 클라우드 환경에서 오토스케일링(auto scaling)이라 한다.
예를 들어, 사용자들이 클라우드 서비스 #2를 많이 접속하고 사용하여, 클라우스 서비스 #2가 많은 자원을 필요로 하면, 클라우드 플랫폼(40)은 서비스 #2에 더 많은 서버(41)를 생성하여 할당한다. 또한, 서비스 양이 줄어드는 경우, 할당된 가상 서버 자원, 즉, 서버(41) 자원을 소멸시킬 수 있다.
한편, 클라우드 플랫폼(40)은 해당 클라우스 서비스에서 가상 서버를 추가하여 생성할 때, 기존에 서비스를 제공하던 서버를 복제하여 생성한다. 따라서 새로 복제되는 생성되는 서버의 서버 정보는 기존의 서버(또는 복제 대상)의 서버 정보와 동일하다.
다만, 서버를 식별하기 위한 접속 정보(IP주소 및 프로토콜의 조합)는 달라진다. 따라서 태그 정보 등 서버의 속성을 나타내는 메타 데이터는 동일하게 복제된다. 또한, 접속 계정과 패스워드 등 접속 인증 정보나 접속 보안 정보 등도 동일하게 복제된다.
또한, 커넥터(42)는 각 클라우드 서비스를 관리하는 모듈로서, 해당 클라우드 서비스를 제공하는 모든 서버(41)의 서버 정보를 수집하여 관리한다. 바람직하게는, 커넥트(42)는 해당 클라우드 서비스의 각 서버(41)에 대한, IP주소, 프로토콜, DNS 정보 등을 관리한다.
한편, 일반 온라인 서비스의 사용자는 서버(41)의 클라우드 서비스에 접속하여, 서버(41)가 제공하는 온라인 상의 클라우드 서비스를 이용한다. 즉, 이때의 클라우드 서비스는 클라우드 플랫폼 상의 서버(41)가 제공하는 온라인 상의 서비스이다.
다음으로, 사용자 단말(10)은 사용자가 사용하는 컴퓨팅 단말로서, PC, 노트북, 태플릿PC, 스마트폰, 태블릿PC 등이다. 또한, 사용자 단말(10)은 네트워크(미도시)를 통해 서버(41) 또는 감사 게이트웨이(30)에 연결할 수 있는 네트워크 기능을 보유한다. 또한, 사용자 단말(10)은 어플리케이션 등 프로그램 시스템이 설치되어 실행될 수 있다.
한편, 사용자는 사용자 단말(10)을 통해, 클라우드 플랫폼(40) 내에서 클라우드 서비스를 제공하는 서버(41)들의 시스템(또는 운영체제의 시스템)을 관리한다.
다음으로, 통신 어플리케이션(60)은 사용자 단말(10)에 설치되는 프로그램 시스템으로서, 클라우드 플랫폼(40) 내의 서버(41)에 접속하기 위한 통신 프로토콜에 의한 통신 프로그램, 쉘 스크립트, 터미널 어플리케이션 등 통신용 프로그램 시스템이다. 특히, 통신 어플리케이션(20)은 서버(41)의 시스템 관리(또는 운영체제의 시스템 관리)를 원격에서 처리하기 위한 통신용 프로그램이다.
예를들어, 통신 어플리케이션(20)은 텔넷(TELNET), RDP(Remote Desktop Protocol) 등 원격접속 프로토콜을 통한 작업을 수행한다. 이외에도 통신 어플리케이션(20)은 파일 전송을 위한 FTP(File Transfer Protocol), SSH(secure shell), SFTP(SSH Transfer Protocol) 등 표준화된 원격 접속 프로토콜을 이용하여 서버(41)에 접속할 수 있는 프로그램 시스템이다.
통신 어플리케이션(60)은 서버(41)에 접속하여 통신을 수행하나, 실제로 감사 게이트웨이(30)를 통해 우회적으로 서버(41)에 접속한다. 즉, 통신 어플리케이션(60)은 자신의 입장에서 서버(41)와 직접적으로 통신하는 것으로 작동한다. 예를 들어, 통신 어플리케이션(60)은 서버 정보와 프로토콜 정보(IP주소 및 포트)를 이용하여 세션 설정을 수행하고, 설정된 세션으로 서버(41)에 접근한다. 그러나 감사 클라이언트(20)는 통신 어플리케이션(60)의 통신 패킷 등을 변조하여 감사 게이트웨이(30)로 우회시킨다.
특히, 통신 어플리케이션(60)은 통신을 수행하는 사용자 레벨의 어플리케이션이고, 통신을 위한 시스템콜(system call)을 운영체제(또는 운영 시스템)에 요청하면, 사용자 단말(10)의 운영체제는 해당 시스템콜 요청을 처리하는데 이때, 네트워크 드라이버를 통해 네트워크에 접속한다. 즉, 통신 어플리케이션(60)은 시스템 레벨의 네트워크 드라이버를 통해 네트워크에 접속하여 통신을 수행한다. 따라서 통신 어플리케이션(60)이 송수신하는 모든 데이터 또는 데이터 패킷은 네트워크 드라이버(미도시)를 거쳐 처리된다(송수신 된다).
한편, 통신 어플리케이션(60)은 서버(41)에 접근하여 접속 계정 및 패스워드로 사용자 인증을 수행받고, 사용자 인증이 통과되면 서버(41)의 서비스를 이용할 수 있다.
다음으로, 감사 클라이언트(20)는 사용자 단말(10)에 설치되는 프로그램 시스템(또는 어플리케이션)으로서, 통신 어플리케이션(60)이 서버(41)와 송수신하는 패킷을 감사 게이트웨이(30)로 우회시킨다. 즉, 감사 클라이언트(20)는 통신 어플리케이션(60)이 전송하는 패킷의 목적지를 변조하여 감사 게이트웨이(30)로 전송하고, 감사 게이트웨이(30)로부터 수신한 패킷을 통신 어플리케이션(60)로 전달하게 한다. 따라서 통신 어플리케이션(60)과 서버(41)간의 통신은 감사 게이트웨이(30)로 우회되나, 통신 어플리케이션(60)에게는 서버(41)와 직접 통신하는 것으로 보여진다.
또한, 감사 클라이언트(20)는 감사 게이트웨이(30)에 대한 접근을 위해 사용자의 게이트웨이 인증을 수행할 수 있다. 구체적으로, 감사 클라이언트(20)는 감사 게이트웨이(30)에 접근하여 사용자 인증, 또는 게이트웨이에 대한 사용자 인증을 수행한다. 이를 사용자의 게이트웨이 인증이라 부르기로 한다.
또한, 감사 클라이언트(20)는 감사 게이트웨이(30)로부터 접속가능 서버 정보를 수신하여, 통신 어플리케이션(60)이 접속가능 서버 정보 내의 서버만 접속하도록 통제할 수 있다.
일 실시예로서, 감사 클라이언트(20)는 각 사용자에 대하여 접속 가능한 서버 목록을 표시할 때, 접속가능 서버 정보 내의 서버 접근 정보만을 제시한다. 다른 실시예로서, 감사 클라이언트(20)는 통신 어플리케이션(60)의 데이터 패킷(또는 메시지)을 우회시킬 때, 목적 정보가 접속가능 서버 정보 내의 서버 접근 정보에 속하는 데이터 패킷 또는 메시지만을 필터링하여 전송한다.
다음으로, 감사 게이트웨이(30)는 사용자 단말(10) 또는 통신 어플리케이션(60)과 서버(41) 사이의 네트워크(미도시) 상에 설치되는 게이트웨이로서, 통신 어플리케이션(60)과 서버(41) 사이를 모니터링하고 중계한다.
즉, 감사 게이트웨이(30)는 통신 어플리케이션(60)이 감사 클라이언트(20)를 통해 우회되어 접속되면, 감사 클라이언트(20)와 서버(41) 사이에서 메시지(또는 데이터 패킷)를 중계한다. 이하에서, 메시지는 패킷 또는 IP 패킷으로 전달되므로, 메시지와 패킷을 혼용한다.
또한, 감사 게이트웨이(30)는 감사 클라이언트(20)에 대하여 사용자의 게이트웨이 인증을 수행할 수 있다.
또한, 감사 게이트웨이(30)는 클라우드 플랫폼(40)으로부터 실시간으로 각 클라이언트 서비스의 서버 정보를 수집하고, 수집된 서버 정보를 참조하여 서버접근 권한 정보 또는 각 사용자의 접근가능 서버 정보를 갱신한다.
또한, 일 실시예로서, 감사 게이트웨이(30)는 갱신된 각 사용자의 접근가능 서버 정보를 감사 클라이언트(20)에 전송하여, 감사 클라이언트(20)를 통해 각 사용자의 서버 접근을 통제하게 한다.
또한, 다른 실시예로서, 감사 게이트웨이(30)는 갱신된 서버접근 권한 정보를 참조하여, 각 사용자의 통신 어플리케이션(60)과, 서버(41) 간의 통신을 허용 또는 차단하는 등 접근 통제를 직접 수행할 수 있다.
또한, 감사 게이트웨이(30)는 각 클라우드 서비스의 각 서버(41)를 접근하는 이력을 기록하여 저장한다.
다음으로, 서버(41)은 사용자 단말(10) 또는 통신 어플리케이션(60)으로부터 네트워크(미도시)를 통해 접속 요청을 받고, 요청에 따라 접속을 허용하여 통신을 수행시켜준다. 이때, 바람직하게는, 서버(41)은 표준화된 통신 프로토콜을 통해 통신 어플리케이션(60)과 통신을 수행한다.
이때, 서버(41)는 통신 어플리케이션(60)을 통한 서버 접속에 대하여, 사용자 인증을 수행한다. 바람직하게는, 사용자 인증은 접속 계정 및 패스워드를 통해 수행된다. 더욱 바람직하게는, 접속 계정은 루트 계정 등 서버(41)의 시스템(또는 운영체제 시스템 등)을 관리하기 위한 계정이다.
즉, 서버(41)는 통신 어플리케이션(60)을 통해, 서버 시스템의 관리 서비스를 제공한다. 반면, 앞서 서버(41)가 공급하는 클라우드 서비스는 클라우드 기반의 온라인 상에서 제공되는 응용 서비스이다.
한편, 서버(41)은 통신 프로토콜을 이용하여, 통신 어플리케이션(60)으로부터 명령문 등 메시지를 수신하고, 해당 메시지의 명령 또는 요청을 수행하고 그 결과(또는 결과 메시지)를 통신 어플리케이션(60)에 전송한다. 이때, 통신 어플리케이션(60)과, 서버(41) 사이에는 세션이 형성되고, 세션 내에서 접속 요청 또는 메시지, 결과내용 등이 통신 프로토콜을 통해 데이터 패킷으로 송수신된다.
한편, 위에서 설명된 서버(41)과 통신 어플리케이션(60)과의 통신은 직접 연결되어 처리되지 않고, 감사 게이트웨이(30)을 통해 연결된다. 즉, 통신 어플리케이션(60)의 요청 메시지는 감사 게이트웨이(30)을 통해 서버(41)로 전달되고, 또한, 서버(41)의 응답 메시지도 감사 게이트웨이(30)을 통해 통신 어플리케이션(60)에 전달된다.
한편, 바람직하게는, 서버(41)은 방화벽(firewall)이 설치되고, 접근통제 게이트(30)로부터 수신되는 데이터(또는 데이터 패킷)만을 통과시키도록, 통제 정책을 설정할 수 있다. 따라서 사용자 단말(10) 또는 통신 어플리케이션(60)은 직접 서버(50)에 접근할 수 없고 반드시 감사 게이트웨이(30)을 통해서만 서버(41)에 접근할 수 있다. 만약 게이트웨이(30)로 패킷 경로를 변경하지 않고 패킷 그대로 서버(41)로 전송되면, 접근통제 구축 조건인 게이트웨이 이외의 서버 접근 경로는 모두 차단하는 방화벽 정책에 의하여 차단되어 접근할 수 없다.
다음으로, 데이터베이스(80)는 데이터를 저장하기 위한 데이터베이스로서, 서버의 태그 정보를 저장하는 서버태그DB(81), 사용자별 서버에 대한 접근 권한 정보를 저장하는 접근권한DB(82), 태그 기반으로 접근 권한을 매핑하는 태그권한DB(83), 접근 기록을 저장하는 접근로그DB(84) 등으로 이루어진다. 그러나 데이터베이스(80)의 구성은 바람직한 일실시예일 뿐이며, 구체적인 장치를 개발하는데 있어서, 접근 및 검색의 용이성 및 효율성 등을 감안하여 데이터베이스 구축이론에 의하여 다른 구조로 구성될 수 있다.
다음으로, 본 발명의 일실시예에 따른 감사 클라이언트(20)의 세부 구성을 도 2를 참조하여 설명한다.
또한, 도 2에서 보는 바와 같이, 본 발명의 일실시예에 따른 감사 클라이언트(20)는 감사 게이트웨이(30)로부터 접속가능 서버 정보를 수신하는 클라이언트 매니저(21), 통신 어플리케이션(60)의 패킷을 변조하여 우회시키는 클라이언트 필터 드라이버(22), 및, 클라이언트 필터 드라이버(22)로부터 수신되는 패킷을 감사 게이트웨이(30)로 우회시키는 클라이언트 프록시(23)로 구성된다.
일례로서, 사용자는 인가된 서버에 접근 시 감사 클라이언트(20)에 로그온 후 서버에 접근을 요청하게 된다. 사용자 단말(10)의 감사 클라이언트(20)는 통신 어플리케이션(60)을 실행하고, 클라이언트 프록시(23)를 경유하여 감사 게이트웨이(30)에 서버 접근을 요청한다.
먼저, 클라이언트 매니저(21)는 감사 게이트웨이(30)에 접속하여 사용자의 게이트웨이에 대한 인증(게이트웨이 인증)을 수행한다.
또한, 클라이언트 매니저(21)는 감사 게이트웨이(30)로부터, 게이트웨이를 통해 접근 가능한 서버 정보(또는 접속가능 서버 정보)를 전달받는다.
일실시예로서, 클라이언트 매니저(21)는 접속 가능 서버 목록을 표시할 때, 접속가능 서버 정보만 표시한다. 따라서 사용자는 클라이언트 매니저(21)에서 접속가능 서버 정보 내의 서버만을 선택하도록 통제된다.
다른 실시예로서, 클라이언트 매니저(21)는 접속가능 서버 정보를 주소필터 정보로 클라이언트 프록시(23)에 전달한다. 바람직하게는, 클라이언트 프록시(23)를 실행시키고 주소필터 정보를 전달한다. 클라이언트 프록시(23)는 서버(41)와의 통신 세션에서 우회시키는 프록시(proxy) 기능을 수행한다.
다음으로, 클라이언트 필터 드라이버(22)는 사용자 단말(10)의 운영체제에 설치되는 네트워크 필터 드라이버로서, 송수신되는 통신 패킷들을 모니터링하고 주소필터 정보(또는 주소필터 리스트)에 속하는 패킷을 탐지하여 변조한다.
클라이언트 필터 드라이버(22)는 네트워크 드라이버의 일부로서, 네트워크 드라이버의 중간에서 필터링 또는 후킹하는 드라이버이며, 통신 어플리케이션(60)에서 전송할 패킷을 필터링한다. 즉, 데이터 패킷에서 주소필터 정보로 목적주소(destination address)를 필터링하여, 필터링된 데이터 패킷의 목적주소를 프록시 주소로 변조(변경)한다.
이때, 주소필터 정보에는 서버(41)의 주소를 포함한다. 주소필터 정보(또는 IP필터링 리스트)에는 필터링할 주소 정보를 리스트로 관리하고, 주소필터 정보에 속하는 주소를 목적주소로 가지는 패킷들은 클라이언트 프록시(23)로 우회된다. 즉, 클라이언트 필터 드라이버(22)는 접속가능 서버 정보 내의 서버로의 데이터 패킷인 경우, 해당 데이터 패킷의 목적지를 변경함으로써, 직접 서버(41)로 전송하지 않고 클라이언트 프록시(23)로 우회시킨다.
다음으로, 클라이언트 프록시(23)는 패킷 또는 통신 세션을 중계하는 프록시 기능을 수행한다. 바람직하게는, 클라이언트 프록시(23)는 사용자 단말(10)에서 독립적인 프로세스로서 작동되는 사용자 계층의 프로그램 시스템이다.
구체적으로, 클라이언트 프록시(23)는 클라이언트 필터 드라이버(22)를 실행시키고, 주소필터 정보 및 자신의 주소(또는 프록시 주소)를 전달하여 필터링하고 변조하게 한다. 그리고, 클라이언트 프록시(23)는 클라이언트 필터 드라이버(22)로부터 변조된 패킷을 수신하여 감사 게이트웨이(30)로 중계한다.
즉, 클라이언트 필터 드라이버(22)가 실행되어 구동되면, 통신 어플리케이션(60)이 서버(41)에 원격 접근 패킷을 전송하려는 것을 감지하고, 클라이언트 프록시(23)로 패킷의 경로를 바꿔 전송하게 시킨다. 이때, 클라이언트 프록시(23)는 클라이언트 필터 드라이버(22)로부터 변조된 패킷을 수신하고, 수신한 패킷을 감사 게이트웨이(30)로 전송한다.
한편, 이를 위해, 클라이언트 프록시(23)는 감사 게이트웨이(30)와 세션을 수립하고, 수립된 세션(또는 클라이언트용 세션)을 통해 패킷을 송수신한다.
또한, 클라이언트 프록시(23)는 통신 어플리케이션(60)의 패킷을 최초로 감사 게이트웨이(30)에 우회시킬 때, 통신 어플리케이션(60)의 서버 접근 정보를 감사 게이트웨이(30)에 전달한다. 서버 접근 정보는 서버 주소(IP주소) 및 프로토콜 정보(포트번호) 등으로 구성된다.
다음으로, 본 발명의 일실시예에 따른 멀티 클라우드 환경에서의 서버 감사 시스템의 구성에 대하여 도 3을 참조하여 설명한다.
본 발명에 따른 멀티 클라우드 환경에서의 서버 감사 시스템은 앞서 설명한 감사 게이트웨이(30)로 실시될 수 있다. 이하에서, 서버 감사 시스템과 감사 게이트웨이의 도면 부호를 동일하게 사용한다.
도 3에서 보는 바와 같이, 본 발명의 일실시예에 따른 멀티 클라우드 환경에서의 서버 감사 시스템(30)은 클라우드 플랫폼(40)의 커넥터(42)와 연동하여 서버 정보를 수집하는 커넥터 연계부(31), 서버접속 권한 정보를 관리하는 접근권한 관리부(32), 서버접속 권한 정보에 따라 사용자의 서버 접근을 통제하는 인증권한 통제부(33), 및, 사용자 단말(10)과 서버(41) 간의 데이터 패킷 또는 메시지를 중계하는 통신 중계부(34)로 구성된다. 추가적으로, 서버의 접속 로그를 기록하는 접근로그 기록부(35), 또는, 로그 기록을 이용하여 감사 자료를 생성하는 감사자료 생성부(36)를 더 포함하여 구성될 수 있다.
먼저, 커넥터 연계부(31)는 클라우드 플랫폼(40)의 커넥터(42)에 연동하여, 커넥터(42)로부터 해당 클라우드 서비스 내의 서버 구성 및, 그 서버의 태그 정보를 수집한다.
바람직하게는, 클라우드 플랫폼(40)의 커넥터(42)는 서버 구성 정보 및, 서버의 태그 정보를 수집하여 전달하는 API(application program interface) 함수를 제공하도록 구성되고, 커넥터 연계부(31)는 API 함수를 호출하여 서버 구성 정보, 및, 그 태그 정보를 가져온다.
통상적으로, 클라우드 플랫폼(40)에는 커넥터(42)가 각 클라우드 서비스 별로 구성된다. 따라서 커넥터 연계부(31)는 모든 커넥터(42)에 접속하여, 모든 클라우드 서비스 내의 서버 정보 및, 그들에 대한 태그 정보를 수집한다. 수집된 서버 구성 정보 및, 태그 정보는 각 클라우드 서비스 별로 구분된다.
또한, 커넥터 연계부(31)는 실시간으로, 바람직하게는, 소정의 주기 간격으로 서버 구성 정보 및, 그 태그 정보를 수집한다.
서버 구성 정보는 클라우드 서비스(또는 서비스명, 서비스 아이디)와, 서버 주소로 구성된다. IP주소는 각 서버 마다 고유한 값을 가지므로, IP주소 또는 서버 주소는 서버 접속 정보로서 서버를 식별하는 정보이다.
서비스 식별정보는 서비스명, 서비스 아이디 등 클라우드 서비스를 식별할 수 있는 데이터이다. 또한, 복제되는 서버들은 클라우드 서비스로 구분될 수 있다. 즉, 복제되는 서버는 동일한 클라우드 서비스 내에서만 발생된다. 따라서 태그 정보가 동일하더라도, 서로 다른 클라우드 서비스에 속한다면, 2개의 서버는 서로 복제된 것이 아니다. 클라우드 서비스는 서버의 그룹을 나타낸다. 즉, 서버의 그룹 내에서만 서버들이 복제된다.
또한, 서버 구성 정보는 DNS 정보를 포함할 수 있다. DNS 정보는 외부에서 접근 가능한 퍼블릭 DNS와 클라우드 서비스 내부에서만 접근 가능한 프라이빗 DNS가 있으며, 각 서버 마다 고유한 DNS값을 가진다. 외부에서 대상 서버에 접근할 때, 기존의 IP 정보 대신 퍼블릭 DNS 정보로 접속할 수 있다. 한편, 도메인 네임과 DNS 정보는 IP주소를 대체하여 접근 정보로 활용할 수 있다.
다음으로, 태그 정보는 서버의 속성이나 코멘트(설명)를 나타내기 위한 메타 데이터이다. 구체적으로, 태그(TAG) 정보는 키(Key), 값(Value) 쌍으로 이루어져 있으며, 클라우드 서비스에서 리소스(서버)를 식별하고 구성하기 위한 메타 데이터로 작동하는 단어나 구문이다. 태그(TAG)는 리소스(서버) 관리를 위한 용도로 사용되며 리소스(서버)에 하나 이상의 태그(TAG)를 배정할 수 있다. 예를 들어 { Key(소유자), Value(LINUX 관리자) }, { Key(상태), Value(운영) } 형태로 리소스(서버)에 배정하여 동일 유형의 리소스를 관리할 때 사용한다.
특히, 태그 정보는 해당 서버의 식별 또는 관리를 위한 메타 데이터이므로, 복제되는 서버들은 복제 대상인 원래 서버와, 동일한 태그 정보를 가진다. 따라서 태그 정보의 전체 동일성 여부를 통해, 2개의 서버가 서로 복제된 서버인지 여부를 판단할 수 있다. 즉, 2개의 서버가 복제된 것이라면, 모든 태그 정보가 동일해야 한다.
한편, 태그 정보는 태그 형식으로 존재하는 데이터 외에도 서버의 속성을 나타내는 데이터를 더 포함할 수 있다. 즉, 이하에서, 태그 정보는 태그 형식의 데이터 외에 다른 방식으로 수집된 데이터도 포함하는 개념으로 설명한다.
일례로서, 태그 정보는 운영체제 모델을 포함할 수 있다. 운영체제 모델은 해당 서버에서 사용하는 운영체제(OS)의 모델을 말한다. 복제된 서버들은 동일한 운영체제를 사용한다. 따라서 운영체제 모델도 다른 태그 정보와 같이, 운영체제의 동일성 여부를 통해 복제 여부를 판단할 수 있다.
다음으로, 접근권한 관리부(32)는 사용자의 서버 접근 권한에 대한 정보(또는 서버접근 권한 정보)를 저장하여 관리하되, 수집된 서버 구성 정보 및 서버의 태그 정보를 기반으로 상기 클라우드 플랫폼 내의 서버의 생성 또는 소멸을 검출하여 사용자의 서버접근 권한 정보를 갱신한다.
즉, 접근권한 관리부(32)는 서버접근 권한 정보(82)를 사전에 설정하여 저장하고, 클라우드 플랫폼(40)에서 서버(41)의 구성이 변경될 때마다 서버접근 권한 정보(82)를 갱신한다.
서버접근 권한 정보(82)는 각 사용자에 대해 해당 사용자가 접근할 수 있는 서버의 목록을 저장하는 정보이다. 서버접근 권한 정보(82)는 권한 데이터(권한 정보)를 목록으로 관리하고, 바람직하게는, 접근권한 DB(82)에 저장한다. 이하에서, 설명의 편의를 위하여, 서버접근 권한 정보(82)로 참조 부호를 동일하게 부여한다. 바람직하게는 서버접근 권한 정보(82)는 테이블 형태로 구성된다. 따라서 서버접근 권한 정보(82) 또는 서버접근 권한 목록(82)으로 부르기로 한다.
도 4에서 보는 바와 같이, 일례로서, 서버접근 권한 정보(82)는 사용자 아이디, 서버 주소(IP 주소), 서비스 명(또는 서비스 식별정보) 등으로 구성될 수 있다. IP주소를 통해 서버를 식별할 수 있다. 서비스 명은 서버의 그룹을 나타낸다. 또한, 서버접근 권한 정보(82)는 다수 개의 권한 데이터를 리스트로 관리될 수 있다.
한편, 사용자 아이디는 게이트웨이에 대한 사용자 식별정보이며, 각 서버에 대한 접속 계정과는 다르다.
또한, 접근권한 관리부(32)는 커넥터 연계부(31)에서 수집된 서버 구성 정보 및 태그 정보를 분석하여, 서버접근 권한 정보(82)를 갱신한다.
이를 위해, 접근권한 관리부(32)는 각 서버에 대한 서버 태그 정보(81), 및, 태그 기반의 접근권한 정보(83)를 관리한다.
먼저, 서버 태그 정보(81)에 대해 설명한다.
바람직하게는, 서버 태그 정보는 서버정보DB(81)에 저장된다. 이하에서, 설명의 편의를 위하여, 서버 태그 정보(81)로 참조 부호를 동일하게 부여한다. 바람직하게는 서버 태그 정보(81)는 테이블 형태로 구성된다. 따라서 서버 태그 정보(81) 또는 서버태그 목록(81)으로 부르기로 한다. 목록에서 하나의 데이터를 태그 데이터라 부르기로 한다.
도 5에서 보는 바와 같이, 각 서버의 서버 정보(81)는 서버 주소(IP주소), 서비스 식별정보(서비스명), 태그 정보, 운영체제 등으로 구성된다.
태그 정보는 < 키, 값 >의 쌍들의 집합으로 구성된다. 태그 정보 ST는 다음과 같이, 쌍들의 집합으로 볼 수 있다.
[수학식 1]
ST = { (K1,V1), (K2,V2), ..., (Kn,Vn) }
여기서, Ki 는 태그의 키(key)를 나타내고, Vi 는 해당 키의 값을 나타낸다. 키(key)는 태그를 식별하기 위한 식별자이다.
다음으로, 태그 기반 권한 정보(83)를 설명한다.
또한, 접근권한 관리부(32)는 태그를 기반으로 한 서버접근 권한 정보(이하 태그 기반 권한 정보)를 생성한다. 태그 기반 권한 정보(83)는 태그 정보로 식별되는 사용자의 접근 허용 권한을 나타낸다. 바람직하게는, 태그 기반 권한 정보는 태그기반 권한DB(83)에 저장된다. 이하에서 설명의 편의를 위하여, 태그기반 권한 정보(83)의 참조 번호를 동일하게 부여한다. 바람직하게는 태그기반 권한 정보(83)는 테이블 형태로 구성된다. 따라서 태그기반 권한 정보(83) 또는 태그기반 권한 목록(83)으로 부르기로 한다. 목록에서 하나의 권한 정보를 태그기반 권한 데이터로 부르기로 한다.
바람직하게는, 태그 기반 권한 정보(83)는 서버접근 권한 정보(82)의 테이블과, 서버 태그 정보(81)의 테이블을 데이터베이스에 의해 조인(join) 매핑하여 획득될 수 있다. 즉, 태그 기반 권한 정보(83)는 서버접근 권한 정보(82) 및 서버 정보(81)의 서버 주소를 기본 키(primary key)로 하여 조인되어, 태그 정보에 의해 식별되는 사용자 아이디들의 데이터로 구해진다.
도 6은 도 5의 서버접근 권한 정보(82)와, 도 4의 서버 태그 정보(81)를 조인 매핑하여 획득된 태그 기반 권한 정보(83)를 나타내고 있다.
도 6에서 보는 바와 같이, 태그 기반 권한 정보(83)는 태그 정보를 기반으로 하여, 서버접근이 허용된 사용자(또는 사용자 아이디)로 구성된다. 태그 정보 외에도, 운영체제 등이 추가적으로 식별자(또는 키) 역할을 할 수 있다.
한편, 접근권한 관리부(32)는 수집된 서버 구성 정보의 서버 주소들의 목록과, 서버 태그 정보(81)의 서버 주소들의 목록을 대비하여, 서버 구성의 변동(서버의 소멸 또는 생성)을 검출한다. 즉, 수집된 서버 구성 정보 내에 특정 서버 주소가 있는데 서버 정보(81)의 목록에 없으면, 해당 서버는 새로 생성된 것으로 검출된다. 반대로, 서버 구성 정보 내에 존재하지 않으나 서버 정보(81) 내에 존재하면, 해당 서버 주소의 서버는 소멸된 것으로 검출된다.
접근권한 관리부(32)는 클라우드 플랫폼(40) 내의 서버 구성의 변동(서버의 소멸 또는 생성)에 따라 서버 정보(81), 서버접근 권한 정보(82), 및, 태그기반 권한 정보(83)를 갱신한다.
먼저, 서버가 생성되는 경우를 설명한다. 즉, 접근권한 관리부(32)는 수집된 서버 구성 정보를 분석하여 새로운 가상 서버를 발견하면, 서버 정보 목록(81), 태그 기반 권한 목록(83), 및, 서버접근 권한 목록(82)을 갱신한다.
먼저, 접근권한 관리부(32)는 수집된 서버 구성 정보의 IP 주소(또는 서버 주소)가 기존의 서버 정보에 존재하지 않으면, 새로운 서버가 생성된 것으로 판단한다. 예를 들어, 새로운 가상 서버의 서버주소, 서비스명, DNS, 운영체제, 태그가 각각 232.41.66.1, 네이버, 10.1.3.1, Linux, ST1의 값을 갖는다.
다음으로, 접근권한 관리부(32)는 태그 기반 권한 정보(83)를 참조하여, 새로운 서버의 서버 정보 중 태그 정보(태그 정보, 운영체제 등)가 동일한 사용자 또는 사용자 아이디를 검색한다.
앞서 예에서, 새로운 서버의 서버 정보 중 태그 정보(태그 정보, 운영체제 등)는 < ST1, 네이버, Linux > 이고, 도 6의 태그 기반 권한 정보에서 이들과 동일한 사용자 아이디는 User_01과 User_02 가 존재한다.
다음으로, 접근권한 관리부(32)는 검색된 사용자 아이디를 새로운 서버에 접근할 수 있는 아이디로 서버접근 권한 정보(82)에 추가하여 갱신한다. 또한, 새로운 서버의 태그 정보를 서버 태그 정보(81)에 추가하여 갱신한다. 이때, 새로운 서버의 태그 정보는 종래 서버와 태그 정보가 동일하므로, 태그 기반 권한 정보(83)는 추가로 갱신되지 않는다.
예를 들어, 도 7에서 보는 바와 같이, 새로운 서버(232.41.66.1)에 대해 User_01과 User_02은 접근 권한을 갖는다.
다음으로, 서버가 소멸되는 경우를 설명한다.
또한, 인증권한 정책부(32)는 종래 존재하던 서버가 소멸되면, 서버 태그 정보(81)에서 소멸된 서버를 제외시키고, 서버접근 권한 정보(82)와 태그 기반 권한 정보(83)도 갱신한다. 즉, 서버접근 권한 정보(82)에서는 해당 서버 주소를 가지는 권한 데이터를 모두 제외시킨다.
또한, 태그 기반 권한 목록(83)에서, 해당 서버의 태그 정보와 동일한 권한 정보를 모두 제외시킨다. 단, 서버 태그 정보(81)를 참조하여, 해당 서버의 태그 정보와 동일한 태그 정보를 가지는 다른 서버가 존재하면, 태그 기반 권한 정보(83)를 갱신하지 않는다.
한편, 인증권한 정책부(32)는 클라우드 플랫폼(40)에서 서버(41)의 구성이 변경될 때마다 서버접근 권한 정보(82) 등을 갱신한다.
다음으로, 인증권한 통제부(33)는 서버 접근 권한 정보(82)에 기반하여 사용자 단말(10) 또는 통신 어플리케이션(60)의 서버(41) 접근을 허용하거나 차단하는 등 서버 접근에 대한 통제를 수행한다.
특히, 인증권한 통제부(33)는 서버 접근 권한 정보(82)에 기반하여 접속가능 서버 정보를 생성하여 감사 클라이언트(20)에 전송하거나, 통신 중계부(33)를 통해 서버 접근 권한(또는 접속가능 서버 정보)에 따라 메시지 또는 데이터 패킷의 중계를 통제한다.
먼저, 인증권한 통제부(33)는 감사 클라이언트(20)가 접속해오면, 사용자의 게이트웨이 인증을 수행할 수 있다. 게이트웨이 인증은 게이트웨이(30)에 대한 사용자 인증을 말한다. 이때, 바람직하게는, 게이트웨이 인증은 사용자 아이디 및 패스워드로 인증된다. 사용자 아이디는 게이트웨이에 대한 사용자 식별정보이다. 즉, 사용자 아이디는 서버(41)에 접속하기 위한 접속 계정과는 구별된다.
또한, 인증권한 통제부(33)는 서버접근 권한 정보(82)에 따라 사용자의 서버 접근을 통제한다. 즉, 인증권한 통제부(33)는 게이트웨이에 접근한 사용자에 대하여, 서버접근 권한 정보(82)를 참조하여 해당 사용자의 접속가능 서버 정보를 생성하고, 생성된 접속가능 서버 정보를 통해 해당 사용자의 서버 접근을 통제한다.
바람직하게는, 제1 실시예로서, 인증권한 통제부(33)는 생성된 접속가능 서버 정보를 감사 클라이언트(20)에 전송하여, 감사 클라이언트(20)에 의해 접속가능 서버 정보 내의 서버만 접근되도록 통제시킨다.
또는 제2 실시예로서, 인증권한 통제부(33)는 생성된 접속가능 서버 정보를 통신 중계부(33)에 전달하여, 통신 중계부(33)에 의해 접속가능 서버 정보 내의 서버만 접근되도록 통제시킨다.
또한, 앞서 제1 및 제2 실시예를 모두 실시할 수 있다.
한편, 해당 사용자의 접속가능 서버 정보는 서버 주소 및 프로토콜 정보 등으로 구성된다. 특히, 서버 주소 및, 프로토콜의 다수 개가 리스트로 구성된다.
다음으로, 통신 중계부(34)는 사용자 단말(10) 또는 통신 어플리케이션(60)과 서버(41) 사이에서 메시지(또는 데이터 패킷)를 중계한다.
즉, 통신 중계부(34)는 사용자 단말(10)로부터 메시지를 수신하여 서버(41)로 전달하고, 서버(41)로부터 결과 메시지 등을 수신하여 사용자 단말(10)로 전달한다.
바람직하게는, 통신 중계부(34)는 사용자 단말(10)과 클라이언트용 세션을 수립하고, 수립된 클라이언트용 세션을 통해 데이터(메시지 등)를 송수신한다. 또한, 통신 중계부(34)는 클라이언트용 세션에 대응되는 서버용 세션을 서버(41)와 형성한다. 즉, 클라이언트용 세션과 서버용 세션은 사용자 단말(10)과 서버(41) 사이를 중계하기 위한 세션들이다.
또한, 바람직하게는, 통신 중계부(34)는 인증권한 정책부(32)로부터 접근가능 서버 정보를 전달받고, 사용자 단말(10)로부터 수신한 메시지 또는 데이터 패킷 중에서, 접근가능 서버 정보 내의 서버를 목적 주소로 하는 메시지 또는 데이터 패킷의 중계를 차단한다.
다음으로, 접근로그 기록부(35)는 통신 중계부(34)에서 중계되는 메시지 또는 데이터 패킷을 모니터링하고, 서버(41)에 접근하는 내용을 로그로 기록한다.
바람직하게는, 접근로그 기록부(35)는 SSH와 RDP 등 통신 프로토콜로 원격으로 접근한 이력을 텍스트 또는 이미지 형태로 로그(저장)하여 관리한다.
특히, 접근로그 기록부(35)는 SSH, 쉘(shell) 등 명령줄 인터페이스(CLI, Command line interface) 기반의 프로토콜에 의해 통신하는 경우에는 접근 이력을 텍스트(text)로 저장하고, RDP 등 GUI(Graphic User Interface) 기반의 프로토콜에 의해 통신하는 경우에는 접근 이력을 이미지로 저장한다.
다음으로, 감사자료 생성부(36)는 저장된 로그를 참조하여, 사용자별 접근 내역을 감사할 수 있는 기능을 제공한다.
특히, 감사자료 생성부(36)는 로그에 기록된 이력 데이터와, 인증권한 정책부(32)의 정보를 조합하여, 사용자 별 감사자료를 생성한다. 감사 자료는 사용자를 기준으로 접근 대상 서버 정보, 접근 시간, 사용한 계정 정보, 사용한 명령어 정보(cli 기반 서버) 등을 포함하여 생성한다.
다음으로, 본 발명의 효과를 보다 구체적으로 설명한다.
국내외 기관들은 비용 절감 및 유연한 환경 제공으로 인한 편의성 등을 이유로 물리서버에서 클라우드 서버로 전환을 시도하고 있다. 클라우드 환경에서의 자산 보호 및 컴플라이언스 이슈 대응을 위해서는 클라우드 서비스의 특성을 고려하여 레거시 환경과는 다른 관점에서 접근이 필요하다.
클라우드의 서버는 휘발성을 지니고 있으며, 다양한 환경에서 접근이 가능하고, 서비스 제공자 별로 각기 다른 정책을 제공하고 있다. 이러한 클라우드 환경에서 레거시 수준의 사용자 감사 기능을 수행하기 위해서는 모니터링, 감사자료 수집 및 취합 등 인적 비용이 추가로 발생한다.
본 발명이 적용될 경우 다양한 클라우드 서비스를 사용하는 환경에서 접근 경로를 일원화하여 통합 감사기능을 제공할 수 있고, 오토스케일링(AutoScaling)과 같은 자동화 정책에 대해 TAG 기반으로 권한을 사전 정의함으로써, 스케일 아웃(Scale out), 스케일 인(Scale in) 상황에서 발생하는 보안 홀에 대해 대비할 수 있으며, 서버 접근 시 사용하는 인증정보를 외부로 노출 시키지 않음으로써 보안을 강화할 수 있다.
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
10 : 사용자 단말 20 : 감사 클라이언트
21 : 클라이언트 매니저 22 : 클라이언트 필터 드라이버
23 : 클라이언트 프록시
30 : 감사 게이트웨이 31 : 커넥터 연계부
32 : 접근권한 관리부 33 : 인증권한 통제부
34 : 통신 중계부 35 : 접근로그 기록부
36 : 감사자료 생성부
40 : 클라우드 플랫폼 41 : 서버
42 : 커넥터 80 : 데이터베이스
81 : 서버정보DB 82 : 접근권한DB
83 : 태그기반 권한DB 84 : 접근로그DB

Claims (6)

  1. 적어도 하나의 사용자 단말과, 클라우드 플랫폼 사이에 설치되어, 상기 사용자 단말과 상기 클라우드 플랫폼 내의 적어도 1개의 가상 서버를 중계하는, 멀티 클라우드 환경에서의 서버 감사 시스템에 있어서,
    상기 클라우드 플랫폼은 가상 서버를 생성 또는 소멸시켜 각 클라우드 서비스의 서비스 용량에 맞게 가상 서버를 할당하고,
    상기 클라우드 플랫폼의 커넥터와 연동하여, 상기 커넥터로부터 해당 클라우드 서비스 내의 서버 구성 정보 및 서버의 태그 정보를 수집하는 커넥터 연계부;
    서버에 접근 가능한 사용자를 나타내는 서버접근 권한 정보를 관리하되, 수집된 서버 구성 정보 및 서버의 태그 정보를 기반으로 상기 클라우드 플랫폼 내의 서버의 생성 또는 소멸을 검출하여 상기 서버접근 권한 정보를 갱신하는 접근권한 관리부;
    상기 서버접근 권한 정보에 따라 상기 사용자 단말의 서버 접근을 통제하는 인증권한 통제부; 및,
    상기 사용자 단말과 서버 사이에서 메시지를 중계하는 통신 중계부를 포함하고,
    상기 접근권한 관리부는, 서버 접근이 허용된 사용자들의 정보를 획득하되, 태그 정보에 의해 식별되는 사용자 정보들을 획득하여 태그기반 권한 정보로 저장하고,
    상기 접근권한 관리부는, 서버 구성에서 새로운 서버가 생성되는 경우, 상기 태그기반 권한 정보에서 새로운 서버의 태그 정보와 동일한 사용자를 검색하고, 검색된 사용자에게 해당 서버의 접근 권한을 허용하도록, 상기 서버접근 권한 정보를 갱신하는 것을 특징으로 하는 멀티 클라우드 환경에서의 서버 감사 시스템.
  2. 제1항에 있어서,
    상기 접근권한 관리부는 새로 수집된 서버 구성 정보의 서버 주소들의 목록과, 이미 저장된 서버 구성 정보의 서버 주소들의 목록을 대비하여, 서버 구성의 서버 생성 또는 소멸을 검출하는 것을 특징으로 하는 멀티 클라우드 환경에서의 서버 감사 시스템.
  3. 제1항에 있어서,
    상기 접근권한 관리부는 수집된 서버 구성 정보 및 서버의 태그 정보를 서버 태그 정보로 저장하여 관리하고,
    상기 접근권한 관리부는, 상기 서버접근 권한 정보와 상기 서버 태그 정보를 조인 매핑하여, 상기 태그기반 권한 정보를 획득하는 것을 특징으로 하는 멀티 클라우드 환경에서의 서버 감사 시스템.
  4. 제3항에 있어서,
    상기 접근권한 관리부는, 서버 구성에서 새로운 서버가 소멸되는 경우, 상기 서버 태그 정보, 및, 상기 서버접근 권한 정보에서 소멸된 서버의 서버 주소에 해당하는 데이터를 모두 제외시키고, 상기 태그 기반 권한 정보에서, 해당 서버의 태그 정보와 동일한 권한 정보를 모두 제외시키되, 상기 서버 태그 정보를 참조하여, 해당 서버의 태그 정보와 동일한 태그 정보를 가지는 다른 서버가 존재하면, 태그 기반 권한 정보를 갱신하지 않는 것을 특징으로 하는 멀티 클라우드 환경에서의 서버 감사 시스템.
  5. 제1항에 있어서,
    상기 서버 구성 정보는 서버 주소, 서버가 속하는 클라우드 서비스의 서비스 식별정보를 포함하고,
    상기 태그 정보는 서버의 속성이나 설명의 코멘트를 나타내는 메타 데이터로서, 다수의 키와 값의 쌍으로 구성되는 것을 특징으로 하는 멀티 클라우드 환경에서의 서버 감사 시스템.
  6. 제1항에 있어서, 상기 시스템은,
    상기 통신 중계부에서 중계되는 메시지 또는 데이터 패킷을 모니터링하고, 상기 서버에 접근하는 내용을 로그로 기록하는 접근로그 기록부; 및,
    저장된 로그를 참조하여, 사용자별 접근 내역을 감사할 수 있는 기능을 제공하는 감사자료 생성부를 더 포함하는 것을 특징으로 하는 멀티 클라우드 환경에서의 서버 감사 시스템.
KR1020190170836A 2019-11-28 2019-12-19 멀티 클라우드 환경에서의 서버 감사 시스템 KR102142045B1 (ko)

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=72040114

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190170836A KR102142045B1 (ko) 2019-11-28 2019-12-19 멀티 클라우드 환경에서의 서버 감사 시스템

Country Status (1)

Country Link
KR (1) KR102142045B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116684282A (zh) * 2023-07-27 2023-09-01 深圳高灯计算机科技有限公司 新增云端服务器初始化方法、装置和计算机设备
KR102584579B1 (ko) 2022-09-29 2023-10-05 주식회사 신시웨이 SaaS 기반 데이터베이스 접근제어 게이트웨이 서비스 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120084990A (ko) * 2011-01-21 2012-07-31 엔에이치엔(주) 캐시 클라우드 구조를 이용한 캐시 시스템 및 캐싱 서비스 제공 방법
KR101680702B1 (ko) 2014-04-25 2016-11-30 (주)나누미넷 클라우드 기반 웹 호스팅 시스템
KR101784312B1 (ko) * 2012-05-07 2017-10-11 삼성전자주식회사 인증되지 않는 액세스를 방지하기 위해 클라우드 데이터에 보안을 제공하는 전자 장치 및 이의 보안 제공 방법
KR102014807B1 (ko) * 2019-02-25 2019-08-27 주식회사 넷앤드 우회 접속 탐지 및 차단 기능을 구비한 접근통제 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120084990A (ko) * 2011-01-21 2012-07-31 엔에이치엔(주) 캐시 클라우드 구조를 이용한 캐시 시스템 및 캐싱 서비스 제공 방법
KR101784312B1 (ko) * 2012-05-07 2017-10-11 삼성전자주식회사 인증되지 않는 액세스를 방지하기 위해 클라우드 데이터에 보안을 제공하는 전자 장치 및 이의 보안 제공 방법
KR101680702B1 (ko) 2014-04-25 2016-11-30 (주)나누미넷 클라우드 기반 웹 호스팅 시스템
KR102014807B1 (ko) * 2019-02-25 2019-08-27 주식회사 넷앤드 우회 접속 탐지 및 차단 기능을 구비한 접근통제 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102584579B1 (ko) 2022-09-29 2023-10-05 주식회사 신시웨이 SaaS 기반 데이터베이스 접근제어 게이트웨이 서비스 시스템 및 방법
CN116684282A (zh) * 2023-07-27 2023-09-01 深圳高灯计算机科技有限公司 新增云端服务器初始化方法、装置和计算机设备
CN116684282B (zh) * 2023-07-27 2024-01-16 深圳高灯计算机科技有限公司 新增云端服务器初始化方法、装置和计算机设备

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 (de) Verfahren und sytem zur verwaltung von virtuellen addresen für virtuelle netze
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
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
US10721209B2 (en) Timing management in a large firewall cluster
CN104769908A (zh) 基于ldap的多租户云中身份管理***
US10148637B2 (en) Secure authentication to provide mobile access to shared network resources
CN102045337A (zh) 用于管理网络资源的装置和方法
KR102142045B1 (ko) 멀티 클라우드 환경에서의 서버 감사 시스템
Irvine et al. Overview of a high assurance architecture for distributed multilevel security
KR101395830B1 (ko) 프록시를 경유한 접속 세션정보 확인시스템과 이를 기반으로 한 세션정보 확인방법
CN112511562A (zh) 一种基于单向隔离一体机及云桌面技术的跨网数据传送***
JP3649180B2 (ja) セキュリティ管理システムおよび経路指定プログラム
US11522832B2 (en) Secure internet gateway
Cisco Configuring the Device-Specific Settings of Network Objects
Cisco Configuring the Device-Specific Settings of Network Objects
Cisco Configuring the Device-Specific Settings of Network Objects
KR102120225B1 (ko) 4-tier 방식 CASB의 접근통제 관리 시스템 및 그 방법
US20240211625A1 (en) Systems and Methods for Providing Improved Account Management Services
JP2015082787A (ja) クラウド環境においてセキュアなクレジットカードシステムを実現するための情報処理システムおよびファイアウォール装置

Legal Events

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