탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris Trusted Extensions 관리자 절차 Oracle Solaris 10 8/11 Information Library (한국어) |
3. Trusted Extensions 관리자로 시작하기(작업)
4. Trusted Extensions 시스템의 보안 요구 사항(개요)
5. Trusted Extensions의 보안 요구 사항 관리(작업)
6. Trusted Extensions의 사용자, 권한 및 역할(개요)
7. Trusted Extensions에서 사용자, 권한 및 역할 관리(작업)
8. Trusted Extensions에서 원격 관리(작업)
9. Trusted Extensions 및 LDAP(개요)
10. Trusted Extensions에서 영역 관리(작업)
Trusted Extensions의 영역 및 IP 주소
Trusted Extensions의 영역 관리 유틸리티
레이블이 있는 영역에 일반적으로 표시되지 않는 파일을 루프백 마운트하는 방법
레이블이 있는 영역에서 ZFS 데이터 집합을 공유하는 방법
레이블이 있는 영역에서 파일의 레이블을 변경할 수 있게 설정하는 방법
11. Trusted Extensions에서 파일 관리 및 마운트(작업)
13. Trusted Extensions에서 네트워크 관리(작업)
14. Trusted Extensions의 다중 레벨 메일(개요)
16. Trusted Extensions의 장치(개요)
17. Trusted Extensions에 대한 장치 관리(작업)
19. Trusted Extensions에서 소프트웨어 관리(작업)
A. Trusted Extensions 관리에 대한 빠른 참조
다음 작업 맵에서는 Trusted Extensions에 특정한 영역 관리 작업을 설명합니다. 또한 이 맵은 Oracle Solaris 시스템과 Trusted Extensions에서 수행되는 공통 절차를 알려줍니다.
|
이 절차에서는 현재 영역과 현재 영역에서 지배하는 모든 영역의 레이블을 표시하는 쉘 스크립트를 만듭니다.
시작하기 전에
전역 영역에서 시스템 관리자 역할을 가진 사용자여야 합니다.
자세한 내용은 Trusted Extensions에서 관리 파일을 편집하는 방법을 참조하십시오.
스크립트에 경로 이름(예: /usr/local/scripts/getzonelabels)을 제공합니다.
#!/bin/sh # echo "NAME\t\tSTATUS\t\tLABEL" echo "====\t\t======\t\t=====" myzone=`zonename` for i in `/usr/sbin/zoneadm list -p` ; do zone=`echo $i | cut -d ":" -f2` status=`echo $i | cut -d ":" -f3` path=`echo $i | cut -d ":" -f4` if [ $zone != global ]; then if [ $myzone = global ]; then path=$path/root/tmp else path=$path/export/home fi fi label=`/usr/bin/getlabel -s $path |cut -d ":" -f2-9` if [ `echo $zone|wc -m` -lt 8 ]; then echo "$zone\t\t$status\t$label" else echo "$zone\t$status\t$label" fi done
# getzonelabels NAME STATUS LABEL ==== ====== ===== global running ADMIN_HIGH needtoknow running CONFIDENTIAL : NEED TO KNOW restricted ready CONFIDENTIAL : RESTRICTED internal running CONFIDENTIAL : INTERNAL public running PUBLIC
스크립트를 전역 영역에서 실행하면 준비되거나 실행 중인 모든 영역의 레이블이 표시됩니다. 다음은 기본 label_encodings 파일에서 만든 영역에 대한 전역 영역 출력입니다.
예 10-1 준비 또는 실행 중인 모든 영역의 레이블 표시
다음 예에서는 internal 영역에서 getzonelabels 스크립트를 실행합니다.
# getzonelabels NAME STATUS LABEL ==== ====== ===== internal running CONFIDENTIAL : INTERNAL public running PUBLIC
이 절차에서는 현재 영역의 마운트된 파일 시스템을 표시하는 쉘 스크립트를 만듭니다. 이 스크립트를 전역 영역에서 실행하면 모든 영역의 마운트된 모든 파일 시스템의 레이블이 표시됩니다.
시작하기 전에
전역 영역에서 시스템 관리자 역할을 가진 사용자여야 합니다.
자세한 내용은 Trusted Extensions에서 관리 파일을 편집하는 방법을 참조하십시오.
스크립트에 경로 이름(예: /usr/local/scripts/getmounts)을 제공합니다.
#!/bin/sh # for i in `/usr/sbin/mount -p | cut -d " " -f3` ; do /usr/bin/getlabel $i done
# /usr/local/scripts/getmounts /: ADMIN_LOW /dev: ADMIN_LOW /kernel: ADMIN_LOW /lib: ADMIN_LOW /opt: ADMIN_LOW /platform: ADMIN_LOW /sbin: ADMIN_LOW /usr: ADMIN_LOW /var/tsol/doors: ADMIN_LOW /zone/needtoknow/export/home: CONFIDENTIAL : NEED TO KNOW /zone/internal/export/home: CONFIDENTIAL : INTERNAL USE ONLY /zone/restricted/export/home: CONFIDENTIAL : RESTRICTED /proc: ADMIN_LOW /system/contract: ADMIN_LOW /etc/svc/volatile: ADMIN_LOW /etc/mnttab: ADMIN_LOW /dev/fd: ADMIN_LOW /tmp: ADMIN_LOW /var/run: ADMIN_LOW /zone/public/export/home: PUBLIC /root: ADMIN_LOW
예 10-2 restricted 영역의 파일 시스템 레이블 표시
일반 사용자가 레이블이 있는 영역에서 getmounts 스크립트를 실행하면 해당 영역에 마운트된 모든 파일 시스템의 레이블이 표시됩니다. 시스템에서 기본 label_encodings 파일의 모든 레이블에 대해 영역을 만든 경우 restricted 영역에서 다음 내용이 출력됩니다.
# /usr/local/scripts/getmounts /: CONFIDENTIAL : RESTRICTED /dev: CONFIDENTIAL : RESTRICTED /kernel: ADMIN_LOW /lib: ADMIN_LOW /opt: ADMIN_LOW /platform: ADMIN_LOW /sbin: ADMIN_LOW /usr: ADMIN_LOW /var/tsol/doors: ADMIN_LOW /zone/needtoknow/export/home: CONFIDENTIAL : NEED TO KNOW /zone/internal/export/home: CONFIDENTIAL : INTERNAL USE ONLY /proc: CONFIDENTIAL : RESTRICTED /system/contract: CONFIDENTIAL : RESTRICTED /etc/svc/volatile: CONFIDENTIAL : RESTRICTED /etc/mnttab: CONFIDENTIAL : RESTRICTED /dev/fd: CONFIDENTIAL : RESTRICTED /tmp: CONFIDENTIAL : RESTRICTED /var/run: CONFIDENTIAL : RESTRICTED /zone/public/export/home: PUBLIC /home/gfaden: CONFIDENTIAL : RESTRICTED
이 절차에서는 지정된 레이블이 있는 영역의 사용자가 전역 영역에서 기본적으로 내보내지 않는 파일을 볼 수 있도록 설정합니다.
시작하기 전에
전역 영역에서 시스템 관리자 역할을 가진 사용자여야 합니다.
# zoneadm -z zone-name halt
예를 들어, 일반 사용자가 /etc 디렉토리에서 파일을 볼 수 있도록 허용합니다.
# zonecfg -z zone-name add filesystem set special=/etc/filename set directory=/etc/filename set type=lofs add options [ro,nodevices,nosetuid] end exit
주 - 시스템에서 사용되지 않는 파일은 루프백 마운트해도 효과가 없습니다. 예를 들어, 레이블이 있는 영역의 /etc/dfs/dfstab 파일은 Trusted Extensions 소프트웨어에서 확인되지 않습니다. 자세한 내용은 레이블이 있는 영역에서 파일 공유를 참조하십시오.
# zoneadm -z zone-name boot
예 10-3 /etc/passwd 파일 루프백 마운트
이 예에서 보안 관리자는 테스터와 프로그래머가 로컬 암호가 설정되었는지 확인할 수 있도록 합니다. sandbox 영역이 중지된 후 passwd 파일을 루프백 마운트하도록 구성됩니다. 그런 다음 영역이 다시 시작됩니다.
# zoneadm -z sandbox halt # zonecfg -z sandbox add filesystem set special=/etc/passwd set directory=/etc/passwd set type=lofs add options [ro,nodevices,nosetuid] end exit # zoneadm -z sandbox boot
기본적으로 사용자는 하위 수준 파일을 볼 수 있습니다. 특정 영역에서 모든 하위 수준 파일을 보지 못하도록 net_mac_aware 권한을 제거합니다. net_mac_aware 권한에 대한 자세한 내용은 privileges(5) 매뉴얼 페이지를 참조하십시오.
시작하기 전에
전역 영역에서 시스템 관리자 역할을 가진 사용자여야 합니다.
# zoneadm -z zone-name halt
영역에서 net_mac_aware 권한을 제거합니다.
# zonecfg -z zone-name set limitpriv=default,!net_mac_aware exit
# zoneadm -z zone-name boot
예 10-4 사용자가 하위 수준 파일을 보지 못하도록 금지
이 예에서 보안 관리자는 특정 시스템의 사용자가 혼돈을 일으키지 않게 하려고 합니다. 그 결과, 사용자는 자신이 작업 중인 레이블의 파일만 볼 수 있습니다. 따라서 보안 관리자는 모든 하위 수준 파일 보기를 금지합니다. 이 시스템에서 사용자는 PUBLIC 레이블에서 작업 중인 경우가 아니면 공개적으로 사용 가능한 파일을 볼 수 없습니다. 또한 영역 레이블의 파일만 NFS 마운트할 수 있습니다.
# zoneadm -z restricted halt # zonecfg -z restricted set limitpriv=default,!net_mac_aware exit # zoneadm -z restricted boot
# zoneadm -z needtoknow halt # zonecfg -z needtoknow set limitpriv=default,!net_mac_aware exit # zoneadm -z needtoknow boot
# zoneadm -z internal halt # zonecfg -z internal set limitpriv=default,!net_mac_aware exit # zoneadm -z internal boot
PUBLIC은 최하위 레이블이므로 보안 관리자는 PUBLIC 영역에 대해 명령을 실행하지 않습니다.
이 절차에서는 레이블이 있는 영역에서 읽기/쓰기 권한으로 ZFS 데이터 집합을 마운트합니다. 모든 명령은 전역 영역에서 실행되므로 전역 영역 관리자는 레이블이 있는 영역에 대한 ZFS 데이터 집합 추가를 제어합니다.
데이터 집합을 공유하려면 최소한 레이블이 있는 영역이 ready 상태에 있어야 합니다. 영역이 running 상태일 수 있습니다.
시작하기 전에
데이터 집합으로 영역을 구성하려면 영역을 중지합니다.
# zfs create datasetdir/subdir
데이터 집합의 이름에 디렉토리(예: zone/data)가 포함될 수 있습니다.
# zoneadm -z labeled-zone-name halt
# zfs set mountpoint=legacy datasetdir/subdir
ZFS mountpoint 특성을 설정하면 마운트 지점이 레이블이 있는 영역과 일치하는 경우 마운트 지점의 레이블이 설정됩니다.
# zonecfg -z labeled-zone-name # zonecfg:labeled-zone-name> add fs # zonecfg:labeled-zone-name:dataset> set dir=/subdir # zonecfg:labeled-zone-name:dataset> set special=datasetdir/subdir # zonecfg:labeled-zone-name:dataset> set type=zfs # zonecfg:labeled-zone-name:dataset> end # zonecfg:labeled-zone-name> exit
데이터 집합을 파일 시스템으로 추가하면 dfstab 파일이 해석되기 전에 데이터 집합이 영역의 /data에 마운트됩니다. 이 단계를 수행하면 영역이 부팅되기 전에 데이터 집합이 마운트되지 않습니다. 즉, 영역이 부팅되고, 데이터 집합이 마운트된 다음 dfstab 파일이 해석됩니다.
/zone/labeled-zone-name/etc/dfs/dfstab 파일에 데이터 집합 파일 시스템에 대한 항목을 추가합니다. 또한 이 항목은 /subdir 경로 이름을 사용합니다.
share -F nfs -d "dataset-comment" /subdir
# zoneadm -z labeled-zone-name boot
영역이 부팅되면 데이터 집합이 labeled-zone-name 영역 레이블을 사용하여 labeled-zone-name 영역에서 읽기/쓰기 마운트 지점으로 자동으로 마운트됩니다.
예 10-5 레이블이 있는 영역에서 ZFS 데이터 집합 공유 및 마운트
이 예에서 관리자는 ZFS 데이터 집합을 needtoknow 영역에 추가하여 공유합니다. zone/data 데이터 집합은 /mnt 마운트 지점에 할당되어 있습니다. restricted 영역의 사용자는 이 데이터 집합을 볼 수 있습니다.
먼저 관리자가 영역을 중지합니다.
# zoneadm -z needtoknow halt
데이터 집합이 다른 마운트 지점에 할당되어 있으므로 관리자는 이전 할당을 제거한 다음 새 마운트 지점을 설정합니다.
# zfs set zoned=off zone/data # zfs set mountpoint=legacy zone/data
그런 다음 zonecfg 대화형 인터페이스에서 관리자는 데이터 집합을 needtoknow 영역에 명시적으로 추가합니다.
# zonecfg -z needtoknow # zonecfg:needtoknow> add fs # zonecfg:needtoknow:dataset> set dir=/data # zonecfg:needtoknow:dataset> set special=zone/data # zonecfg:needtoknow:dataset> set type=zfs # zonecfg:needtoknow:dataset> end # zonecfg:needtoknow> exit
관리자는 데이터 집합을 공유하도록 /zone/needtoknow/etc/dfs/dfstab 파일을 수정한 다음 needtoknow 영역을 부팅합니다.
## Global zone dfstab file for needtoknow zone share -F nfs -d "App Data on ZFS" /data
# zoneadm -z needtoknow boot
이제 데이터 집합을 액세스할 수 있습니다.
needtoknow 영역을 지배하는 restricted 영역의 사용자는 /data 디렉토리로 변경하여 마운트된 데이터 집합을 볼 수 있습니다. 또한 전역 영역의 관점에서 마운트된 데이터 집합의 전체 경로를 사용합니다. 이 예에서 machine1은 레이블이 있는 영역을 포함하는 시스템의 호스트 이름입니다. 관리자가 호스트 이름을 공유되지 않는 IP 주소에 할당했습니다.
# cd /net/machine1/zone/needtoknow/root/data
일반 오류
상위 레이블에서 데이터 집합에 연결할 때 not found(찾을 수 없음) 또는 No such file or directory(해당 파일 또는 디렉토리 없음) 오류가 표시되는 경우 관리자는 svcadm restart autofs 명령을 실행하여 자동 마운트 서비스를 다시 시작해야 합니다.
이 절차를 수행해야 사용자가 파일의 레이블을 바꿀 수 있습니다.
시작하기 전에
전역 영역에서 보안 관리자 역할을 가진 사용자여야 합니다.
# zoneadm -z zone-name halt
영역에 적절한 권한을 추가합니다. 창 권한을 사용하면 끌어서 놓기 및 잘라내기/붙여넣기 작업을 수행할 수 있습니다.
# zonecfg -z zone-name set limitpriv=default,win_dac_read,win_mac_read,win_dac_write, win_mac_write,win_selection,file_downgrade_sl exit
# zonecfg -z zone-name set limitpriv=default,win_dac_read,win_mac_read,win_dac_write, win_mac_write,win_selection,sys_trans_label,file_upgrade_sl exit
# zonecfg -z zone-name set limitpriv=default,win_dac_read,win_mac_read,win_dac_write, win_mac_write,win_selection,sys_trans_label,file_downgrade_sl, file_upgrade_sl exit
# zoneadm -z zone-name boot
레이블 바꾸기를 허용하는 사용자 및 프로세스 요구 사항은 setflabel(3TSOL) 매뉴얼 페이지를 참조하십시오. 파일 레이블을 바꿀 수 있게 사용자를 인증하려면 사용자가 데이터의 보안 수준을 변경할 수 있게 하는 방법을 참조하십시오.
예 10-6 internal 영역에서 업그레이드 활성화
이 예에서 보안 관리자는 시스템의 인증된 사용자가 파일을 업그레이드할 수 있게 하려고 합니다. 사용자가 정보를 업그레이드할 수 있게 함으로써 관리자는 높은 보안 레벨로 정보를 보호할 수 있습니다. 전역 영역에서 관리자는 다음 영역 관리 명령을 실행합니다.
# zoneadm -z internal halt # zonecfg -z internal set limitpriv=default,sys_trans_label,file_upgrade_sl exit # zoneadm -z internal boot
인증된 사용자는 이제 internal 정보를 internal 영역에서 restricted 영역으로 업그레이드할 수 있습니다.
예 10-7 restricted 영역에서 다운그레이드 활성화
이 예에서 보안 관리자는 시스템의 인증된 사용자가 파일을 다운그레이드할 수 있게 하려고 합니다. 관리자가 영역에 창 권한을 추가하지 않았기 때문에 인증된 사용자는 File Manager(파일 관리자)를 사용하여 파일의 레이블을 바꿀 수 없습니다. 사용자가 파일의 레이블을 바꾸려면 setlabel 명령을 사용합니다.
사용자가 정보를 다운그레이드할 수 있게 설정하여 관리자는 사용자에게 낮은 보안 레벨로 파일에 액세스할 수 있게 허용합니다. 전역 영역에서 관리자는 다음 영역 관리 명령을 실행합니다.
# zoneadm -z restricted halt # zonecfg -z restricted set limitpriv=default,file_downgrade_sl exit # zoneadm -z restricted boot
인증된 사용자는 이제 setlabel 명령을 사용하여 restricted 정보를 restricted 영역에서 internal 또는 public 영역으로 다운그레이드할 수 있습니다.
이 절차는 udp를 통해 NFSv3 하위 읽기(read-down) 마운트를 활성화하는 데 사용됩니다. Solaris Management Console은 MLP를 추가하는 데 사용됩니다.
시작하기 전에
전역 영역에서 보안 관리자 역할을 가진 사용자여야 합니다.
자세한 내용은 Solaris Management Console에서 로컬 시스템을 관리하는 방법을 참조하십시오.
도구 상자 제목에 Scope=Files, Policy=TSOL이 포함됩니다.
# tnctl -fz /etc/security/tsol/tnzonecfg
레이블이 있는 영역에서 실행되는 응용 프로그램에 영역과의 통신을 위한 MLP(다중 레벨 포트)가 필요한 경우 이 절차를 사용합니다. 이 절차에서 웹 프록시는 영역과 통신합니다. Solaris Management Console은 MLP를 추가하는 데 사용됩니다.
시작하기 전에
전역 영역에서 보안 관리자 역할을 가진 사용자여야 합니다. 레이블이 있는 영역이 존재해야 합니다. 자세한 내용은 Oracle Solaris Trusted Extensions 구성 설명서의 레이블이 있는 영역 만들기를 참조하십시오.
자세한 내용은 Solaris Management Console에서 로컬 시스템을 관리하는 방법을 참조하십시오.
도구 상자 제목에 Scope=Files, Policy=TSOL이 포함됩니다.
Action(작업) 메뉴를 누르고 Add Template(템플리트 추가)를 선택합니다.
# zoneadm -z zone-name boot
예를 들어, 영역에 공유 IP 주소가 있는 경우 다음을 수행합니다.
# route add proxy labeled-zones-IP-address # route add webservice labeled-zones-IP-address