ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Trusted Extensions 構成と管理 Oracle Solaris 11.1 Information Library (日本語) |
パート I Trusted Extensions の初期構成
1. Trusted Extensions のセキュリティー計画
2. Trusted Extensions の構成ロードマップ
3. Oracle Solaris への Trusted Extensions 機能の追加 (タスク)
4. Trusted Extensions の構成 (タスク)
5. Trusted Extensions のための LDAP の構成 (タスク)
8. Trusted Extensions システムのセキュリティー要件 (概要)
9. Trusted Extensions での一般的なタスクの実行
10. Trusted Extensions でのユーザー、権利、および役割 (概要)
11. Trusted Extensions でのユーザー、権利、役割の管理 (タスク)
12. Trusted Extensions でのリモート管理 (タスク)
13. Trusted Extensions でのゾーンの管理
Trusted Extensions のゾーンと IP アドレス
Trusted Extensions でのゾーン管理ユーティリティー
14. Trusted Extensions でのファイルの管理とマウント
16. Trusted Extensions でのネットワークの管理 (タスク)
17. Trusted Extensions と LDAP (概要)
18. Trusted Extensions でのマルチレベルメール (概要)
20. Trusted Extensions のデバイス (概要)
21. Trusted Extensions でのデバイス管理 (タスク)
22. Trusted Extensions での監査 (概要)
23. Trusted Extensions のソフトウェア管理
サイトのセキュリティーポリシーと Trusted Extensions
B. Trusted Extensions の構成チェックリスト
Trusted Extensions を構成するためのチェックリスト
Trusted Extensions による Oracle Solaris インタフェースの拡張
Trusted Extensions の厳密なセキュリティーデフォルト
Trusted Extensions で制限されるオプション
D. Trusted Extensions マニュアルページのリスト
Trusted Extensions マニュアルページ (アルファベット順)
次のタスクマップでは、Trusted Extensions に固有のゾーン管理タスクについて説明します。このマップでは、Oracle Solaris システムの場合と同様に、Trusted Extensions で実行される一般的な手順へのリンクも示します。
|
始める前に
大域ゾーンで、システム管理者役割になっている必要があります。
ゾーンの名前、ステータス、およびラベルが GUI に表示されます。
# zoneadm list -v ID NAME STATUS PATH BRAND IP 0 global running / ipkg shared 5 internal running /zone/internal labeled shared 6 public running /zone/public labeled shared
ゾーンのラベルは出力に表示されません。
この手順では、現在のゾーンでマウントされたファイルシステムを表示するシェルスクリプトを作成します。大域ゾーンからこのスクリプトを実行すると、各ゾーンでマウントされたすべてのファイルシステムのラベルが表示されます。
始める前に
大域ゾーンで、システム管理者役割になっている必要があります。
/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_HIGH /dev: ADMIN_HIGH /system/contract: ADMIN_HIGH /proc: ADMIN_HIGH /system/volatile: ADMIN_HIGH /system/object: ADMIN_HIGH /lib/libc.so.1: ADMIN_HIGH /dev/fd: ADMIN_HIGH /tmp: ADMIN_HIGH /etc/mnttab: ADMIN_HIGH /export: ADMIN_HIGH /export/home: ADMIN_HIGH /export/home/jdoe: ADMIN_HIGH /zone/public: ADMIN_HIGH /rpool: ADMIN_HIGH /zone: ADMIN_HIGH /home/jdoe: ADMIN_HIGH /zone/public: ADMIN_HIGH /zone/snapshot: ADMIN_HIGH /zone/internal: ADMIN_HIGH ...
例 13-1 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/jdoe: 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
# zoneadm -z zone-name boot
例 13-2 /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
例 13-3 ユーザーによる下位ファイルの表示を禁止する
この例でセキュリティー管理者は、このシステム上のユーザーが混乱しないように構成しようとします。そのため、ユーザーは自身が作業中のラベルでしかファイルを表示できなくなります。セキュリティー管理者は、下位レベルのすべてのファイルの表示を禁止します。このシステムで、ユーザーは 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 状態であっても構いません。
始める前に
データセットを持つゾーンを構成するには、最初にそのゾーンを停止する必要があります。大域ゾーンで root 役割になっている必要があります。
# zfs create datasetdir/subdir
データセットの名前には、zone/data などのディレクトリを含めることができます。
# zoneadm -z labeled-zone-name halt
# zfs set mountpoint=legacy datasetdir/subdir
ZFS mountpoint プロパティーで、マウントポイントがラベル付きゾーンに対応付けられたときのマウントポイントのラベルを設定します。
# zfs set sharenfs=on datasetdir/subdir
# 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
データセットをファイルシステムとして追加することにより、データセットがゾーンの /data にマウントされます。この手順により、ゾーンがブートする前にデータセットがマウントされないようになります。
# zoneadm -z labeled-zone-name boot
ゾーンがブートすると、データセットが、labeled-zone-name ゾーンのラベルを持つ labeled-zone-name ゾーンの読み取り/書き込みマウントポイントとして自動的にマウントされます。
例 13-4 ラベル付きゾーンの ZFS データセットを共有してマウントする
この例では、管理者は ZFS データセットを needtoknow ゾーンに追加し、そのデータセットを共有します。データセット zone/data は現在、/mnt マウントポイントに割り当てられています。restricted ゾーンのユーザーはそのデータセットを表示できます。
最初に、管理者はゾーンを停止します。
# zoneadm -z needtoknow halt
データセットは現在別のマウントポイントに割り当てられているため、管理者は以前の割り当てを削除してから、新しいマウントポイントを設定します。
# zfs set zoned=off zone/data # zfs set mountpoint=legacy zone/data
次に、管理者はデータセットを共有します。
# zfs set sharenfs=on 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
次に、管理者は needtoknow ゾーンをブートします。
# zoneadm -z needtoknow boot
これで、データセットはアクセス可能になります。
restricted ゾーンは needtoknow ゾーンよりも優位であり、ユーザーは /data ディレクトリに変更することでマウントされたデータセットを表示できます。ユーザーは、大域ゾーンを基準にして、マウントされたデータセットへのフルパスを使用します。この例では、machine1 はラベル付きゾーンを含むシステムのホスト名です。管理者は、このホスト名を共有していない IP アドレスに割り当てています。
# cd /net/machine1/zone/needtoknow/root/data
注意事項
上位ラベルからデータセットにアクセスしようとして、エラー not found または No such file or directory が返された場合、管理者は svcadm restart autofs コマンドを実行して、オートマウンタサービスを再起動する必要があります。
ユーザーがファイルに再ラベル付けできるようにする場合、この手順が前提条件となります。
始める前に
構成する予定のゾーンを停止する必要があります。大域ゾーンでセキュリティー管理者役割になります。
# /usr/sbin/txzonemgr &
再ラベル付けを許可するユーザーおよびプロセスの要件については、setflabel(3TSOL) のマニュアルページを参照してください。ユーザーによるファイルの再ラベル付けを承認する方法については、「ユーザーによるデータのセキュリティーレベルの変更を有効にする」を参照してください。
例 13-5 internal ゾーンからのダウングレードのみ許可する
この例では、セキュリティー管理者は zonecfg コマンドを使用して、CNF: INTERNAL USE ONLY ゾーンの情報のダウングレードを許可しますが、アップグレードは禁止します。
# zonecfg -z internal set limitpriv=default,file_downgrade_sl
例 13-6 internal ゾーンからのダウングレードの禁止
この例では、セキュリティー管理者は、以前ファイルをダウングレードするために使用されていたシステム上で、CNF: INTERNAL USE ONLY ファイルのダウングレードを禁止します。
管理者は Labeled Zone Manager を使用して、internal ゾーンを停止したあと、internal ゾーンのメニューから「Deny Relabeling」を選択します。