Oracle® Solaris 11.2의 사용자 및 프로세스 보안

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

사용자 및 프로세스 권한은 수퍼 유저 모델의 대안을 제공함

전통적인 UNIX 시스템에서 root 사용자는 수퍼유저라고도 하며 전권을 갖습니다. 많은 setuid 프로그램과 마찬가지로 root로 실행되는 프로그램도 전권을 갖습니다. root 사용자는 모든 파일을 읽거나 쓰고, 모든 프로그램을 실행하며, 모든 프로세스에 종료 신호를 보낼 수 있습니다. 실질적으로, 수퍼유저가 될 수 있는 사람이면 누구나 사이트의 방화벽을 수정하고, 감사 증적을 변경하고, 기밀 레코드를 읽고, 전체 네트워크를 종료할 수 있습니다. setuid root 프로그램을 하이재킹할 경우 시스템에서 모든 작업을 수행할 수 있습니다.

사용자, 리소스 및 프로세스에 권한 지정은 all-or-nothing 수퍼 유저 모델보다 강력한 대안을 제공합니다. 권한을 사용하면 더욱 세분화된 레벨에서 보안 정책을 적용할 수 있습니다. 권한(right)은 최소 권한(privilege)의 보안 원칙을 따릅니다. 최소 권한이란 사용자가 정확하게 작업 수행에 필요한 privilege(권한)만 할당받는 것을 의미합니다. 일반 사용자 권한으로 응용 프로그램 사용, 작업 상태 확인, 파일 인쇄, 새 파일 만들기 등을 충분히 수행할 수 있습니다. 일반 사용자 권한 밖의 권한은 권한 프로파일로 그룹화됩니다. 수퍼 유저 권한이 필요한 작업을 수행해야 하는 사용자에게 권한 프로파일을 지정할 수 있습니다.

프로파일로 그룹화된 권한을 사용자에게 직접 지정할 수 있습니다. 역할이라는 특수 계정을 만들어 간접적으로 지정할 수도 있습니다. 그러면 사용자가 관리 권한(privilege)이 필요한 작업을 수행하는 역할을 맡을 수 있습니다. Oracle Solaris에서는 미리 정의된 많은 권한(right) 프로파일을 제공합니다. 역할을 만들고 프로파일을 지정합니다.

ARMOR 패키지는 표준화된 역할 세트를 제공합니다. 이 패키지를 자동으로 설치하고 사용자에게 역할을 지정하면 부트 시 책임 구분을 제공하는 시스템을 만들 수 있습니다. 자세한 내용은 Authorization Rules Managed On RBAC (ARMOR), 선택한 권한 모델 따르기Example 3–1을 참조하십시오.

권한 프로파일은 광범위한 관리 권한을 제공할 수 있습니다. 예를 들어, System Administrator 권한 프로파일을 통해 프린터 관리, cron 작업 관리 등 보안과 관련이 없는 작업을 수행할 수 있습니다. 권한 프로파일을 좁게 정의할 수도 있습니다. 예를 들어, Cron Management 권한 프로파일은 atcron 작업을 관리합니다. 역할을 만들 때 역할에 광범위한 관리 권한이나 제한적인 권한을 지정할 수 있습니다.

다음 그림은 Oracle Solaris에서 역할을 만들어 trusted users(신뢰할 수 있는 사용자)에 권한을 분배할 수 있는 방법을 보여줍니다. 수퍼 유저는 신뢰할 수 있는 사용자에게 직접 권한 프로파일을 지정하여 권한을 분배할 수도 있습니다.

그림 1-1  권한 분배

image:그래픽에서 키는 권한을 나타냅니다. 여러 기능을 수행하는 역할의 사용자는 여러 키를 지정받습니다.

그림에 표시된 권한 모델에서 수퍼 유저는 3개 역할을 만듭니다. 역할은 권한 프로파일을 기반으로 합니다. 그런 다음 수퍼유저가 작업을 수행하도록 신뢰된 사용자에게 역할을 지정합니다. 사용자가 사용자 이름으로 로그인합니다. 로그인 후에 사용자는 관리 명령 및 GUI(그래픽 사용자 인터페이스) 도구를 실행할 수 있는 역할을 맡습니다.

    역할 설정의 유연성 덕분에 다양한 보안 정책이 가능합니다. Oracle Solaris와 함께 제공되는 역할은 몇 개 없지만 역할이 쉽게 구성됩니다. Example 3–1에서는 ARMOR 표준을 기반으로 하는 역할을 사용하는 방법을 보여줍니다. ARMOR 역할 외에 또는 ARMOR 역할 대신 Oracle Solaris에서 제공하는 권한 프로파일을 기준으로 고유한 역할을 만들 수 있습니다.

  • root – root 사용자와 같은 강력한 역할입니다. 그러나 모든 역할과 마찬가지로 root 역할은 로그인할 수 없습니다. 일반 사용자가 로그인한 후에 지정된 root 역할을 맡아야 합니다. 이 역할은 기본적으로 초기 사용자에게 구성 및 지정됩니다.

  • System Administrator – 보안과 관련이 없는 관리를 위한 덜 강력한 역할입니다. 이 역할은 파일 시스템, 메일 및 소프트웨어 설치를 관리할 수 있습니다. 그러나 이 역할은 암호를 설정할 수 없습니다.

  • Operator – 백업, 프린터 관리 등의 작업을 위한 하급 관리자 역할입니다.


    주 -  Media Backup 권한 프로파일은 전체 루트 파일 시스템에 액세스할 수 있습니다. 따라서 Media Backup 및 Operator 권한 프로파일은 하급 관리자용이긴 하지만 신뢰할 수 있는 사용자인지 확인해야 합니다.

하나 이상의 보안 역할을 구성하고 싶을 수 있습니다. Information Security, User Security, Zone Security라는 세 개의 권한 프로파일과 그 보충 프로파일이 보안을 처리합니다. Network Security는 Information Security 권한 프로파일의 보충 프로파일입니다.

역할을 구현할 필요는 없습니다. 역할은 조직의 보안 요구와 상관 관계가 있습니다. 하나의 전략은 보안, 네트워킹, 방화벽 관리와 같은 분야에 특수 목적의 관리자용 역할을 설정하는 것입니다. 또 다른 전략은 단일의 강력한 관리자 역할을 고급 사용자 역할과 함께 만드는 것입니다. 고급 사용자 역할은 고유 시스템의 일부를 수정하도록 허가된 사용자입니다. 사용자에게 직접 권한 프로파일을 지정하고 역할을 만들지 않을 수도 있습니다.

수퍼 유저 모델과 권한 모델이 공존할 수 있습니다. 다음 표에는 수퍼 유저부터 제한된 일반 사용자까지 권한 모델에서 사용 가능한 단계적 등급이 요약되어 있습니다. 양쪽 모델에서 추적할 수 있는 관리 작업이 포함됩니다. 프로세스 권한(right), 즉 권한(privilege)의 영향 요약은 Table 1–2를 참조하십시오.

표 1-1  수퍼 유저 모델과 권한 모델 비교
시스템에서 사용자 능력
수퍼 유저 모델
권한 모델
전체 수퍼 유저 권한을 가진 수퍼 유저로 전환할 수 있음
실행 가능
실행 가능
전체 사용자 권한을 가진 사용자로 로그인할 수 있음
실행 가능
실행 가능
제한된 권한을 가진 수퍼 유저로 전환할 수 있음
실행 불가능
실행 가능
사용자로 로그인할 수 있고, 때때로 수퍼 유저 권한을 가질 수 있음
실행 가능, setuid root 프로그램만 사용
실행 가능, setuid root 프로그램 및 권한 사용
관리 권한(right)을 가졌으나 전체 수퍼 유저 권한(privilege)은 없는 사용자로 로그인할 수 있음
실행 불가능
실행 가능, 권한(right) 프로파일, 역할, 직접 지정된 권한(privilege) 및 권한 부여 사용
일반 사용자보다 적은 권한을 가진 사용자로 로그인할 수 있음
실행 불가능
실행 가능, 권한 제거
수퍼유저 작업을 추적할 수 있음
실행 가능, su 명령 감사
실행 가능, pfexec() 호출 감사
또한 root 역할을 맡은 사용자의 이름이 감사 증적에 있음