次の作業マップでは、ネットワークの構成と構成の確認を行うためのタスクについて説明します。
作業 |
説明 |
参照先 |
---|---|---|
静的経路を構成します。 |
ホスト間の最適な経路を手動で記述します。 | |
ローカルネットワークデータベースの正しさをチェックします。 |
tnchkdb コマンドを使用して、ローカルネットワークデータベースの構文の妥当性をチェックします。 | |
ネットワークデータベースエントリと、カーネルキャッシュ内のエントリを比較します。 |
tninfo コマンドを使用して、カーネルキャッシュが最新のデータベース情報で更新されたかどうかを判定します。 | |
カーネルキャッシュとネットワークデータベースの同期をとります。 |
tnctl コマンドを使用して、カーネルキャッシュを、実行中のシステム上の最新ネットワークデータベース情報で更新します。 |
大域ゾーンでセキュリティー管理者役割になります。
トラステッドネットワーク上でのパケットの経路指定に使用する宛先のホストとゲートウェイをすべて追加します。
アドレスは、ローカルの /etc/hosts ファイル、または LDAP サーバー上の同等のファイルに追加されます。Solaris 管理コンソール の「コンピュータとネットワーク」ツールを使用します。ファイルの有効範囲は /etc/hosts ファイルを修正します。LDAP の有効範囲は LDAP サーバー上のエントリを修正します。詳細は、「システムの既知のネットワークにホストを追加する」を参照してください。
宛先の各ホスト、ネットワーク、ゲートウェイをセキュリティーテンプレートに割り当てます。
アドレスは、ローカルの /etc/security/tsol/tnrhdb ファイル、または LDAP サーバー上の同等のファイルに追加されます。Solaris 管理コンソール の「セキュリティーテンプレート」ツールを使用します。詳細は、「セキュリティーテンプレートをホストまたはホストのグループに割り当てる」を参照してください。
経路を設定します。
端末ウィンドウで、route add コマンドを使用して経路を指定します。
最初のエントリでデフォルトの経路が設定されます。このエントリは、ホストにもパケットの宛先にも特定の経路が定義されていない場合に使用するゲートウェイのアドレス、192.168.113.1 を指定します。
# route add default 192.168.113.1 -static |
詳細は、route(1M) のマニュアルページを参照してください。
1 つ以上のネットワークエントリを設定します。
-secattr フラグを使用して、セキュリティー属性を指定します。
次のコマンドリストでは、2 行目がネットワークエントリを示しています。3 行目は、PUBLIC ... CONFIDENTIAL : INTERNAL USE ONLY のラベル範囲を持つネットワークエントリを示しています。
# route add default 192.168.113.36 # route add -net 192.168.102.0 gateway-101 # route add -net 192.168.101.0 gateway-102 \ -secattr min_sl=“PUBLIC”,max_sl=”CONFIDENTIAL : INTERNAL USE ONLY”,doi=1 |
1 つ以上のホストエントリを設定します。
新しい 4 行目は、シングルラベルホスト gateway-pub のホストエントリを示しています。gateway-pub のラベル範囲は PUBLIC から PUBLIC までです。
# route add default 192.168.113.36 # route add -net 192.168.102.0 gateway-101 # route add -net 192.168.101.0 gateway-102 \ -secattr min_sl="PUBLIC",max_sl="CONFIDENTIAL : INTERNAL USE ONLY",doi=1 # route add -host 192.168.101.3 gateway-pub \ -secattr min_sl="PUBLIC",max_sl="PUBLIC",doi=1 |
次の route コマンドは、192.168.118.39 をゲートウェイとして 192.168.115.0 のホストを経路指定テーブルに追加します。ラベル範囲は CONFIDENTIAL : INTERNAL USE ONLY ... CONFIDENTIAL : RESTRICTED で、DOI は 1 です。
$ route add -net 192.168.115.0 192.168.118.39 \ -secattr min_sl="CONFIDENTIAL : INTERNAL USE ONLY",max_sl="CONFIDENTIAL : RESTRICTED",doi=1 |
追加したホストの結果は、netstat -rR コマンドを使用して表示されます。次の抜粋コードでは、ほかの送信経路は省略されて (...) で示されています。
$ netstat -rRn ... 192.168.115.0 192.168.118.39 UG 0 0 min_sl=CNF : INTERNAL USE ONLY,max_sl=CNF : RESTRICTED,DOI=1,CIPSO ... |
tnchkdb コマンドでは、各ネットワークデータベースの構文が正確かどうかをチェックします。「セキュリティーテンプレート」ツールまたは「トラステッドネットワークゾーン」ツールを使用すると、Solaris 管理コンソールは自動的にこのコマンドを実行します。一般的に、このコマンドを実行すると、将来の使用に備えて構成しているデータベースファイルの構文をチェックできます。
ネットワーク設定をチェックできる役割で、大域ゾーンにいる必要があります。セキュリティー管理者役割とシステム管理者役割が、これらの設定をチェックできます。
端末ウィンドウで、tnchkdb コマンドを実行します。
$ tnchkdb [-h tnrhdb-path] [-t tnrhtp-path] [-z tnzonecfg-path] checking /etc/security/tsol/tnrhtp ... checking /etc/security/tsol/tnrhdb ... checking /etc/security/tsol/tnzonecfg ... |
この例では、セキュリティー管理者がネットワークデータベースファイルをテストします。最初は、管理者が誤ったオプションを使用します。チェックの結果は、tnrhdb ファイルの行に出力されます。
$ tnchkdb -h /opt/secfiles/trial.tnrhtp checking /etc/security/tsol/tnrhtp ... checking /opt/secfiles/trial.tnrhtp ... line 12: Illegal name: min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH line 14: Illegal name: min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH checking /etc/security/tsol/tnzonecfg ... |
セキュリティー管理者が -t オプションを使用してファイルをチェックすると、tnrhtp データベースの構文が正確であることが確認されます。
$ tnchkdb -t /opt/secfiles/trial.tnrhtp checking /opt/secfiles/trial.tnrhtp ... checking /etc/security/tsol/tnrhdb ... checking /etc/security/tsol/tnzonecfg ... |
ネットワークデータベースには、カーネルにキャッシュされない情報が含まれている場合があります。この手順では、情報が同じことをチェックします。Solaris 管理コンソールを使用してネットワークを更新すると、カーネルキャッシュはネットワークデータベース情報を含み更新されます。tninfo コマンドはテスト時およびデバッグ時に役立ちます。
ネットワーク設定をチェックできる役割で、大域ゾーンにいる必要があります。セキュリティー管理者役割とシステム管理者役割が、これらの設定をチェックできます。
端末ウィンドウで、tninfo コマンドを実行します。
tninfo -h hostname は、指定したホストの IP アドレスとテンプレートを表示します。
tninfo -t templatename は、次の情報を表示します。
template: template-name host_type: either CIPSO or UNLABELED doi: 1 min_sl: minimum-label hex: minimum-hex-label max_sl: maximum-label hex:maximum-hex-label |
tninfo -m zone-name は、ゾーンのマルチレベルポート (MLP) 構成を表示します。
この例のシステムには、複数のラベル付きゾーンが設定されています。すべてのゾーンが、同じ IP アドレスを共有します。一部のゾーンは、ゾーン固有のアドレスでも構成されます。この構成では、Web ブラウザ用の TCP ポートであるポート 8080 が、Public ゾーンの共有インタフェース上の MLP です。管理者は、telnet、TCP ポート 23 も、Public ゾーンの MLP として設定します。これら 2 つの MLP は共有インタフェース上にあるので、大域ゾーンも含めたほかのゾーンは、ポート 8080 および 23 の共有インタフェース上ではパケットを受信できません。
さらに、ssh 用の TCP ポートであるポート 22 は、Public ゾーンのゾーンごとの MLP です。Public ゾーンの ssh サービスは、ゾーン固有のアドレスで、そのアドレスのラベル範囲にあるどのパケットも受信できます。
次のコマンドが Public ゾーンの MLP を示します。
$ tninfo -m public private: 22/tcp shared: 23/tcp;8080/tcp |
次のコマンドが大域ゾーンの MLP を示します。大域ゾーンは Public ゾーンと同じアドレスを共有するため、ポート 23 および 8080 は大域ゾーンでは MLP になれません。
$ tninfo -m global private: 111/tcp;111/udp;514/tcp;515/tcp;631/tcp;2049/tcp; 6000-6003/tcp;38672/tcp;60770/tcp; shared: 6000-6003/tcp |
カーネルがトラステッドネットワークデータベースの情報で更新されていない場合、カーネルキャッシュを更新する方法はいくつかあります。「セキュリティーテンプレート」ツールまたは「トラステッドネットワークゾーン」ツールを使用すると、Solaris 管理コンソールは自動的にこのコマンドを実行します。
大域ゾーンでセキュリティー管理者役割になります。
カーネルキャッシュをネットワークデータベースと同期するには、次のコマンドのいずれかを実行します。
tnctl サービスを再起動します。
この方法は、トラステッドネットワークデータベースの情報を LDAP サーバーから取得するシステムでは使用しないでください。LDAP サーバーから取得された情報がローカルデータベース情報で上書きされる可能性があります。
$ svcadm restart svc:/network/tnctl |
このコマンドでは、ローカルのトラステッドネットワークデータベースからカーネルにすべての情報を読み込みます。
最近追加したエントリのカーネルキャッシュを更新します。
$ tnctl -h hostname |
このコマンドでは、選択したオプションからの情報だけをカーネルに読み込みます。各オプションについては、例 13–17 および tnctl(1M) のマニュアルページを参照してください。
tnd サービスを変更します。
tnd サービスが実行されているのは、ldap サービスが実行されている場合だけです。
tnd ポーリング間隔を変更します。
これによって、カーネルキャッシュは更新されません。ただし、ポーリング間隔を短くすることによって、カーネルキャッシュの更新頻度を高くすることはできます。詳細は、tnd(1M) のマニュアルページの例を参照してください。
tnd をリフレッシュします。
このサービス管理機能 (SMF) コマンドは、トラステッドネットワークデータベースの最新の変更とともにカーネルの即時更新をトリガーします。
$ svcadm refresh svc:/network/tnd |
SMF を使用して tnd を再起動します。
$ svcadm restart svc:/network/tnd |
tnd を再起動する場合、tnd コマンドは実行しないでください。このコマンドにより、現在続行中の通信が中断される場合があります。
この例では、管理者はローカル tnrhdb データベースに 3 つのアドレスを追加しました。まず、管理者は 0.0.0.0 ワイルドカードエントリを削除しました。
$ tnctl -d -h 0.0.0.0:admin_low |
次に、管理者は、/etc/security/tsol/tnrhdb データベースにある最後の 3 つのエントリの書式を表示します。
$ tail /etc/security/tsol/tnrhdb #\:\:0:admin_low 127.0.0.1:cipso #\:\:1:cipso 192.168.103.5:admin_low 192.168.103.0:cipso 0.0.0.0/32:admin_low |
さらに、管理者はカーネルキャッシュを更新します。
$ tnctl -h 192.168.103.5 tnctl -h 192.168.103.0 tnctl -h 0.0.0.0/32 |
最後に、管理者は、カーネルキャッシュが更新されていることを確認します。最初のエントリの出力は、次のようになります。
$ tninfo -h 192.168.103.5 IP Address: 192.168.103.5 Template: admin_low |
この例では、管理者が公共プリンタサーバーを使用してトラステッドネットワークを更新し、カーネル設定が正しいことをチェックします。
$ tnctl -h public-print-server $ tninfo -h public-print-server IP Address: 192.168.103.55 Template: PublicOnly $ tninfo -t PublicOnly ================================== Remote Host Template Table Entries ---------------------------------- template: PublicOnly host_type: CIPSO doi: 1 min_sl: PUBLIC hex: 0x0002-08-08 max_sl: PUBLIC hex: 0x0002-08-08 |