이 절에는 보안 템플리트에 호스트를 추가하는 것에 대한 예 또는 포인터가 포함되어 있습니다. 불연속 IP 주소의 경우 호스트를 보안 템플리트에 추가하는 방법을 참조하십시오. 호스트 범위의 경우 호스트 범위를 보안 템플리트에 추가하는 방법을 참조하십시오.
이 절의 예에서는 다음과 같은 원격 호스트 레이블 지정을 보여 줍니다.
신뢰할 수 있는 원격 게이트웨이가 PUBLIC 트래픽을 처리합니다. Example 16–4를 참조하십시오.
단일 레이블 라우터로 작동하는 신뢰할 수 없는 원격 호스트 – Example 16–5
신뢰할 수 있는 원격 호스트가 트래픽을 좁은 레이블 범위 내로 제한합니다. Example 16–6을 참조하십시오.
신뢰할 수 있는 원격 호스트에 제한된 레이블 세트가 지정되었습니다. Example 16–7을 참조하십시오.
신뢰할 수 있는 원격 호스트에 나머지 네트워크와 분리된 레이블이 지정되었습니다. Example 16–8을 참조하십시오.
신뢰할 수 있는 netif 호스트가 adaptive 시스템의 패킷에 레이블을 지정합니다. Example 16–9를 참조하십시오.
신뢰할 수 없는 adaptive 호스트가 패킷을 netif 호스트로 전송합니다. Example 16–10을 참조하십시오.
신뢰할 수 있는 동종 네트워크가 특정 레이블에서 멀티캐스트 주소를 추가합니다. Example 16–11을 참조하십시오.
호스트가 보안 템프리트에서 제거되었습니다. Example 16–12를 참조하십시오.
신뢰할 수 없는 원격 호스트 및 네트워크에 레이블이 지정되었습니다. Example 16–15를 참조하십시오.
시작하기 전에
다음이 필요합니다.
IP 주소가 /etc/hosts 파일에 있거나 DNS에서 확인할 수 있어야 합니다.
hosts 파일은 시스템의 알려진 네트워크에 호스트를 추가하는 방법을 참조하십시오.
DNS의 경우 Oracle Solaris 11.2의 이름 지정 및 디렉토리 서비스 작업: DNS 및 NIS 의 3 장, DNS(Domain Name System) 관리를 참조하십시오.
레이블 끝점이 일치해야 합니다. 규칙은 Trusted Extensions의 경로 지정 정보를 참조하십시오.
전역 영역에서 보안 관리자 역할을 가진 사용자여야 합니다.
이 예에서는 192.168.1.2에 연결할 수 있는지 확인합니다.
# arp 192.168.1.2 gateway-2.example.com (192.168.1.2) at 0:0:0:1:ad:cd
arp 명령은 호스트가 시스템의 /etc/hosts 파일에 정의되어 있거나 DNS에서 확인할 수 있는지 확인합니다.
이 예제에서는 192.168.1.2 IP 주소를 추가합니다.
# tncfg -t cipso tncfg:cipso> add host=192.168.1.2
이전에 다른 템플리트에 추가한 호스트를 추가하는 경우 보안 템플리트 지정을 바꾼다는 메시지가 나타납니다. 정보 메시지는 Example 16–3을 참조하십시오.
다음 예제는 192.168.1.2 주소가 cipso 템플리트에 추가되었음을 보여줍니다.
tncfg:cipso> info ... host=192.168.1.2/32
/32의 접두어 길이는 주소가 정확함을 나타냅니다.
tncfg:cipso> commit tncfg:cipso> exit
호스트 항목을 제거하려면 Example 16–12를 참조하십시오.
이 예제는 이미 템플리트 지정이 포함된 호스트에 보안 템플리트를 지정할 때 표시되는 정보 메시지를 보여줍니다.
# tncfg -t cipso tncfg:cipso> add host=192.168.1.2 192.168.1.2 previously matched the admin_low template tncfg:cipso> info ... host=192.168.1.2/32 tncfg:cipso> exit예 16-4 패킷을 하나의 레이블로 처리하는 게이트웨이 만들기
Example 16–1에서 보안 관리자는 PUBLIC 레이블에서만 패킷을 전달할 수 있는 게이트웨이를 정의하는 보안 템플리트를 만듭니다. 이 예에서 보안 관리자는 게이트웨이 호스트의 IP 주소를 확인할 수 있는지 확인합니다.
# arp 192.168.131.75 gateway-1.example.com (192.168.131.75) at 0:0:0:1:ab:cd
arp 명령은 호스트가 시스템의 /etc/hosts 파일에 정의되어 있거나 DNS에서 확인할 수 있는지 확인합니다.
그런 다음 관리자는 gateway-1 호스트를 보안 템플리트에 추가합니다.
# tncfg -t cipso_public tncfg:cipso_public> add host=192.168.131.75 tncfg:cipso_public> exit
시스템은 즉시 gateway-1을 통해 public 패킷을 송수신할 수 있습니다.
예 16-5 레이블이 있는 패킷을 경로 지정하는 레이블이 없는 라우터 만들기라우터에서 명시적으로 레이블을 지원하지 않더라도 모든 IP 라우터는 CALIPSO 또는 CIPSO 레이블로 메시지를 전달할 수 있습니다. 이러한 레이블이 없는 라우터에는 대개 라우터 관리를 위한 라우터 연결을 처리해야 하는 레벨을 정의하기 위한 기본 레이블이 필요합니다. 이 예에서 보안 관리자는 어느 레이블에서나 트래픽을 전달할 수 있는 라우터를 만들지만, 라우터와의 모든 직접 통신은 기본 레이블인 PUBLIC에서 처리됩니다.
먼저 보안 관리자가 처음부터 템플리트를 만듭니다.
# tncfg -t unl_public_router tncfg:unl_public_router> set host_type=unlabeled tncfg:unl_public_router> set doi=1 tncfg:unl_public_router> set def_label="PUBLIC" tncfg:unl_public_router> set min_label=ADMIN_LOW tncfg:unl_public_router> set max_label=ADMIN_HIGH tncfg:unl_public_router> exit
그런 다음 관리자는 라우터를 보안 템플리트에 추가합니다.
# tncfg -t unl_public_router tncfg:unl_public_router> add host=192.168.131.82 tncfg:unl_public_router> exit
시스템이 192.168.131.82 주소의 호스트 이름 router-1을 통해 즉시 모든 레이블에서 패킷을 보내고 받을 수 있습니다.
예 16-6 제한된 레이블 범위를 사용하여 게이트웨이 만들기이 예에서 보안 관리자는 패킷을 좁은 레이블 범위로 제한하는 템플리트를 만들고 게이트웨이를 이 템플리트에 추가합니다.
# arp 192.168.131.78 gateway-ir.example.com (192.168.131.78) at 0:0:0:3:ab:cd
# tncfg -t cipso_iuo_rstrct tncfg:cipso_iuo_rstrct> set host_type=cipso tncfg:cipso_iuo_rstrct> set doi=1 tncfg:cipso_iuo_rstrct> set min_label=0x0004-08-48 tncfg:cipso_iuo_rstrct> set max_label=0x0004-08-78 tncfg:cipso_iuo_rstrct> add host=192.168.131.78 tncfg:cipso_iuo_rstrct> exit
시스템은 즉시 gateway-ir을 통해 internal 및 restricted 레이블이 지정된 패킷을 송수신할 수 있습니다.
예 16-7 고유의 레이블에서 호스트 만들기이 예에서 보안 관리자는 confidential : internal use only 및 confidential : restricted의 두 가지 레이블만 인식하는 보안 템플리트를 만듭니다. 기타 모든 트래픽은 거부됩니다.
먼저 보안 관리자는 각 호스트의 IP 주소를 확인할 수 있는지 확인합니다.
# arp 192.168.132.21 host-auxset1.example.com (192.168.132.21) at 0:0:0:4:ab:cd # arp 192.168.132.22 host-auxset2.example.com (192.168.132.22) at 0:0:0:5:ab:cd # arp 192.168.132.23 host-auxset3.example.com (192.168.132.23) at 0:0:0:6:ab:cd # arp 192.168.132.24 host-auxset4.example.com (192.168.132.24) at 0:0:0:7:ab:cd
그런 다음 관리자는 레이블을 정확하게 입력해야 합니다. 소프트웨어는 대소문자의 레이블 및 짧은 이름의 레이블을 인식하지만 공백이 부정확한 레이블은 인식하지 못합니다. 예를 들어 cnf :restricted 레이블은 유효한 레이블이 아닙니다.
# tncfg -t cipso_int_and_rst tncfg:cipso_int_and_rst> set host_type=cipso tncfg:cipso_int_and_rst> set doi=1 tncfg:cipso_int_and_rst> set min_label="cnf : internal use only" tncfg:cipso_int_and_rst> set max_label="cnf : internal use only" tncfg:cipso_int_and_rst> set aux_label="cnf : restricted" tncfg:cipso_int_and_rst> exit
그런 다음 관리자는 접두어 길이를 사용하여 IP 주소 범위를 보안 템플리트에 지정합니다.
# tncfg -t cipso_int_rstrct tncfg:cipso_int_rstrct> set host=192.168.132.0/24예 16-8 개발자에 대한 레이블이 있는 호스트 만들기
이 예에서 보안 관리자는 cipso_sandbox 보안 템플리트를 만듭니다. 이 템플리트는 신뢰할 수 있는 소프트웨어의 개발자가 사용하는 시스템에 지정됩니다. SANDBOX 레이블은 네트워크의 다른 레이블과 떨어져 있으므로 개발자 테스트는 다른 레이블이 있는 호스트에 영향을 주지 않습니다.
# tncfg -t cipso_sandbox tncfg:cipso_sandbox> set host_type=cipso tncfg:cipso_sandbox> set doi=1 tncfg:cipso_sandbox> set min_sl="SBX" tncfg:cipso_sandbox> set max_sl="SBX" tncfg:cipso_sandbox> add host=196.168.129.102 tncfg:cipso_sandbox> add host=196.168.129.129 tncfg:cipso_sandbox> exit
196.168.129.102 및 196.168.129.129 시스템을 사용하는 개발자는 SANDBOX 레이블에서 서로 통신할 수 있습니다.
예 16-9 netif 호스트에 대한 보안 템플리트 만들기이 예에서 보안 관리자는 netif 보안 템플리트를 만듭니다. 이 템플리트는 IP 주소 10.121.10.3을 호스트하는 레이블이 있는 네트워크 인터페이스에 지정됩니다. 이 지정으로 Trusted Extensions IP 모듈은 adaptive 호스트에서 도달하는 모든 수신 패킷에 기본 레이블 PUBLIC을 추가합니다.
# tncfg -t netif_public tncfg:netif_public> set host_type=netif tncfg:netif_public> set doi=1 tncfg:netif_public> set def_label="PUBLIC" tncfg:netif_public> add host=10.121.10.3 tncfg:netif_public> commit tncfg:netif_public> exit예 16-10 적응형 호스트에 대한 보안 템플리트 만들기
이 예에서 보안 관리자는 미리 계획합니다. 관리자는 공개 정보를 보유하는 네트워크와 내부 정보를 보유하는 네트워크에 대해 서로 다른 서브넷을 만듭니다. 그런 다음 관리자는 두 개의 adaptive 호스트를 정의합니다. 공용 서브넷의 시스템에는 PUBLIC 레이블이 지정됩니다. 내부 네트워크의 시스템에는 IUO 레이블이 지정됩니다. 이 네트워크는 미리 계획되므로 각 네트워크는 특정 레이블의 정보를 보유하고 전송합니다. 또 다른 장점은 패킷이 예상된 인터페이스에서 배달되지 않는 경우 네트워크를 쉽게 디버그할 수 있다는 것입니다.
# tncfg -t adpub_192_168_10 tncfg:adapt_public> set host_type=adapt tncfg:adapt_public> set doi=1 tncfg:adapt_public> set min_label="public" tncfg:adapt_public> set max_label="public" tncfg:adapt_public> add host=192.168.10.0 tncfg:adapt_public> commit tncfg:adapt_public> exit
# tncfg -t adiuo_192_168_20 tncfg:adapt_public> set host_type=adapt tncfg:adapt_public> set doi=1 tncfg:adapt_public> set min_label="iuo" tncfg:adapt_public> set max_label="iuo" tncfg:adapt_public> add host=192.168.20.0 tncfg:adapt_public> commit tncfg:adapt_public> exit예 16-11 레이블이 있는 멀티캐스트 메시지 보내기
이 예제의 레이블이 있는 동종 LAN에서 관리자는 PUBLIC 레이블의 패킷을 보내는 데 사용할 수 있는 멀티캐스트 주소를 선택합니다.
# tncfg -t cipso_public tncfg:cipso_public> add host=224.4.4.4 tncfg:cipso_public> exit예 16-12 보안 템플리트에서 여러 호스트 제거
이 예에서 보안 관리자는 cipso 보안 템플리트에서 여러 호스트를 제거합니다. 관리자는 info 하위 명령을 사용하여 호스트를 표시한 다음 remove를 입력하고 4개의 host= 항목을 복사하여 붙여 넣습니다.
# tncfg -t cipso info name=cipso host_type=cipso doi=1 min_label=ADMIN_LOW max_label=ADMIN_HIGH host=127.0.0.1/32 host=192.168.1.2/32 host=192.168.113.0/24 host=192.168.113.100/25 host=2001:a08:3903:200::0/56
# tncfg -t cipso tncfg:cipso> remove host=192.168.1.2/32 tncfg:cipso> remove host=192.168.113.0/24 tncfg:cipso> remove host=192.168.113.100/25 tncfg:cipso> remove host=2001:a08:3903:200::0/56 tncfg:cipso> info ... max_label=ADMIN_HIGH host=127.0.0.1/32 host=192.168.75.0/24
호스트를 제거한 후 관리자는 변경 사항을 커밋하고 보안 템플리트를 종료합니다.
tncfg:cipso> commit tncfg:cipso> exit #
시작하기 전에
요구 사항은 호스트를 보안 템플리트에 추가하는 방법을 참조하십시오.
이 예제에서는 두 IPv4 서브넷을 cipso 템플리트에 추가한 다음 보안 템플리트를 표시합니다.
# tncfg -t cipso tncfg:cipso> add host=192.168.75.0 tncfg:cipso> add host=192.168.113.0 tncfg:cipso> info ... host=192.168.75.0/24 host=192.168.113.0/24 tncfg:cipso> exit
/24의 접두어 길이는 .0으로 끝나는 주소가 서브넷임을 나타냅니다.
# tncfg -t cipso tncfg:cipso> add host=192.168.113.100/25 192.168.113.100/25 previously matched the admin_low template
다음 예에서 /25 접두어 길이에는 192.168.113.0에서 192.168.113.127 사이의 연속 IPv4 주소가 포함됩니다. 주소에는 192.168.113.100이 포함됩니다.
# tncfg -t cipso tncfg:cipso> add host=192.168.113.100/25 tncfg:cipso> exit
다음 예에서 /56 접두어 길이에는 2001:a08:3903:200::0에서 2001:a08:3903:2ff:ffff:ffff:ffff:ffff 사이의 연속 IPv6 주소가 포함됩니다. 주소에는 2001:a08:3903:201:20e:cff:fe08:58c가 포함됩니다.
# tncfg -t cipso tncfg:cipso> add host=2001:a08:3903:200::0/56 tncfg:cipso> info ... host=2001:a08:3903:200::0/56 tncfg:cipso> exit
이전에 다른 템플리트에 추가한 호스트를 추가하는 경우 보안 템플리트 지정을 바꾼다는 메시지가 나타납니다. 정보 메시지는 Example 16–13을 참조하십시오.
잘못 입력된 항목도 Example 16–14에 표시된 것처럼 정보 메시지를 표시합니다.
이 예제는 이미 템플리트 지정이 포함된 호스트 범위에 보안 템플리트를 지정할 때 표시되는 정보 메시지를 보여줍니다.
# tncfg -t cipso tncfg:cipso> add host=192.168.113.100/32 192.168.113.100/32 previously matched the admin_low template tncfg:cipso> info ... host=192.168.113.100/32 tncfg:cipso> exit
신뢰할 수 있는 네트워크 폴백 방식에 설명된 대로 Trusted Extensions 폴백 방식은 이 명시적 지정이 이전 지정을 대체하도록 합니다.
예 16-14 보안 템플리트에서 잘못 입력된 IP 주소 처리잘못 입력된 항목은 정보 메시지를 표시합니다. 다음 호스트 추가에는 주소에서 :200이 누락되어 있습니다.
# tncfg -t cipso tncfg:cipso> add host=2001:a08:3903::0/56 Invalid host: 2001:a08:3903::0/56예 16-15 PUBLIC 레이블에서 레이블이 없는 하위 네트워크 만들기
Example 16–2에서 보안 관리자는 신뢰할 수 없는 호스트에 PUBLIC 레이블을 지정하는 보안 템플리트를 만듭니다. 이 예에서 보안 관리자는 서브넷을 PUBLIC 레이블에 지정합니다. 지정하는 시스템의 사용자는 이 서브넷의 호스트에서 PUBLIC 영역으로 파일 시스템을 마운트할 수 있습니다.
# tncfg -t public tncfg:public> add host=10.10.0.0/16 tncfg:public> exit
서브넷은 즉시 PUBLIC 레이블에서 연결할 수 있습니다.