ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris の管理: IP サービス Oracle Solaris 11 Information Library (日本語) |
13. DHCP コマンドと DHCP ファイル (リファレンス)
トンネルモードを使用して VPN を IPsec で保護する例
IPsec で VPN を保護するタスクのためのネットワークトポロジの説明
IPsec によってパケットが保護されていることを確認する方法
16. IP セキュリティーアーキテクチャー (リファレンス)
20. Oracle Solaris の IP フィルタ (概要)
このセクションでは、2 つのシステム間のトラフィックを保護する手順と、Web サーバーを保護する手順について説明します。VPN を保護するには、「IPsec による VPN の保護」を参照してください。IPsec を管理したり、IPsec や IKE で SMF コマンドを使用したりするための追加手順については、「IPsec および IKE の管理」を参照してください。
次の情報は、すべての IPsec 構成タスクで使用されます。
IPsec とゾーン – 共有 IP 非大域ゾーンの IPsec ポリシーと鍵を管理するには、大域ゾーンで IPsec ポリシーファイルを作成し、大域ゾーンで IPsec 構成コマンドを実行します。構成中の非大域ゾーンに対応する発信元アドレスを使用してください。排他的 IP ゾーンについては、非大域ゾーンで IPsec ポリシーを構成します。
IPsec と RBAC – IPsec を管理する役割を使用するには、『Oracle Solaris の管理: セキュリティーサービス』の第 9 章「役割に基づくアクセス制御の使用 (タスク)」を参照してください。例については、「ネットワークセキュリティーの役割を構成する方法」を参照してください。
IPsec と SCTP – IPsec は、Streams Control Transmission Protocol (SCTP) アソシエーションを保護するのに使用できますが、注意が必要です。詳細は、「IPsec と SCTP」を参照してください。
IPsec と Trusted Extensions のラベル – Oracle Solaris の Trusted Extensions 機能が構成されたシステムでは、IPsec パケットにラベルを追加できます。詳細については、『Trusted Extensions 構成と管理』の「ラベル付き IPsec の管理」を参照してください。
IPv4 および IPv6 アドレス – このガイドの IPsec の例では、IPv4 アドレスを使用しています。Oracle Solaris は IPv6 アドレスもサポートします。IPv6 ネットワークの IPsec を構成するには、例で IPv6 アドレスに読み替えてください。トンネルを IPsec で保護するときに、内部アドレスや外部アドレスで IPv4 アドレスと IPv6 アドレスを混在させることができます。そのような構成では、たとえば IPv4 ネットワーク上で IPv6 トンネリングを行うことができます。
次のタスクマップに、1 台以上のシステム間で IPsec を設定する手順を示します。ipsecconf(1M)、ipseckey(1M)、および ipadm(1M) のマニュアルページも、それぞれの「例」のセクションで役立つ手順を説明しています。
|
この手順では、次の設定がすでになされているものとします。
2 つのシステムが enigma および partym と名付けられている。
各システムが IP アドレスを持っています。これは、IPv4 アドレス、IPv6 アドレスのどちらでもかまいませんし、その両方でもかまいません。
各システムには、AES アルゴリズムを使用した ESP 暗号化 (128 ビットの鍵が必要) と、SHA-2 メッセージダイジェストを使用した ESP 認証 (512 ビットの鍵が必要) が必要です。
各システムは、共有セキュリティーアソシエーションを使用します。
共有セキュリティーアソシエーションでは、2 つのシステムを保護するのに必要なのは 1 組だけの SA です。
注 - Trusted Extensions システムのラベルと一緒に IPsec を使用するには、『Trusted Extensions 構成と管理』の「マルチレベル Trusted Extensions ネットワークで IPsec 保護を適用する」にあるこの手順の拡張を参照してください。
始める前に
IPsec ポリシーは、大域ゾーン内または排他的 IP スタックゾーン内で構成できます。共有 IP スタックゾーンのポリシーは大域ゾーン内で構成する必要があります。排他的 IP ゾーンについては、非大域ゾーンで IPsec ポリシーを構成します。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。リモートでログインする場合は、セキュリティー保護されたリモートログイン用に、ssh コマンドを使用します。例については、例 15-1 を参照してください。
この手順により、存在しないネームサービスに依存しなくても、サービス管理機能 (SMF) でシステム名が使用できるようになります。詳細は、smf(5) のマニュアルページを参照してください。
# Secure communication with enigma 192.168.116.16 enigma
# Secure communication with partym 192.168.13.213 partym
ファイル名は /etc/inet/ipsecinit.conf です。例は、/etc/inet/ipsecinit.sample ファイルを参照してください。
{laddr enigma raddr partym} ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
{laddr partym raddr enigma} ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
IPsec ポリシーエントリの構文については、ipsecconf(1M)のマニュアルページを参照してください。
「IKE の構成 (タスクマップ)」の構成手順のいずれかに従って、IKE を構成します。IKE 構成ファイルの構文については、ike.config(4) のマニュアルページを参照してください。
# ipsecconf -c -f /etc/inet/ipsecinit.conf
エラーがあれば修正し、ファイルの構文を確認してから続行します。
# svcadm refresh svc:/network/ipsec/policy:default
IPsec ポリシーはデフォルトで有効になっているので、「更新」を行います。IPsec ポリシーを無効にしてある場合は有効にしてください。
# svcadm enable svc:/network/ipsec/policy:default
# svcadm enable svc:/network/ipsec/ike:default
# svcadm restart svc:/network/ipsec/ike:default
手順 5 で鍵を手動で構成した場合は、「IPsec の鍵を手動で作成する方法」を実行して鍵を有効化します。
手順については、「IPsec によってパケットが保護されていることを確認する方法」を参照してください。
例 15-1 ssh 接続を使用している場合に IPsec ポリシーを追加する
この例では、root 役割の管理者が、2 つのシステムの IPsec ポリシーと鍵を構成します。その際、ssh コマンドを使用して 2 番目のシステムにアクセスします。詳細は、ssh(1) のマニュアルページを参照してください。
次に、別の端末ウィンドウで、ssh コマンドを使用して 2 番目のシステムにログインします。
local-system # ssh other-system other-system #
ssh セッションの端末ウィンドウで、手順 2 から 手順 8 までを実行して、2 番目のシステムの IPsec ポリシーと鍵を構成します。
ここで ssh セッションを終了します。
other-system # exit local-system #
2 つのシステムが次に通信を行うとき、ssh 接続を使用した通信も含め、通信は IPsec で保護されます。
セキュリティー保護された Web サーバーでは、Web クライアントであれば Web サービスと通信できます。セキュリティー保護された Web サーバーでは、Web トラフィック以外のトラフィックは、セキュリティー検査を通る必要があります。次の手順には、Web トラフィックの検査省略手順が含まれています。さらに、この Web サーバーでは、セキュリティー保護されていない DNS クライアント要求を出すことができます。その他のすべてのトラフィックでは、AES と SHA-2 アルゴリズムによる ESP が必要です。
始める前に
IPsec ポリシーの構成は大域ゾーンで行う必要があります。排他的 IP ゾーンについては、非大域ゾーンで IPsec ポリシーを構成します。「IPsec で 2 つのシステム間のトラフィックを保護するには」を完了して、次の条件が成立しています。
2 つのシステム間の通信は IPsec で保護されています。
IKE によってキーイング素材が生成されています。
パケットが保護されていることを確認してあります。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。リモートからログインする場合、セキュリティー保護されたリモートログイン用の ssh コマンドを使用してください。例については、例 15-1 を参照してください。
Web サーバーの場合、TCP ポート 80 (HTTP) と 443 (保護 HTTP) が該当します。Web サーバーが DNS 名検査をするときは、TCP と UDP の両方にポート 53 も組み込む必要がある場合もあります。
/etc/inet/ipsecinit.conf ファイルに次の行を追加します。
# Web traffic that web server should bypass. {lport 80 ulp tcp dir both} bypass {} {lport 443 ulp tcp dir both} bypass {} # Outbound DNS lookups should also be bypassed. {rport 53 dir both} bypass {} # Require all other traffic to use ESP with AES and SHA-2. # Use a unique SA for outbound traffic from the port {} ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
これで、保護トラフィックだけがシステムへのアクセスを許可されます。ただし、手順 2 で説明した、検査を省略するトラフィックは例外です。
# ipsecconf -c -f /etc/inet/ipsecinit.conf
# svcadm refresh svc:/network/ipsec/policy:default
ike サービスを再起動します。
# svcadm restart svc:/network/ipsec/ike
鍵を手動で構成した場合は、「IPsec の鍵を手動で作成する方法」の手順に従います。
これで設定が完了しました。必要に応じて、手順 7 を実行します。
リモートシステムの /etc/inet/ipsecinit.conf ファイルに次の行を追加します。
# Communicate with web server about nonweb stuff # {laddr webserver} ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
構文を検証したあと、IPsec ポリシーを更新して有効にします。
remote-system # ipsecconf -c -f /etc/inet/ipsecinit.conf remote-system # svcadm refresh svc:/network/ipsec/policy:default
IPsec ポリシーが一致した場合にかぎり、リモートシステムは、非 Web トラフィックを持つ Web サーバーと安全に通信できます。
引数を指定しないで ipsecconf コマンドを実行すると、システムに構成されているポリシーを確認できます。
始める前に
ipsecconf コマンドは大域ゾーンで実行する必要があります。排他的 IP ゾーンについては、非大域ゾーンで ipsecconf コマンドを実行します。
ネットワークセキュリティー用の個別役割を作成し、その役割をユーザーに割り当てるには、「ネットワークセキュリティーの役割を構成する方法」を参照してください。