この手順では、次の設定がすでになされているものとします。
2 つのシステムが enigma および partym と名付けられている。
各システムには、2 つのアドレス (IPv4 アドレスと IPv6 アドレス) がある。
各システムには、AES アルゴリズムを使用した ESP 暗号化 (128 ビットのキーが必要) と、SHA1 メッセージ要約を使用した ESP 認証 (160 ビットのキーが必要) が必要です。
各システムは、共有セキュリティーアソシエーションを使用します。
共有セキュリティーアソシエーションでは、2 つのシステムを保護するのに必要なのは 1 組だけの SA です。
システムまたは共有 IP ゾーンの IPsec ポリシーの構成は、大域ゾーンで行う必要があります。排他的 IP ゾーンについては、非大域ゾーンで IPsec ポリシーを構成します。
システムコンソール上で、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
リモートログインすると、セキュリティー上重要なトラフィックが盗聴される可能性があります。何らかの方法でリモートログインを保護していても、システムのセキュリティーがリモートログインセッションレベルに低下します。セキュリティー保護されたリモートログインには、ssh コマンドを使用してください。例については、例 20–1 を参照してください。
現在のリリースでは、/etc/inet/hosts ファイルにホストエントリを追加します。
Solaris 10 7/07 リリースより前のリリースを実行しているシステムでは、/etc/inet/ipnodes ファイルに IPv4 と IPv6 のエントリを追加します。次のように、1 つのシステムのエントリは連続してそのファイルに入力します。システムの構成ファイルについては、「TCP/IP 構成ファイル」および第 11 章IPv6 の詳細 (リファレンス)を参照してください。
IPv4 アドレスだけを持つシステムどうしを接続する場合は、/etc/inet/hosts ファイルに変更を加えます。この例で接続するシステムはどちらも、以前の Solaris リリースを実行しており、IPv6 アドレスを使用しています。
ファイル名は /etc/inet/ipsecinit.conf です。例は、/etc/inet/ipsecinit.sample ファイルを参照してください。
IPsec ポリシーエントリを ipsecinit.conf ファイルに追加します。
enigma システムで、次のポリシーを追加します。
{laddr enigma raddr partym} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
partym システムで、同じポリシーを追加します。
{laddr partym raddr enigma} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
IPsec ポリシーエントリの構文については、ipsecconf(1M)のマニュアルページを参照してください。
各システムで、2 つのシステム間に IPsec SA ペアを追加します。
インターネットキー交換 (IKE) を設定すると、SA が自動的に生成されます。SA は手動でも追加できます。
キーの生成や保守を手動で行う必要が特にない場合は、IKE を使用すべきです。IKE 鍵管理では、手動での鍵管理よりも強力なセキュリティー効果が得られます。
「IKE の設定 (作業マップ)」の構成手順のいずれかに従って、IKE を構成します。IKE 構成ファイルの構文については、ike.config(4) のマニュアルページを参照してください。
SA を手動で追加する場合は、「IPsec セキュリティーアソシエーションを手動で作成する方法」を参照してください。
IPsec ポリシーを有効にします。
Solaris 10 4/09 リリースより前のリリースを実行している場合は、システムを再起動します。
# init 6 |
その後、「IPsec によってパケットが保護されていることを確認する方法」に進みます。
Solaris 10 4/09 リリース以降では、IPsec サービスを更新し、鍵管理サービスを有効にします。
# ipsecconf -c -f /etc/inet/ipsecinit.conf |
エラーがあれば修正し、ファイルの構文を確認してから続行します。
# svcadm refresh svc:/network/ipsec/policy:default |
IPsec ポリシーはデフォルトで有効になっているので、「更新」を行います。IPsec ポリシーを無効にしてある場合は有効にしてください。
# svcadm enable svc:/network/ipsec/policy:default |
IPsec 用の鍵を有効にします。
パケットが保護されていることを確認します。
手順については、「IPsec によってパケットが保護されていることを確認する方法」を参照してください。
この例では、管理者はスーパーユーザーとして 2 つのシステムの IPsec ポリシーと鍵を構成します。その際、ssh コマンドを使用して 2 番目のシステムにアクセスします。詳細は、ssh(1) のマニュアルページを参照してください。
次に、別の端末ウィンドウで、ssh コマンドを使用して 2 番目のシステムにログインします。
local-system # ssh other-system other-system # |
ssh セッションの端末ウィンドウで、手順 2 から 手順 6 までを実行して、2 番目のシステムの IPsec ポリシーと鍵を構成します。
ここで ssh セッションを終了します。
other-system # exit local-system # |
最後に、手順 6 を実行して、最初のシステムの IPsec ポリシーを有効にします。
2 つのシステムが次に通信を行うとき、ssh 接続を使用した通信も含め、通信は IPsec で保護されます。
次の例は、Solaris 10 4/09 リリースより前のリリースを実行している場合に役立ちます。つまり、そのようなリリースでは、IPsec はサービスとして管理されません。この例では、テスト環境での IPsec の実装方法を示します。実際の稼働環境では、ipsecconf コマンドを実行するよりもリブートする方が安全です。セキュリティー上の考慮事項については、この例の最後を参照してください。
手順 6 でリブートする代わりに、次のオプションのいずれかを選択します。
IKE を使って鍵情報を作成した場合は、in.iked デーモンをいったん停止後、再起動します。
# pkill in.iked # /usr/lib/inet/in.iked |
キーを手動で追加した場合は、ipseckey コマンドを使用して、データベースに SA を追加します。
# ipseckey -c -f /etc/inet/secret/ipseckeys |
続いて、ipsecconf コマンドを使用して IPsec ポリシーを有効にします。
# ipsecconf -a /etc/inet/ipsecinit.conf |
セキュリティーについて – ipsecconf コマンドを実行するときには、警告を読んでください。ソケットがすでにラッチされている (使用されている) 場合には、システムへ侵入される恐れがあります。詳細については、「ipsecinit.conf と ipsecconf のセキュリティーについて」を参照してください。