JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 관리: 보안 서비스     Oracle Solaris 11 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

제1부보안 개요

1.  보안 서비스(개요)

제2부시스템, 파일 및 장치 보안

2.  시스템 보안 관리(개요)

3.  시스템에 대한 액세스 제어(작업)

4.  바이러스 검사 서비스(작업)

5.  장치에 대한 액세스 제어(작업)

6.  기본 감사 보고 도구 사용(작업)

7.  파일에 대한 액세스 제어(작업)

제3부역할, 권한 프로파일 및 권한

8.  역할 및 권한 사용(개요)

역할 기반 액세스 제어(개요)

RBAC: 수퍼유저 모델의 대안

RBAC 요소 및 기본 개념

권한 에스컬레이션

RBAC 인증

인증 및 권한

권한 있는 응응 프로그램 및 RBAC

UID 및 GID를 검사하는 응용 프로그램

권한을 검사하는 응용 프로그램

인증을 검사하는 응용 프로그램

RBAC 권한 프로파일

RBAC 역할

프로파일 셸 및 RBAC

이름 서비스 범위 및 RBAC

보안 속성을 직접 지정할 때 보안 고려 사항

보안 속성을 직접 지정할 때 유용성 고려 사항

권한(개요)

권한으로 커널 프로세스 보호

권한 설명

권한 있는 시스템의 관리상 차이점

권한 및 시스템 리소스

권한이 구현되는 방법

프로세스가 권한을 얻는 방법

권한 지정

사용자 또는 역할의 권한 확장

사용자 또는 역할의 권한 제한

스크립트에 권한 지정

권한 및 장치

권한 및 디버깅

9.  역할 기반 액세스 제어 사용(작업)

10.  Oracle Solaris의 보안 속성(참조)

제4부암호화 서비스

11.  암호화 프레임워크(개요)

12.  암호화 프레임워크(작업)

13.  키 관리 프레임워크

제5부인증 서비스 및 보안 통신

14.  네트워크 서비스 인증(작업)

15.  PAM 사용

16.  SASL 사용

17.  Secure Shell 사용(작업)

18.  Secure Shell(참조)

제6부Kerberos 서비스

19.  Kerberos 서비스 소개

20.  Kerberos 서비스 계획

21.  Kerberos 서비스 구성(작업)

22.  Kerberos 오류 메시지 및 문제 해결

23.  Kerberos 주체 및 정책 관리(작업)

24.  Kerberos 응용 프로그램 사용(작업)

25.  Kerberos 서비스(참조)

제7부Oracle Solaris에서 감사

26.  감사(개요)

27.  감사 계획

28.  감사 관리(작업)

29.  감사(참조)

용어집

색인

역할 기반 액세스 제어(개요)

RBAC(역할 기반 액세스 제어)는 보통 root 역할로 제한되는 작업에 대한 사용자 액세스를 제어하기 위한 보안 기능입니다. 프로세스 및 사용자에 보안 속성을 적용하여 여러 관리자 사이에 수퍼유저 능력을 분담할 수 있습니다. 프로세스 권한 관리는 권한을 통해 구현됩니다. 사용자 권한 관리는 RBAC를 통해 구현됩니다.

RBAC: 수퍼유저 모델의 대안

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

RBAC(역할 기반 액세스 제어)는 all-or-nothing 수퍼유저 모델보다 더 안전한 대안을 제시합니다. RBAC를 사용하면 더욱 세분화된 레벨에서 보안 정책을 시행할 수 있습니다. RBAC는 최소 권한의 보안 원칙을 사용합니다. 최소 권한이란, 사용자가 정확하게 작업 수행에 필요한 권한만 할당받아야 한다는 것입니다. 일반 사용자 권한으로 응용 프로그램 사용, 작업 상태 확인, 파일 인쇄, 새 파일 만들기 등을 충분히 수행할 수 있습니다. 일반 사용자 능력 밖의 기능은 권한 프로파일로 그룹화됩니다. 수퍼유저 능력이 필요한 작업을 수행하려는 사용자는 적절한 권한 프로파일이 포함된 역할을 맡습니다.

RBAC는 수퍼유저 능력을 권한 프로파일에 모읍니다. 이러한 권한 프로파일은 역할이라는 특수한 사용자 계정에 지정됩니다. 그러면 사용자가 수퍼유저 능력이 필요한 작업을 수행하는 역할을 맡을 수 있습니다. 미리 정의된 권한 프로파일이 Oracle Solaris 소프트웨어와 함께 제공됩니다. 역할을 만들고 프로파일을 지정합니다.

권한 프로파일은 광범위한 능력을 제공할 수 있습니다. 예를 들어, System Administrator 권한 프로파일을 통해 프린터 관리 및 cron 작업과 같은 보안에 관련되지 않은 작업을 수행할 수 있습니다. 권한 프로파일을 좁게 정의할 수도 있습니다. 예를 들어, Cron Management 권한 프로파일은 atcron 작업을 관리합니다. 역할을 만들 때 광범위한 능력이나 제한된 능력(또는 둘 다)을 지정할 수 있습니다.

다음 그림은 RBAC가 신뢰된 사용자에 어떻게 권한을 분배하는지 보여줍니다.

그림 8-1 RBAC 권한 분배

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

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

역할 설정의 유연성 덕분에 다양한 보안 정책이 가능합니다. Oracle Solaris와 함께 제공되는 역할은 몇 개 없지만 다양한 역할을 쉽게 구성할 수 있습니다. 대부분의 역할은 동일한 이름의 권한 프로파일을 기반으로 합니다.

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

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

수퍼유저 모델과 RBAC 모델이 공존할 수 있습니다. 다음 표는 RBAC 모델에서 사용 가능한, 수퍼유저부터 제한된 일반 사용자까지 단계적 등급을 요약한 것입니다. 양쪽 모델에서 추적할 수 있는 관리 작업이 포함됩니다. 권한 혼자 시스템에 미치는 효과 요약은 표 8-2를 참조하십시오.

표 8-1 수퍼유저 모델과 RBAC+권한 모델 비교

시스템에서 사용자 능력
수퍼유저 모델
RBAC 모델
전체 수퍼유저 능력을 가진 수퍼유저가 될 수 있음
실행 가능
실행 가능
전체 사용자 능력을 가진 사용자로 로그인할 수 있음
실행 가능
실행 가능
제한된 능력을 가진 수퍼유저가 될 수 있음
실행 불가능
실행 가능
사용자로 로그인할 수 있고, 때때로 수퍼유저 능력을 가질 수 있음
실행 가능, setuid 프로그램만 사용
실행 가능, setuid 프로그램과 RBAC 사용
관리 능력을 가졌으나 전체 수퍼유저 능력은 없는 사용자로 로그인할 수 있음
실행 불가능
실행 가능, RBAC와 함께 직접 지정된 권한 및 인증 사용
일반 사용자보다 적은 능력을 가진 사용자로 로그인할 수 있음
실행 불가능
실행 가능, RBAC와 함께 제거된 권한 사용
수퍼유저 작업을 추적할 수 있음
실행 가능, su 명령 감사
실행 가능, pfexec() 호출 감사

또한 root 역할을 맡은 사용자의 이름이 감사 증적에 있음

RBAC 요소 및 기본 개념

Oracle Solaris의 RBAC 모델은 다음 요소를 소개합니다.

다음 그림은 RBAC 요소가 어떻게 상호 작용하는지 보여줍니다.

그림 8-2 RBAC 요소 관계

image:그래픽은 보안 속성을 포함한 권한 프로파일이 역할의 사용자에 어떻게 지정되고, 누가 이러한 권한을 갖고 있는지 보여줍니다.

다음 그림은 Network Security 역할과 Network Security 권한 프로파일을 사용하여 RBAC 관계를 보여줍니다.

그림 8-3 RBAC 요소 관계의 예

image:다음 단락에서 그래픽을 설명합니다.

Network Security 역할은 IPsec, Wifi 및 네트워크 링크를 관리하는 데 사용됩니다. 역할이 사용자 jdoe에 지정됩니다. jdoe가 해당 역할로 전환한 후 역할 암호를 제공하면 역할을 맡을 수 있습니다. 관리자는 역할 암호가 아닌 사용자 암호를 받아들이도록 역할을 사용자 정의할 수 있습니다.

그림 8-3에서 Network Security 권한 프로파일이 Network Security 역할에 지정됩니다. Network Security 권한 프로파일은 Network Wifi Security, Network Link Security, Network IPsec Management 순으로 평가되는 보충 프로파일을 포함합니다. 이러한 보충 프로파일이 역할의 주요 업무를 담당합니다.

Network Security 권한 프로파일에는 3개의 직접 지정된 인증, 0개의 직접 지정된 권한, 2개의 보안 속성 포함 명령이 있습니다. 보충 권한 프로파일에는 직접 지정된 인증이 있고, 이들 중 2개에는 보안 속성 포함 명령이 있습니다. Network Security 역할에서 jdoe는 이러한 프로파일에 지정된 인증을 모두 가지며, 이러한 프로파일의 보안 속성 포함 명령을 모두 실행할 수 있습니다. jdoe는 네트워크 보안을 관리할 수 있습니다.

권한 에스컬레이션

Oracle Solaris는 보안을 구성할 때 관리자에게 커다란 유연성을 부여합니다. 처음 설치 시 이 소프트웨어는 권한 에스컬레이션을 허용하지 않습니다. 사용자나 프로세스가 의도했던 것보다 더 많은 관리 권한을 얻을 때 권한 에스컬레이션이 발생합니다. 이 경우 권한은 단순한 권한이 아니라 보안 속성을 의미합니다.

Oracle Solaris 소프트웨어에는 root 역할에만 지정된 보안 속성이 있습니다. 다른 보안 보호를 그대로 둔 채, 관리자는 root 역할용으로 설계된 속성을 다른 계정에 지정할 수 있지만, 이러한 지정 작업은 몹시 주의를 기울여야 합니다.

다음 권한 프로파일과 인증은 비루트 계정의 권한을 에스컬레이트할 수 있습니다.

권한 보안 속성에 영향을 주는 에스컬레이션은 권한 에스컬레이션 금지를 참조하십시오.

RBAC 인증

인증은 역할이나 사용자에 부여할 수 있는 별개의 권한입니다. 인증은 사용자 응용 프로그램 레벨에서 정책을 시행합니다.

인증을 역할이나 사용자에 직접 지정할 수 있지만, 최적의 사용법은 권한 프로파일에 인증을 포함하는 것입니다. 그런 다음 권한 프로파일이 역할에 추가되고, 역할이 사용자에 지정됩니다. 예제는 그림 8-3을 참조하십시오.

delegate 또는 assign 단어가 포함된 인증은 사용자나 역할이 보안 속성을 다른 사람에게 지정할 수 있습니다.

권한 에스컬레이션을 금지하려면 assign 인증을 계정에 지정하지 마십시오.

solaris.*.assign 인증은 전달되지만, 어떤 프로파일에도 포함되지 않습니다. 기본적으로 root 역할에만 solaris.*.assign 인증이 있습니다.

RBAC 호환 응용 프로그램은 응용 프로그램이나 그 안의 특정 작업에 액세스를 부여하기 전에 사용자의 인증을 검사할 수 있습니다. 이 검사는 UID=0에 대한 전통적인 UNIX 응용 프로그램의 검사를 대체합니다. 인증에 대한 자세한 내용은 다음 절을 참조하십시오.

인증 및 권한

권한은 커널에서 보안 정책을 시행합니다. 인증과 권한의 차이점은 보안 정책을 시행하는 레벨에 있습니다. 적절한 권한 없이 프로세스는 커널을 통해 권한 있는 작업을 수행하는 것을 금지할 수 있습니다. 적절한 인증 없이 사용자는 권한 있는 응응 프로그램을 사용하거나 권한 있는 응응 프로그램 내에서 보안에 민감한 작업을 수행하는 것을 금지할 수 있습니다. 더 자세한 권한 설명은 권한(개요)을 참조하십시오.

권한 있는 응응 프로그램 및 RBAC

시스템 컨트롤을 대체할 수 있는 응용 프로그램 및 명령은 권한 있는 응응 프로그램으로 간주됩니다. UID=0과 같은 보안 속성, 권한 및 인증은 응용 프로그램에 권한을 부여합니다.

UID 및 GID를 검사하는 응용 프로그램

root(UID=0) 또는 다른 특수한 UID/GID를 검사하는 권한 있는 응용 프로그램이 UNIX 환경에 오랫동안 존재해 왔습니다. 권한 프로파일 방식을 통해 특수한 ID가 필요한 명령을 격리할 수 있습니다. 누구나 액세스할 수 있는 명령의 ID를 변경하는 대신, 권한 프로파일에 지정된 보안 속성 포함 명령을 배치할 수 있습니다. 그러면 해당 권한 프로파일을 가진 사용자/역할이 수퍼유저가 되지 않고도 프로그램을 실행할 수 있습니다.

실제 또는 유효로 ID를 지정할 수 있습니다. 유효 ID를 지정하는 것이 실제 ID를 지정하는 것보다 선호됩니다. 유효 ID는 파일 사용 권한 비트의 setuid 기능과 같습니다. 유효 ID는 감사용 UID를 식별하기도 합니다. 그러나 일부 셸 스크립트 및 프로그램은 root의 실제 UID가 필요하므로 실제 UID도 설정할 수 있습니다. 예를 들어, reboot 명령은 유효 UID보다 실제 UID가 필요합니다. 유효 ID가 명령을 실행하기에 부족한 경우 실제 ID를 명령에 지정해야 합니다.

권한을 검사하는 응용 프로그램

권한 있는 응용 프로그램은 권한 사용을 검사할 수 있습니다. RBAC 권한 프로파일 방식을 통해 보안 속성이 필요한 특수한 명령에 권한을 지정할 수 있습니다. 그런 다음, 권한 프로파일에서 지정된 보안 속성 포함 명령을 격리할 수 있습니다. 그러면 해당 권한 프로파일을 가진 사용자/역할이 명령 성공을 위해 필요한 권한만으로 명령을 실행할 수 있습니다.

권한을 검사하는 명령은 다음과 같습니다.

권한 포함 명령을 권한 프로파일에 추가하려면 감사 프로파일을 만들거나 변경하는 방법profiles(1) 매뉴얼 페이지를 참조하십시오. 특정 프로파일에서 권한을 검사하는 명령을 확인하려면 모든 정의된 보안 속성을 보는 방법을 참조하십시오.

인증을 검사하는 응용 프로그램

Oracle Solaris는 추가적으로 인증을 검사하는 명령을 제공합니다. 정의상, root 사용자는 모든 인증을 가집니다. 따라서 root 사용자는 어떤 응용 프로그램도 실행할 수 있습니다. 인증을 검사하는 응용 프로그램은 다음과 같습니다.

스크립트나 프로그램에서 인증을 테스트하려면 예 9-16을 참조하십시오. 인증이 필요한 프로그램을 작성하려면 Developer’s Guide to Oracle Solaris 11 Security의 About Authorizations를 참조하십시오.

RBAC 권한 프로파일

권한 프로파일은 관리 권한이 필요한 작업을 수행하기 위해 역할/사용자에 지정할 수 있는 보안 속성 모음입니다. 권한 프로파일에는 인증, 권한, 지정된 보안 속성 포함 명령 및 기타 권한 프로파일이 포함될 수 있습니다. 권한 프로파일에 지정된 권한은 모든 명령에 효력을 발휘합니다. 또한 권한 프로파일은 초기 상속 가능한 세트를 감소/확장하거나 권한의 제한 세트를 감소하는 항목을 포함합니다.

권한 프로파일에 대한 자세한 내용은 다음 절을 참조하십시오.

RBAC 역할

역할은 권한 있는 응용 프로그램을 실행할 수 있는 특수한 유형의 사용자 계정입니다. 역할은 사용자 계정과 동일한 방법으로 만듭니다. 역할에는 홈 디렉토리, 그룹 지정, 암호 등이 있습니다. 권한 프로파일 및 인증은 역할에 관리 능력을 제공합니다. 역할은 다른 역할이나 다른 사용자로부터 능력을 상속할 수 없습니다. 별개의 역할이 수퍼유저 능력을 분담하므로 더 안전한 관리 방법입니다.

사용자가 역할을 맡을 때 역할의 속성이 모든 사용자 속성을 대체합니다. 역할 정보는 passwd, shadow, user_attr 데이터베이스에 저장됩니다. 역할의 동작을 감사할 수 있습니다. 역할 설정에 대한 자세한 내용은 다음 절을 참조하십시오.

역할을 여러 사용자에 지정할 수 있습니다. 동일한 역할을 맡은 모든 사용자는 동일한 역할 홈 디렉토리를 사용하고, 동일한 환경에서 작동하며, 동일한 파일에 액세스할 수 있습니다. 사용자가 명령줄에서 su 명령을 실행하고 역할 이름과 암호를 제공하면 역할을 맡을 수 있습니다. 기본적으로 사용자는 역할의 암호를 제공하여 인증됩니다. 관리자는 사용자의 암호를 제공하여 인증되도록 시스템을 구성할 수 있습니다. 절차는 사용자가 고유의 암호를 사용하여 역할을 맡도록 설정하는 방법을 참조하십시오.

역할을 직접 로그인할 수 없습니다. 사용자가 로그인 후에 역할을 맡습니다. 역할을 맡은 사용자는 현재 역할을 끝내기 전까지 다른 역할을 맡을 수 없습니다. 역할을 끝낸 사용자는 다른 역할을 맡을 수 있습니다.

root는 Oracle Solaris의 역할이므로 익명의 root 로그인을 금지합니다. 프로파일 셸 명령 pfexec가 감사 중인 경우 감사 증적에 사용자 로그인의 실제 UID, 사용자가 맡은 역할, 역할이 수행한 작업이 포함됩니다. 시스템이나 특정 사용자의 역할 운영을 감사하려면 역할을 감사하는 방법을 참조하십시오.

소프트웨어와 함께 제공된 권한 프로파일은 역할에 매핑되도록 설계되었습니다. 예를 들어, System Administrator 권한 프로파일을 사용하여 System Administrator 역할을 만들 수 있습니다. 역할을 구성하려면 역할을 만드는 방법을 참조하십시오.

프로파일 셸 및 RBAC

사용자 및 역할은 프로파일 셸에서 권한 있는 응용 프로그램을 실행할 수 있습니다. 프로파일 셸은 권한 프로파일에 포함된 보안 속성을 인식하는 특수한 셸입니다. 관리자가 로그인 셸로 특정 사용자에게 프로파일 셸을 지정할 수 있습니다. 또는 사용자가 역할을 맡기 위해 su 명령을 실행할 때 프로파일 셸이 시작됩니다. Oracle Solaris에서 모든 셸에는 대응하는 프로파일 셸이 있습니다. 예를 들어, Bourne 셸(sh), Bash 셸(csh), Korn 셸(ksh)에 대응하는 프로파일 셸은 각각 pfsh, pfbash, pfksh입니다. 프로파일 셸 목록은 pfexec(1) 매뉴얼 페이지를 참조하십시오.

권한 프로파일에 직접 지정된 사용자의 로그인 셸이 프로파일 셸이 아닌 경우 보안 속성 포함 명령을 실행하려면 프로파일 셸을 호출해야 합니다. 유용성 및 보안 고려 사항은 보안 속성을 직접 지정할 때 보안 고려 사항을 참조하십시오.

프로파일 셸에서 실행된 모든 명령을 감사할 수 있습니다. 자세한 내용은 역할을 감사하는 방법을 참조하십시오.

이름 서비스 범위 및 RBAC

이름 서비스 범위는 RBAC를 이해하는 데 중요한 개념입니다. 역할의 범위를 개별 호스트로 제한할 수 있습니다. 다른 방법으로, LDAP과 같은 이름 지정 서비스로 제공된 모든 호스트를 범위에 포함할 수 있습니다. 시스템의 이름 서비스 범위는 이름 스위치 서비스 svc:/system/name-service/switch에 지정됩니다. 첫번째 일치 시 조회를 멈춥니다. 예를 들어, 권한 프로파일이 두 이름 서비스 범위에 존재하는 경우 첫번째 이름 서비스 범위의 항목만 사용됩니다. files가 첫번째 일치일 경우 역할의 범위가 로컬 호스트로 제한됩니다.

보안 속성을 직접 지정할 때 보안 고려 사항

일반적으로, 사용자는 역할을 통해 관리 능력을 얻습니다. 인증, 권한 및 권한 있는 명령은 권한 프로파일로 그룹화됩니다. 권한 프로파일은 역할에 포함되고, 역할은 사용자에 지정됩니다.

권한 프로파일과 보안 속성의 직접 지정도 가능합니다.

그러나 권한의 직접 지정은 안전한 방법이 아닙니다. 직접 지정된 권한을 가진 사용자/역할은 커널을 통해 이 권한이 필요한 어디서든 보안 정책을 대체할 수 있습니다. 더 안전한 방법은 권한 프로파일에서 명령의 보안 속성으로 권한을 지정하는 것입니다. 그런 다음, 해당 권한 프로파일을 가진 누구나 해당 명령에만 권한을 사용할 수 있습니다.

인증은 사용자 레벨에서 작동하므로 인증의 직접 지정은 권한의 직접 지정보다 덜 위험할 수 있습니다. 그러나 인증을 통해 사용자가 감사 플래그 지정과 같은 고도의 보안 작업을 수행할 수 있습니다.

보안 속성을 직접 지정할 때 유용성 고려 사항

권한 프로파일과 보안 속성의 직접 지정은 유용성에 영향을 미칠 수 있습니다.