Trusted Extensions 구성 및 관리

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

Trusted Extensions 소프트웨어의 레이블

레이블 및 클리어런스는 Trusted Extensions에서 MAC(필수 액세스 제어)의 핵심 요소입니다. 레이블과 클리어런스에 따라 어느 사용자가 무슨 프로그램, 파일 및 디렉토리에 액세스할 수 있는지가 결정됩니다. 레이블과 클리어런스는 하나의 분류 구성 요소와 0개 이상의 구획 구성 요소로 구성됩니다. 분류 구성 요소는 보안 계층 레벨(예: TOP SECRET - SECRET - PUBLIC)을 나타냅니다. 구획 구성 요소는 정보의 일반 본문에 액세스해야 하는 사용자 그룹을 나타냅니다. 일반적인 유형의 구획으로는 프로젝트, 부서, 물리적 위치 등이 있습니다. 권한 부여된 사용자가 레이블을 읽을 수 있지만, 내부적으로는 레이블이 숫자로 조작됩니다. 숫자와 읽기 가능한 버전은 label_encodings 파일에 정의되어 있습니다.

Trusted Extensions에서는 시도되는 보안 관련 트랜잭션을 모두 중개합니다. 소프트웨어에서는 액세스하는 엔티티(일반적으로 프로세스)와 액세스 대상 엔티티(일반적으로 파일 시스템 객체)의 레이블을 비교합니다. 그런 다음 지배적인 레이블에 따라 트랜잭션을 허용하거나 거부합니다. 레이블은 다른 시스템 리소스(예: 할당 가능한 장치, 네트워크, 프레임 버퍼, 다른 시스템)에 대한 액세스 권한을 결정하는 데도 사용됩니다.

레이블 사이의 지배 관계

    엔티티의 레이블이 다음과 같은 두 조건을 충족하는 경우 다른 레이블을 지배한다고 합니다.

  • 첫번째 엔티티 레이블의 분류 구성 요소는 두번째 레이블의 분류보다 높거나 같습니다. 보안 관리자는 label_encodings 파일에서 분류에 번호를 지정합니다. 소프트웨어에서는 이 번호를 비교하여 지배 관계를 결정합니다.

  • 첫번째 엔티티의 구획 세트에 두번째 엔티티의 모든 구획이 포함됩니다.

분류와 구획 세트가 동일한 경우 두 레이블이 동일하다고 합니다. 레이블이 동일한 경우 서로 지배 관계이므로 액세스가 허용됩니다.

한 레이블의 분류가 더 높거나 레이블의 분류가 동일하지만 한 레이블의 구획이 두번째 레이블 구획의 수퍼 세트인 경우 첫번째 레이블이 두번째 레이블을 완전히 지배한다고 합니다.

어떤 레이블도 다른 레이블을 지배하지 않는 경우 두 레이블은 분리 또는 비교 불가라고 합니다.

다음 표에서는 지배에 대한 레이블 비교의 예를 제공합니다. 예에서 NEED_TO_KNOWINTERNAL보다 더 높은 분류입니다. 이 예에는 Eng, Mkt, Fin의 세 가지 구획이 있습니다.

표 6-1  레이블 관계 예
레이블 1
관계
레이블 2
NEED_TO_KNOW Eng Mkt
(엄격한) 지배
INTERNAL Eng Mkt
NEED_TO_KNOW Eng Mkt
(엄격한) 지배
NEED_TO_KNOW Eng
NEED_TO_KNOW Eng Mkt
(엄격한) 지배
INTERNAL Eng
NEED_TO_KNOW Eng Mkt
지배(동등)
NEED_TO_KNOW Eng Mkt
NEED_TO_KNOW Eng Mkt
분리
NEED_TO_KNOW Eng Fin
NEED_TO_KNOW Eng Mkt
분리
NEED_TO_KNOW Fin
NEED_TO_KNOW Eng Mkt
분리
INTERNAL Eng Mkt Fin
관리 레이블

Trusted Extensions에서는 레이블이나 클리어런스로 사용되는 ADMIN_HIGH 및 ADMIN_LOW라는 두 가지 특수 관리 레이블을 제공합니다. 이 레이블은 시스템 리소스를 보호하는 데 사용되며 일반 사용자가 아닌 관리자용입니다.

ADMIN_HIGH는 최상위 레이블입니다. ADMIN_HIGH는 시스템의 다른 레이블을 모두 지배하며 시스템 데이터(예: 관리 데이터베이스, 감사 증적)를 읽지 못하도록 보호하는 데 사용됩니다. 레이블이 ADMIN_HIGH인 데이터를 보려면 전역 영역에 있어야 합니다.

ADMIN_LOW는 최하위 레이블입니다. ADMIN_LOW는 일반 사용자 레이블을 포함하여 시스템의 다른 모든 레이블의 지배를 받습니다. 필수 액세스 제어는 사용자가 자신의 레이블보다 낮은 레이블의 파일에 데이터를 쓰는 것을 허용하지 않습니다. 따라서 일반 사용자는 ADMIN_LOW 레이블의 파일을 읽을 수 있지만 수정할 수는 없습니다. ADMIN_LOW는 일반적으로 공유되는 공용 실행 파일(예: /usr/bin에 있는 파일)을 보호하는 데 사용됩니다.

레이블 인코딩 파일

    시스템의 모든 레이블 구성 요소 즉, 분류, 구획 및 연결된 규칙은 ADMIN_HIGH 파일인 label_encodings 파일에 저장됩니다. 원본 파일은 /etc/security/tsol 디렉토리에 있습니다. Trusted Extensions가 사용으로 설정된 다음에는 파일 위치가 labeld 서비스의 등록 정보로 저장됩니다. 보안 관리자는 사이트에 대한 label_encodings 파일을 구성합니다. 레이블 인코딩 파일에는 다음이 포함됩니다.

  • 구성 요소 정의 - 분류, 구획, 레이블 및 클리어런스 정의(필요한 조합 및 제약 조건에 대한 규칙 포함)

  • 승인 범위 정의 - 전체 시스템 및 일반 사용자에 대해 사용 가능한 레이블 세트를 정의하는 클리어런스 및 최소 레이블 지정

  • 인쇄 사양 - 인쇄 출력에 표시되는 인쇄 배너, 트레일러, 머리글, 바닥글 및 기타 보안 기능에 대한 식별 및 처리 정보

  • 사용자 정의 - 로컬 정의(레이블 색상 코드 포함)와 기타 기본값

자세한 내용은 label_encodings(4) 매뉴얼 페이지를 참조하십시오. 자세한 내용은 Trusted Extensions Label Administration Compartmented Mode Workstation Labeling: Encodings Format 을 참조하십시오.

레이블 범위

레이블 범위는 사용자가 작업할 수 있는 잠재적으로 사용 가능한 레이블의 세트입니다. 사용자와 리소스 모두 레이블 범위를 가집니다. 레이블 범위로 보호할 수 있는 리소스로는 할당 가능한 장치, 네트워크, 인터페이스, 프레임 버퍼, 명령 등이 있습니다. 레이블 범위는 범위의 맨 위에 있는 클리어런스와 맨 아래에 있는 최소 레이블로 정의됩니다.

최대 레이블과 최소 레이블 사이에 있는 모든 레이블 조합이 범위에 반드시 포함되어야 하는 것은 아닙니다. label_encodings 파일의 규칙에 따라 특정 조합이 무효화될 수 있습니다. 레이블이 범위에 포함되려면 올바른 형식이 되어야 합니다. 즉, 레이블 인코딩 파일의 적용 가능한 모든 규칙에서 레이블을 허용해야 합니다.

클리어런스는 올바른 형식이 아니어도 됩니다. 예를 들어, label_encodings 파일이 레이블에서 Eng, MktFin 구획의 모든 조합을 금지하는 경우 INTERNAL Eng Mkt Fin은 유효한 클리어런스지만 유효한 레이블은 아닙니다. 사용자는 이 조합을 클리어런스로 사용하여 레이블이 INTERNAL Eng, INTERNAL MktINTERNAL Fin인 파일에 액세스할 수 있습니다.

계정 레이블 범위

사용자에게 클리어런스와 최소 레이블을 지정하면 사용자가 작업할 수 있는 계정 레이블 범위의 상한과 하한이 정의됩니다. 다음 방정식은 계정 레이블 범위를 보여줍니다. 여기서 ≤은 "지배됨 또는 동등"을 나타냅니다.

minimum-labelpermitted-labelclearance

따라서 레이블이 최소 레이블을 지배하는 경우 사용자는 클리어런스의 지배를 받는 모든 레이블에서 작업할 수 있습니다. 사용자의 클리어런스와 최소 레이블이 명시적으로 설정되지 않은 경우 label_encodings 파일에 정의된 기본값이 적용됩니다.

두 개 이상의 레이블 또는 단일 레이블에서 작업할 수 있도록 사용자에게 클리어런스와 최소 레이블을 지정할 수 있습니다. 사용자의 클리어런스와 레이블이 동일할 경우 사용자는 하나의 레이블에서만 작업할 수 있습니다.

세션 범위

세션 범위는 사용자가 Trusted Extensions 세션 동안 사용할 수 있는 레이블 세트입니다. 세션 범위는 시스템에 대해 설정된 레이블 범위와 사용자의 계정 레이블 범위 내에 있어야 합니다. 로그인할 때 사용자가 단일 레이블 세션 모드를 선택하면 세션 범위는 해당 레이블로 제한됩니다. 사용자가 다중 레이블 모드를 선택하면 해당 레이블이 세션 클리어런스가 됩니다. 세션 클리어런스는 세션 범위의 상한을 정의합니다. 사용자의 최소 레이블은 하한을 정의합니다. 사용자는 최소 레이블의 작업 공간에서 세션을 시작합니다. 세션 동안 사용자는 세션 범위 내에 있는 모든 레이블의 작업 공간으로 전환할 수 있습니다.

레이블이 보호하는 항목 및 레이블이 표시되는 위치

레이블은 데스크탑과 데스크탑에서 실행되는 출력(예: 인쇄 출력)에 표시됩니다.

  • 응용 프로그램 – 응용 프로그램에서 프로세스를 시작합니다. 이러한 프로세스는 응용 프로그램이 시작되는 작업 공간의 레이블에서 실행됩니다. 파일과 같이 레이블이 있는 영역 내 응용 프로그램의 레이블은 해당 영역의 레이블에서 지정됩니다.

  • 장치 – 장치를 통해 이동하는 데이터는 장치 할당 및 장치 레이블 범위를 통해 제어됩니다. 장치를 사용하려면 사용자가 장치의 레이블 범위 내에 있고 해당 장치를 할당할 수 있게 권한 부여되어야 합니다.

  • 파일 시스템 마운트 지점 – 모든 마운트 지점에는 레이블이 있습니다. getlabel 명령을 사용하여 레이블을 볼 수 있습니다.

  • IPsec 및 IKE – IPsec 보안 연결 및 IKE 규칙에는 레이블이 있습니다.

  • 네트워크 인터페이스 – IP 주소(호스트)에는 해당 레이블 범위를 설명하는 보안 템플리트가 지정됩니다. 레이블이 없는 호스트에도 통신하는 Trusted Extensions 시스템에 의해 기본 레이블이 지정됩니다.

  • 프린터 및 인쇄 – 프린터에는 레이블 범위가 있습니다. 레이블은 본문 페이지에 인쇄됩니다. 레이블, 처리 정보 및 기타 보안 정보는 배너 및 트레일러 페이지에 인쇄됩니다. Trusted Extensions에서 인쇄를 구성하려면 Chapter 19, 레이블이 있는 인쇄 관리Trusted Extensions Label Administration 의 Labels on Printed Output을 참조하십시오.

  • 프로세스 – 프로세스에는 레이블이 있습니다. 프로세스는 해당 프로세스가 시작된 작업 공간의 레이블에서 실행됩니다. 프로세스의 레이블은 plabel 명령을 사용하여 볼 수 있습니다.

  • 사용자 – 사용자에게는 기본 레이블과 레이블 범위가 지정됩니다. 사용자의 작업 공간 레이블은 사용자의 프로세스 레이블을 나타냅니다.

  • 창 - 레이블이 데스크탑 창의 맨 위에 표시됩니다. 또한 데스크탑의 레이블은 색상으로 표시됩니다. Figure 6–1에 나온 대로 작업 공간 패널과 창 제목 표시줄 위에 색상이 나타납니다.

    창을 다른 레이블이 있는 작업 공간으로 이동해도 창의 원래 레이블이 유지됩니다. 해당 창에서 시작된 프로세스는 원래 레이블에서 실행됩니다.

  • 영역 – 모든 영역에는 레이블이 있습니다. 영역에서 소유한 파일과 디렉토리는 영역의 레이블에 있습니다. 자세한 내용은 getzonepath(1) 매뉴얼 페이지를 참조하십시오.