KR102110821B1 - A rights converting system for user accounts using rights of the super account - Google Patents

A rights converting system for user accounts using rights of the super account Download PDF

Info

Publication number
KR102110821B1
KR102110821B1 KR1020190151307A KR20190151307A KR102110821B1 KR 102110821 B1 KR102110821 B1 KR 102110821B1 KR 1020190151307 A KR1020190151307 A KR 1020190151307A KR 20190151307 A KR20190151307 A KR 20190151307A KR 102110821 B1 KR102110821 B1 KR 102110821B1
Authority
KR
South Korea
Prior art keywords
account
user
server
super
command
Prior art date
Application number
KR1020190151307A
Other languages
Korean (ko)
Inventor
김대옥
염창주
김정호
오소영
서병선
Original Assignee
주식회사 넷앤드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 넷앤드 filed Critical 주식회사 넷앤드
Priority to KR1020190151307A priority Critical patent/KR102110821B1/en
Application granted granted Critical
Publication of KR102110821B1 publication Critical patent/KR102110821B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

The present invention relates to a user account access switch system based on whether access to super account exists, which is installed between at least one user terminal and at least one server to relay the user terminal and the server. The user account access switch system includes: a super access management part storing account access information of a user account for the server, while enabling the user account to store information about whether access to a super account for the server exists as the account access information; a communication relay part relaying a message between the user terminal and the server; and a sudoers file update part adding a user account having super account access to a sudoers file of the corresponding server with respect to the user account in accordance with the account access information. The sudoers file is a file for registering a permission for a driving command (hereinafter referred to as ′sudo command′) as a super account, and the user terminal makes a switch from the user account accessing the server to the super account for the server by using the sudo command. Based on the system, a general account is switched to a super account by permitting a user having access to use a sudo (superuser do) command (or sudo command), thus improving issues such as compulsory password use and its exposure, nonpermitted access due to exposure, the access management of a root account and the like.

Description

슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템 { A rights converting system for user accounts using rights of the super account }A rights converting system for user accounts using rights of the super account}

본 발명은 사용자 단말과 서버 사이에 게이트웨이를 구비하여 중계하되, 게이트웨이에서 각 사용자 계정에 대한 슈퍼 계정의 권한을 관리하고, 슈퍼 계정의 권한 유무에 따라 일반 사용자 계정에서 슈퍼 계정으로 전환하도록 지원하는, 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템에 관한 것이다.The present invention provides a gateway between the user terminal and the server for relaying, but manages the authority of the super account for each user account at the gateway, and supports switching from a general user account to a super account depending on whether or not the super account has authority, The present invention relates to a system for changing the authority of a user account based on the presence or absence of access authority.

특히, 본 발명은 슈퍼유저로서의 구동 명령어(sudo 명령어 또는 슈두 명령어)의 사용 권한을 등록하는 슈두어 파일(/etc/sudoers 파일 또는 sudoers 파일)에, 슈퍼 계정 권한을 가진 사용자 계정을 등록하여, 서버의 사용자 계정 상에서 슈두 명령어를 이용하여 다른 계정 또는 슈퍼 계정으로 전환하도록 지원하는, 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템에 관한 것이다.Particularly, the present invention registers a user account having super account authority in a sudu file (/ etc / sudoers file or sudoers file) that registers the usage rights of a driving command (sudo command or sudu command) as a super user, and a server It relates to a user account permission switching system based on the presence or absence of access rights of the super account, which supports switching to another account or a super account by using the Shudu command on the user account.

일반적으로, 유닉스 또는 리눅스 등의 유닉스 기반의 운영체제는 다중 사용자 운영체제이므로 여러 사람이 동시에 컴퓨터 자원을 이용하는 것이 가능하다. 즉, 리눅스와 유닉스와 같은 CLI(Command Line Interface) 기반의 다중 사용자(Multi User) 운영체제에서는 여러 명의 사용자(Client)들이 동시에 같은 하나의 운영체제에 접근해서 사용할 수 있다.In general, a Unix-based operating system such as Unix or Linux is a multi-user operating system, and thus it is possible for multiple people to simultaneously use computer resources. That is, in a CLI (Command Line Interface) -based multi-user operating system such as Linux and Unix, multiple users (Client) can access and use the same operating system at the same time.

이러한 다중 사용자 환경에서 운영체제의 계정은 시스템 계정과 일반 사용자 계정으로 구분되며, 계정이란 컴퓨터 자원에 접근할 수 있는 객체에 대한 정보를 의미한다. 일반 사용자 계정은 자신이 소유한 파일 또는 디렉토리를 설정된 권한에 한하여 작업을 할 수 있는 계정이며, 시스템 관리자는 시스템에서 작업할 수 있는 모든 작업을 할 수 있는 계정을 의미한다.In this multi-user environment, the account of the operating system is divided into a system account and a general user account, and the account means information about objects that can access computer resources. A general user account is an account that allows users to operate files or directories owned only with the set privileges, and a system administrator means an account that can perform all tasks that can be performed on the system.

한편, 다중 사용자 환경에서는 일반 사용자의 무분별한 시스템 접근을 방지하도록 하기 위해 일반 사용자의 프로세스와 시스템 관리 프로세스를 구분하며, 이러한 구분을 통해 시스템에 대한 막강한 접근 및 관리 권한인 루트(root) 영역을 사용할 수 있는 권한을 가지는 슈퍼 유저 계정(또는 슈퍼 계정)이 별도로 존재한다. 이와 같이 루트(root) 영역을 사용할 수 있는 권한을 얻게 되는 작업을 루팅(rooting)이라고 한다.On the other hand, in a multi-user environment, the process of the general user and the system management process are separated to prevent indiscriminate system access by the general user, and through this division, the root area, which is a powerful access and management authority to the system, can be used. There is a separate super user account (or super account) with privileges. The task of getting permission to use the root area like this is called rooting.

특히, 다중 사용자 운영체제 환경에서는 각각의 사용자들은 사용자 본인의 소유 계정을 의미하는 개인 계정(일반 계정) 통해 운영체제에 접속하여 일반적인 작업을 하며, 작업을 진행하던 도중 특정 명령어를 실행하거나 파일에 접근하기 위해서, 권한의 문제로 슈퍼 계정인 루트(root) 권한이 필요한 경우가 발생한다. 유닉스 기반의 운영체제에서, 슈퍼 계정은 'root'라는 계정으로 사용된다.In particular, in a multi-user operating system environment, each user accesses the operating system through a personal account (general account), which means the user's own account, to perform general operations, and execute specific commands or access files during the operation. In some cases, a super account, root, is required due to the problem of authority. On Unix-based operating systems, the super account is used as the 'root' account.

이때 루트(root) 권한을 획득하기 위하여 su(switch user) 명령어(또는 사용자 전환 명령어)를 통해, 일반 계정에서 시스템 관리자로 계정을 전환하여 시스템에 대한 모든 권한을 획득하여 사용할 수 있게 됩니다. 즉, 기존 일반 사용자 계정에서 'su-root'라는 명령어가 입력되면, 슈퍼 계정으로 전환하고 슈퍼 유저의 권한으로 루트(root) 영역을 사용하고자 한다는 명령으로 인식되게 된다.At this time, to obtain the root (root) authority, the user can change the account from the regular account to the system administrator through the su (switch user) command (or switch user command) to obtain and use all rights to the system. That is, when the command 'su-root' is input from the existing general user account, it is recognized as a command to switch to the super account and use the root area as the super user's authority.

그러나 슈퍼 유저 계정으로의 무분별한 전환은, 다중 사용자 환경에서 불필요한 시스템 접근을 허용하여 시스템 보안 측면에서 취약하다는 문제를 가지고 있다.However, the indiscriminate transition to a super user account has a problem in that it is vulnerable in terms of system security by allowing unnecessary system access in a multi-user environment.

이를 해결하기 위해 슈퍼 유저 계정으로 전환시에는 패스워드에 대한 입력이 필수적으로 요구되고 있다. 즉, 다중 사용자 환경에서 슈퍼 유저 계정을 획득하기 위해 패스워드를 입력하는 과정에서 의도치 않게 다른 사용자에게 패스워드를 노출시킬 수 있게 된다는 문제가 있으며, 슈퍼 유저 계정으로 전환하기 위한 패스워드를 잊어버려 슈퍼 유저 계정으로의 전환이 신속히 이루어질 수 없다는 문제가 있다. 이러한 패스워드 노출 문제를 해결하고자 하는 기술이 제시되고 있다[특허문헌 1,2].In order to solve this, it is essential to enter a password when switching to a super user account. That is, in the process of entering a password to obtain a super user account in a multi-user environment, there is a problem in that it is possible to unintentionally expose the password to another user, and the super user account is forgotten to switch to the super user account There is a problem that the transition to the market cannot be made quickly. A technique for solving the password exposure problem has been proposed [Patent Documents 1,2].

패스워드 노출 문제 외에도, 불필요한 계정 제거, 루트(root) 그룹 관리, 권한별 su 명령 사용제한 등과 같은 서버 보안 가이드 또는 서버 보안 점검 및 조치 사항으로 권장되고 있으나, 여전히 개선되지 않으며 취약점으로 지적을 받고 있다.In addition to the password exposure problem, it is recommended as a server security guide or server security check and remedy such as unnecessary account removal, root group management, and use of su command by authority, but it is still not improved and pointed out as a vulnerability.

위에 기술한 내용을 기반으로 개선이 필요한 문제점은 다음과 같다.The problems that need improvement based on the above are as follows.

첫째, 슈퍼 계정인 루트(root) 계정의 패스워드를 기억하여 계정을 사용해야 한다. 또한, 둘째, 패스워드 입력을 통해 슈퍼 계정 권한을 획득하므로 패스워드 노출을 통해 물리적인 해킹이 발생할 수 있다. 셋째, 슈퍼 계정인 루트(root) 계정 사용에 대한 권한 관리가 되지 않는다. 마지막으로, 접속 권한이 없더라도 루트(root) 계정의 패스워드만 알면 접속될 수 있다.First, remember to use the super account root account password to use the account. In addition, second, since super account authority is obtained through password input, physical hacking may occur through password exposure. Third, authority management for the use of the root account, the super account, is not performed. Lastly, even if you don't have access, you can connect only by knowing the password of the root account.

한국등록특허 제10-1259472호(2013.05.06.공고)Korean Registered Patent No. 10-1259472 (2013.05.06.announcement) 한국등록특허 제10-1195292호(2012.10.26.공고)Korean Registered Patent No. 10-1195292 (announced on October 26, 2012)

본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 사용자 단말과 서버 사이에 게이트웨이를 구비하여 중계하되, 게이트웨이에서 각 사용자 계정에 대한 슈퍼 계정의 권한을 관리하고, 슈퍼 계정의 권한 유무에 따라 일반 사용자 계정에서 슈퍼 계정으로 전환하도록 지원하는, 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템을 제공하는 것이다.The object of the present invention is to solve the problems as described above, and relays by providing a gateway between the user terminal and the server, but manages the authority of the super account for each user account at the gateway, and the presence or absence of the authority of the super account. Accordingly, it is to provide a permission switching system for a user account based on the presence or absence of access rights of a super account, which supports switching from a normal user account to a super account.

즉, 본 발명의 목적은 슈퍼유저로서의 구동 명령어(sudo 명령어 또는 슈두 명령어)의 사용 권한을 등록하는 슈두어 파일(/etc/sudoers 파일 또는 sudoers 파일)에, 슈퍼 계정 권한을 가진 사용자 계정을 등록하여, 서버의 사용자 계정 상에서 슈두 명령어를 이용하여 다른 계정 또는 슈퍼 계정으로 전환하도록 지원하는, 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템을 제공하는 것이다.That is, an object of the present invention is to register a user account having super account authority in a sudu file (/ etc / sudoers file or sudoers file) that registers the usage rights of a driving command (sudo command or sudu command) as a super user. , To provide a system for switching authority of a user account based on the presence or absence of access authority of a super account, which supports switching to another account or a super account by using the Shudu command on the user account of the server.

상기 목적을 달성하기 위해 본 발명은 적어도 하나의 사용자 단말과 적어도 1개의 서버 사이에 설치되어, 상기 사용자 단말과 상기 서버 사이를 중계하는, 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템에 관한 것으로서, 상기 서버에 대한 사용자 계정의 계정 권한 정보를 저장하되, 상기 계정 권한 정보로서, 해당 사용자 계정이 상기 서버의 슈퍼 계정 권한의 유무에 대한 정보를 저장하는 슈퍼권한 관리부; 상기 사용자 단말과 서버 사이에서 메시지를 중계하는 통신 중계부; 및, 상기 계정 권한 정보에 따라, 슈퍼 계정 권한을 가진 사용자 계정에 대하여, 해당 서버의 슈두어 파일에 해당 사용자 계정을 추가하는 슈두어파일 갱신부를 포함하되, 상기 슈두어 파일은 슈퍼 계정으로서의 구동 명령어(이하 슈두 명령어)의 사용 권한을 등록하는 파일이고, 상기 사용자 단말이 상기 서버에 접속한 사용자 계정에서, 슈두 명령어를 이용하여 해당 서버의 슈퍼 계정으로 전환하는 것을 특징으로 한다.In order to achieve the above object, the present invention is installed between at least one user terminal and at least one server, and relays between the user terminal and the server. As it is, to store the account authority information of the user account for the server, the account authority information, the super authority management unit for storing information about the presence or absence of super account authority of the user account, the user account; A communication relay unit relaying a message between the user terminal and the server; And, according to the account permission information, for a user account with super account authority, includes a Sure file update unit that adds a corresponding user account to the server's Sure file, wherein the Sure file is a driving command as a super account. It is a file that registers the usage rights of (hereinafter, Shudu command), and is characterized in that the user terminal switches to a super account of the corresponding server by using the Shudu command in the user account connected to the server.

또, 본 발명은 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템에 있어서, 상기 계정 권한 정보는 슈퍼 계정 권한을 가지는 사용자 계정만 등록하여 관리하고,In addition, the present invention, in the permission switching system of the user account based on the presence or absence of access rights of the super account, the account permission information is registered and managed only by a user account having super account rights,

상기 슈두어파일 갱신부는 상기 계정 권한 정보에 사용자 계정이 등록되면 상기 슈두어 파일에 상기 사용자 계정을 추가하고, 상기 계정 권한 정보에 사용자 계정이 취소되면 상기 슈두어 파일에 상기 사용자 계정을 삭제하는 것을 특징으로 한다.The Sure file update unit adds the user account to the Sure file when a user account is registered in the account authority information, and deletes the user account to the Sure file when the user account is canceled to the account authority information. It is characterized by.

또, 본 발명은 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템에 있어서, 상기 슈두어파일 갱신부는 상기 서버의 슈퍼 계정의 비밀번호를 저장하고, 저장된 비밀번호로 상기 서버에 접속하여 상기 슈두어 파일을 갱신하는 것을 특징으로 한다.In addition, in the present invention, in the permission switching system of the user account based on the presence or absence of access rights of the super account, the Sure file update unit stores the password of the super account of the server and accesses the server with the stored password to access the Sure file. It is characterized by updating.

또, 본 발명은 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템에 있어서, 상기 슈두어파일 갱신부는 슈두(sudo) 명령어를 실행할 때 사용자 계정의 비밀번호를 생략하도록 옵션을 설정하고, 슈두 명령어로 실행시킬 수 있는 명령어에 유저전환(su) 명령어를 포함시키도록 옵션을 설정하는 것을 특징으로 한다.In addition, in the present invention, in the permission switching system of the user account based on the presence or absence of access rights of the super account, the Sure file update unit sets an option to omit the password of the user account when executing the sudo command, and the Sdu command It is characterized by setting an option to include a user switching (su) command in a command that can be executed.

또, 본 발명은 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템에 있어서, 슈퍼 계정으로 전환하기 위하여, 상기 사용자 단말에 의하여 "sudo su -root" 명령이 입력되는 것을 특징으로 한다.In addition, the present invention is characterized in that the "sudo su -root" command is input by the user terminal in order to switch to the super account in the authority switching system of the user account based on the presence or absence of access authority of the super account.

또, 본 발명은 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템에 있어서, 상기 서버는 유닉스, 리눅스 운영체제를 포함하는 유닉스 기반의 운영체제에서 운영되고, CLI(Command-Line Interface) 방식의 접속 프로토콜로 원격 접속 서비스를 제공하는 것을 특징으로 한다.In addition, the present invention, in the permission switching system of the user account based on the presence or absence of access rights of the super account, the server is operated in a Unix-based operating system including a Unix, Linux operating system, and a command-line interface (CLI) access protocol. It provides a remote access service.

상술한 바와 같이, 본 발명에 따른 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템에 의하면, 권한이 있는 사용자에게 sudo(superuser do) 명령어(또는 슈두 명령어)를 허용하여 일반 계정에서 슈퍼 계정으로 전환함으로써, 패스워드의 필수 사용과 그 노출, 노출에 의한 무권한 접속, 루트 계정의 권한 관리 등의 문제점을 개선할 수 있고, 이를 통해, 보안성을 높인 인프라 환경을 제공할 수 있는 효과가 얻어진다.As described above, according to the authority switching system of the user account based on the presence or absence of access rights of the super account according to the present invention, a sudo (superuser do) command (or Shudu command) is allowed to an authorized user from a general account to a super account. By switching, it is possible to improve problems such as the essential use of the password and its exposure, unauthorized access by exposure, and authority management of the root account, and through this, the effect of providing an infrastructure environment with increased security is obtained. .

도 1은 본 발명을 실시하기 위한 전체 시스템에 대한 구성도.
도 2는 본 발명의 일실시예에 따른 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템의 구성에 대한 블록도.
도 3은 본 발명의 일실시예에 따른 계정 권한 정보에 대한 예시도.
도 4는 본 발명의 일실시예에 따른 사용자 계정 전환에 대한 예시도.
도 5, 도 6, 도 7, 및, 도 9는 본 발명의 일실시예에 따른 슈두어 파일에 대한 예시도.
도 8 및 도 10은 본 발명의 일실시예에 따른 사용자 계정 전환을 위한 사용자의 명령어 입력 및 그 결과 화면에 대한 예시도.
1 is a configuration diagram of an entire system for carrying out the present invention.
Figure 2 is a block diagram of the configuration of the authority switching system of the user account based on the presence or absence of access rights of the super account according to an embodiment of the present invention.
3 is an exemplary view of account authority information according to an embodiment of the present invention.
4 is an exemplary diagram for switching user accounts according to an embodiment of the present invention.
5, 6, 7, and 9 are exemplary views of a Sure file according to an embodiment of the present invention.
8 and 10 are exemplary diagrams of a user's command input and result screen for switching a user account 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 the description of the present invention, the same parts are denoted by the same reference numerals, and repeated explanation is omitted.

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

도 1에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 사용자 단말(10), 적어도 하나의 서버(40), 및, 서버(40)의 접근을 통제하는 접근통제 게이트웨이(30)로 구성된다. 또한, 사용자 단말(10)과 접근통제 게이트웨이(30)는 네트워크(미도시)를 통해 연결된다. 또한, 관리자가 사용하는 관리자 단말(20), 또는, 데이터를 저장하기 위한 데이터베이스(80)를 더 포함하여 구성될 수 있다.As shown in FIG. 1, the entire system for implementing the present invention is composed of a user terminal 10, at least one server 40, and an access control gateway 30 that controls access to the server 40. . In addition, the user terminal 10 and the access control gateway 30 are connected through a network (not shown). In addition, it may be configured to further include a manager terminal 20 used by the administrator, or a database 80 for storing data.

먼저, 사용자 단말(10)은 사용자가 사용하는 컴퓨팅 단말로서, PC, 노트북, 태플릿PC, 스마트폰, 패블릿 등이다. 또한, 사용자 단말(10)은 네트워크(미도시)를 통해 서버(40) 또는 접근통제 게이트웨이(30)에 연결할 수 있는 네트워크 기능을 보유한다. 또한, 사용자 단말(10)은 접근통제 클라이언트(11) 또는 통신 어플리케이션(12) 등 프로그램 시스템이 설치되어 실행될 수 있다.First, the user terminal 10 is a computing terminal used by a user, and is a PC, laptop, tablet PC, smartphone, phablet, and the like. In addition, the user terminal 10 has a network function that can connect to the server 40 or the access control gateway 30 through a network (not shown). Further, the user terminal 10 may be installed and executed a program system such as an access control client 11 or a communication application 12.

또한, 사용자 단말(10)에는 통신 어플리케이션(12)이 설치되어, 통신 어플리케이션(12)을 통해 서버(40)에 접속하여 통신 작업이 수행될 수 있다. 통신 어플리케이션(12)은 사용자가 서버(40)에 원격 접근하기 위한 다양한 터미널 툴로서, 통신 프로토콜을 통해 서버(40)에 접속하고 통신을 수행한다. 바람직하게는, 통신 어플리케이션(12)은 서버(40)에 접속하기 위한 텔넷(TELNET) 또는 SSH(secure shell) 등 원격접속 프로토콜에 의한 통신 프로그램, 쉘 스크립트, 통신 어플리케이션 등 통신용 프로그램 시스템이다.In addition, a communication application 12 is installed in the user terminal 10, and a communication operation can be performed by accessing the server 40 through the communication application 12. The communication application 12 is a variety of terminal tools for a user to remotely access the server 40, and accesses the server 40 through a communication protocol and performs communication. Preferably, the communication application 12 is a communication program using a remote access protocol such as Telnet (TELNET) or Secure Shell (SSH) for accessing the server 40, a program system for communication such as a shell script, a communication application, and the like.

특히, 통신 어플리케이션(12)은 리눅스(Linux), 유닉스(Unix) 등 유닉스 기반의 서버에 CLI(Command-Line Interface, 명령줄 인터페이스) 방식의 원격접속 프로토콜(TELNET, SSH)을 이용하여 원격 접근한다. 즉, 사용자는 통신 어플리케이션(12)을 통하여 서버(40)의 서비스를 이용하고, 이를 위해, 쉘(shell) 상에서 일련의 문자, 즉, 명령어 스트링(또는 문자열)을 입력하고, 엔터(enter)를 입력함으로써, 입력된 명령어 또는 문자열을 수행하도록 서버(40)에 전달한다. 또한, 사용자 단말(10)에 설치된 쉘(shell)은 서버(40)로부터 입력된 명령의 결과를 수신하여, 텍스트 형태 또는 문자열(string) 형태로 화면에 그 결과를 표시한다.In particular, the communication application 12 remotely accesses a Unix-based server such as Linux and Unix using CLI (Command-Line Interface) remote access protocol (TELNET, SSH). . That is, the user uses the service of the server 40 through the communication application 12, and for this purpose, enters a series of characters on the shell, that is, a command string (or string), and presses enter. By input, it is transmitted to the server 40 to perform the input command or character string. In addition, the shell installed in the user terminal 10 receives the result of the command input from the server 40, and displays the result on the screen in the form of text or string.

한편, 통신 어플리케이션(12)은 서버(40)에 접속하여 통신을 수행하나, 실제로 접근통제 게이트웨이(30)를 통해 우회적으로 서버(40)에 접속한다. 즉, 통신 어플리케이션(12)은 자신의 입장에서 서버(40)와 직접적으로 통신하는 것으로 작동한다. 예를 들어, 통신 어플리케이션(12)은 서버 정보와 프로토콜 정보(IP주소 및 포트)로 세션을 설정하고 서버(40)에 접근하나, 통신 어플리케이션(12)의 통신 패킷 등이 변조되어 접근통제 게이트웨이(30)로 우회된다.On the other hand, the communication application 12 connects to the server 40 to perform communication, but actually accesses the server 40 via the access control gateway 30. That is, the communication application 12 works by directly communicating with the server 40 from its standpoint. For example, the communication application 12 establishes a session with server information and protocol information (IP address and port) and accesses the server 40, but the communication packet of the communication application 12 is modulated and the access control gateway ( 30).

사용자 단말(10)이 서버(40)에 접근한다는 것은 실제로, 사용자 단말(10)에 설치되는 통신 어플리케이션(12)을 통해 서버(40)에 접근하는 것이다. 그러나 이하에서 설명의 편의를 위하여, 사용자 단말(10) 또는 통신 어플리케이션(12)이 서버(40)에 접근하는 것으로 설명한다.The fact that the user terminal 10 accesses the server 40 is actually accessing the server 40 through the communication application 12 installed in the user terminal 10. However, for convenience of description, it will be described below that the user terminal 10 or the communication application 12 accesses the server 40.

또한, 사용자 단말(10)에는 접근통제 게이트웨이(30)와의 우회를 위한 전용 어플리케이션, 즉, 접근통제 클라이언트(11)이 설치되어, 통신 어플리케이션(12)이 서버(40)에 접근할 때 서버(40)와 송수신하는 패킷이 접근통제 게이트웨이(30)로 우회시키게 된다.In addition, a dedicated application for bypassing the access control gateway 30 is installed in the user terminal 10, that is, the access control client 11 is installed, and when the communication application 12 accesses the server 40, the server 40 ) And the packets transmitted and received are bypassed to the access control gateway 30.

또한, 접근통제 클라이언트(11)는 접근통제 게이트웨이(30)에 대한 접근을 위한 인증을 수행하거나, 사용자가 접근할 수 있는 서버(40)에 대한 정보, 즉, 서버 정보와 프로토콜 정보(IP주소, 프로토콜 포트번호) 등 접속가능 서버 정보를 전달받을 수 있다.In addition, the access control client 11 performs authentication for access to the access control gateway 30, or information about the server 40 that the user can access, that is, server information and protocol information (IP address, Protocol port number), and connectable server information.

한편, 사용자 단말(10)은 통신 어플리케이션(12)의 패킷을 최초로 접근통제 게이트웨이(30)에 우회시킬 때, 목적지의 IP 주소 및 포트번호 등 서버(40)의 접근 정보를 접근통제 게이트웨이(30)에 전달한다.On the other hand, when the user terminal 10 bypasses the packet of the communication application 12 to the access control gateway 30 for the first time, the access control gateway 30 access information of the server 40 such as the IP address and port number of the destination. To pass on.

또한, 접근통제 클라이언트(11)는 접근통제 게이트웨이(30)에 접근하여 슈퍼 계정의 권한 등록을 요청하거나 승인받을 수 있다. 즉, 각 사용자는 접근통제 클라이언트(11)를 통해, 접근통제 게이트웨이(30)에 접근하여, 자신의 사용자 계정이 서버의 슈퍼 계정의 권한을 갖는다는 것을 등록하도록 요청할 수 있다. 접근통제 게이트웨이(30)는 접근통제 클라이언트(11)의 요청에 따라 사용자 계정을 확인하여, 해당 사용자 계정의 슈퍼 계정 권한을 등록할 수 있다. 이때, 접근통제 클라이언트(11)의 승인 하에 슈퍼 계정 권한을 등록하게 할 수 있다.In addition, the access control client 11 may access the access control gateway 30 to request or receive permission registration of a super account. That is, each user may access the access control gateway 30 through the access control client 11 and request to register that his user account has the authority of the server's super account. The access control gateway 30 may check the user account at the request of the access control client 11 and register super account privileges of the corresponding user account. At this time, the super account authority may be registered under the approval of the access control client 11.

한편, 다른 실시예로서, 접근통제 게이트웨이(30)는 접근통제 클라이언트(11)를 통한 사용자의 요청에 의하지 않고, 관리자 단말(20)을 통해 관리자에 의해 사용자 계정의 슈퍼 계정 권한을 등록하여 관리할 수 있다.Meanwhile, as another embodiment, the access control gateway 30 registers and manages the super account authority of the user account by the administrator through the administrator terminal 20, not at the request of the user through the access control client 11 Can be.

다음으로, 관리자 단말(20)은 관리자가 사용하는 컴퓨팅 단말로서, PC, 노트북, 태플릿PC, 스마트폰 등이다. 또한, 관리자 단말(20)은 네트워크(미도시)를 통해 접근통제 게이트웨이(30)에 연결한다. 또한, 바람직하게는, 관리자 단말(20)은 사용자 단말(10)과 직접 통신을 수행하거나, 접근통제 게이트웨이(30)를 통해 통신을 수행할 수 있다.Next, the administrator terminal 20 is a computing terminal used by the administrator, and is a PC, a laptop, a tablet PC, a smartphone, and the like. In addition, the manager terminal 20 connects to the access control gateway 30 through a network (not shown). In addition, preferably, the administrator terminal 20 may perform direct communication with the user terminal 10 or may perform communication through the access control gateway 30.

바람직하게는, 관리자 단말(20)은 사용자 계정의 슈퍼 계정 권한 등록에 대한 승인 요청에 대하여, 승인 또는 불승인을 결정하여 회신한다. 즉, 관리자 단말(20)은 특정 서버(40)의 특정 사용자 계정의 슈퍼 계정 등록에 대한 승인 요청을 접근통제 게이트웨이(30)로부터 수신하고, 이에 대한 승인 또는 불승인을 게이트웨이(30)로 전송한다.Preferably, the administrator terminal 20 responds to the approval request for the super account permission registration of the user account by determining approval or disapproval. That is, the administrator terminal 20 receives an approval request for super account registration of a specific user account of the specific server 40 from the access control gateway 30, and transmits approval or disapproval thereof to the gateway 30.

또한, 다른 실시예로서, 관리자 단말(20)은 각 사용자 계정의 각 서버에 대한 슈퍼 계정 권한 정보를 직접 접근통제 게이트웨이(30)에 등록할 수 있다.In addition, as another embodiment, the administrator terminal 20 may register super account authority information for each server of each user account in the direct access control gateway 30.

다음으로, 서버(40)는 적어도 1개가 설치된다. 즉, 서버(40)는 다수 개가 설치될 수 있다.Next, at least one server 40 is installed. That is, a plurality of servers 40 may be installed.

바람직하게는, 서버(40)는 유닉스 또는 리눅스 등의 유닉스 기반의 운영체제로 운영된다.Preferably, the server 40 is operated with a Unix-based operating system such as Unix or Linux.

각 서버(40)는 사용자 단말(10)로부터 네트워크(미도시)를 통해 접속 요청을 받고, 요청에 따라 접속을 허용하여 통신을 수행시켜준다. 이때, 바람직하게는, 서버(40)는 통신 프로토콜을 통해 사용자 단말(10)과 통신을 수행한다. 특히, 텔넷(TELNET) 또는 SSH(secure shell) 등 원격접속 프로토콜을 통해 통신을 수행한다. 또한, CLI(Command-Line Interface, 명령줄 인터페이스) 방식의 원격접속 프로토콜을 통해 통신을 수행한다.Each server 40 receives a connection request from the user terminal 10 through a network (not shown), and permits connection according to the request to perform communication. At this time, preferably, the server 40 communicates with the user terminal 10 through a communication protocol. In particular, communication is performed through a remote access protocol such as Telnet (TELNET) or Secure Shell (SSH). In addition, communication is performed through a CLI (Command-Line Interface) type remote access protocol.

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

한편, 위에서 설명된 서버(40)와 사용자 단말(10)과의 통신은 직접 연결되어 처리되지 않고, 접근통제 게이트웨이(30)를 통해 연결된다. 즉, 사용자 단말(10)의 요청 메시지는 접근통제 게이트웨이(30)를 통해 서버(40)로 전달되고, 또한, 서버(40)의 응답 메시지도 접근통제 게이트웨이(30)를 통해 사용자 단말(10)에 전달된다.Meanwhile, the communication between the server 40 and the user terminal 10 described above is not directly connected and processed, but is connected through the access control gateway 30. That is, the request message of the user terminal 10 is transmitted to the server 40 through the access control gateway 30, and the response message of the server 40 is also transmitted through the access control gateway 30 to the user terminal 10 Is passed on.

한편, 바람직하게는, 서버(40)는 방화벽(firewall)이 설치되고, 접근통제 게이트(30)로부터 수신되는 데이터(또는 데이터 패킷)만을 통과시키도록, 통제 정책을 설정할 수 있다. 따라서 사용자 단말(10)은 직접 서버(50)에 접근할 수 없고 반드시 접근통제 게이트웨이(30)를 통해서만 서버(40)에 접근할 수 있다. 만약 게이트웨이(30)로 패킷 경로를 변경하지 않고 패킷 그대로 서버(40)로 전송되면, 접근통제 구축 조건인 게이트웨이 이외의 서버 접근 경로는 모두 차단하는 방화벽 정책에 의하여 차단되어 접근을 할 수 없다.Meanwhile, preferably, the server 40 may set a control policy such 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 cannot directly access the server 50 and can only access the server 40 through the access control gateway 30. If the packet path is transmitted to the server 40 without changing the packet path to the gateway 30, the server access paths other than the gateway, which is the condition for establishing access control, are blocked by the firewall policy blocking all access.

한편, 서버(40)는 사용자의 서버 접속에 대하여, 서비스 계정과 비밀번호를 이용하여 인증(또는 사용자 인증, 서비스 인증)을 수행하고, 사용자 인증이 통과된 경우에만 서버 접속을 허용하고, 서버의 서비스를 제공한다. 서비스 계정은 아이디(또는 서비스 아이디, 접속 아이디, 사용자 아이디)로 식별한다. 또한, 해당 서비스 계정은 패스워드(password)에 의해 인증된다. 이하에서, 서버(40)의 서비스 계정에 대한 패스워드를 계정 비밀번호라 부르기로 한다.On the other hand, the server 40 performs authentication (or user authentication, service authentication) using the service account and password for the user's server access, and permits server access only when the user authentication has passed, and the service of the server Provides The service account is identified by an ID (or service ID, access ID, and user ID). In addition, the corresponding service account is authenticated by a password. Hereinafter, the password for the service account of the server 40 will be referred to as an account password.

또한, 서비스 계정은 루트 계정과, 사용자 계정(또는 일반 사용자 계정)으로 구분된다. 루트 계정은 슈퍼 계정으로서, 모든 시스템 자원을 제한 없이 접근할 수 있는 권한을 가진 계정이다. 사용자 계정은 각 사용자에게 부여된 서비스 계정으로 일반 사용자 계정을 의미한다. 즉, 사용자 계정은 수펴 계정에 비하여 상대적으로 제한된 권한을 가진다.In addition, the service account is divided into a root account and a user account (or general user account). The root account is a super account that has the authority to access all system resources without restriction. The user account is a service account assigned to each user, which means a general user account. That is, the user account has relatively limited authority compared to the opened account.

또한, 서버(40)는 루트 계정 또는 사용자 계정으로 접속 요청을 받는다. 특히, 서버(40)는 접근통제 게이트웨이(30)로부터 직접 루트 계정의 접속 요청을 받아 접근을 처리하거나, 우회된 사용자 단말(10)로부터 사용자 계정(서비스 계정)의 접속 요청을 받는다.In addition, the server 40 receives a connection request with a root account or a user account. In particular, the server 40 receives an access request of the root account directly from the access control gateway 30 or processes access, or receives a request for access of a user account (service account) from the bypassed user terminal 10.

다음으로, 접근통제 게이트웨이(30)는 사용자 단말(10)과 서버(40) 사이의 네트워크(미도시) 상에 설치되는 게이트웨이로서, 사용자 단말(10)과 서버(40) 사이를 모니터링하여 중계한다.Next, the access control gateway 30 is a gateway installed on a network (not shown) between the user terminal 10 and the server 40, and monitors and relays between the user terminal 10 and the server 40. .

즉, 접근통제 게이트웨이(30)는 사용자 단말(10)이 접근통제 클라이언트(11)를 통해 우회되어 접속되면, 사용자 단말(10)과 서버(40) 사이에서 메시지(또는 데이터 패킷)를 중계한다. 이때, 서버(40)와의 사이에서 세션(이하 서버용 세션)을 형성하고, 사용자 단말(10)과의 사이에서 세션(이하 클라이언트용 세션)을 형성한다. 그리고 접근통제 게이트웨이(30)는 형성된 세션(클라이언트용 세션 및 서버용 세션)을 통해, 사용자 단말(10)의 메시지를 서버(40)에 중계한다. 즉, 사용자 단말(10)로부터 수신되는 메시지(또는 데이터 패킷)를 수신하여 서버(40)에 전달하고, 서버(40)로부터 결과(또는 결과 메시지, 데이터 패킷)를 수신하여 사용자 단말(10)로 전달한다. 이하에서, 메시지는 패킷 또는 IP 패킷으로 전달되므로, 메시지와 패킷을 혼용한다.That is, the access control gateway 30 relays a message (or data packet) between the user terminal 10 and the server 40 when the user terminal 10 is bypassed and connected through the access control client 11. At this time, a session (hereinafter referred to as a server session) is established between the server 40 and a session (hereinafter referred to as a client session) between the user terminal 10. Then, the access control gateway 30 relays the message of the user terminal 10 to the server 40 through the established sessions (client session and server session). That is, the message (or data packet) received from the user terminal 10 is received and transmitted to the server 40, and the result (or result message, data packet) is received from the server 40 to the user terminal 10. To deliver. Hereinafter, since the message is delivered as a packet or an IP packet, the message and the packet are mixed.

이때, 접근통제 게이트웨이(30)는 수신되는 메시지를 분석하고, 해당 메시지에 내포하는 명령어 등의 차단 여부를 결정하거나, 통신 내용을 모니터링하고 저장할 수 있다. 즉, 사전에 정해진 보안 정책 또는 접근통제 정책에 따라, 해당 메시지를 서버(40)에 전송하거나 차단하는 등 모니터링하고, 통신 내용을 로그에 기록하고 저장할 수 있다.At this time, the access control gateway 30 may analyze the received message, determine whether to block commands, etc. contained in the message, or monitor and store the communication content. That is, according to a predetermined security policy or access control policy, the corresponding message may be monitored, such as transmitted or blocked, to the server 40, and communication information may be recorded and stored in a log.

또한, 접근통제 게이트웨이(30)는 사용자 계정에 대한 슈퍼 계정 권한 정보(이하 계정 권한 정보)를 관리한다. 계정 권한 정보는 특정 서버의 특정 사용자 계정에 대한 권한 정보로서, 해당 서버에 대한 슈퍼 계정 권한을 사용할 수 있는 권한을 가지는지 여부에 대한 정보이다.In addition, the access control gateway 30 manages super account authority information (hereinafter account authority information) for the user account. The account authority information is authority information for a specific user account of a specific server, and is information about whether to have authority to use super account authority for the corresponding server.

바람직하게는, 접근통제 게이트웨이(30)는 접근통제 클라이언트(11) 또는 관리자 단말(20)의 요청 또는 입력에 따라 계정 권한 정보를 등록받아 저장한다. 일 실시예로서, 접근통제 클라이언트(11)로부터 슈퍼 권한을 요청받고, 해당 슈퍼 권한 등록에 대한 승인을 관리자 단말(20)에 요청하여 승인 또는 불승인을 받는다. 그리고 관리자 단말(20)의 승인에 따라 계정 권한 정보를 생성하여 등록한다(저장한다). 다른 실시예로서, 접근통제 게이트웨이(30)는 관리자 단말(20)의 입력에 따라 계정 권한 정보를 수신하여 등록한다(저장한다).Preferably, the access control gateway 30 registers and stores account authority information according to the request or input of the access control client 11 or the administrator terminal 20. As an embodiment, the super authority is requested from the access control client 11 and the approval or disapproval is requested by requesting the administrator terminal 20 to approve the super authority registration. Then, according to the approval of the administrator terminal 20, account authority information is generated and registered (stored). In another embodiment, the access control gateway 30 receives and registers (stores) account authority information according to the input of the administrator terminal 20.

또한, 접근통제 게이트웨이(30)는 등록된 계정 권한 정보에 따라, 해당 서버(40)의 슈두어 파일에 해당 사용자 계정을 등록한다. 이때, 바람직하게는, 해당 서버(40)에 루트 계정으로 접속하여 등록 작업을 수행한다. 이를 위해, 접근통제 게이트웨이(30)는 각 서버의 루트 계정의 비밀번호 등 인증 정보를 저장해둔다.In addition, the access control gateway 30 registers the user account in the Sure file of the server 40 according to the registered account authority information. At this time, preferably, the server 40 is accessed with a root account to perform the registration operation. To this end, the access control gateway 30 stores authentication information such as the password of the root account of each server.

슈두어 파일(또는 슈두 명령 등록 파일)은 유닉스 기반의 운영체제에서 사용되는 /etc/sudoers 파일 또는 sudoers 파일로서, 슈퍼유저로서의 구동 명령어(sudo 명령어 또는 슈두 명령어)의 사용 권한을 등록하는 파일이다. 즉, 슈두어 파일에 사용자 계정이 등록되어 있으면, 해당 사용자 계정에서 슈퍼유저로서의 구동 명령어(sudo 명령어)를 사용할 수 있다.The sudu file (or the sudu command registration file) is a / etc / sudoers file or sudoers file used in a Unix-based operating system, and is a file that registers usage rights of a driving command (sudo command or sudu command) as a super user. That is, if a user account is registered in the Sure file, a driving command (sudo command) as a super user can be used in the user account.

다음으로, 데이터베이스(80)는 사용자 계정에 대한 슈퍼 권한 여부의 정보를 저장하는 계정권한DB(81), 각 서버(40)의 루트 계정의 비밀번호 등 각 서버에 대한 정보를 저장하는 서버정보DB(82) 등으로 이루어진다. 그러나 데이터베이스(80)의 구성은 바람직한 일실시예일 뿐이며, 구체적인 장치를 개발하는데 있어서, 접근 및 검색의 용이성 및 효율성 등을 감안하여 데이터베이스 구축이론에 의하여 다른 구조로 구성될 수 있다.Next, the database 80 is a server information DB that stores information about each server, such as an account authority DB 81 that stores information about whether a user has super privileges, a password of the root account of each server 40, and the like. 82) and the like. 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.

다음으로, 본 발명의 일실시예에 따른 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템(30)의 세부 구성에 대하여 도 2를 참조하여 설명한다.Next, a detailed configuration of the authority switching system 30 of the user account based on the presence or absence of access authority of the super account according to an embodiment of the present invention will be described with reference to FIG. 2.

본 발명에 따른 계정 권한 변환 시스템(30)은 앞서 설명한 접근통제 게이트웨이로 구현될 수 있다. 이하에서 계정 권한 변환 시스템의 도면부호를 접근통제 게이트웨이와 동일한 도면 부호로 사용한다.The account authority conversion system 30 according to the present invention may be implemented as the access control gateway described above. Hereinafter, the reference number of the account authority conversion system is used as the same reference number as the access control gateway.

도 2에서 보는 바와 같이, 본 발명의 일실시예에 따른 접근통제 시스템(30)은 사용자 계정의 슈퍼 권한 정보를 관리하는 슈퍼권한 관리부(31), 사용자 단말(10)과 서버(40) 간의 통신을 중계하는 통신 중계부(32), 및, 슈두어 파일을 갱신하는 슈두어파일 갱신부(33)로 구성된다.As shown in FIG. 2, the access control system 30 according to an embodiment of the present invention communicates between the super authority management unit 31, the user terminal 10 and the server 40, which manages super authority information of a user account. It consists of a communication relay unit 32 for relaying, and a shoe file update unit 33 for updating the shoe file.

먼저, 슈퍼권한 관리부(31)는 사용자 계정에 대한 슈퍼 계정 권한 정보(또는 계정 권한 정보)를 관리한다. 바람직하게는, 슈퍼권한 관리부(31)는 계정 권한 정보를 계정권한DB(81)에 저장한다.First, the super authority management unit 31 manages super account authority information (or account authority information) for the user account. Preferably, the super authority management unit 31 stores account authority information in the account authority DB 81.

계정 권한 정보는 특정 서버의 특정 사용자 계정에 대한 권한 정보로서, 해당 서버에 대한 슈퍼 계정 권한을 사용할 수 있는 권한을 가지는지 여부에 대한 정보이다. 바람직하게는, 계정 권한 정보는 슈퍼 계정 권한을 사용할 수 있는 사용자 계정만 등록하여 관리한다. 따라서, 계정 권한 정보는 서버 정보와, 사용자 계정 정보로 구성된다. 서버 정보는 IP주소(IP정보)와 포트번호(프로토콜 정보)로 구성되고, 사용자 계정 정보는 사용자 아이디로 구성된다.The account authority information is authority information for a specific user account of a specific server, and is information about whether to have authority to use super account authority for the corresponding server. Preferably, account authority information is managed by registering only user accounts that can use super account authority. Therefore, the account authority information is composed of server information and user account information. Server information is composed of IP address (IP information) and port number (protocol information), and user account information is composed of user ID.

도 3에서 보는 바와 같이, 바람직하게는, 계정 권한 정보는 서버 정보와 사용자 계정 정보의 목록으로 관리될 수 있다.As shown in FIG. 3, preferably, account authority information may be managed as a list of server information and user account information.

또한, 슈퍼권한 관리부(31)는 계정 권한 정보를 사전에 등록받아 저장하거나, 사용자 단말(10) 또는 관리자 단말(20)의 요청 또는 입력에 따라 등록받아 저장한다. 일 실시예로서, 사용자 단말(10)로부터 슈퍼 권한 등록을 요청받고, 해당 요청에 대한 승인을 관리자 단말(20)에 요청하여 승인 또는 불승인을 받고, 관리자 단말(20)의 승인에 따라 계정 권한 정보를 생성하여 등록한다. 다른 실시예로서, 접근통제 게이트웨이(30)는 관리자 단말(20)의 입력에 따라 계정 권한 정보를 수신하여 등록한다.In addition, the super authority management unit 31 receives and stores account authority information in advance, or registers and stores it according to the request or input of the user terminal 10 or the administrator terminal 20. As an embodiment, a request for super authority registration from the user terminal 10 is requested, and approval or disapproval is requested by requesting approval of the request to the administrator terminal 20, and account authority information is obtained according to the approval of the administrator terminal 20 Create and register. As another embodiment, the access control gateway 30 receives and registers account authority information according to the input of the administrator terminal 20.

한편, 슈퍼권한 관리부(31)는 사용자 계정의 슈퍼 권한의 부여 또는 취소 요청을 받을 수 있다. 부여 요청을 받으면 계정 권한 정보를 생성하여 추가하고, 취소 요청을 받으면 해당 계정 권한 정보를 삭제한다.Meanwhile, the super authority management unit 31 may receive a request for granting or canceling the super authority of the user account. When receiving a grant request, account authority information is created and added, and upon cancellation request, the account authority information is deleted.

다음으로, 통신 중계부(32)는 사용자 단말(10)과 서버(40) 사이에서 메시지(또는 데이터 패킷)를 중계하거나, 슈두어파일 갱신부(33)와 서버(40) 사이에서도 메시지를 중계할 수 있다.Next, the communication relay unit 32 relays a message (or data packet) between the user terminal 10 and the server 40, or relays a message between the Sure file update unit 33 and the server 40. can do.

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

바람직하게는, 통신 중계부(32)는 사용자 단말(10)과 클라이언트용 세션을 수립하고, 수립된 클라이언트용 세션을 통해 데이터(메시지 등)를 송수신한다. 또한, 통신 중계부(32)는 클라이언트용 세션에 대응되는 서버용 세션을 서버(40)와 형성한다. 즉, 클라이언트용 세션과 서버용 세션은 사용자 단말(10)과 서버(40) 사이를 중계하기 위한 세션들이다.Preferably, the communication relay unit 32 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 32 forms a server session corresponding to the client session with the server 40. That is, the client session and the server session are sessions for relaying between the user terminal 10 and the server 40.

또한, 통신 중계부(32)는 슈두어파일 갱신부(33)와 서버(40) 사이에서도 메시지를 중계한다. 이를 위해, 통신 중계부(32)는 서버(40)와 사이에서 세션을 수립하고, 수립된 세션을 통해 데이터 또는 메시지를 송수신한다. 이때, 수립된 세션을 통해, 서버(40)에 루트 계정에 접속되고, 서버에 위치한 슈도어 파일이 갱신된다.In addition, the communication relay unit 32 relays the message between the Sure file update unit 33 and the server 40. To this end, the communication relay unit 32 establishes a session between the server 40 and transmits and receives data or messages through the established session. At this time, through the established session, the server 40 is connected to the root account, and the pseudo file located on the server is updated.

다음으로, 슈두어파일 갱신부(33)는 등록된 계정 권한 정보에 따라, 해당 서버(40)의 슈두어 파일을 갱신한다.Next, the shoe file update unit 33 updates the shoe file of the server 40 according to the registered account authority information.

먼저, 슈두어파일 갱신부(33)는 통신 중계부(32)를 통해, 서버(40)와 세션을 수립하도록 한다. 수립된 세션을 통해 서버(40)에 접속하여 작업을 수행한다.First, the Sure file update unit 33 establishes a session with the server 40 through the communication relay unit 32. It connects to the server 40 through the established session and performs work.

구체적으로, 슈두어파일 갱신부(33)는 서버(40)에 루트 계정으로 접속하여, 서버(40)에 위치한 슈두어 파일을 갱신한다. 즉, 계정 권한 정보에 등록된 사용자 계정을 슈두어 파일에 추가하거나, 계정 권한 정보에 취소된 사용자 계정을 슈두어 파일에서 삭제한다.Specifically, the shoe file update unit 33 accesses the server 40 with a root account, and updates the shoe file located on the server 40. In other words, the user account registered in the account permission information is added to the file, or the user account canceled in the account permission information is deleted from the file.

한편, 바람직하게는, 슈두어파일 갱신부(33)는 해당 서버(40)의 루트 계정으로 접속하기 위하여, 각 서버의 루트 계정의 비밀번호 등 인증 정보를 저장해둔다. 각 서버의 루트 계정 정보는 사전에 저장해둔다.On the other hand, preferably, the Sure file update unit 33 stores authentication information such as a password of the root account of each server in order to access the root account of the server 40. The root account information of each server is stored in advance.

또한, 슈두어 파일은 유닉스 기반의 운영체제에서 사용되는 /etc/sudoers 파일 또는 sudoers 파일로서, 슈퍼유저로서의 구동 명령어(sudo 명령어 또는 슈두 명령어)의 사용 권한을 등록하는 파일이다. 즉, 슈두어 파일에 사용자 계정이 등록되어 있으면, 해당 사용자 계정에서 슈퍼유저로서의 구동 명령어(sudo 명령어)를 사용할 수 있다.In addition, the sudu file is an / etc / sudoers file or sudoers file used in a Unix-based operating system, and is a file that registers permission to use a driving command (sudo command or sudu command) as a super user. That is, if a user account is registered in the Sure file, a driving command (sudo command) as a super user can be used in the user account.

바람직하게는, 슈두어파일 갱신부(33)는 슈두(sudo) 명령어를 실행할 때 사용자 계정의 비밀번호를 생략하도록 옵션을 설정한다.Preferably, the pseudo file update unit 33 sets an option to omit the password of the user account when executing the sudo command.

또한, 바람직하게는, 슈두어파일 갱신부(33)는 슈두(sudo) 명령어를 실행할 때, 슈두 명령어로 실행시킬 수 있는 명령어에 유저전환(su) 명령어를 포함시키도록 옵션을 설정한다.Also, preferably, when the pseudo file update unit 33 executes a sudo command, an option is set to include a user switching (su) command in a command that can be executed by the sudu command.

다음으로, 본 발명에서 사용되는 유저전환(su, switch user) 명령어, 슈두(sudo) 명령어, 슈두어 파일에 대하여 보다 구체적으로 설명한다. 앞서 명령어들은 모두 유닉스 기반의 운영체제에서 사용되는 명령어들이다.Next, a switch user (su) command, a sudo command, and a sudo file used in the present invention will be described in more detail. All of the above commands are used in Unix-based operating systems.

먼저, 유저전환(su) 명령어는 현재 사용자 계정에서 다른 사용자 계정(또는 전환대상 사용자 계정)으로 전환하는 명령어이다. 도 4의 예에서, 현재 사용자 계정 userA에서 su 명령어를 이용하여 사용자 계정 userB로 전환할 수 있다.First, the user switch (su) command is a command to switch from the current user account to another user account (or a user account to be switched). In the example of FIG. 4, the current user account userA can be switched to the user account userB by using the su command.

su 명령어는 다음과 같은 형식으로 입력된다.The su command is entered in the following format.

su -[사용자 계정]su-[user account]

이때, su 명령어를 입력하여 실행하면, 전환대상 사용자 계정의 패스워드를 요구받는다. 따라서 추가적으로 전환대상 사용자 계정의 패스워드를 입력해야만, 해당 사용자 계정으로 전환할 수 있다.At this time, when the su command is entered and executed, the password of the user account to be switched is requested. Therefore, it is necessary to additionally enter the password of the user account to be converted to switch to the user account.

예를 들어, 앞서 도 4의 예에서, 계정 userA 상태에서, "su - userB"를 입력하고, 비밀번호 입력이 요구되면 사용자 계정 userB의 비밀번호를 입력한다. 그러면, 사용자 계정 userB로 전환된다. 참고로, 사용자 계정 userB 상태에서 로그아웃을 하면, 다시 사용자 계정 userA 로 되돌아 온다.For example, in the example of FIG. 4 above, in the account userA state, "su-userB" is input, and if a password input is requested, the password of the user account userB is input. This switches to the user account userB. For reference, if you log out of the user account userB, you are returned to the user account userA.

종래 기술에 따르면, 계정 권한 상승을 위하여, su 명령어를 이용하여, 일반 사용자 계정에서 루트 계정 root로 전환한다. 즉, 1차 사용자 계정(일반 사용자 계정)에서 로그아웃을 하지 않고, su 명령어를 통해 루트 계정 root으로 전환하여, root 계정으로 작업을 수행한다. 따라서 계정 권한 상승을 수행하는 각 사용자들은 루트 계정 root의 비밀번호를 알고 있어야 한다.According to the prior art, in order to increase the account authority, the su command is used to switch from the normal user account to the root account root. That is, without logging out from the primary user account (normal user account), the root account is switched to the root account through the su command, and the operation is performed with the root account. Therefore, each user performing the account elevation must know the password of the root account root.

다음으로, 슈두(sudo, superuser do) 명령어는 슈퍼 유저(또는 루트 계정)로서 해당 명령어를 실행해주는 명령어이다.Next, the sudo (sudo, superuser do) command is a command that executes the corresponding command as a super user (or root account).

슈두(sudo) 명령어는 다음과 같은 형식으로 입력된다.The sudo command is entered in the following format.

sudo [명령어]sudo [command]

또한, sudo 명령어를 입력하면, 해당 사용자 계정의 비밀번호를 디폴트로 문의한다. 이것은 보안을 위하여 사용자 인증을 하기 위한 것이다.Also, when the sudo command is entered, the password of the user account is inquired by default. This is for user authentication for security.

예를 들어, 사용자 계정 userA 상태에서, "sudo shutdown"명령을 입력하면 사용자 계정 userA의 비밀번호를 물어보고, userA의 비밀번호를 입력하면 "shutdown"명령어를 루트 계정(또는 슈퍼 유저) 권한으로 실행시켜준다. 따라서 사용자 계정 userA는 "shutdown"명령어를 사용할 권한이 없더라도, 루트 계정이 해당 권한을 가지기 때문에 해당 명령어가 실행된다.For example, in the user account userA state, entering the "sudo shutdown" command prompts for the password of the user account userA, and entering the password for userA executes the "shutdown" command with root account (or superuser) privileges. . Therefore, even if the user account userA does not have the authority to use the "shutdown" command, the corresponding command is executed because the root account has the appropriate authority.

한편, 비밀번호 입력은 슈두어 파일의 옵션 설정에 따라 생략될 수 있다. 이 경우, 비밀번호 입력 없이, sudo 명령어가 입력되면 바로 실행시켜준다.On the other hand, the password input may be omitted according to the option setting of the Sure file. In this case, the sudo command is executed immediately without entering a password.

또한, sudo 명령어는 각 서버마다 존재하는 /etc/sudoers 파일에 지정되어 있는(등록된) 계정과 형식에 맞춰서, sudo 명령어를 사용할 수 있는 권한을 빌려올 수 있다. 즉, 슈두어 파일에 등록(지정)되어 있는 범위 내에서만, sudo 명령어가 허용된다.In addition, the sudo command can borrow the authority to use the sudo command according to the account and format specified (registered) in the / etc / sudoers file that exists on each server. That is, the sudo command is allowed only within the range registered (specified) in the Sure file.

다음으로, 슈두어(sudoers, /etc/sudoers) 파일은 서버에 위치한 시스템 파일로서, 슈두 명령어의 사용 권한 및 그 범위를 등록하는 파일이다. 즉, 슈두어 파일에 사용자 계정이 등록되어 있으면, 해당 사용자 계정에서 슈두(sudo) 명령어를 사용할 수 있다.Next, the sudo (sudoers, / etc / sudoers) file is a system file located on the server, and is a file that registers the permission and scope of the sudu command. That is, if a user account is registered in the Sdu file, the Sudo command can be used in the user account.

또한, 슈두어 파일은 각 서버마다 존재하는 "/etc/sudoers"파일로 저장된다. 또한, 슈두어 파일은 슈퍼 유저 권한 또는 루트 계정에 의해서만 그 내용이 갱신될 수 있다.In addition, the Sure file is saved as a "/ etc / sudoers" file that exists for each server. In addition, the contents of the Sure file can be updated only by super user authority or root account.

도 5는 슈두어 파일(또는 sudoers 파일)을 예시하고 있다. 도 5에서, 붉은 점선 박스 부분이 슈두 명령어를 사용할 수 있는 사용자 계정을 등록한 부분이다.Fig. 5 illustrates a Shudu file (or sudoers file). In FIG. 5, the red dotted box part is a part in which a user account capable of using the Shoo command is registered.

ohso localhost=(root) NOPASSWD: /usr/bin/suohso localhost = (root) NOPASSWD: / usr / bin / su

netandA localhost=(root) NOPASSWD: /usr/bin/sunetandA localhost = (root) NOPASSWD: / usr / bin / su

사용자 계정을 등록하는 형식은 다음과 같다.The format for registering a user account is as follows.

[사용자 계정] [호스트]=([권한 계정]) (NOPASSWD:)[명령어][User Account] [Host] = ([Permission Account]) (NOPASSWD:) [Command]

여기서, [사용자 계정]은 슈두(sudo) 명령어를 사용할 수 있는 사용자 계정을 나타내고, [권한 계정]은 슈두(sudo) 명령어를 실행시 부여되는 권한 계정으로서 보통 루트(root) 계정을 사용한다. 또한, [명령어]는 슈두(sudo) 명령어로 실행할 수 있는 명령어를 나타낸다. [호스트]는 서버를 나타내는 것으로서 보통 localhost로 사용한다. "NOPASSWD"옵션은 사용자 계정의 비밀번호 입력을 생략하기 위한 옵션이다.Here, [user account] denotes a user account that can use the sudo command, and [permission account] is a privilege account that is granted when executing the sudo command, and usually uses a root account. In addition, [command] indicates a command that can be executed as a sudo command. [Host] refers to the server and is usually used as localhost. The "NOPASSWD" option is an option to omit entering the password of the user account.

따라서 도 5의 예에서, 사용자 계정 osho와 netandA에 대하여 sudo 명령어의 사용 권한이 등록된다. sudo 명령어 실행시, root 권한으로 실행시켜주고, 비밀번호 입력없이 실행시켜준다. 또한, sudo 명령어로 실행할 수 있는 명령어는 su 명령어(/usr/bin/su)로 한정하는 것을 알 수 있다.Thus, in the example of FIG. 5, the usage rights of the sudo command are registered for the user accounts osho and netandA. When the sudo command is executed, it is executed with root authority and without password input. Also, it can be seen that the commands that can be executed with the sudo command are limited to the su command (/ usr / bin / su).

다시 말하면, 지정된 계정인 ohso 또는 netandA가 sudo 명령어를 사용하여 root의 권한을 빌려와 사용하며 su(/usr/bin/su) 명령어만 사용할 수 있다. 또한, nopassword 정책으로 패스워드 입력요구 없이 su 명령어를 사용할 수 있다는 의미이다. 따라서, 1차 계정인 ohso 또는 netandA의 패스워드를 입력하지 않아도 root의 권한을 빌려서 사용할 수 있게 됨으로써, 슈퍼 계정인 루트(root) 계정의 패스워드를 노출시키지 않아도, 사용자들이 접근 권한을 부여 받았다면 사용할 수 있게 된다.In other words, the specified account, ohso or netandA, uses the sudo command to borrow and use root authority, and only the su (/ usr / bin / su) command can be used. Also, the nopassword policy means that the su command can be used without requiring a password. Therefore, without entering the password of the primary account ohso or netandA, it is possible to borrow and use the privileges of root. There will be.

따라서 본 발명은 종래 기술과는 달리, sudo(superuser do) 명령어를 통해 슈퍼 계정인 루트(root) 권한을 이용하여 권한 상승을 하는 방식이다.Therefore, the present invention, unlike the prior art, is a method of elevating privileges using the super account root authority through a sudo (superuser do) command.

다음으로, 본 발명의 일실시예에 따른 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템에 의한 권한 전환 방법을 도 5 내지 도 10을 참조하여 설명한다.Next, a method for switching the authority by the authority switching system of the user account based on the presence or absence of access authority of the super account according to an embodiment of the present invention will be described with reference to FIGS. 5 to 10.

서버(40)에 접속하려는 사용자 또는 사용자 단말(10)은 접근통제 게이트웨이(30)에서 권한을 부여 받은 권한에 한하여 개인 계정(일반 사용자 계정)으로 로그인을 하여 서버에서 작업을 진행한다. 진행 중에, 시스템 전체의 권한을 획득하기 위하여, sudo su - root 명령어를 사용하여, 루트(root) 계정으로 전환한다(즉, 루트 계정을 빌려와 이용한다).The user or user terminal 10 who wants to access the server 40 logs in with a personal account (normal user account) only for the authority authorized by the access control gateway 30 to proceed with the operation on the server. In the process, to gain system-wide privileges, use the sudo su-root command to switch to the root account (ie borrow and use the root account).

이때, 모든 사용자 계정들이 루트(root) 계정으로 전환할 수 있는 것이 아니다. 접근통제 게이트웨이(30)에서 루트(root) 계정의 권한을 부여받았을 경우에만, 게이트웨이(30)가 해당 서버의 /etc/sudoers 파일에 사용자 계정을 등록해두는 작업을 사전에 처리한다. 따라서 부여받은 접근 권한을 기반으로 사용자 별로 다르게 루트(root)계정을 빌려올 수 있다.At this time, not all user accounts can be switched to the root account. Only when the authority of the root account has been granted by the access control gateway 30, the gateway 30 processes the operation of registering the user account in the / etc / sudoers file of the server in advance. Therefore, it is possible to borrow a root account differently for each user based on the access rights granted.

먼저, 도 5를 참조하여 예시한다.First, it is illustrated with reference to FIG. 5.

사용자 A는 접근통제 게이트웨이(30)로부터 하나의 서버의 netandA라는 개인 계정과 root 계정의 권한(계정 권한 정보)을 부여받는다.User A is granted the authority (account authority information) of a personal account called netandA and a root account of one server from the access control gateway 30.

접근통제 게이트웨이(30)는 도 5와 같이, 해당 서버의 /etc/sudoers 파일을 설정한다. 즉, netandA 계정이 루트(root)계정을 빌려와 이용할 수 있도록 설정된다. 해당 슈두어 파일의 설정은 접근통제 게이트웨이(30)에서 관리하는 계정 권한 정보를 확인하여, 슈퍼 계정(루트 계정)의 접근 권한을 가진 경우, /etc/sudoers 파일에 해당 사용자 계정을 등록(지정)한다.As shown in Fig. 5, the access control gateway 30 sets the / etc / sudoers file of the corresponding server. That is, the netandA account is set to borrow and use the root account. The setting of the corresponding Sure file checks the account permission information managed by the access control gateway 30, and if the super account (root account) has access rights, registers the user account in the / etc / sudoers file (specified). do.

또한, 도 5의 라인 94번에 다음과 같이 추가되어있다.In addition, the following is added to line 94 of FIG. 5.

netandA localhost=(root) NOPASSWD: /usr/bin/sunetandA localhost = (root) NOPASSWD: / usr / bin / su

따라서 netandA 계정의 사용자는 sudo su - root 명령어를 이용하여, netandA 계정 상태에서 root 계정으로 전환할 수 있다. 즉, netandA 계정 상태에서 root의 권한을 정상적으로 빌려와 사용할 수 있다.Therefore, the user of the netandA account can switch from the netandA account status to the root account by using the sudo su-root command. That is, you can borrow and use the root authority normally in the netandA account state.

다음으로, 도 6을 참조하여 예시한다.Next, it is illustrated with reference to FIG. 6.

사용자 B(10)는 접근통제 게이트웨이(30)로부터 하나의 서버(40)의 netandB라는 개인 계정의 권한은 부여받았으며, 루트(root)의 권한은 없는 상태이다. 이때, 도 6과 같이, 해당 서버의 /etc/sudoers 파일에는 netandB 계정이 루트(root)계정을 빌려와 이용할 수 있는 설정이 되어있지 않다.User B 10 has been granted the authority of the personal account netandB of one server 40 from the access control gateway 30, and there is no authority of the root. At this time, as shown in FIG. 6, in the / etc / sudoers file of the server, the netandB account is not set to borrow and use the root account.

참고로, 접근 권한을 부여했다가 제거하는 경우 접근통제 게이트웨이(30)에서 /etc/sudoers 파일에 등록된 권한 내용을 삭제하여 sudo명령어를 사용할 수 없도록 설정한다. For reference, when granting and removing access rights, the access control gateway 30 deletes the contents of the permissions registered in the / etc / sudoers file, so that the sudo command cannot be used.

사용자 B가 netandB 계정을 이용하여, sudo su - root 명령어를 입력하면, sudo 명령어를 사용할 수 있도록 설정되어 있지 않으므로 root 계정으로 전환할 수 없다. 즉, "netandB은(는) sudoers 설정 파일에 없습니다."와 같은 안내 메시지를 받는다. 따라서 루트(root) 계정의 권한을 빌려 사용할 수 없는 것을 확인할 수 있다.When user B uses the netandB account and enters the sudo su-root command, he cannot switch to the root account because the sudo command is not set. That is, you will receive a message like "netandB is not in the sudoers configuration file." Therefore, you can confirm that it cannot be used by borrowing the authority of the root account.

다음으로, 도 7 내지 도 10을 참조한 예시를 설명한다.Next, an example with reference to FIGS. 7 to 10 will be described.

사용자 NETAND 는 netand 라는 일반 사용자 계정을 사용하는 사용자이다. 이 사용자가 특정 파일에 접근을 하기 위하여 루트(root) 권한을 사용해야 하는 경우가 발생한다. 이때에 root로 접근을 하기 위하여 sudo 명령어를 통하여 루트(root)의 권한을 빌려와서 이용하여 권한 상승을 하여 작업을 수행할 예정이다. User NETAND is a user who uses a regular user account called netand. There are cases when this user needs to use root authority to access a specific file. At this time, in order to access as root, the authority of the root is borrowed through the sudo command, and the privilege is raised to perform the operation.

사용자 NETAND는 netand 라는 일반 계정으로 로그인 후, sudo su - root 라는 명령어를 통해 권한 상승을 시도한다.User NETAND logs in with a regular account called netand, and attempts to elevate privileges through the command sudo su-root.

이때 sudo 명령어를 사용하면 시스템의 /etc/sudoers 파일에서 사용자 NETAND 가 접근하려는 서버에 루트(root) 계정에 대한 접근을 할 수 있는 사용자인지 확인한다. 이 경우, 루트(root) 권한이 없을 경우와 있는 경우 등 2가지의 경우로 구분된다.At this time, if the sudo command is used, the user's NETAND in the system's / etc / sudoers file checks whether the user can access the root account. In this case, it is divided into two cases: when there is no root authority and when there is no root authority.

먼저, 루트의 권한이 없을 경우를 설명한다.First, the case where root authority is not described will be described.

접근통제 게이트웨이(30)를 통해 부여받은 접근 권한이 없으므로, /etc/sudoers 파일에는 접근통제 게이트웨이에 의해 작업된 것이 없다. 따라서 도 7의 예와 같이, 슈두어(sudoers) 파일에 netand 계정이 없다.Since there is no access right granted through the access control gateway 30, there is no work done by the access control gateway in the / etc / sudoers file. Therefore, as in the example of FIG. 7, there is no netand account in the sudoers file.

도 8에서 보는 바와 같이, 이러한 상태에서 사용자 NETAND가 sudo su - root 명령어를 입력하여 루트(root)계정으로 접속하려고 시도할 경우, "netand은(는) sudoers 설정 파일에 없습니다"와 같은 안내 메시지를 받는다. 즉, sudoers 설정 파일에 netand 계정이 없으므로, 루트(root)의 권한으로 상승할 수 없다.As shown in Fig. 8, in this state, when the user NETAND tries to access the root account by entering the sudo su-root command, a message such as "netand is not in the sudoers configuration file" is displayed. Receive. In other words, there is no netand account in the sudoers configuration file, so it cannot be elevated with root privileges.

다음으로, 루트의 권한이 있는 경우를 설명한다.Next, a description will be given of the case where the root authority is provided.

접근통제 게이트웨이(30)를 통해 부여받은 접근 권한이 있으므로, 접근통제 게이트웨이(30)가 권한을 부여하면서 netand계정을 /etc/sudoers 파일에 추가하는 작업을 자동으로 진행한다. 따라서 도 9에서 보는 바와 같이, /etc/sudoers 파일을 확인하면, netand 계정이 등록되어 있다.Since access authority is granted through the access control gateway 30, the access control gateway 30 automatically grants permission and adds the netand account to the / etc / sudoers file. Therefore, as shown in FIG. 9, when the / etc / sudoers file is checked, a netand account is registered.

도 10에서 보는 바와 같이, 사용자가 1차 계정인 netand 계정으로 sudo 명령어를 이용하여 루트(root) 권한 상승을 시도하면, /etc/sudoers 파일에 지정된 계정이며, netand 계정은 sudo 명령어 사용 시, NOPASSWORD 정책으로 인하여 netand 계정의 패스워드를 물어보지 않고 루트(root)로 권한 상승을 정상적으로 수행한다.As shown in FIG. 10, when a user attempts to elevate root authority by using the sudo command with the primary account netand account, the account specified in the / etc / sudoers file is the netand account when the sudo command is used, NOPASSWORD Due to the policy, the elevation is normally performed as root without asking for the password of the netand account.

또한, 접근통제 게이트웨이를 통해 접근권한을 부여 받아서 사용하다가, 접근 권한이 제거될 경우 접근통제 게이트웨이는 /etc/sudoers 파일에 입력해 놓았던 1차계정(일반 계정)을 자동적으로 삭제하여 접근 권한을 회수할 수 있다. 이와 같이 접속할 수 없는 환경으로 다시 돌려놓음으로써, 루트(root) 계정의 접속 설정이 되어있지 않으므로, 루트 계정 권한을 획득할 수 없게 된다.In addition, when access rights are granted and used through the access control gateway, and the access rights are removed, the access control gateway automatically deletes the primary account (general account) entered in the / etc / sudoers file to retrieve the access rights. can do. By returning to the unreachable environment as described above, since the connection setting of the root account is not established, it is impossible to obtain the root account authority.

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

종래기술에 따르면, 루트(root) 권한을 획득하기 위하여 SU(Switch User) 명령어를 통해 일반 계정에서 시스템 관리자로 계정을 전환하여 시스템에 대한 모든 권한을 획득하여 사용한다. 그러나 이러한 접근 방법은 다중 사용자 운영체제 환경에서 불필요한 시스템 접근을 제어하지 못하여 시스템 보안 취약점으로 많이 지적을 받는다.According to the prior art, in order to obtain root authority, a user is switched from a general account to a system administrator through a switch user (SU) command to obtain and use all rights to the system. However, this approach is pointed out as a system security vulnerability because it cannot control unnecessary system access in a multi-user operating system environment.

이에 반해, 본 발명은 권한이 있는 사용자에 제한하여, sudo(Superuser do) 명령어를 통해 일반 계정에서 슈퍼 계정으로 전환하여 루트(root)권한을 획득하도록 한다. 본 발명은 이러한 방식을 채택함으로써, 위에서 기술하였던 문제점을 개선하고 보안성을 높인 인프라 환경에서 작업할 수 있다.On the other hand, the present invention is limited to authorized users, so that the root account is obtained by switching from a general account to a super account through a sudo (Superuser do) command. By adopting this method, the present invention can improve the problems described above and work in an infrastructure environment with increased security.

구체적인 개선점은 다음과 같다.The specific improvements are as follows.

먼저, /etc/sudoers 파일에 기입되는 NOPASSWD 정책에 따라 슈퍼 계정인 루트(root)계정의 패스워드를 기억하지 않아도 된다.First, according to the NOPASSWD policy written in the / etc / sudoers file, there is no need to remember the password of the root account, the super account.

다음으로, 패스워드 입력이 없어짐으로 패스워드 노출에 대한 위험성이 없어질 뿐만 아니라 물리적인 해킹이 발생할 수 있는 환경 발생을 원천 차단한다.Next, as the password input is eliminated, the risk of password exposure is not only eliminated, but the occurrence of an environment where physical hacking can occur is blocked.

다음으로, 접근통제 시스템을 통해 슈퍼 계정인 루트(root) 계정 사용이 허가되도록 동작되기 때문에, 권한에 대한 관리가 되며, 수동으로 하지 않아도 솔루션을 통해 자동 작업될 수 있다. 또한, 이력이 기록되어, 사후 이력 감사에도 용이하게 사용될 수 있다.Next, it is operated to allow the use of the super account, the root account, through the access control system, so it is managed for the authority and can be automatically operated through the solution without manual intervention. In addition, the history is recorded, and can be easily used for the post-history audit.

다음으로, SU(Switch User) 명령어의 이용을 위하여 루트(root) 계정의 패스워드를 알고 있다면, 접속 권한과 상관 없이 루트 계정으로 접속을 할 수 있다. 이에 반해, 본 발명은 접근통제 시스템을 통해 슈퍼 계정인 루트(root) 계정의 사용이 허가되도록 동작하므로, 루트(root) 계정의 패스워드를 알고 있더라도 접속할 수 없다. 따라서 본 발명은 SU 명령어를 통해 발생될 수 있는 보안적인 홀을 원천 차단할 수 있다.Next, if you know the password of the root account to use the Switch User (SU) command, you can connect to the root account regardless of the access authority. On the other hand, the present invention operates to allow the use of the super account, the root account, through the access control system, so even if the password of the root account is known, it cannot be accessed. Therefore, the present invention can block the secure hole that may be generated through the SU command.

마지막으로, sudo 명령어의 권한을 명령어별로 설정하여 su 명령어만 슈퍼유저(root)의 권한을 빌려와 사용하도록 기능을 제한함으로써, 보안을 더욱 강화할 수 있다.Finally, by setting the sudo command's authority for each command, you can further enhance security by limiting the function to borrow and use the authority of the super user only as the su command.

이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.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 various modifications can be made without departing from the gist thereof.

10 : 사용자 단말 20 : 관리자 단말
30 : 접근통제 게이트웨이 31 : 슈퍼권한 관리부
32 : 통신 중계부 33 : 슈두어파일 갱신부
40 : 서버 80 : 데이터베이스
81 : 계정권한DB 82 : 서버정보DB
10: user terminal 20: administrator terminal
30: access control gateway 31: super authority management department
32: Communication relay unit 33: Sure file update unit
40: server 80: database
81: account authority DB 82: server information DB

Claims (6)

적어도 하나의 사용자 단말과 적어도 1개의 서버 사이에 설치되어, 상기 사용자 단말과 상기 서버 사이를 중계하는, 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템에 있어서,
상기 서버에 대한 사용자 계정의 계정 권한 정보를 저장하되, 상기 계정 권한 정보로서, 해당 사용자 계정이 상기 서버의 슈퍼 계정 권한의 유무에 대한 정보를 저장하는 슈퍼권한 관리부;
상기 사용자 단말과 서버 사이에서 메시지를 중계하는 통신 중계부; 및,
상기 계정 권한 정보에 따라, 슈퍼 계정 권한을 가진 사용자 계정에 대하여, 해당 서버의 슈두어 파일에 해당 사용자 계정을 추가하는 슈두어파일 갱신부를 포함하되,
상기 슈두어 파일은 슈퍼 계정으로서의 구동 명령어(이하 슈두 명령어)의 사용 권한을 등록하는 파일이고,
상기 사용자 단말이 상기 서버에 접속한 사용자 계정에서, 슈두 명령어를 이용하여 해당 서버의 슈퍼 계정으로 전환하고,
상기 슈두어파일 갱신부는 상기 서버의 슈퍼 계정의 비밀번호를 저장하고, 저장된 비밀번호로 상기 서버에 접속하여 상기 슈두어 파일을 갱신하는 것을 특징으로 하는 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템.
In the system for switching between at least one user terminal and at least one server, relaying between the user terminal and the server, the authority account switching system based on the presence or absence of access authority of the super account,
A super permission management unit that stores account permission information of a user account for the server, and stores, as the account permission information, information about the presence or absence of super account permission of the server;
A communication relay unit relaying a message between the user terminal and the server; And,
According to the account authority information, for a user account having super account authority, a scheduling file update unit for adding the user account to the server's scheduling file is included,
The Shudu file is a file that registers usage rights of a driving command (hereinafter, Shudu command) as a super account,
From the user account that the user terminal accesses the server, switch to the super account of the server by using the Shudu command,
The Sure file update unit stores the password of the super account of the server, and accesses the server with the stored password to update the Sure file.
제1항에 있어서,
상기 계정 권한 정보는 슈퍼 계정 권한을 가지는 사용자 계정만 등록하여 관리하고,
상기 슈두어파일 갱신부는 상기 계정 권한 정보에 사용자 계정이 등록되면 상기 슈두어 파일에 상기 사용자 계정을 추가하고, 상기 계정 권한 정보에 사용자 계정이 취소되면 상기 슈두어 파일에 상기 사용자 계정을 삭제하는 것을 특징으로 하는 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템.
According to claim 1,
The account permission information is managed by registering only a user account having super account permission,
The Sure file update unit adds the user account to the Sure file when a user account is registered in the account authority information, and deletes the user account to the Sure file when the user account is canceled to the account authority information. Characteristic of a super account access authority based user account authority switching system.
삭제delete 제1항에 있어서,
상기 슈두어파일 갱신부는 슈두(sudo) 명령어를 실행할 때 사용자 계정의 비밀번호를 생략하도록 옵션을 설정하고, 슈두 명령어로 실행시킬 수 있는 명령어에 유저전환(su) 명령어를 포함시키도록 옵션을 설정하는 것을 특징으로 하는 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템.
According to claim 1,
The Shudu file update unit sets an option to omit the password of the user account when executing the Sudo command, and sets an option to include a user switch (su) command in the command that can be executed by the Shudu command. Characteristic of a super account access authority based user account authority switching system.
제1항에 있어서,
슈퍼 계정으로 전환하기 위하여, 상기 사용자 단말에 의하여 "sudo su - root" 명령이 입력되는 것을 특징으로 하는 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템.
According to claim 1,
In order to switch to the super account, the "sudo su-root" command is inputted by the user terminal.
제1항에 있어서,
상기 서버는 유닉스, 리눅스 운영체제를 포함하는 유닉스 기반의 운영체제에서 운영되고, CLI(Command-Line Interface) 방식의 접속 프로토콜로 원격 접속 서비스를 제공하는 것을 특징으로 하는 슈퍼 계정의 접근 권한 유무 기반 사용자 계정의 권한 전환 시스템.
According to claim 1,
The server is operated on a Unix-based operating system including Unix and Linux operating systems, and provides a remote access service using a command-line interface (CLI) access protocol. Authority switching system.
KR1020190151307A 2019-11-22 2019-11-22 A rights converting system for user accounts using rights of the super account KR102110821B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190151307A KR102110821B1 (en) 2019-11-22 2019-11-22 A rights converting system for user accounts using rights of the super account

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190151307A KR102110821B1 (en) 2019-11-22 2019-11-22 A rights converting system for user accounts using rights of the super account

Publications (1)

Publication Number Publication Date
KR102110821B1 true KR102110821B1 (en) 2020-05-13

Family

ID=70729843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190151307A KR102110821B1 (en) 2019-11-22 2019-11-22 A rights converting system for user accounts using rights of the super account

Country Status (1)

Country Link
KR (1) KR102110821B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101195292B1 (en) 2012-03-08 2012-10-26 윤종선 Apparatus and method for managing identity
KR101259472B1 (en) 2013-01-18 2013-05-06 에스지앤 주식회사 Method for switching normal user account to super user account and account switching system using the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101195292B1 (en) 2012-03-08 2012-10-26 윤종선 Apparatus and method for managing identity
KR101259472B1 (en) 2013-01-18 2013-05-06 에스지앤 주식회사 Method for switching normal user account to super user account and account switching system using the same

Similar Documents

Publication Publication Date Title
US10992642B2 (en) Document isolation
US10554475B2 (en) Sandbox based internet isolation in an untrusted network
CN112073400B (en) Access control method, system, device and computing equipment
US10558798B2 (en) Sandbox based Internet isolation in a trusted network
JP2020166906A (en) Secure single sign on and conditional access for client applications
CN105027493B (en) Safety moving application connection bus
US9699261B2 (en) Monitoring sessions with a session-specific transient agent
US10417428B2 (en) Methods and systems for providing and controlling cryptographic secure communications terminal providing a remote desktop accessible in secured and unsecured environments
US10841393B2 (en) Systems and methods for secure peer-to-peer caching
JP4168052B2 (en) Management server
JP3415456B2 (en) Network system, command use authority control method, and storage medium storing control program
US20080052755A1 (en) Secure, real-time application execution control system and methods
US20050138417A1 (en) Trusted network access control system and method
US20070143408A1 (en) Enterprise to enterprise instant messaging
US10637830B2 (en) VPN access control system, operating method thereof, program, VPN router, and server
KR101992976B1 (en) A remote access system using the SSH protocol and managing SSH authentication key securely
CN103404103A (en) System and method for combining an access control system with a traffic management system
US10595320B2 (en) Delegating policy through manufacturer usage descriptions
KR102118380B1 (en) An access control system of controlling server jobs by users
CN104918248A (en) Enterprise mobile safety gateway method of application flow management, application acceleration and safety
KR102110821B1 (en) A rights converting system for user accounts using rights of the super account
KR101992985B1 (en) An access control system of controlling hard-coded passwords and commands for enhancing security of the servers
KR101992972B1 (en) A safety access control system for risky commands using a session sharing of server remote access
KR102269885B1 (en) An access control system of making up customized server work environment for each user
KR20210068832A (en) Access control system and method using SQL tool based on web

Legal Events

Date Code Title Description
GRNT Written decision to grant