Trusted Solaris 관리 개요

5장 트러스트 네트워킹 관리

이 장에서는 Trusted Solaris 환경의 네트워킹을 설명합니다. SunOS CMW 네트워킹 하위 시스템은 Solaris 2.5.1 TCP/IP 네트워크의 확장된 버전입니다. 이 확장 버전을 통해 네트워크의 워크스테이션 간에 트러스트 방식으로 통신이 가능하게 되었습니다. 네트워크 하위 시스템은 시스템 보안 정책(예: MAC, 정보 레이블 부동)이 분산 응용프로그램에서도 확실히 보존되도록 도와줍니다. 네트워크에 필요한 관리 및 보호의 정도는 네트워크가 동종인지 또는 이종인지에 따라 결정됩니다.


주 -

기본 구성에서 보안 관리자 역할은 네트워크 보안의 책임을 갖습니다.


Trusted Solaris 네트워킹 개요

이 절에서는 다음과 같은 네트워킹 내용을 설명합니다.

동종 네트워크

관리 및 보호하기에는 동종 네트워크 구성이 가장 쉬운 방법입니다. 동종 네트워크 구성에서는 모든 워크스테이션이 Trusted Solaris 2.5 운영 환경을 실행하며 같은 보안 속성 집합(민감도 레이블, 정보 레이블 등)과 함께 동일한 NIS+ 마스터 서버를 사용합니다. NIS+ 마스터가 사용하는 일반적인 동종 네트워크는 아래 그림과 같습니다. 동종 네트워크의 호스트는 동일한 보안 도메인에 위치한다고 할 수 있습니다.

그림 5-1 동종 네트워크

Graphic

워크스테이션은 네트워크 인터페이스라는 물리적 커넥터에 의해 네트워크에 연결됩니다. 각 네트워크 인터페이스에는 상한 경계를 설정하는 최대 민감도 레이블과 하한 경계를 설정하는 최소 민감도 레이블로 구성된 인가 범위가 있습니다. 인가 범위는 인터페이스를 통해 전송하거나 수신할 수 있는 정보 민감도를 제어합니다.

이종 네트워크

Trusted Solaris 네트워크는 또한 상이한 네트워크 프로토콜을 실행하는 호스트를 수용할 수 있습니다. 이종 구성에는 동종 배열보다 더 많은 보호가 필요하므로 다양한 프로토콜을 가진 호스트 데이터를 보안 정책에 관련하여 어떻게 처리할 것인지 명시해야 합니다. 다음 그림은 일반적인 이종 네트워크 및 Trusted Solaris 네트워크와 통신할 수 있는 몇몇 상이한 프로토콜을 보여줍니다.

그림 5-2 이종 네트워크

Graphic

호스트 종류

다른 데이터 프로토콜을 이용하는 또 다른 Trusted Solaris 워크스테이션이나 호스트의 데이터를 Trusted Solaris 워크스테이션이 수용하는 방식을 이해하려면 표준 Solaris 데이터 패킷 형식(그림 5-3 (a) 참조)과 Trusted Solaris 형식(그림 5-3 (b) 참조)을 비교해 보는 것이 도움이 됩니다.

그림 5-3 데이터 패킷 형식 비교

Graphic

표준 형식에는 헤더 3개, 데이터 형식 및 트레일러가 있는데, 이것은 Trusted Solaris 형식에도 있습니다. Trusted Solaris 형식이 표준 형식과 다른 점은 다음과 같습니다.

Trusted Solaris는 데이터를 정확히 전달할 수 있도록 호스트 종류를 네트워크 프로토콜에 따라 다음과 같이 분류합니다.


주 -

tsix, msix, cipso 및 ripso 호스트 종류는 다른 트러스트 운영 환경을 실행하는 호스트 범주에 속합니다. unlabeled 호스트 종류는 표준 네트워크 프로토콜을 사용하지만 보안 속성은 사용하지 않는 호스트를 위한 것입니다.


사이트에 맞는 네트워크 구성 데이터베이스를 구성할 때 네트워크의 워크스테이션이 통신할 수 있는 모든 호스트를 지정하고 위의 호스트 종류에 따라 분류된 기본 보안 속성값으로 템플리트를 설정합니다. 다음 절에서 자세한 내용을 설명합니다.

네트워크 구성 데이터베이스

외부와 통신하려면 호스트가 포함된 데이터베이스, 네트워크 인터페이스 및 기본 보안 속성 정보를 설정해야 합니다. 이를 위해 다음과 같은 세 가지 네트워크 구성 데이터베이스를 사용할 수 있습니다.

이들 데이터베이스는 커널로 읽어들여지며, 한 호스트에서 다른 호스트로 데이터가 전송할 때 인가 확인에 사용됩니다. 데이터베이스 관리자를 사용하여 이들 데이터베이스를 유지 관리합니다. Trusted Solaris는 tnrhdbtnrhtp 데이터베이스의 중앙 관리를 위해 NIS+를 사용하며, tnidb 데이터베이스는 각 호스트에서 개별적으로 유지됩니다. 보안 관리자 또는 가능한 경우 루트에서만 네트워크 데이터베이스를 관리할 수 있습니다. 데이터베이스 관리자에 액세스하려면 프론트 패널에서 CDE 응용프로그램 관리자 아이콘을 누릅니다. 응용프로그램 관리자의 Solstice_Apps 폴더 아이콘에서 데이터베이스 관리자 아이콘을 액세스할 수 있습니다. 데이터베이스 관리자 아이콘을 누르면 데이터베이스 관리자가 화면에 표시됩니다. 데이터베이스 관리자 아이콘을 누르면 데이터베이스 관리자: 읽어들이기 대화 상자가 나타나고, 이 대화 상자에는 사용자가 선택할 수 있는 데이터베이스 이동 목록이 있습니다.

tnrhdb 데이터베이스

tnrhdb(4) 데이터베이스에는 네트워크 상의 워크스테이션과 통신을 할 수 있도록 허용된 모든 호스트의 IP 주소와 tnrhtp 파일에서 이 호스트에 할당된 템플리트가 들어 있습니다. 기본값도 폴백 메커니즘의 일부분으로 이 데이터베이스에 포함될 수 있습니다(다음 그림 참조). IP 주소의 맨 오른쪽 바이트를 0으로 바꾸면 기본값의 0이 아닌 부분과 IP 주소가 일치하는 나머지 호스트의 와일드카드로 사용됩니다. 단, 서브넷 마스크에는 폴백 메커니즘이 적용되지 않습니다.

그림 5-4 IP 주소 폴백 메커니즘

Graphic

데이터베이스 관리자에서 tnrhdb 데이터베이스를 선택하여 읽어 들이면 tnrhdb 데이터베이스의 내용이 데이터베이스 관리자 주 윈도우에 표시되어, 원격 호스트 및 특정 호트스와의 통신에 적용된 템플리트를 나타내는 IP 주소를 보여줍니다. tnrhdb 데이터베이스를 편집하려면 추가(Add)를 선택하거나 IP 주소를 선택한 다음 편집(Edit) 메뉴에서 수정(Modify)을 선택합니다. 해당 대화 상자가 표시됩니다. 다음 페이지의 그림은 데이터베이스 관리자: 읽어들이기(Database Manager: Load) 윈도우, tnrhdb 데이터베이스가 있는 주 윈도우 및 편집(Edit) 메뉴에서 사용할 수 있는 대화 상자 두 개를 보여줍니다.

그림 5-5 tnrhdb에 대한 데이터베이스 관리자 윈도우

Graphic

tnrhtp 데이터베이스

tnrhtp(4) 데이터베이스에는 소스 호스트에 할당될 보안 속성값을 포함하는 템플리트가 있습니다. 동종 네트워크에서는 하나의 템플리트만 있으면 됩니다. 이종 네트워크에서는 각 호스트 종류에 대하여 서로 다른 템플리트가 있어야 합니다. 이 속성들은 수신 데이터에서 빠진 속성에 대한 기본값으로 사용되며, 전송 데이터에 대한 대상 정보를 제공하고 수신 패킷에 대한 인가 확인에도 사용됩니다. 사용되는 보안 속성은 템플리트에 지정된 호스트 종류에 따라 다릅니다. tnrhtp에 저장될 수 있는 보안 속성은 다음과 같습니다.

템플리트의 ip_label 필드가 cipso로 설정되거나 원격 호스트 종류가 cipso인 경우 태그 종류 1이 사용됩니다. 태그 종류 3은 원격 호스트 종류가 MSIX일 때 사용됩니다. 그러나 각 종류의 속성은 특정 호스트 종류에만 적합합니다. 표 5-1은 각 호스트 종류에 허용되는 보안 속성을 설명합니다.

표 5-1 호스트 종류별 보안 속성

호스트 종류 

보안 속성 

unlabeled 

민감도 레이블, 정보 레이블, 클리어런스, UID, GID, 강제 특권, 감사 UID, 감사 마스크, 감사 터미널 ID, 감사 세션 ID, (게이트웨이 호스트에 대한 최소 SL과 최대 SL) 

sun_tsol 

허용 특권, 최소 SL과 최대 SL, IP 레이블, RIPSO 레이블, RIPSO 오류, CIPSO DOI, 감사 UID, 감사 마스크, 감사 터미널 ID, 감사 세션 ID 

ripso 

민감도 레이블, 정보 레이블, 클리어런스, UID, GID, 강제 특권, RIPSO 레이블, RIPSO 오류, 감사 UID, 감사 마스크, 감사 터미널 ID, 감사 세션 ID, (게이트웨이 호스트에 대한 최소 SL과 최대 SL) 

cipso 

클리어런스, 정보 레이블, UID, GID, 강제 특권, 최소 SL과 최대 SL, CIPSO DOI, 감사 UID, 감사 마스크, 감사 터미널 ID, 감사 세션 ID 

tsix 

민감도 레이블, 정보 레이블, 클리어런스, UID, GID, 허용 특권, 강제 특권, 최소 SL과 최대 SL, IP 레이블, RIPSO 레이블, RIPSO 오류, CIPSO DOI, 감사 UID, 감사 마스크, 감사 터미널 ID, 감사 세션 ID 

msix 

민감도 레이블, 정보 레이블, 클리어런스, UID, GID, 최소 SL과 최대 SL, 감사 UID, 감사 마스크, 감사 터미널 ID, 감사 세션 ID 

데이터베이스 관리자에서 tnrhtp 데이터베이스를 선택하여 읽어 들이면 tnrhtp 데이터베이스의 내용이 데이터베이스 관리자 주 윈도우에 표시되어, 각 원격 호스트 템플리트 이름 및 이 이름과 관련된 기본값을 보여줍니다. tnrhdb 데이터베이스를 편집하려면 추가(Add)를 선택하거나 템플리트를 선택한 다음 편집(Edit) 메뉴에서 수정(Modify)을 선택합니다. 다음 페이지의 그림 id와 같은 대화 상자가 표시됩니다.

그림 5-6 원격 호스트 템플리트 추가를 위한 데이터베이스 관리자 대화 상자(tnrhtp)

Graphic

대화 상자는 다음과 같은 네 부분으로 구분됩니다.

tnidb 데이터베이스

tnidb(4) 데이터베이스는 각 호스트에 로컬로 사용됩니다. 이 데이터베이스에는 민감도 레이블, 클리어런스, 유효 UIDs/GIDs, 강제 특권 등에 대한 기본값과 인가 범위가 있는 호스트의 네트워크 인터페이스가 들어 있습니다. tnrhtp에 있는 기본값이 tnidb의 값에 우선합니다.

데이터베이스 관리자에서 tnidb 데이터베이스를 선택하여 로드하면 tnidb 네트워크 인터페이스, 인터페이스에 대한 인가 범위, 네트워크와 관련된 기본 보안 속성 같은 데이터베이스의 내용이 데이터베이스 관리자 주 윈도우에 표시됩니다. tnidb 데이터베이스를 편집하려면 추가를 선택하거나 네트워크 인터페이스를 선택한 다음 편집 메뉴에서 수정을 선택해서 해당 대화 상자를 엽니다. 다음 그림은 tnidb 데이터베이스에 대한 추가 대화 상자가 있는 기본 윈도우를 보여줍니다. 최소 SL 및 최대 SL 버튼은 인가 범위를 정의합니다. 이 버튼을 누르면 레이블 작성기 대화 상자가 표시됩니다. 또는 민감도 레이블과 클리어런스 버튼을 눌러도 레이블 작성기 대화 상자가 표시됩니다. 강제 특권 버튼을 누르면 특권 선택 대화 상자가 표시됩니다. 사용자 ID와 그룹 ID 필드에서는 네트워크 인터페이스에 대한 기본 ID를 지정할 수 있습니다.

그림 5-7 데이터베이스 관리자 주 윈도우와 네트워크 인터페이스 데이터를 추가하기 위한 추가 대화 상자(tnidb)

Graphic

관련 하위 시스템

Trusted Solaris 2.5의 트러스트 NFS 기능은 Trusted Solaris 호스트와 기타 호스트 종류 사이의 마운팅을 허용합니다. MAC와 DAC는 전송된 데이터를 보호합니다. tnrhtptnidb 데이터베이스는 없어진 보안 속성을 제공합니다. "수정된 Solaris 네트워크 명령"을 참조하십시오.

Trusted Solaris에서의 라우팅

Trusted Solaris 운영 환경에서 서로 다른 네트워크의 호스트 간의 경로는 각 전송 단계마다 보안이 유지되어야 합니다.

부트할 때 라우팅 정보 읽어들이기

Trusted Solaris 호스트는 부트할 때 데이터를 전송할 수 있도록 라우팅 정보를 읽어 들입니다. 관리자가 수동으로 유지하는 /etc/tsolgateways 파일이 있으면 이 파일의 게이트웨이가 호스트 기본값으로 사용됩니다. /etc/tsolgateways가 없으면 호스트는 관리자가 수동으로 유지하는 /etc/defaultrouter의 기본 경로를 사용합니다. 두 파일 중 어느 하나라도 있으면 호스트는 정적 라우팅을 사용합니다.

/etc/tsolgateways 파일과 /etc/defaultrouter 파일이 모두 없으면 호스트가 동적 라우팅을 사용해서 가능한 경우 in.rdisc(1M)(네트워크 라우터 검색 대몬)을, in.rdisc를 사용할 수 없으면 in.routed(1M)(네트워크 라우팅 대몬) 같은 특별 대몬을 실행해야 합니다. 호스트가 둘 이상의 네트워크에 연결되는 호스트인 게이트웨이로도 사용될 경우에는 in.rdiscin.routed가 모두 시작됩ㄹ니다.

부트할 때 호스트가 NIS+ 마스터와 통신할 수 있도록 tnrhdbtnrhtp 파일(/etc/security/tsol/boot 디렉토리에 상주하고 있는)을 커널로 읽어 들입니다. 이들 기본값은 트러스트 네트워크 대몬(tnd(1M))이 시작될 때 교체됩니다. 기본적으로 /etc/security/tsol/boot/tnrhdb0.0.0.0:tsol 항목을 포함하여 네트워크가 Trusted Solaris 네트워크임을 나타냅니다.

Trusted Solaris 환경에서의 라우팅 테이블

Trusted Solaris 환경에서 라우팅의 주 목적은 두 호스트 사이의 가장 안전한 단거리 경로를 찾는 것입니다. Trusted Solaris 라우팅 테이블은 확장 메트릭(emetrics라고 함)을 기본으로 합니다. emetric은 경로 설정 메트릭과 보안 측정을 위한 Security Routing Information(SRI)의 조합입니다. SRI는 다음과 같은 보안 속성을 통합할 수 있습니다.

이 정보는 동적 라우팅이 사용될 경우 Trusted Solaris 확장 Routing Information Protocol을 사용하는 라우팅 대몬 in.routed에 의해, 정적 라우팅이 사용될 경우 route 명령을 사용한 직접 입력 또는 /etc/tsolgateways/etc/defaultrouter 파일을 통해 전파됩니다. 특정 경로에 대한 emetric은 해당 경로가 고려하는 동안 인가 확인에 사용됩니다.

라우팅 테이블에 모든 경로에 emetric이 있는 것은 아닙니다. 경로가 emetric이 없는 경우 최초 홉 게이트웨이의 원격 호스트 템플리트가 인가 확인에 대신 사용됩니다.

인가 확인

보안에 관한 경로의 적합성을 결정하기 위해 Trusted Solaris는 원본 호스트, 대상 호스트 및 경로의 emetrics에서 인가 확인이라는 테스트를 실행합니다. 특정 경로에 대한 emetric이 손실된 경우 경로의 최초 홉 게이트웨이를 위한 보안 속성이 확인됩니다. 호스트의 보안 속성은 tnrhdb, tnrhtptnidb 파일의 정보에서 파생됩니다. 예를 들어 테스트는 데이터 패킷의 민감도 레이블이 경로의 각 호스트 범위 안에 있는지 확인합니다. 또 다른 예로, Trusted Solaris 호스트와 어떤 IP 옵션도 사용하지 않는 TSIX 호스트 사이에 전송된 데이터는 경로가 CIPSO, RIPSO 또는 MSIX 호스트를 사용하는 경우 허용되지 않습니다 .

원본 인가 확인

원본 호스트에서 관리되는 인가 확인은 다음과 같습니다.

게이트웨이 인가 확인

Trusted Solaris 게이트웨이 호스트에서 진행되는 인가 확인은 다음과 같습니다.

다음 홉이 unlabeled 호스트인 경우 패킷의 기본 레이블은 대상 호스트의 기본 레이블과 일치해야 합니다.

패킷에 CIPSO 옵션이 있는 경우 전달을 위한 아래 조건이 충족되어야 합니다.

패킷에 RIPSO 옵션이 있는 경우 전달을 위한 아래 조건이 충족되어야 합니다.

대상 인가 확인

Trusted Solaris 시스템이 데이터를 수신할 때 트러스트 네트워크 소프트웨어는 다음 항목을 확인합니다.

데이터가 위의 인가 확인을 통과하면 시스템은 필요한 보안 속성이 모두 있는지 확인합니다. 누락된 속성이 있는 경우 소프트웨어는 그 호스트에 할당된 네트워크 보안 템플리트 이름을 보기 위해 tnrhdb 데이터베이스에서 원본 호스트(각 IP 주소 또는 대상 표현에 의해)를 찾습니다. 그런 다음 소프트웨어는 tnrhtp 데이터베이스로부터 템플리트의 보안 속성을 검색합니다. 여전히 누락된 보안 속성이 있는 경우 소프트웨어는 tnidb 데이터베이스에서 네트워크 인터페이스를 찾아 기본 보안 속성을 검색합니다. 우선 순위에 따라 tnrhtp의 기본 속성은 tnidb의 속성보다 우선합니다.

라우팅 예제

다음 페이지의 그림은 Trusted Solaris 환경에서 경로를 설정하는 예제를 보여줍니다. 그림 5-8 (a)는 라우팅 다이어그램을 나타내고, 그림 5-8 (b)는 라우팅 테이블을 나타냅니다. Host 1과 Host 2 사이에는 다음과 같은 3가지의 잠재 경로가 있습니다.

그림 5-8 일반적인 Trusted Solaris 경로와 라우팅 테이블

Graphic

라우팅 명령 사용

라우팅 테이블의 내용을 표시하려면 -R 옵션이 있는 netstat 명령을 사용해야 합니다. 라우팅 테이블을 수동으로 변경하려면 adddelete 옵션이 있는 route 명령을 사용합니다. 예를 들면 다음과 같습니다.

% route add net 129.150.115.0 129.150.118.39 -m 
metric=2,min_sl=c,max_sl=ts,ripso_label="top_secret 
sci",ripso_error="genser;sci"add net 129.150.115.0: gateway 129.150.118.39

명령은 라우팅 테이블에 129.150.115.0 및 129.150.118.39에 있는 호스트와 distance metric 2, C에서 TS까지의 SL범위, RIPSO 레이블 = top_secret sci 및 RIPSO 오류 = genser;sci와 함께 루프를 추가합니다. 추가된 루프의 결과를 보려면 다음과 같이 입력합니다.

% netstat -Rn
...
129.150.115.0        129.150.118.39        UG       0      0  
        metric=2,min_sl=C,max_sl=TS,ripso_label=0x3d 0x20000000 (top_secret sci)
,ripso_error=0xa0000000 (genser;sci)
...

새 경로는 위의 내용과 같습니다. 다른 경로는 생략 부호(...)로 대체됩니다. 두 개의 새 emetric으로 경로를 추가하고 새 라우팅 테이블을 보여주는 두 번째 예제는 다음과 같습니다:

% route add net 129.150.114.0 129.150.118.39 -m 
metric=3,min_sl=admin_low,max_sl=s,doi=3 -m 
metric=4,min_sl=c,max_sl=admin_high,doi=4,ripso_label="top_secret 
sci",ripso_error="genser;sci"
add net 129.150.114.0: gateway 129.150.118.39
% netstat -Rn
...
129.150.115.0        129.150.118.39        UG       0      0  
        metric=2,min_sl=C,max_sl=TS,ripso_label=0x3d 0x20000000 (top_secret sci)
,ripso_error=0xa0000000 (genser;sci)
129.150.114.0        129.150.118.39        UG       0      0  
        metric=4,min_sl=C,max_sl=ADMIN_HIGH,doi=4,ripso_label=0x3d 0x20000000 (t
op_secret sci),ripso_error=0xa0000000 (genser;sci)
        metric=3,min_sl=ADMIN_LOW,max_sl=S,doi=3
...

비 Trusted Solaris 게이트웨이 클러스터를 통한 라우팅

비 Trusted Solaris 게이트웨이가 있는 클러스터를 통해 보안 데이터 경로를 라우팅할 수 있습니다. 이러한 프로시저를 터널링이라고 합니다. 이를 위해 클러스터는 Trusted Solaris 호스트와 게이트웨이 전용 또는 비 Trusted Solaris 호스트와 게이트웨이 전용의 연속 집합입니다. 에지 게이트웨이는 클러스터 하나를 반대 종류의 클러스터에 연결하는 게이트웨이(Trusted Solaris 또는 비 Trusted Solaris)입니다.

다음 그림은 터널링 예제를 보여줍니다. 음영 처리된 직사각형은 비 Trusted Solaris 게이트웨이를 나타내며 굵은 선의 루프는 클러스터를 나타냅니다. 클러스터 #1은 비 Trusted Solaris 클러스터이며 클러스터 #2는 Trusted Solaris 클러스터입니다.

그림 5-9 터널링 예제

Graphic

데이터를 호스트 #1에서 호스트 #2로 전송하려면 비 Trusted Solaris 클러스터인 클러스터 #1과 Trusted Solaris 클러스터인 클러스터 #2를 통과하는 경로가 필요합니다. 다음 두 조건에서만 허용됩니다.

수정된 Solaris 네트워크 명령

이 절에서 소개하는 네트워크 명령은 Solaris 기본 버전의 명령을 Trusted Solaris 환경에서 동작하도록 수정한 것입니다.

arp

arp(1M) 명령을 사용하면 주소 확인 프로토콜에 사용되는 인터넷 대 이더넷 변환 표를 표시하고 수정할 수 있습니다. arp 명령의 Trusted Solaris 버전을 -d, -s, -f 등의 옵션과 함께 실행하려면 sys_net_config 특권을 상속해야 합니다. -a 옵션은 유효 UID 0을 사용해서 ADMIN_HIGH로 실행되어야 합니다. file_mac_read 특권과 file_dac_read 특권은 이 제한에 우선합니다.

ifconfig

ifconfig(1M) 명령을 사용하면 네트워크 매개변수를 구성하고 네트워크 인터페이스에 주소를 할당할 수 있습니다. ifconfig 명령의 Trusted Solaris 버전을 사용하려면 sys_net_config 특권이 필요합니다. ether, auto-revarp, plumb 등의 옵션으로 루트만이 읽을 수 있는 ADMIN_HIGH 네트워크 장치를 열어야 합니다. 이 옵션들은 유효 사용자 ID 0을 사용해서 ADMIN_HIGH로 호출될 수 있고, file_dac_read 특권과 file_mac_read 특권을 사용해서 이 옵션에 대한 제한을 무시할 수 있습니다.

ndd

드라이버 매개변수를 설정하기 위해서는 ndd(1M) 명령에 대한 -set 옵션은 sys_net_config 특권을 상속해야 합니다.

netstat

netstat(1M) 명령을 사용하면 소켓, 라우팅 테이블 및 기타 구조를 포함하여 네트워크 관련 데이터 구조의 내용이 여러 가지 형식으로 표시됩니다. 다른 네트워크에 있는 호스트와 통신을 할 때 netstat -rn 명령을 사용하면 게이트웨이가 구성되었는지 확인할 수 있습니다. netstat 명령의 Trusted Solaris 버전을 사용하려면 ADMIN_HIGH 민감도 레이블을 사용해야 커널 및 네트워크 구성 정보에 액세스할 수 있습니다. file_mac_read 특권을 사용하면 이 제한을 무시할 수 있습니다.

-R 옵션을 사용하여 동적 라우팅 테이블에서 각 경로의 메트릭 정보는 물론 보안 정보를 얻을 수 있습니다. -R 옵션에는 net_rawaccess 특권이 추가로 필요합니다. 예제는 "라우팅 명령 사용"을 참조하십시오.

rdate

rdate(1M) 명령이 제대로 실행되려면 sys_config 특권이 필요합니다.

route

route(1M) 명령을 사용하면 emetrics(보안 정보)의 추가 및 삭제를 포함하여 네트워크 라우팅 테이블에 대한 관리 작업을 수행할 수 있습니다. route 명령의 Trusted Solaris 버전이 제대로 실행되려면 sys_net_config 특권을 상속해야 합니다. Trusted Solaris 환경에서는 다음과 같은 세 가지 추가 옵션이 있습니다.

경로를 추가하거나 삭제하기 위해 IP 장치를 열려면 이 프로그램이 sys_net_config 특권을 상속받아 ADMIN_HIGH의 민감도 레이블과 유효 사용자 ID 0 또는 sys 그룹에서 실행되어야 합니다. file_mac_read 특권은 ADMIN_HIGH MAC 정책을 무시할 수 있습니다. file_dac_read 특권은 UID 0 또는 sys 그룹 DAC 요구 사항을 무시할 수 있습니다. "Trusted Solaris에서의 라우팅"을 참조하십시오.

snoop

snoop(1M) 명령을 사용하면 네트워크로부터 패킷을 포착해서 그 내용을 표시할 수 있습니다. 네트워크 장치를 열 때 snoop 명령의 Trusted Solaris 버전은 민감도 레이블 ADMIN_HIGH와 유효 UID 0을 사용하여 실행되어야 합니다. 단, 프로세스에 file_mac_read 특권과 file_dac_read 특권이 있는 경우 이들 두 가지 요건이 필요 없습니다. snoop 명령을 사용하려면 sys_net_config 특권을 상속해야 합니다. -i 옵션을 사용하면 네트워크 장치를 열지 않고 파일을 열기 때문에 요건이 위와 동일하지는 않습니다.

snoop 명령은 패킷의 SAMP 보안 속성과 IP 옵션을 표시할 수 있습니다.

spray

spray(1M) 명령은 RPC를 사용하는 지정된 호스트로 단방향 패킷 흐름을 전송하고 수신된 패킷 수를 전송 속도와 함께 보고합니다. 호스트가 브로드캐스트 주소인 경우 이 프로그램이 제대로 실행되려면 net_broadcast 특권을 상속해야 합니다.

Trusted Solaris 네트워크 명령

이 절에서 소개하는 네트워크 명령은 Trusted Solaris에만 있습니다.

tndtokmapd 명령은 트러스트 네트워크 대몬과 토큰 매핑 대몬을 시작합니다. 토큰 매핑은 네트워크가 TSIX 호스트 종류와 통신할 때 사용됩니다. tnctl 명령은 네트워크 정보를 커널 캐시로 읽어 들입니다. tninfo 명령을 사용하여 이 정보를 확인할 수 있습니다. tnchkdb는 문제 발생시 네트워크 구성 데이터베이스를 조사합니다. tokmapctl 명령을 사용하면 네트워크 구성 데이터베이스를 조사하여 문제가 있는지 확인할 수 있습니다. 이 명령을 사용하여 TSIX 토큰 매핑 문제를 해결할 수 있습니다.

tnchkdb

tnchkdb(1M) 명령은 tnrhdb, tnrhtp, tnidb 등의 데이터베이스 형식에서 오류를 검사합니다. 이 명령은 데이터베이스가 수정되거나 작성될 때마다 실행해야 합니다.

tnctl

tntcl(1) 명령을 사용하면 디버깅, 커널 인터페이스 캐시 갱신, 커널 원격 호스트 캐시 갱신 및 커널 템플리트 캐시 갱신을 위해 Trusted Solaris 네트워크 대몬 제어 매개변수를 구성할 수 있습니다.

tnctl 명령은 트러스트 경로 메뉴에서 시작해야 하며 커널 캐시 갱신을 위해 sys_net_config 특권을 상속받아야 합니다.

tnd

tnd(1M)(트러스트 네트워크 대몬) 명령은 트러스트 네트워크 데이터베이스를 사용해서 커널을 초기화하고, 요구가 있을 시 데이터베이스를 다시 읽어들이는 역할을 수행합니다. 트러스트 네트워크 대몬은 부트 프로세스를 시작할 때 시작되는데, 이 명령은 tnrhdb, tnrhtp, tnidb 등의 데이터베이스를 커널로 읽어들입니다.

tnd 명령은 트러스트 경로에서 시작하여 net_privaddr, net_mac_read, sys_net_config 특권을 상속받아야 합니다. 이 명령은 rc 스크립트에서 시작하여 ADMIN_LOW 민감도 레이블에서 실행되어야 합니다.

-d 옵션을 사용하면 tnd를 위한 디버깅을 시작하고 그 정보를 로그 파일에 기록할 수 있습니다. /var/tsol/tndlog 파일은 네트워크 디버깅을 위한 기본 로그 파일이며 디버그 메시지와 시간을 포함하는 각 디버깅 메시지를 위한 레코드를 수록합니다.

기본적으로 tndlog는 디버깅이 활성화되지 않은 한 존재하지 않습니다. tndlog 파일은 tnd-d 옵션 이외에 tnctl을 사용하여 작성할 수 있습니다.

tninfo

tninfo(1M) 명령을 사용하면 호스트 정보 (-h), 템플리트 정보(-t), 커널 수준 네트워크 정보 및 통계(-k) 등을 출력할 수 있습니다. 커널이 캐시하는 정보가 정확한지 확인하려면 tninfo를 사용하면 됩니다. 이 명령은 ADMIN_HIGH와 유효 사용자 ID 0으로 실행됩니다. file_mac_read, sys_trans_label, file_dac_read 등의 특권은 이 제한을 무시합니다. tninfo 실행 파일은 허용 비트 555, 소유자, 루트 및 그룹 sys와 함께 민감도 레이블 ADMIN_LOW로 유지되어야 합니다.

# tninfo
==================
kernel statistics
==================
fails host accreditation: 1496
fails interface accreditation: 0
number of seccom structures allocated: 29020
deallocated but memory not yet reclaimed: 28885
memory reclaimed: 28885

tokmapd

tokmapd(1M)(토큰 매핑 대몬) 명령은 트러스트 네트워크를 통해 전송되는 정보의 레이블을 지원하기 위하여 SATMP 토큰 매핑 프로토콜을 구현합니다. 이 정보는 속성 값을 나타내는 토큰을 사용하여 레이블됩니다. tokmapd는 토큰을 속성 값에 매핑하고 반대로 속성 값에 토큰을 매핑하는 기능을 합니다. tokmapd는 커널 또는 다른 호스트에 있는 토큰 매핑 서버로부터 토큰 매핑 요청을 받습니다. tokmapd 명령에는 여러 가지 디버깅 옵션도 제공되어 있습니다.

tokmapd 명령은 트러스트 경로에서 시작해야 하며 net_privaddr, proc_setclr, proc_setsl 특권을 상속받아 민감도 레이블 ADMIN_HIGH에서 실행되어야 합니다.

tokmapctl

tokmapctl(1M) 명령은 tokmapd 프로세스에 제어 및 구성 요청을 전송하는 인터페이스를 제공합니다. 이 명령은 트러스트 경로에서 시작되어야 하고 net_privaddr 특권과 net_mac_read 특권을 상속해야 합니다. tokmapctl 명령은 민감도 레이블 ADMIN_HIGH로 실행되어야 합니다.

네트워크 문제 해결

이 절에서 설명하는 Trusted Solaris 도구와 명령을 사용하여 네트워크 문제를 쉽게 디버깅할 수 있습니다. 명령에 대한 자세한 설명은 해당 온라인 참조 페이지를 참고하십시오. 또한 Trusted Solaris Administrator's Procedures 설명서의 제3장 "Managing Hosts and Networks"를 참조하십시오. snoop(1M), ipcs(1), netstat(1M) 같은 표준 네트워크 디버깅 명령들도 Trusted Solaris 환경에서 사용할 수 있습니다.