SolarisTM Trusted Extensions는 소프트웨어에서 사이트의 보안 정책 부분을 구현합니다. 이 장에서는 소프트웨어 구성의 보안 및 관리 측면에 대한 개요를 제공합니다.
이 절에서는 Trusted Extensions 소프트웨어를 설치 및 구성하기 전에 필요한 계획 수립에 대해 개략적으로 소개합니다.
Trusted Extensions 구성 작업에 대한 점검 목록은 부록 CTrusted Extensions 구성 검사 목록을 참조하십시오. 사이트를 현지화하려면 Trusted Extensions의 해외 고객을 참조하십시오. 평가된 구성을 실행하려면 사이트 보안 정책의 이해를 참조하십시오.
Trusted Extensions를 설치 및 구성하는 데에는 실행 파일 로드, 사이트 데이터 지정 및 구성 변수 설정 이상의 작업이 수반됩니다. 이러한 작업을 수행하려면 상당한 양의 배경 지식이 필요합니다. Trusted Extensions 소프트웨어는 다음과 같은 개념을 기반으로 하는 레이블이 있는 환경을 제공합니다.
대부분의 UNIX® 환경에서 수퍼유저에게 할당된 기능은 고유한 관리 역할에 사용할 수 있습니다.
UNIX 사용 권한 이외에 특수 보안 태그를 통해서도 데이터 액세스가 제어됩니다. 이 태그를 레이블이라고 합니다. 레이블은 사용자, 프로세스 및 객체(예: 데이터 파일 및 디렉토리)에 할당됩니다.
보안 정책을 무효화하는 기능을 특정 사용자와 응용 프로그램에 할당할 수 있습니다.
Trusted Extensions를 사용하면 사이트의 보안 정책을 Solaris OS와 효율적으로 통합할 수 있습니다. 따라서 정책의 범위와 Trusted Extensions 소프트웨어에서 해당 정책을 수용하는 기능을 정확하게 이해해야 합니다. 체계적인 구성에서는 사이트 보안 정책과의 일관성 및 시스템에서 작업을 수행하는 사용자의 편의성이 균형있게 고려되어야 합니다.
Trusted Extensions는 기본적으로 다음과 같은 보호 프로필에 대해 Assurance Level EAL4에서 Common Criteria for Information Technology Security Evaluation(ISO/IEC 15408)을 준수하도록 구성되어 있습니다.
레이블이 있는 보안 보호 프로필
제어 액세스 보호 프로필
역할 기반 액세스 제어 보호 프로필
이 평가 수준을 충족하려면 LDAP를 이름 지정 서비스로 구성해야 합니다. 다음 중 하나를 수행하면 구성이 더 이상 평가와 일치하지 않을 수 있습니다.
/etc/system 파일에서 커널 스위치 설정을 변경합니다.
감사 또는 장치 할당을 해제합니다.
다음 구성 가능 파일에서 기본 항목을 변경합니다.
/usr/openwin/server/etc/*
/usr/dt/app-defaults/C/Dt
/usr/dt/app-defaults/C/Dtwm
/usr/dt/app-defaults/C/SelectionManager
/usr/dt/bin/Xsession
/usr/dt/bin/Xtsolsession
/usr/dt/bin/Xtsolusersession
/usr/dt/config/sel_config
/usr/X11/lib/X11/xserver/TrustedExtensionsPolicy
자세한 내용은 Common Criteria 웹 사이트를 참조하십시오.
root 사용자 또는 시스템 관리자 역할은 Solaris Trusted Extensions 설치 매체에서 패키지를 로드합니다. 역할을 만들어 여러 기능 영역 간에 관리 책임을 나눌 수 있습니다.
보안 관리자는 민감도 레이블 설정 및 할당, 감사 구성, 암호 정책 설정 등과 같은 보안 관련 작업을 담당합니다.
시스템 관리자는 설정, 유지 보수 및 일반 관리의 비보안 측면을 담당합니다.
주 관리자는 보안 및 시스템 관리자에게 충분한 권한이 없을 때 보안 관리자에 대한 권한 프로필 만들기 및 문제 해결을 담당합니다.
제한된 역할을 추가로 구성할 수 있습니다. 예를 들어, 운영자가 파일 백업을 담당할 수 있습니다.
관리 전략의 일부로 다음과 같은 의사 결정을 내려야 합니다.
관리 책임과 관리 책임을 처리하는 사용자
신뢰할 수 있는 응용 프로그램을 실행할 수 있는 관리자가 아닌 사용자, 즉 필요한 경우 보안 정책을 무효화하도록 허용된 사용자
데이터 그룹 및 데이터 그룹에 액세스할 수 있는 사용자
레이블을 계획하려면 시스템에서 민감도 수준 계층을 설정하고 정보를 범주화해야 합니다. 레이블 인코딩 파일에는 사이트에 대한 해당 유형의 정보가 포함되어 있습니다. Solaris Trusted Extensions 설치 매체에 제공된 label_encodings 파일 중 하나를 사용할 수 있습니다. 제공된 파일 중 하나를 수정하거나 사이트와 관련된 새 label_encodings 파일을 만들 수도 있습니다. 파일은 Sun 특정 로컬 확장명 중 적어도 COLOR NAMES 섹션을 반드시 포함해야 합니다.
label_encodings 파일을 제공하는 경우 최신 버전의 파일이 준비된 이후에 Solaris Trusted Extensions 패키지를 추가해야 합니다. 구성을 위해 시스템을 다시 부트하기 전에 파일이 추가됩니다. 파일은 이동식 매체에 있어야 합니다.
또한 레이블을 계획하려면 레이블 구성을 계획해야 합니다. 시스템에 Trusted Extensions 패키지를 추가한 후에는 시스템을 단일 레이블에서만 실행할 수 있는지, 아니면 여러 레이블에서 실행할 수 있는지를 결정해야 합니다. 관리자가 아닌 모든 사용자가 동일한 보안 레이블에서 작업할 수 있는 경우 단일 레이블 시스템을 선택합니다.
레이블이 표시되는지 여부 및 표시되는 레이블 이름 형식을 구성할 수도 있습니다. 자세한 내용은 Solaris Trusted Extensions Label Administration을 참조하십시오. 또한 Compartmented Mode Workstation Labeling: Encodings Format을 참조할 수도 있습니다.
해외 고객은 label_encodings 파일을 현지화할 경우 반드시 레이블 이름만 현지화해야 합니다. 관리 레이블 이름 ADMIN_HIGH 및 ADMIN_LOW는 현지화할 수 없습니다. 공급업체에서 연락하는 레이블이 있는 모든 호스트에는 label_encodings 파일에 있는 레이블 이름과 일치하는 레이블 이름이 있어야 합니다.
Trusted Extensions에서 지원하는 로켈 수는 Solaris OS보다 적습니다. Trusted Extensions가 지원하지 않는 로켈로 작업할 경우 레이블에 대한 오류 메시지와 같이 Trusted Extensions에 특정한 텍스트는 사용자의 로켈로 번역되지 않습니다. Solaris 소프트웨어는 사용자의 로켈로 계속 번역됩니다.
시스템 하드웨어에는 시스템 자체와 시스템에 연결된 장치가 포함됩니다. 이러한 장치에는 테이프 드라이브, 마이크, CD-ROM 드라이브 및 디스크 팩이 포함됩니다. 하드웨어 용량에는 시스템 메모리, 네트워크 인터페이스 및 디스크 공간이 포함됩니다.
Solaris 10 11/06 설치 설명서: 기본 설치의 시스템 요구 사항 및 권장 사항에 설명된 Solaris 릴리스 설치 권장 사항을 따르십시오. 이 요구 사항에 Trusted Extensions 기능을 추가할 수 있습니다.
다음 시스템에는 제안된 최소값 이상의 메모리가 필요합니다.
필수 관리 GUI인 Solaris Management Console을 실행하는 시스템
두 개 이상의 민감도 레이블에서 실행되는 시스템
관리 역할을 수락할 수 있는 사용자의 시스템
다음 시스템에는 추가 디스크 공간이 필요합니다.
두 개 이상의 레이블에서 파일을 저장하는 시스템
관리 역할을 수락할 수 있는 사용자의 시스템
네트워크 하드웨어 계획에 대한 자세한 내용은 System Administration Guide: IP Services의 2 장, Planning Your TCP/IP Network (Tasks)를 참조하십시오.
클라이언트-서버 네트워크와 마찬가지로 기능별(서버 또는 클라이언트)로 호스트를 식별하고 소프트웨어를 적절하게 구성해야 합니다. 계획에 대한 자세한 내용은 Solaris 10 11/06 설치 설명서: 사용자 정의 JumpStart 및 고급 설치를 참조하십시오.
Trusted Extensions 소프트웨어에서는 두 개의 호스트 유형(레이블이 있는 호스트와 레이블이 없는 호스트)을 인식합니다. 표 1–1과 같이 각 호스트 유형에는 기본 보안 템플리트가 있습니다.
표 1–1 Trusted Extensions의 기본 호스트 템플리트
호스트 유형 |
템플리트 이름 |
목적 |
---|---|---|
unlabeled |
admin_low |
초기 부트 시 전역 영역의 레이블을 지정합니다. 초기 부트 후 레이블이 지정되지 않은 패킷을 보내는 호스트를 식별합니다. |
cipso |
cipso |
CIPSO 패킷을 보내는 호스트 또는 네트워크를 식별합니다. CIPSO 패킷에 레이블이 붙습니다. |
네트워크를 다른 네트워크에 연결할 수 있는 경우 액세스 가능한 도메인과 호스트를 지정해야 합니다. 게이트웨이 역할을 담당할 Trusted Extensions 호스트를 식별해야 합니다. 이러한 게이트웨이에 대한 인정 범위 레이블과 다른 호스트의 데이터를 볼 수 있는 민감도 레이블을 식별해야 합니다.
각 호스트 유형에 대한 자세한 내용과 관련 예는 tnrhtp(4) 매뉴얼 페이지를 참조하십시오.
Trusted Extensions 소프트웨어가 전역 영역의 Solaris OS에 추가됩니다. 그런 다음 레이블이 있는 비전역 영역을 구성합니다. 레이블마다 하나씩 영역을 만들 필요가 없더라도 고유한 레이블마다 레이블이 있는 영역을 하나씩 만들 수 있습니다.
레이블이 있는 영역은 일반적인 Solaris 10 영역과 다릅니다. 레이블이 있는 영역은 주로 데이터를 분리하는 데 사용됩니다. Trusted Extensions에서 일반 사용자는 레이블이 있는 영역에 원격으로 로그인할 수 없습니다. 반드시 영역 콘솔을 사용하여 레이블이 있는 영역에 대화식 인터페이스를 통해 연결해야 합니다. 루트를 통해서만 영역 콘솔에 액세스할 수 있습니다.
레이블이 있는 영역을 만들려면 전체 Solaris OS를 복사한 후 모든 영역에서 Solaris OS에 대한 서비스를 시작합니다. 이 프로세스에는 많은 시간이 소요될 수 있습니다. 하나의 영역을 만든 다음 해당 영역을 복사하거나 해당 영역의 내용을 복제하면 보다 빠르게 만들 수 있습니다. 다음 표에서는 Trusted Extensions에서 영역을 만들기 위해 필요한 옵션에 대해 설명합니다.
Solaris 영역은 패키지 설치와 패치에 영향을 줍니다. 자세한 내용은 다음을 참조하십시오.
일반적으로 인쇄와 NFS는 다중 레벨 서비스로 구성됩니다. 다중 레벨 서비스에 액세스하려면 모든 영역에서 하나 이상의 네트워크 주소에 액세스할 수 있도록 시스템을 올바로 구성해야 합니다. 다중 레벨 서비스를 제공하는 구성은 다음과 같습니다.
Solaris OS에서와 마찬가지로 전역 영역을 포함하여 모든 영역에 하나의 IP 주소가 할당됩니다. 각 영역에 별도의 네트워크 정보 카드(NIC)를 할당하면 이 구성이 구체화됩니다. 이러한 구성은 각 NIC에 연결되는 단일 레이블 네트워크를 물리적으로 구분하는 데 사용됩니다.
하나의 all-zones 주소가 할당됩니다. 하나 이상의 영역이 영역별 주소를 가질 수 있습니다.
다음 두 조건을 충족하는 시스템은 다중 레벨 서비스를 제공할 수 없습니다.
전역 영역과 레이블이 있는 영역이 공유하는 하나의 IP 주소가 할당됩니다.
영역별 주소가 할당되지 않습니다.
레이블이 있는 영역의 사용자에게 로컬 다중 레벨 프린터에 대한 액세스 권한이 없고 홈 디렉토리의 NFS 내보내기를 수행할 필요가 없는 경우 Trusted Extensions에서 구성하는 시스템에 하나의 IP 주소를 할당할 수 있습니다. 이러한 시스템에서는 다중 레벨 인쇄가 지원되지 않으며 홈 디렉토리를 공유할 수 없습니다. 이 구성은 일반적으로 노트북에서 사용됩니다.
레이블이 있는 시스템 네트워크를 설치하지 않으려면 이 절을 건너뛸 수 있습니다.
시스템 네트워크를 설치할 경우 LDAP가 Trusted Extensions에서 이름 지정 서비스로 사용됩니다. 시스템 네트워크를 구성할 경우 채워진 Sun JavaTM System Directory Server(LDAP 서버)가 필요합니다. 사이트에 기존 LDAP 서버가 있는 경우 서버를 Trusted Extensions 데이터베이스로 채울 수 있습니다. 서버에 액세스하려면 Trusted Extensions 시스템에서 LDAP 프록시를 설정합니다.
사이트에 기존 LDAP 서버가 없는 경우 Trusted Extensions 소프트웨어가 실행 중인 시스템에서 LDAP 서버를 만들도록 계획합니다. 이 절차는 5 장Trusted Extensions에 대해 LDAP 구성(작업) 을 참조하십시오.
기본적으로 Trusted Extensions를 설치하면 감사가 설정됩니다. 따라서 기본적으로 root 로그인과 root 로그아웃이 감사됩니다. 시스템을 구성 중인 사용자를 감사하려면 구성 프로세스의 초기에 역할을 만들 수 있습니다. 절차는 Trusted Extensions의 역할 및 사용자 만들기를 참조하십시오.
Trusted Extensions의 감사 계획은 Solaris OS와 동일합니다. 자세한 내용은 System Administration Guide: Security Services의 제VII부, Solaris Auditing을 참조하십시오. Trusted Extensions에서 클래스, 이벤트 및 감사 토큰을 추가해도 감사를 관리하는 방법은 변경되지 않습니다. Trusted Extensions에서의 감사에 대한 추가 관련 정보는 Solaris Trusted Extensions Administrator’s Procedures의 18 장, Trusted Extensions Auditing (Overview)을 참조하십시오.
Trusted Extensions 소프트웨어는 사용자에 대한 적절한 보안 기본값을 제공합니다. 이러한 보안 기본값은 표 1–2를 참조하십시오. 나열된 두 값 중 첫 번째 값이 기본값입니다. 보안 관리자는 사이트의 보안 정책을 반영하여 이러한 값을 수정할 수 있습니다. 보안 관리자가 기본값을 설정한 후 시스템 관리자는 설정된 기본값을 상속하는 모든 사용자를 만들 수 있습니다. 이 기본값의 키워드 및 값에 대한 자세한 내용은 label_encodings(4)및policy.conf(4)매뉴얼 페이지를 참조하십시오.
표 1–2 사용자 계정에 대한 Trusted Extensions 보안 기본값
파일 이름 |
키워드 |
값 |
---|---|---|
/etc/security/policy.conf |
IDLECMD |
lock | logout |
|
IDLETIME |
30 |
|
LABELVIEW |
showsl | hidesl |
|
CRYPT_ALGORITHMS_ALLOW |
1,2a,md5 |
|
CRYPT_DEFAULT |
_unix_ |
|
LOCK_AFTER_RETRIES |
no | yes |
|
PRIV_DEFAULT |
basic |
|
PRIV_LIMIT |
all |
|
AUTHS_GRANTED |
solaris.device.cdrw |
|
PROFS_GRANTED |
Basic Solaris User |
/etc/security/tsol/label_encodings의 LOCAL DEFINITIONS 부분 |
Default User Clearance |
CNF NEED TO KNOW |
Default User Sensitivity Label |
PUBLIC |
시스템 관리자는 모든 사용자에게 적합한 시스템 기본값을 설정하는 표준 사용자 템플리트를 설정할 수 있습니다. 예를 들어, 기본적으로 각 사용자의 초기 쉘은 Bourne 쉘입니다. 시스템 관리자는 각 사용자에게 C 쉘을 제공하는 템플리트를 설정할 수 있습니다. 자세한 내용은 사용자 계정에 대한 Solaris Management Console 온라인 도움말을 참조하십시오.
Solaris OS에서와 마찬가지로 Trusted Extensions 소프트웨어는 root 사용자가 초기에 설치합니다. 그러나 root 사용자가 소프트웨어를 구성하도록 허용하는 것은 보안 전략이 아닙니다. 다음은 가장 안전한 전략에서 가장 안전하지 않은 전략까지의 설치 및 구성 전략에 대해 설명합니다.
두 명으로 구성된 설치 팀이 소프트웨어를 설치하고 구성합니다. 구성 프로세스는 감사됩니다.
소프트웨어가 설치될 때 컴퓨터에는 두 명이 있습니다. 이 팀은 구성 프로세스의 초기에 로컬 사용자와 역할을 만듭니다. 또한 역할별로 실행되는 이벤트를 감사하도록 감사를 설정합니다. 사용자에게 역할이 할당되고 컴퓨터가 다시 부트되면 작업 부분이 역할별로 적용됩니다. 감사 증적에서는 구성 프로세스에 대한 레코드를 제공합니다. 보안 구성 프로세스에 대한 그림은 그림 1–1을 참조하십시오.
한 사람이 해당 역할을 수락하여 소프트웨어를 설치하고 구성합니다. 구성 프로세스는 감사됩니다.
root 사용자는 구성 프로세스의 초기에 로컬 사용자와 역할을 만듭니다. 또한 역할별로 실행되는 이벤트를 감사하도록 감사를 설정합니다. 로컬 사용자에게 역할이 할당되고 컴퓨터가 다시 부트되면 작업 부분이 역할별로 적용됩니다. 감사 증적에서는 구성 프로세스에 대한 레코드를 제공합니다.
한 사람이 해당 역할을 수락하여 소프트웨어를 설치하고 구성합니다. 구성 프로세스는 감사되지 않습니다.
이 전략을 사용하면 구성 프로세스에 대한 레코드가 보존되지 않습니다.
root 사용자는 소프트웨어를 설치하고 구성합니다. 구성 프로세스는 감사됩니다.
설치 팀은 구성 중에 root 사용자가 수행하는 모든 이벤트를 감사하도록 감사를 설정합니다. 팀에서는 이 전략을 사용하여 감사할 이벤트를 결정해야 합니다. root 역할을 하는 사용자의 이름은 감사 증적에 포함되지 않습니다.
root 사용자는 소프트웨어를 설치하고 구성합니다.
다음 그림에는 역할별 작업의 배분이 표시됩니다. 보안 관리자는 다른 작업 간에 감사를 설정하고 파일 시스템을 보호하며, 장치 정책을 설정하고 실행 권한이 필요한 프로그램을 결정하고 사용자를 보호합니다. 시스템 관리자는 다른 작업 간에 파일 시스템을 공유 및 마운트하고 소프트웨어 패키지를 설치하며, 사용자를 만듭니다.
Solaris OS를 구성할 때처럼 Trusted Extensions를 구성하기 전에 시스템, 사용자, 네트워크 및 레이블 정보를 수집합니다. 자세한 내용은 Trusted Extensions 설치 전 시스템 정보 수집을 참조하십시오.
시스템에 저장해야 할 파일이 있는 경우 Trusted Extensions 소프트웨어를 설치하기 전에 백업을 수행합니다. 파일을 백업하는 가장 안전한 방법은 레벨 0 덤프를 수행하는 것입니다. 해당 위치에 백업 절차가 없는 경우 현재 운영 체제의 관리자 설명서를 참조하십시오.
Trusted Solaris 8 릴리스에서 마이그레이션할 경우 Trusted Extensions 레이블이 Trusted Solaris 8 레이블과 동일한 경우에만 데이터를 복원할 수 있습니다. Trusted Extensions는 다중 레벨 디렉토리를 만들지 않기 때문에 백업 매체의 각 파일과 디렉토리는 레이블이 백업의 파일 레이블과 동일한 영역에 복원됩니다. Trusted Extensions 릴리스를 설치하기 전에 백업을 완료해야 합니다.
Trusted Extensions 소프트웨어 설치는 Solaris 시스템에 패키지를 설치하는 것을 의미합니다. 보안상의 이유로 Solaris 설치에 사용할 수 있는 옵션 중 일부는 선택하지 마십시오. 자세한 내용은 Trusted Extensions용 Solaris OS 설치 또는 업그레이드를 참조하십시오.
Trusted Extensions 소프트웨어를 설치하면 다음과 같은 보안 기능이 제공됩니다. 대부분의 기능은 보안 관리자가 구성할 수 있습니다.
감사가 활성화됩니다.
Sun label_encodings 파일이 설치 및 구성됩니다.
두 개의 신뢰할 수 있는 데스크탑이 추가됩니다. Solaris Trusted Extensions(CDE)는 CDE의 신뢰할 수 있는 버전입니다. Solaris Trusted Extensions(JDS)는 Sun Java 데스크탑 시스템의 신뢰할 수 있는 버전입니다. 각 윈도우화 환경은 전역 영역에 신뢰할 수 있는 경로 작업 공간을 만듭니다.
Solaris OS에서와 같이 역할의 권한 프로필이 정의됩니다. Solaris OS에서와 같이 역할이 정의되지 않습니다.
Trusted Extensions를 관리하는 역할을 사용하려면 해당 역할을 만들어야 합니다. 구성하는 동안 보안 관리자 역할을 만듭니다.
세 개의 Trusted Extensions 네트워크 주소 tnrhdb, tnrhtp 및 tnzonecfg가 설치됩니다. Solaris Management Console에서 보안 템플리트 도구 및 신뢰할 수 있는 네트워크 영역 도구를 사용하여 데이터베이스를 관리합니다.
Trusted Extensions에서는 시스템 관리를 위한 GUI를 제공합니다. 일부 GUI는 Solaris OS GUI에 대한 확장입니다.
Trusted CDE에서 관리 작업은 Trusted_Extensions 폴더에 제공됩니다. 이 작업 중 일부는 Trusted Extensions를 처음 구성할 때 사용됩니다. 도구에 대한 자세한 내용은 Solaris Trusted Extensions Administrator’s Procedures의 2 장, Trusted Extensions Administration Tools를 참조하십시오.
관리자는 신뢰할 수 있는 편집기를 사용하여 로컬 관리 파일을 수정할 수 있습니다. Trusted CDE에서 Admin Editor(관리 편집기) 작업은 신뢰할 수 있는 편집기를 호출합니다.
Device Allocation Manager(장치 할당 관리자)에서는 연결된 장치를 관리합니다.
Solaris Management Console은 로컬 및 네트워크 관리 데이터베이스를 관리할 수 있는 Java 기반 도구를 제공합니다. 이러한 도구는 신뢰할 수 있는 네트워크, 영역 및 사용자를 관리하는 데 사용됩니다.