특권은 Trusted Solaris가 금지한 작업을 프로세스가 수행하도록 허가하는 권한입니다. 예를 들어 정상적인 경우 프로세스는 적절한 파일 사용 권한이 없으면 데이터 파일을 열 수 없습니다. Trusted Solaris 환경에서, file_dac_read 특권은 파일을 읽기 위해 UNIX 파일 사용 권한에 우선하는 기능을 프로세스에 부여합니다.
Trusted Solaris는 응용프로그램의 실행 파일에 할당된 특권 및 응용프로그램 프로세스나 상위 프로세스에 관련된 특권에 기초하여 프로세스가 행사할 수 있는 특권을 결정합니다. 응용프로그램이 특권을 사용하게 만들려면 관리자는 사용자가 응용프로그램을 사용하는 방법에 따라 다음 특권 중 두 개 집합 이상을 할당해야 합니다.
허용 집합 - 응용프로그램의 실행 파일과 관련이 있습니다. 허용 특권은 다른 조건을 충족시킨다는 조건 하에서 응용프로그램과 함께 사용될 수 있는 특권입니다("프로세스는 특권을 획득하는 방법" 참조). 허용 집합은 가장 일반적인 인수로서, 프로세스의 특권 행사 여부를 결정합니다. 허용 특권 집합에서 특권을 제외한다는 것은 이 응용프로그램으로는 어떤 사용자도 이 특권을 행사할 수 없음을 의미합니다. 관리자는 파일 관리자 또는 setfpriv 명령 중 하나를 사용하여 허용 특권을 지정할 수 있습니다. getfpriv 명령을 사용하면 현재 허용 집합에 있는 특권을 볼 수 있습니다.
강제 집합 - 응용프로그램의 실행 파일과 관련이 있습니다. 강제 특권은 응용프로그램이 액세스가 허용된 사용자에 의해 실행될 때 조건 없이 활성화되는 특권입니다. 관리자는 파일 관리자 또는 setfpriv를 사용하여 강제 특권을 지정하며 그 방식은 허용 특권과 유사합니다. 허용 집합에 없는 경우 특권을 강제 집합에 추가할 수 없음을 유의하십시오.
상속 집합 - 응용프로그램 프로세스와 관련이 있으며, 상위 프로세스에서 상속된 실행 프로파일 및 특권에 있어 응용프로그램에 할당되는 특권들의 조합입니다. 상속 가능한 특권은 프로세스가 시작될 때 활성화되는 특권입니다(단, 그 특권이 응용프로그램의 허용 집합에도 있는 경우). 관리자는 프로파일 관리자를 통해 프로세스의 상속 집합에 특권을 직접 할당할 수 있습니다. 또한 프로세스는 상위 프로세스로부터 상속 가능한 특권을 획득할 수 있습니다. 상위 프로세스가 exec를 사용하여 하위 프로세스를 시작하는 경우, 하위 프로세스의 허용 집합은 상속받을 수 있는 특권을 제한합니다.
하위 프로세스는 강제 특권을 상속하지 않습니다. 단, Trusted Solaris 환경으로 특정 기능을 가지도록 사용자가 특별히 정의한 응용프로그램은 예외입니다.
프로세스는 다음 조건을 충족하는 경우 특권을 행사할 수 있습니다.
특권은 실행 파일(또는 스크립트 해석기)의 허용 특권 집합에 포함되어야 합니다.
응용프로그램에 액세스하는 사용자가 이 특권을 행사해야 할 경우 실행 파일의 강제 특권 집합에 특권이 포함되어야 합니다.
특정 실행 프로파일을 가진 사용자나 역할만 이 특권을 행사할 경우 실행 프로파일의 상속 가능한 특권 집합 또는 응용프로그램을 시작할 수 있는 상위 프로세스의 상속 가능한 특권 집합에 특권이 포함되어야 합니다.
Trusted Solaris는 보안 정책에 우선하여 응용프로그램에 적용할 수 있는 80 가지 이상의 특권을 제공합니다. 전체 특권 목록은 priv_desc(4)온라인 참조 페이지를 참조하십시오. 각 특권들은 아래 표에 표시된 범주별로 분류됩니다.
표 1-6 특권 범주
특권 범주 |
요약 |
범주에 속한 특권 예제 |
---|---|---|
사용자와 그룹 ID에 대한 파일 시스템 제한, 액세스 권한, 레이블 설정, 소유권 및 파일 특권 집합을 무시합니다. |
file_dac_chown - 프로세스가 파일의 소유권 사용자를 변경합니다. |
|
메시지 대기열, 신호 장치 집합 또는 공유 메모리 영역에 대한 제한을 무시합니다. |
ipc_dac_read - 사용 권한 비트나 ACL로 인해 허용을 읽지 못하는 경우, 프로세스가 System V IPC 메시지 대기열, 신호 장치 집합 또는 공유 메모리 역역을 읽을 수 있습니다. |
|
예약된 포트 바인딩이나 다중 레벨 포트 바인딩, 브로드캐스트 메시지 전송 또는 보안 속성(레이블, 메시지의 특권 또는 네트워크 종단점 기본값 등의) 지정에 대한 제한을 무시합니다. |
net_broadcast - 프로세스가 지정된 네트워크에서 브로드캐스트 패킷을 전송합니다. |
|
감사, 레이블 설정, 위장 채널 지연, 소유권, 클리어런스, 사용자 ID 또는 그룹 ID에 대한 제한을 무시합니다. |
proc_mac_read - 프로세스의 민감도 레이블을 읽는 것이 다른 프로세스의 민감도 레이블에 의해 지배되는 경우 프로세스가 다른 프로세스를 읽습니다. |
|
감사, 워크스테이션 부팅, 워크스테이션 구성 관리, 콘솔 출력 방향 재조정, 장치 관리, 파일 시스템, 디렉토리에 하드 링크 생성, 메시지 대기열 크기 증가, 프로세스 수 증가, 워크스테이션 네트워크 구성, 제삼자의 읽어들일 수 있는 모듈 또는 레이블 변환 등에 대한 제한을 무시합니다. |
sys_boot - 프로세스가 Trusted Solaris 워크스테이션을 정지 또는 재부팅합니다. |
|
색상 맵, 윈도우에 읽기와 쓰기, 입력 장치, 레이블 설정, 글꼴 경로, 윈도우 이동, X 서버 자원 관리 또는 DGA(직접 그래픽 액세스) X 프로토콜 확장 등에 대한 제한을 무시합니다. |
win_selection - 선택 중재자의 개입 없이 프로세스가 윈도우 사이의 데이터 이동을 요청할 수 있습니다. |
관리자는 파일 관리자를 통해 실행 파일에 허용 특권 및 강제 특권을 할당합니다. 대개의 경우, 관리자는 허용 집합에 모든 특권을 포함시키고 있습니다. 이 응용프로그램에 행사할 수 없는 특권이 있는 경우 그러한 특권을 허용 집합에서 제외하십시오. 일반적으로 관리자는 해당 응용프로그램에 필수적일 때만 강제 특권을 사용합니다. 허용되었지만 강제되지 않는 특권은 프로세스의 상속 집합에 동일한 특권이 있는 경우에만 사용할 수 있습니다.
파일 관리자(File Manager) 팝업 메뉴의 특권 변경(Change Privileges)을 선택하면 해당 응용프로그램 아이콘에 대한 파일 관리자 특권(File Manager Privileges) 대화 상자가 나타납니다(다음 그림 참조). 특권 대화 상자는 실행 파일의 경로, 소유자, 그룹 및 파일 유형(실행 파일 또는 스크립트)을 식별하고 관리자가 특권 집합의 유형(허용 특권 또는 강제 특권)을 선택하게 하며, 제외(Excluded) 집합으로 특권을 이동하고, 그 집합으로부터 특권을 이동하기 위해 사용되는 두 개의 목록 필드를 제공합니다. 설명(Description) 필드는 선택한 특권을 설명합니다. 관리자는 세 개의 선택 제어를 사용하여 전체 특권 그룹을 지정할 수 있습니다.
관리자는 프로파일 관리자를 사용하여 상속 가능한 특권을 실행 프로파일 내의 CDE 동작 및 명령에 할당합니다. 프로파일에 있는 응용프로그램의 상속 집합 특권은, 그 특권이 해당 실행 파일에 대한 허용 집합에서 허용된 경우에만 사용할 수 있습니다. 응용프로그램 프로세스는 다른 상속 가능한 특권과 함께 이 특권을, 응용프로그램이 분기하는 하위 프로세스에 상속할 수 있습니다.
다른 상속 가능한 특권 집합을 가진 다른 프로파일에 의해 동일한 응용프로그램이 포함될 수 있습니다.
다음 표는 프로세스에 특권을 사용하는 방법을 나타냅니다. 이 표는 가정 응용프로그램에 대한 허용 특권 집합(A = 허용함, N = 허용하지 않음), 강제 특권 집합(F 표시) 및 상속 가능한 특권 집합(I 표시)을 나타냅니다.
표 1-7 응용프로그램 예제에 대한 특권 집합
특권 |
허용 |
강제 |
상속 |
---|---|---|---|
N |
|
I |
|
file_upgrade_sl |
N |
|
I |
A |
F |
I |
|
win_fontpath |
A |
F |
I |
win_colormap |
A |
F |
I |
A |
|
I |
|
file_dac_read |
A |
|
I |
A |
|
|
|
file_dac_execute |
A |
|
|
예제의 해석 방법은 다음과 같습니다.
허용 집합 - 허용 집합에 없는 특권은 사용할 수 없습니다(예: file_mac_write 및 file_upgrade_sl). 이렇게 하면 특권이 부주의하게 사용되는 것을 효과적으로 방지할 수 있습니다. 허용은 되지만 강제되지 않은 특권은 해당 응용프로그램에 대한 프로파일의 상속 가능한 특권 집합에 포함되어 있는 경우에만 사용할 수 있습니다(file_dac_search 및 file_dac_read). 허용되지만 강제 또는 상속되지 않은 특권은 사용할 수 없습니다(예: file_chown 및 file_dac_execute).
강제 집합 - 응용프로그램을 실행할 수 있는 사용자는 강제되는 특권을 조건 없이 사용할 수 있습니다. 특권은 허용되지 않은 상태에서 강제될 수 없기 때문입니다(win_dga, win_fontpath 및 win_colormap는 강제된 것입니다).