次の作業マップに、インターネット経由のトラフィックを保護するように IPsec を構成する手順を示します。これらの手順を使用すると、インターネットで隔てられている 2 つのシステムの間に、セキュリティー保護された仮想プライベートネットワーク (VPN) を設定できます。この技術の一般的な使用法の 1 つは、自宅勤務者と会社のオフィスの間のトラフィックを保護することです。
タスク |
説明 |
説明 |
---|---|---|
IPv4 トンネルモードでトンネルトラフィックを保護します。 |
2 つの Solaris 10 システム間、2 つの Oracle Solaris システム間、または Solaris 10 システムと Oracle Solaris Express システムの間で、トンネルモードでトラフィックを保護します。Solaris 10 システムで Solaris 10 7/07 リリース以上が実行されている必要があります。 また、Solaris 10 システムまたは Oracle Solaris Express システムと、別のプラットフォームで稼働中のシステムの間でも、トンネルモードでトラフィックを保護します。Solaris 10 システムで Solaris 10 7/07 リリース以上が実行されている必要があります。 | |
IPv6 トンネルモードでトンネルトラフィックを保護します。 |
IPv6 プロトコルを使用している 2 つの Oracle Solaris システム間で、トンネルモードでトラフィックを保護します。 | |
IPv4 トランスポートモードでトンネルトラフィックを保護します。 |
2 つの Solaris 10 システム間、2 つの Solaris システム間、または Solaris 10 システムと Oracle Solaris システムの間で、トランスポートモードでトラフィックを保護します。Solaris 10 システムで Solaris 10 7/07 リリース以上が実行されている必要があります。 また、以前のバージョンの Solaris OS を実行しているシステムと、Solaris 10 または Oracle Solaris システムの間でも、トランスポートモードでトラフィックを保護します。Solaris 10 システムで Solaris 10 7/07 リリース以上が実行されている必要があります。 | |
推奨されなくなった古い構文を使用してトラフィックを保護します。この方法は、以前のバージョンの Solaris OS を実行しているシステムと通信する場合に役立ちます。この方法を使用すると、2 つのシステム上にある構成ファイルの比較が簡単になります。 | ||
IPv6 トランスポートモードでトンネルトラフィックを保護します。 |
IPv6 プロトコルを使用している 2 つの Oracle Solaris システム間で、トランスポートモードでトラフィックを保護します。 | |
IP のスプーフィングを防止します。 |
SMF サービスを作成して、システムがパケットを復号化せずに VPN 上で転送することを防止します。 |
この節以降に説明する手順では、次の設定がすでになされているものとします。図 20–2 はこのネットワークを表しています。
各システムは IPv4 アドレス空間を使用します。
IPv6 アドレスを使用する同様の例については、「IPv6 トンネルモードの IPsec トンネルで VPN を保護する方法」を参照してください。
各システムには 2 つのインタフェースがあります。hme0 インタフェースはインターネットに接続しています。この例では、インターネット IP アドレスは 192.168 で始まります。hme1 インタフェースは社内の LAN、すなわちイントラネットに接続します。この例では、イントラネット IP アドレスは 10 で始まります。
各システムには、SHA–1 アルゴリズムを使用した ESP 認証が必要です。SHA–1 アルゴリズムには 160 ビットのキーが必要です。
各システムには、AES アルゴリズムを使用した ESP 暗号化が必要です。AES アルゴリズムは 128 ビットのキーまたは 256 ビットのキーを使用します。
各システムは、インターネットに直接アクセスするルーターに接続できます。
各システムは、共有セキュリティーアソシエーションを使用します。
前の図に示すように、IPv4 ネットワーク向けの手順では次の構成パラメータを使用します。
パラメータ |
ヨーロッパ |
カリフォルニア |
||
---|---|---|---|---|
システム名 |
|
|
||
システムイントラネットインタフェース |
|
|
||
システムイントラネットアドレス。手順 7 の -point アドレスでもある |
|
|
||
システムインターネットインタフェース |
|
|
||
システムイントラネットアドレス。手順 7 の tsrc アドレスでもある |
|
|
||
インターネットルーターの名前 |
|
|
||
インターネットルーターのアドレス |
|
|
||
トンネル名 |
|
|
手順では次の IPv6 アドレスを使用します。トンネル名は同じです。
パラメータ |
ヨーロッパ |
カリフォルニア |
||
---|---|---|---|---|
システムイントラネットアドレス |
|
|
||
システムインターネットアドレス |
|
|
||
インターネットルーターのアドレス |
|
|
トンネルモードでは、内側の IP パケットによって、その内容を保護する IPsec ポリシーが決まります。
この手順は、「IPsec で 2 つのシステム間のトラフィックを保護するには」の手順の応用です。設定については、「IPsec で VPN を保護する作業のためのネットワークトポロジの説明」を参照してください。
両方のシステムでこの手順を実行してください。
この手順では、2 つのシステムを接続するだけでなく、これら 2 つのシステムに接続している 2 つのイントラネットを接続します。この手順における 2 つのシステムはゲートウェイとして機能します。
システムまたは共有 IP ゾーンの IPsec ポリシーの構成は、大域ゾーンで行う必要があります。排他的 IP ゾーンについては、非大域ゾーンで IPsec ポリシーを構成します。
システムコンソール上で、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
リモートログインすると、セキュリティー上重要なトラフィックが盗聴される恐れがあります。何らかの方法でリモートログインを保護していても、システムのセキュリティーがリモートログインセッションレベルに低下します。セキュリティー保護されたリモートログインには、ssh コマンドを使用してください。
IPsec を構成する前に、パケットフローを制御します。
IP 転送と IP 動的経路制御が無効になっていることを確認します。
# routeadm Configuration Current Current Option Configuration System State -------------------------------------------------- IPv4 forwarding disabled disabled IPv4 routing default (enabled) enabled … |
IP 転送や IP 動的経路制御が有効な場合は、次のように入力して無効にします。
# routeadm -d ipv4-routing -d ipv4-forwarding # routeadm -u |
IP 転送をオフにすると、このシステムを経由したネットワーク間のパケット送信ができなくなります。routeadm コマンドの説明については、routeadm(1M) のマニュアルページを参照してください。
次のコマンドを入力して IP の厳密宛先マルチホームをオンに設定します。
# ndd -set /dev/ip ip_strict_dst_multihoming 1 |
IP 厳密宛先マルチホームをオンに設定すると、システムの宛先アドレスのうちの 1 つに宛てたパケットは、正しい宛先アドレスに必ず到着します。
厳密宛先マルチホームが有効な状態では、特定のインタフェースに到着したパケットに、そのインタフェースのいずれかのローカル IP アドレスを指定する必要があります。その他のパケットは、システムのほかのローカルアドレスが指定されているものも含めてすべて捨てられます。
システムの起動時に、マルチホームの値はデフォルトに戻ります。変更した値を持続させる方法については、「IP のスプーフィングを防止する方法」を参照してください。
大部分のネットワークサービス、可能な場合はすべてのネットワークサービスを無効にします。
「制限付き」SMF プロファイルでシステムをインストールした場合、この手順は省略できます。Solaris Secure Shell 以外のネットワークサービスは無効になります。
ネットワークサービスを無効にすると、IP パケットがシステムにダメージを与えるのを防止できます。たとえば、SNMP デーモン、telnet 接続、rlogin 接続などを最大限に活用できます。
次のオプションのいずれかを選択します。
Solaris 10 11/06 以降のリリースが稼働している場合は、「制限付き」SMF プロファイルを実行します。
# netservices limited |
それ以外の場合は、ネットワークサービスを個別に無効にします。
# svcadm disable network/ftp:default # svcadm disable network/finger:default # svcadm disable network/login:rlogin # svcadm disable network/nfs/server:default # svcadm disable network/rpc/rstat:default # svcadm disable network/smtp:sendmail # svcadm disable network/telnet:default |
ほとんどのネットワークサービスが無効になっていることを確認します。
ループバックマウントと ssh サービスが稼働していることを確認します。
# svcs | grep network online Aug_02 svc:/network/loopback:default … online Aug_09 svc:/network/ssh:default |
2 つのシステム間に SA ペアを追加します。
次のオプションのいずれかを選択します。
SA 用のキーを管理するように IKE を設定します。「IKE の設定 (作業マップ)」のいずれかの手順に従って、VPN 用の IKE を構成します。
キーを手動で管理する決定的な理由がある場合は、「IPsec セキュリティーアソシエーションを手動で作成する方法」を参照してください。
IPsec ポリシーを追加します。
/etc/inet/ipsecinit.conf ファイルを編集して、VPN 用の IPsec ポリシーを追加します。ポリシーを強化する方法については、例 20–12 を参照してください。その他の例については、「トンネルモードのトンネルを使用して VPN を IPsec で保護する例」を参照してください。
このポリシーでは、ローカル LAN 上のシステムとゲートウェイの内部 IP アドレスの間に IPsec 保護は必要でないため、bypass 文を追加します。
enigma システムで、ipsecinit.conf ファイルに次のエントリを入力します。
# LAN traffic to and from this host can bypass IPsec. {laddr 10.16.16.6 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip.tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
partym システムで、ipsecinit.conf ファイルに次のエントリを追加します。
# LAN traffic to and from this host can bypass IPsec. {laddr 10.1.3.3 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip.tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
(省略可能) IPsec ポリシーファイルの構文を確認します。
# ipsecconf -c -f /etc/inet/ipsecinit.conf |
トンネルを構成し、それを IPsec で保護する場合は、Solaris のリリースに応じて次の手順に従います。
トンネル ip.tun0 を /etc/hostname.ip.tun0 ファイルで構成します。
ファイルの構文は次のとおりです。
system1-point system2-point tsrc system1-taddr tdst system2-taddr router up |
作成した IPsec ポリシーでトンネルを保護します。
# svcadm refresh svc:/network/ipsec/policy:default |
トンネル構成ファイルの内容をカーネルに読み込むには、ネットワークサービスを再起動します。
# svcadm restart svc:/network/initial:default |
enigma システムで、/etc/hostname.hme1 ファイルにルーターエントリを追加します。
192.168.116.16 router |
partym システムで、/etc/hostname.hme1 ファイルにルーターエントリを追加します。
192.168.13.213 router |
IP 転送とは、別のインタフェースから到着したパケットを転送できることを意味します。IP 転送はまた、送信するパケットがもともとは別のインタフェースから発信されたパケットである可能性も意味します。パケットを正しく転送するには、受信インタフェースと送信インタフェースの IP 転送をオンに設定しておきます。
hme1 インタフェースはイントラネットの「内部」にあるため、hme1 の IP 転送はオンに設定しておきます。さらに、ip.tun0 はインターネットを通してこれら 2 つのシステムを接続するため、ip.tun0 の IP 転送はオンに設定しておきます。
hme0 インタフェースの IP 転送はオフです。そのため、「外部」からパケットが保護イントラネットに侵入するのを防ぐことができます。「外部」とはインターネットを意味します。
経路制御プロトコルによってイントラネット内のデフォルトのルートが通知されていないことを確認します。
enigma システムで、private フラグを /etc/hostname.hme0 ファイルに追加します。
10.16.16.6 private |
partym システムで、private フラグを /etc/hostname.hme0 ファイルに追加します。
10.1.3.3 private |
hme0 の IP 転送がオフになっていても、経路制御プロトコルの実装によっては、このインタフェースを通知することがあります。たとえば、in.routed プロトコルは、イントラネット内のピアにパケットが転送される際に hme0 を有効なインタフェースとして通知する場合があります。インタフェースの「private」フラグを設定して、このような通知が行われないようにします。
hme0 インタフェース経由のデフォルトルートを手動で追加します。
デフォルトルートは、インターネットに直接アクセスできるルーターでなければなりません。
enigma システムで、次のルートを追加します。
# route add default 192.168.116.4 |
# route add default 192.168.13.5 |
hme0 インタフェースはイントラネットの一部ではありませんが、インターネットを介してそのピアシステムにアクセスする必要があります。hme0 は、自身のピアを見つけるために、インターネット経路制御情報を必要とします。インターネットの残りの要素にとって、VPN システムは、ルーターというよりもホストのような存在です。したがって、デフォルトルーターを使用するか、ルーター発見プロトコルを実行すれば、ピアシステムを見つけることができます。詳細については、route(1M) と in.routed(1M) のマニュアルページを参照してください。
手順を完了するために、手順 22 に進んで経路制御プロトコルを実行します。
次の手順は、Solaris 10 4/09 リリースより前のリリースを実行しているシステムでトンネルを構成するためのものです。
ifconfig コマンドを使用してポイントツーポイントインタフェースを作成します。
# ifconfig ip.tun0 plumb # ifconfig ip.tun0 system1-point system2-point \ tsrc system1-taddr tdst system2-taddr |
作成した IPsec ポリシーでトンネルを保護します。
# ipsecconf |
トンネル用のルーターを起動します。
# ifconfig ip.tun0 router up |
# ifconfig hme1 router |
IP 転送とは、別のインタフェースから到着したパケットを転送できることを意味します。IP 転送はまた、送信するパケットがもともとは別のインタフェースから発信されたパケットである可能性も意味します。パケットを正しく転送するには、受信インタフェースと送信インタフェースの IP 転送をオンに設定しておきます。
hme1 インタフェースはイントラネットの「内部」にあるため、hme1 の IP 転送はオンに設定しておきます。さらに、ip.tun0 はインターネットを通してこれら 2 つのシステムを接続するため、ip.tun0 の IP 転送はオンに設定しておきます。
hme0 インタフェースの IP 転送はオフです。そのため、「外部」からパケットが保護イントラネットに侵入するのを防ぐことができます。「外部」とはインターネットを意味します。
経路制御プロトコルによってイントラネット内のデフォルトのルートが通知されていないことを確認します。
# ifconfig hme0 private |
hme0 の IP 転送がオフになっていても、経路制御プロトコルの実装によっては、このインタフェースを通知することがあります。たとえば、in.routed プロトコルは、イントラネット内のピアにパケットが転送される際に hme0 を有効なインタフェースとして通知する場合があります。インタフェースの「private」フラグを設定して、このような通知が行われないようにします。
hme0 経由のデフォルトルートを手動で追加します。
デフォルトルートは、インターネットに直接アクセスできるルーターでなければなりません。
enigma システムで、次のルートを追加します。
# route add default 192.168.116.4 |
# route add default 192.168.13.5 |
hme0 インタフェースはイントラネットの一部ではありませんが、インターネットを介してそのピアシステムにアクセスする必要があります。hme0 は、自身のピアを見つけるために、インターネット経路制御情報を必要とします。インターネットの残りの要素にとって、VPN システムは、ルーターというよりもホストのような存在です。したがって、デフォルトルーターを使用するか、ルーター発見プロトコルを実行すれば、ピアシステムを見つけることができます。詳細については、route(1M) と in.routed(1M) のマニュアルページを参照してください。
VPN がリブート後に開始するように、/etc/hostname.ip.tun0 ファイルにエントリを追加します。
system1-point system2-point tsrc system1-taddr tdst system2-taddr router up |
適切なパラメータが経路制御デーモンに渡されるようにインタフェースファイルを設定します。
enigma システムで、/etc/hostname.interface ファイルを変更します。
# cat /etc/hostname.hme0 ## enigma 10.16.16.6 private |
# cat /etc/hostname.hme1 ## enigma 192.168.116.16 router |
partym システムで、/etc/hostname.interface ファイルを変更します。
# cat /etc/hostname.hme0 ## partym 10.1.3.3 private |
# cat /etc/hostname.hme1 ## partym 192.168.13.213 router |
経路制御プロトコルを実行します。
# routeadm -e ipv4-routing # routeadm -u |
経路制御プロトコルを実行する前に経路制御プロトコルの構成が必要な場合があります。詳細は、「Oracle Solaris の経路制御プロトコル」を参照してください。手順については、「IPv4 ルーターの構成方法」を参照してください。
この例では、管理者が Solaris 10 4/09 システムでトンネルの作成をテストします。あとで 「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の手順を使用して、これらを永続的なトンネルにします。テスト中に、管理者はシステム system1 および system2 で次の一連の手順を実行します。
両方のシステムで、管理者は 「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の最初から 5 番目までの手順を完了します。
管理者は ifconfig コマンドを使用して、一時的なトンネルを plumb して構成します。
system1 # ifconfig ip.tun0 plumb system1 # ifconfig ip.tun0 10.16.16.6 10.1.3.3 \ tsrc 192.168.116.16 tdst 192.168.13.213 # ssh system2 Password: admin-password-on-system2 system2 # ifconfig ip.tun0 plumb system2 # ifconfig ip.tun0 10.1.3.3 10.16.16.6 \ tsrc 192.168.13.213 tdst 192.168.116.16 |
管理者はトンネルに対して IPsec ポリシーを有効にします。このポリシーは、「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の手順 4 で作成したものです。
system1 # svcadm refresh svc:/network/ipsec/policy:default system2 # svcadm refresh svc:/network/ipsec/policy:default |
管理者はインターネットインタフェースをルーターにし、経路制御プロトコルがイントラネットインタフェースを越えないようにします。
system1 # ifconfig hme1 router ; ifconfig hme0 private system2 # ifconfig hme1 router ; ifconfig hme0 private |
両方のシステムで 「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の手順 12 と 手順 22 を実行して、ルートを手動で追加し、経路制御プロトコルを実行します。
Solaris 10 7/07 リリースでは、ifconfig コマンドの構文が簡素化されました。この例では、Solaris 10 7/07 リリースより前のバージョンの Solaris を実行しているシステムに対するトンネルの作成を管理者がテストします。ifconfig コマンドの元の構文を使用すれば、通信する 2 つのシステムで同じコマンドを使用できます。あとで 「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の手順を使用して、これらを永続的なトンネルにします。
テスト中に、管理者はシステム system1 および system2 で次の手順を実行します。
両方のシステムで、管理者は 「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の最初から 5 番目までの手順を完了します。
管理者はトンネルを plumb して構成します。
system1 # ifconfig ip.tun0 plumb system1 # ifconfig ip.tun0 10.16.16.6 10.1.3.3 \ tsrc 192.168.116.16 tdst 192.168.13.213 \ encr_algs aes encr_auth_algs sha1 system1 # ifconfig ip.tun0 router up |
# ssh system2 Password: admin-password-on-system2 system2 # ifconfig ip.tun0 plumb system2 # ifconfig ip.tun0 10.1.3.3 10.16.16.6 \ tsrc 192.168.13.213 tdst 192.168.116.16 \ encr_algs aes encr_auth_algs sha1 system2 # ifconfig ip.tun0 router up |
管理者はトンネルに対して IPsec ポリシーを有効にします。このポリシーは、「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の手順 4 で作成したものです。
system1 # svcadm refresh svc:/network/ipsec/policy:default system2 # svcadm refresh svc:/network/ipsec/policy:default |
管理者はインターネットインタフェースをルーターにし、経路制御プロトコルがイントラネットインタフェースを越えないようにします。
system1 # ifconfig hme1 router ; ifconfig hme0 private system2 # ifconfig hme1 router ; ifconfig hme0 private |
両方のシステムで 「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の手順 12 と 手順 22 を実行して、ルートを追加します。
この例では、手順 4 で構成した bypass ポリシーをコメントにして、保護を強化します。このポリシーを構成した場合は、LAN 上のすべてのシステムが、ルーターと通信するために IPsec を有効にしなければなりません。
# LAN traffic must implement IPsec. # {laddr 10.1.3.3 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip.tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha1} |
この例の最初の規則は、ポート 23 の telnet トラフィックを Blowfish と SHA-1 で保護します。2 番目の規則はポート 25 の SMTP トラフィックを AES と MD5 で保護します。
{laddr 10.1.3.3 ulp tcp dport 23 dir both} ipsec {encr_algs blowfish encr_auth_algs sha1 sa unique} {laddr 10.1.3.3 ulp tcp dport 25 dir both} ipsec {encr_algs aes encr_auth_algs md5 sa unique} |
次のトンネル構成は、トンネルを経由するサブネット 10.1.3.0/24 からのすべてのトラフィックを保護します。
{tunnel ip.tun0 negotiate tunnel laddr 10.1.3.0/24} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
次のトンネル構成は、トンネルを経由するサブネット 10.1.3.0/24 からほかのサブネットへのトラフィックを保護します。10.2.x.x で始まるサブネットはトンネルを経由します。
{tunnel ip.tun0 negotiate tunnel laddr 10.1.3.0/24 raddr 10.2.1.0/24} ipsec {encr_algs blowfish encr_auth_algs sha1 sa shared} |
{tunnel ip.tun0 negotiate tunnel laddr 10.1.3.0/24 raddr 10.2.2.0/24} ipsec {encr_algs blowfish encr_auth_algs sha1 sa shared} |
{tunnel ip.tun0 negotiate tunnel laddr 10.1.3.0/24 raddr 10.2.3.0/24} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
IPv6 ネットワークで VPN を使用するには、IPv4 ネットワークの場合と同じ手順を実行します。ただし、コマンドの構文は少し違います。特定のコマンドを実行する理由についての詳細は、「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の該当する手順を参照してください。
両方のシステムでこの手順を実行してください。
この手順では、次の構成パラメータを使用します。
パラメータ |
ヨーロッパ |
カリフォルニア |
||
---|---|---|---|---|
システム名 |
|
|
||
システムイントラネットインタフェース |
|
|
||
システムインターネットインタフェース |
|
|
||
システムイントラネットアドレス |
|
|
||
システムインターネットアドレス |
|
|
||
インターネットルーターの名前 |
|
|
||
インターネットルーターのアドレス |
|
|
||
トンネル名 |
|
|
システムコンソール上で、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
リモートログインすると、セキュリティー上重要なトラフィックが盗聴される恐れがあります。何らかの方法でリモートログインを保護していても、システムのセキュリティーがリモートログインセッションレベルに低下します。セキュリティー保護されたリモートログインには、ssh コマンドを使用してください。
IPsec を構成する前に、パケットフローを制御します。
これらのコマンドの効果については、「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の手順 2 を参照してください。
IP 転送と IP 動的経路制御が無効になっていることを確認します。
# routeadm Configuration Current Current Option Configuration System State -------------------------------------------------- … IPv6 forwarding disabled disabled IPv6 routing disabled disabled |
IP 転送や IP 動的経路制御が有効な場合は、次のように入力して無効にします。
# routeadm -d ipv6-forwarding -d ipv6-routing # routeadm -u |
次のコマンドを入力して IP の厳密宛先マルチホームをオンに設定します。
# ndd -set /dev/ip ip6_strict_dst_multihoming 1 |
システムの起動時に、ip6_strict_dst_multihoming の値はデフォルトに戻ります。変更した値を持続させる方法については、「IP のスプーフィングを防止する方法」を参照してください。
大部分のネットワークサービス、可能な場合はすべてのネットワークサービスを無効にします。
「制限付き」SMF プロファイルでシステムをインストールした場合、この手順は省略できます。Solaris Secure Shell 以外のネットワークサービスは無効になります。
ネットワークサービスを無効にすると、IP パケットがシステムにダメージを与えるのを防止できます。たとえば、SNMP デーモン、telnet 接続、rlogin 接続などを最大限に活用できます。
次のオプションのいずれかを選択します。
Solaris 10 11/06 以降のリリースが稼働している場合は、「制限付き」SMF プロファイルを実行します。
# netservices limited |
それ以外の場合は、ネットワークサービスを個別に無効にします。
# svcadm disable network/ftp:default # svcadm disable network/finger:default # svcadm disable network/login:rlogin # svcadm disable network/nfs/server:default # svcadm disable network/rpc/rstat:default # svcadm disable network/smtp:sendmail # svcadm disable network/telnet:default |
ほとんどのネットワークサービスが無効になっていることを確認します。
ループバックマウントと ssh サービスが稼働していることを確認します。
# svcs | grep network online Aug_02 svc:/network/loopback:default ... online Aug_09 svc:/network/ssh:default |
2 つのシステム間に SA ペアを追加します。
次のオプションのいずれかを選択します。
SA 用のキーを管理するように IKE を設定します。「IKE の設定 (作業マップ)」のいずれかの手順に従って、VPN 用の IKE を構成します。
キーを手動で管理する決定的な理由がある場合は、「IPsec セキュリティーアソシエーションを手動で作成する方法」を参照してください。
/etc/inet/ipsecinit.conf ファイルを編集して、VPN 用の IPsec ポリシーを追加します。
enigma システムで、ipsecinit.conf ファイルに次のエントリを追加します。
# IPv6 Neighbor Discovery messages bypass IPsec. {ulp ipv6-icmp type 133-137 dir both} pass {} # LAN traffic to and from this host can bypass IPsec. {laddr 6000:6666::aaaa:1116 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip6.tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
partym システムで、ipsecinit.conf ファイルに次のエントリを追加します。
# IPv6 Neighbor Discovery messages bypass IPsec. {ulp ipv6-icmp type 133-137 dir both} pass {} # LAN traffic to and from this host can bypass IPsec. {laddr 6000:3333::eeee:1113 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip6.tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
(省略可能) IPsec ポリシーファイルの構文を確認します。
# ipsecconf -c -f /etc/inet/ipsecinit.conf |
トンネルを構成し、それを IPsec で保護する場合は、Solaris のリリースに応じて次の手順に従います。
/etc/hostname.ip6.tun0 ファイルで、トンネル ip6.tun0 を構成します。
enigma システムで、hostname.ip6.tun0 ファイルに次のエントリを追加します。
6000:6666::aaaa:1116 6000:3333::eeee:1113 tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 router up |
partym システムで、hostname.ip6.tun0 ファイルに次のエントリを追加します。
6000:3333::eeee:1113 6000:6666::aaaa:1116 tsrc 2001::eeee:3333:3333 tdst 2001::aaaa:6666:6666 router up |
作成した IPsec ポリシーでトンネルを保護します。
# svcadm refresh svc:/network/ipsec/policy:default |
トンネル構成ファイルの内容をカーネルに読み込むには、ネットワークサービスを再起動します。
# svcadm restart svc:/network/initial:default |
経路制御プロトコルによってイントラネット内のデフォルトのルートが通知されていないことを確認します。
hme0 経由のデフォルトルートを手動で追加します。
手順を完了するために、手順 22 に進んで経路制御プロトコルを実行します。
次の手順は、Solaris 10 4/09 リリースより前のリリースを実行しているシステムでトンネルを構成するためのものです。
enigma システムで、次のコマンドを入力します。
# ifconfig ip6.tun0 inet6 plumb # ifconfig ip6.tun0 inet6 6000:6666::aaaa:1116 6000:3333::eeee:1113 \ tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 |
partym システムで、次のコマンドを入力します。
# ifconfig ip6.tun0 inet6 plumb # ifconfig ip6.tun0 inet6 6000:3333::eeee:1113 6000:6666::aaaa:1116 \ tsrc 2001::eeee:3333:3333 tdst 2001::aaaa:6666:6666 |
作成した IPsec ポリシーでトンネルを保護します。
# ipsecconf |
トンネル用のルーターを起動します。
# ifconfig ip6.tun0 router up |
各システムで、hme1 インタフェースの IP 転送をオンに設定します。
# ifconfig hme1 router |
経路制御プロトコルによってイントラネット内のデフォルトのルートが通知されていないことを確認します。
# ifconfig hme0 private |
hme0 経由のデフォルトルートを手動で追加します。
デフォルトルートは、インターネットに直接アクセスできるルーターでなければなりません。
VPN がリブート後に開始するように、/etc/hostname6.ip6.tun0 ファイルにエントリを追加します。
このエントリは、手順 14 で ifconfigコマンドに渡されたパラメータを複製します。
enigma システムで、hostname6.ip6.tun0 ファイルに次のエントリを追加します。
6000:6666::aaaa:1116 6000:3333::eeee:1113 \ tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 router up |
partym システムでは、次のエントリを hostname6.ip6.tun0 ファイルに追加します。
6000:3333::eeee:1113 6000:6666::aaaa:1116 \ tsrc 2001::eeee:3333:3333 tdst 2001::aaaa:6666:6666 router up |
各システムで、適切なパラメータが経路制御デーモンに渡されるようにインタフェースファイルを設定します。
enigma システムで、/etc/hostname6.interface ファイルを変更します。
# cat /etc/hostname6.hme0 ## enigma 6000:6666::aaaa:1116 inet6 private |
# cat /etc/hostname6.hme1 ## enigma 2001::aaaa:6666:6666 inet6 router |
partym システムで、/etc/hostname6.interface ファイルを変更します。
# cat /etc/hostname6.hme0 ## partym 6000:3333::eeee:1113 inet6 private |
# cat /etc/hostname6.hme1 ## partym 2001::eeee:3333:3333 inet6 router |
経路制御プロトコルを実行します。
# routeadm -e ipv6-routing # routeadm -u |
経路制御プロトコルを実行する前に経路制御プロトコルの構成が必要な場合があります。詳細は、「Oracle Solaris の経路制御プロトコル」を参照してください。手順については、「IPv6 ルーターの構成」を参照してください。
トランスポートモードでは、外側のヘッダーによって、内側の IP パケットを保護する IPsec ポリシーが決まります。
この手順は、「IPsec で 2 つのシステム間のトラフィックを保護するには」の手順の応用です。この手順では、2 つのシステムを接続するだけでなく、これら 2 つのシステムに接続している 2 つのイントラネットを接続します。この手順における 2 つのシステムはゲートウェイとして機能します。
この手順では、「IPsec で VPN を保護する作業のためのネットワークトポロジの説明」で説明されている設定を使用します。特定のコマンドを実行する理由についての詳細は、「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の該当する手順を参照してください。
両方のシステムでこの手順を実行してください。
システムコンソール上で、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
リモートログインすると、セキュリティー上重要なトラフィックが盗聴される恐れがあります。何らかの方法でリモートログインを保護していても、システムのセキュリティーがリモートログインセッションレベルに低下します。セキュリティー保護されたリモートログインには、ssh コマンドを使用してください。
IPsec を構成する前に、パケットフローを制御します。
IP 転送と IP 動的経路制御が無効になっていることを確認します。
# routeadm Configuration Current Current Option Configuration System State -------------------------------------------------- IPv4 forwarding disabled disabled IPv4 routing default (enabled) enabled … |
IP 転送や IP 動的経路制御が有効な場合は、次のように入力して無効にします。
# routeadm -d ipv4-routing -d ipv4-forwarding # routeadm -u |
次のコマンドを入力して IP の厳密宛先マルチホームをオンに設定します。
# ndd -set /dev/ip ip_strict_dst_multihoming 1 |
システムの起動時に、ip_strict_dst_multihoming の値はデフォルトに戻ります。変更した値を持続させる方法については、「IP のスプーフィングを防止する方法」を参照してください。
大部分のネットワークサービス、可能な場合はすべてのネットワークサービスを無効にします。
「制限付き」SMF プロファイルでシステムをインストールした場合、この手順は省略できます。Solaris Secure Shell 以外のネットワークサービスは無効になります。
ネットワークサービスを無効にすると、IP パケットがシステムにダメージを与えるのを防止できます。たとえば、SNMP デーモン、telnet 接続、rlogin 接続などを最大限に活用できます。
次のオプションのいずれかを選択します。
Solaris 10 11/06 以降のリリースが稼働している場合は、「制限付き」SMF プロファイルを実行します。
# netservices limited |
それ以外の場合は、ネットワークサービスを個別に無効にします。
# svcadm disable network/ftp:default # svcadm disable network/finger:default # svcadm disable network/login:rlogin # svcadm disable network/nfs/server:default # svcadm disable network/rpc/rstat:default # svcadm disable network/smtp:sendmail # svcadm disable network/telnet:default |
ほとんどのネットワークサービスが無効になっていることを確認します。
ループバックマウントと ssh サービスが稼働していることを確認します。
# svcs | grep network online Aug_02 svc:/network/loopback:default … online Aug_09 svc:/network/ssh:default |
2 つのシステム間に SA ペアを追加します。
次のオプションのいずれかを選択します。
SA 用のキーを管理するように IKE を設定します。「IKE の設定 (作業マップ)」のいずれかの手順に従って、VPN 用の IKE を構成します。
キーを手動で管理する決定的な理由がある場合は、「IPsec セキュリティーアソシエーションを手動で作成する方法」を参照してください。
IPsec ポリシーを追加します。
/etc/inet/ipsecinit.conf ファイルを編集して、VPN 用の IPsec ポリシーを追加します。ポリシーを強化する方法については、例 20–15 を参照してください。
enigma システムで、ipsecinit.conf ファイルに次のエントリを入力します。
# LAN traffic to and from this host can bypass IPsec. {laddr 10.16.16.6 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip.tun0 negotiate transport} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
partym システムで、ipsecinit.conf ファイルに次のエントリを追加します。
# LAN traffic to and from this host can bypass IPsec. {laddr 10.1.3.3 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip.tun0 negotiate transport} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
(省略可能) IPsec ポリシーファイルの構文を確認します。
# ipsecconf -c -f /etc/inet/ipsecinit.conf |
トンネルを構成し、それを IPsec で保護する場合は、Solaris のリリースに応じて次の手順に従います。
作成した IPsec ポリシーでトンネルを保護します。
# svcadm refresh svc:/network/ipsec/policy:default |
hostname.ip.tun0 ファイルの内容をカーネルに読み込むには、ネットワークサービスを再起動します。
# svcadm restart svc:/network/initial:default |
経路制御プロトコルによってイントラネット内のデフォルトのルートが通知されていないことを確認します。
hme0 経由のデフォルトルートを手動で追加します。
手順を完了するために、手順 22 に進んで経路制御プロトコルを実行します。
トンネル ip.tun0 を構成します。
次の手順は、Solaris 10 4/09 リリースより前のリリースを実行しているシステムでトンネルを構成するためのものです。
ifconfig コマンドを使用してポイントツーポイントインタフェースを作成します。
# ifconfig ip.tun0 plumb # ifconfig ip.tun0 system1-point system2-point \ tsrc system1-taddr tdst system2-taddr |
作成した IPsec ポリシーでトンネルを保護します。
# ipsecconf |
トンネル用のルーターを起動します。
# ifconfig ip.tun0 router up |
hme1 インタフェースの IP 転送をオンに設定します。
# ifconfig hme1 router |
経路制御プロトコルによってイントラネット内のデフォルトのルートが通知されていないことを確認します。
# ifconfig hme0 private |
hme0 経由のデフォルトルートを手動で追加します。
デフォルトルートは、インターネットに直接アクセスできるルーターでなければなりません。
# route add default router-on-hme0-subnet |
VPN がリブート後に開始するように、/etc/hostname.ip.tun0 ファイルにエントリを追加します。
system1-point system2-point tsrc system1-taddr \ tdst system2-taddr encr_algs aes encr_auth_algs sha1 router up |
適切なパラメータが経路制御デーモンに渡されるようにインタフェースファイルを設定します。
enigma システムで、/etc/hostname.interface ファイルを変更します。
# cat /etc/hostname.hme0 ## enigma 10.16.16.6 private |
# cat /etc/hostname.hme1 ## enigma 192.168.116.16 router |
partym システムで、/etc/hostname.interface ファイルを変更します。
# cat /etc/hostname.hme0 ## partym 10.1.3.3 private |
# cat /etc/hostname.hme1 ## partym 192.168.13.213 router |
# routeadm -e ipv4-routing # routeadm -u |
この例では、手順 4 で構成した bypass ポリシーをコメントにして、保護を強化します。このポリシーを構成した場合は、LAN 上のすべてのシステムが、ルーターと通信するために IPsec を有効にしなければなりません。
# LAN traffic must implement IPsec. # {laddr 10.1.3.3 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip.tun0 negotiate transport} ipsec {encr_algs aes encr_auth_algs sha1} |
この例では、Solaris 10 7/07 システムを、Solaris 10 リリースを実行しているシステムに接続します。したがって、管理者は構成ファイルで Solaris 10 の構文を使用し、ifconfig コマンドに IPsec アルゴリズムを含めます。
管理者は、「IPv4 トランスポートモードの IPsec トンネルで VPN を保護する方法」の手順に従いますが、構文を次のように変更します。
手順 4 で、ipsecinit.conf ファイルの構文は次のとおりです。
# LAN traffic to and from this address can bypass IPsec. {laddr 10.1.3.3 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {} ipsec {encr_algs aes encr_auth_algs sha1} |
手順 14 から手順 16 で、セキュアトンネルを構成するための構文は次のとおりです。
# ifconfig ip.tun0 plumb # ifconfig ip.tun0 10.16.16.6 10.1.3.3 \ tsrc 192.168.116.16 tdst 192.168.13.213 \ encr_algs aes encr_auth_algs sha1 # ifconfig ip.tun0 router up |
# ifconfig ip.tun0 plumb # ifconfig ip.tun0 10.16.16.6 10.1.3.3 \ tsrc 192.168.116.16 tdst 192.168.13.213 \ encr_algs aes encr_auth_algs sha1 |
ifconfig コマンドに渡す IPsec ポリシーは、ipsecinit.conf ファイルに指定されている IPsec ポリシーと同じでなければなりません。各システムは、リブート時にそのポリシーを含む ipsecinit.conf ファイルを読み込みます。
手順 20 で、hostname.ip.tun0 ファイルの構文は次のとおりです。
10.16.16.6 10.1.3.3 tsrc 192.168.116.16 \ tdst 192.168.13.213 encr_algs aes encr_auth_algs sha1 router up |
IPv6 ネットワークで VPN を使用するには、IPv4 ネットワークの場合と同じ手順を実行します。ただし、コマンドの構文は少し違います。特定のコマンドを実行する理由についての詳細は、「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の該当する手順を参照してください。
両方のシステムでこの手順を実行してください。
この手順では、次の構成パラメータを使用します。
パラメータ |
ヨーロッパ |
カリフォルニア |
||
---|---|---|---|---|
システム名 |
|
|
||
システムイントラネットインタフェース |
|
|
||
システムインターネットインタフェース |
|
|
||
システムイントラネットアドレス |
|
|
||
システムインターネットアドレス |
|
|
||
インターネットルーターの名前 |
|
|
||
インターネットルーターのアドレス |
|
|
||
トンネル名 |
|
|
システムコンソール上で、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
リモートログインすると、セキュリティー上重要なトラフィックが盗聴される恐れがあります。何らかの方法でリモートログインを保護していても、システムのセキュリティーがリモートログインセッションレベルに低下します。セキュリティー保護されたリモートログインには、ssh コマンドを使用してください。
IPsec を構成する前に、パケットフローを制御します。
IP 転送と IP 動的経路制御が無効になっていることを確認します。
# routeadm Configuration Current Current Option Configuration System State -------------------------------------------------- … IPv6 forwarding disabled disabled IPv6 routing disabled disabled |
IP 転送や IP 動的経路制御が有効な場合は、次のように入力して無効にします。
# routeadm -d ipv6-forwarding -d ipv6-routing # routeadm -u |
次のコマンドを入力して IP の厳密宛先マルチホームをオンに設定します。
# ndd -set /dev/ip ip6_strict_dst_multihoming 1 |
システムの起動時に、ip6_strict_dst_multihoming の値はデフォルトに戻ります。変更した値を持続させる方法については、「IP のスプーフィングを防止する方法」を参照してください。
ほとんどのネットワークサービスが無効になっていることを確認します。
ループバックマウントと ssh サービスが稼働していることを確認します。
# svcs | grep network online Aug_02 svc:/network/loopback:default … online Aug_09 svc:/network/ssh:default |
2 つのシステム間に SA ペアを追加します。
次のオプションのいずれかを選択します。
SA 用のキーを管理するように IKE を設定します。「IKE の設定 (作業マップ)」のいずれかの手順に従って、VPN 用の IKE を構成します。
キーを手動で管理する決定的な理由がある場合は、「IPsec セキュリティーアソシエーションを手動で作成する方法」を参照してください。
/etc/inet/ipsecinit.conf ファイルを編集して、VPN 用の IPsec ポリシーを追加します。
enigma システムで、ipsecinit.conf ファイルに次のエントリを追加します。
# IPv6 Neighbor Discovery messages bypass IPsec. {ulp ipv6-icmp type 133-137 dir both} pass {} # LAN traffic can bypass IPsec. {laddr 6000:6666::aaaa:1116 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip6.tun0 negotiate transport} ipsec {encr_algs aes encr_auth_algs sha1} |
partym システムで、ipsecinit.conf ファイルに次のエントリを追加します。
# IPv6 Neighbor Discovery messages bypass IPsec. {ulp ipv6-icmp type 133-137 dir both} pass {} # LAN traffic can bypass IPsec. {laddr 6000:3333::eeee:1113 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip6.tun0 negotiate transport} ipsec {encr_algs aes encr_auth_algs sha1} |
(省略可能) IPsec ポリシーファイルの構文を確認します。
# ipsecconf -c -f /etc/inet/ipsecinit.conf |
トンネルを構成し、それを IPsec で保護する場合は、Solaris のリリースに応じて次の手順に従います。
/etc/hostname.ip6.tun0 ファイルで、トンネル ip6.tun0 を構成します。
enigma システムで、hostname.ip6.tun0 ファイルに次のエントリを追加します。
6000:6666::aaaa:1116 6000:3333::eeee:1113 tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 router up |
partym システムで、hostname.ip6.tun0 ファイルに次のエントリを追加します。
6000:3333::eeee:1113 6000:6666::aaaa:1116 tsrc 2001::eeee:3333:3333 tdst 2001::aaaa:6666:6666 router up |
作成した IPsec ポリシーでトンネルを保護します。
# svcadm refresh svc:/network/ipsec/policy:default |
hostname.ip6.tun0 ファイルの内容をカーネルに読み込むには、ネットワークサービスを再起動します。
# svcadm restart svc:/network/initial:default |
経路制御プロトコルによってイントラネット内のデフォルトのルートが通知されていないことを確認します。
hme0 経由のデフォルトルートを手動で追加します。
手順を完了するために、手順 22 に進んで経路制御プロトコルを実行します。
次の手順は、Solaris 10 4/09 リリースより前のリリースを実行しているシステムでトンネルを構成するためのものです。
enigma システムで、次のコマンドを入力します。
# ifconfig ip6.tun0 inet6 plumb # ifconfig ip6.tun0 inet6 6000:6666::aaaa:1116 6000:3333::eeee:1113 \ tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 |
partym システムで、次のコマンドを入力します。
# ifconfig ip6.tun0 inet6 plumb # ifconfig ip6.tun0 inet6 6000:3333::eeee:1113 6000:6666::aaaa:1116 \ tsrc 2001::eeee:3333:3333 tdst 2001::aaaa:6666:6666 |
作成した IPsec ポリシーでトンネルを保護します。
# ipsecconf |
トンネル用のルーターを起動します。
# ifconfig ip6.tun0 router up |
# ifconfig hme1 router |
経路制御プロトコルによってイントラネット内のデフォルトのルートが通知されていないことを確認します。
# ifconfig hme0 private |
各システムで、hme0 経由のデフォルトルートを手動で追加します。
デフォルトルートは、インターネットに直接アクセスできるルーターでなければなりません。
各システムで、VPN がリブート後に開始するように、/etc/hostname6.ip6.tun0 ファイルにエントリを追加します。
このエントリは、手順 14 で ifconfigコマンドに渡されたパラメータを複製します。
enigma システムで、hostname6.ip6.tun0 ファイルに次のエントリを追加します。
6000:6666::aaaa:1116 6000:3333::eeee:1113 \ tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 router up |
partym システムでは、次のエントリを hostname6.ip6.tun0 ファイルに追加します。
6000:3333::eeee:1113 6000:6666::aaaa:1116 \ tsrc 2001::eeee:3333:3333 tdst 2001::aaaa:6666:6666 router up |
適切なパラメータが経路制御デーモンに渡されるようにインタフェースファイルを設定します。
enigma システムで、/etc/hostname6.interface ファイルを変更します。
# cat /etc/hostname6.hme0 ## enigma 6000:6666::aaaa:1116 inet6 private |
# cat /etc/hostname6.hme1 ## enigma 2001::aaaa:6666:6666 inet6 router |
partym システムで、/etc/hostname6.interface ファイルを変更します。
# cat /etc/hostname6.hme0 ## partym 6000:3333::eeee:1113 inet6 private |
# cat /etc/hostname6.hme1 ## partym2001::eeee:3333:3333 inet6 router |
経路制御プロトコルを実行します。
# routeadm -e ipv6-routing # routeadm -u |
この例では、Solaris 10 7/07 システムを、Solaris 10 リリースを実行しているシステムに接続します。したがって、管理者は構成ファイルで Solaris 10 の構文を使用し、ifconfig コマンドに IPsec アルゴリズムを含めます。
管理者は、「IPv6 トランスポートモードの IPsec トンネルで VPN を保護する方法」の手順に従いますが、構文を次のように変更します。
手順 4 で、ipsecinit.conf ファイルの構文は次のとおりです。
# IPv6 Neighbor Discovery messages bypass IPsec. {ulp ipv6-icmp type 133-137 dir both} pass {} # LAN traffic can bypass IPsec. {laddr 6000:3333::eeee:1113 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {} ipsec {encr_algs aes encr_auth_algs sha1} |
手順 14 から手順 17 で、セキュアトンネルを構成するための構文は次のとおりです。
# ifconfig ip6.tun0 inet6 plumb # ifconfig ip6.tun0 inet6 6000:6666::aaaa:1116 6000:3333::eeee:1113 \ tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 \ encr_algs aes encr_auth_algs sha1 # ifconfig ip6.tun0 inet6 router up |
ifconfig コマンドに渡す IPsec ポリシーは、ipsecinit.conf ファイルに指定されている IPsec ポリシーと同じでなければなりません。各システムは、リブート時にそのポリシーを含む ipsecinit.conf ファイルを読み込みます。
手順 20 で、hostname6.ip6.tun0 ファイルの構文は次のとおりです。
6000:6666::aaaa:1116 6000:3333::eeee:1113 \ tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 \ encr_algs aes encr_auth_algs sha1 router up |
システムがパケットの復号化を試みずに別のインタフェースに転送することを防止するには、IP のスプーフィングをチェックする必要があります。その方法の 1 つは、ndd コマンドを使用して IP 厳密宛先マルチホームのパラメータを設定することです。SMF マニフェストでこのパラメータが設定されている場合、システムのリブート時にこのパラメータが設定されます。
両方のシステムでこの手順を実行してください。
システムコンソール上で、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
IP のスプーフィングをチェックするように、サイト固有の SMF マニフェストを作成します。
次のサンプルスクリプト /var/svc/manifest/site/spoof_check.xml を使用します。
<?xml version="1.0"?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type='manifest' name='Custom:ip_spoof_checking'> <!-- This is a custom smf(5) manifest for this system. Place this file in /var/svc/manifest/site, the directory for local system customizations. The exec method uses an unstable interface to provide a degree of protection against IP spoofing attacks when this system is acting as a router. IP spoof protection can also be achieved by using ipfilter(5). If ipfilter is configured, this service can be disabled. Note: Unstable interfaces might be removed in later releases. See attributes(5). --> <service name='site/ip_spoofcheck' type='service' version='1'> <create_default_instance enabled='false' /> <single_instance /> <!-- Don't enable spoof protection until the network is up. --> <dependency name='basic_network' grouping='require_all' restart_on='none' type='service'> <service_fmri value='svc:/milestone/network' /> </dependency> <exec_method type='method' name='start' exec='/usr/sbin/ndd -set /dev/ip ip_strict_dst_multihoming 1' <!-- For an IPv6 network, use the IPv6 version of this command, as in: exec='/usr/sbin/ndd -set /dev/ip ip6_strict_dst_multihoming 1 --> timeout_seconds='60' /> <exec_method type='method' name='stop' exec=':true' timeout_seconds='3' /> <property_group name='startd' type='framework'> <propval name='duration' type='astring' value='transient' /> </property_group> <stability value='Unstable' /> </service> </service_bundle>
このマニフェストを SMF リポジトリにインポートします。
# svccfg import /var/svc/manifest/site/spoof_check.xml |
ip_spoofcheck サービスを有効にします。
マニフェストで定義されている名前 /site/ip_spoofcheck を使用します。
# svcadm enable /site/ip_spoofcheck |
ip_spoofcheck サービスがオンラインになっていることを確認します。
# svcs /site/ip_spoofcheck |