Web サーバーを実行するシステムで、IPsec を使用して Web クライアントのリクエスト以外のすべてのトラフィックを保護できます。保護されるネットワークトラフィックは、通常、Web サーバーとほかのバックエンドサーバーの間です。
Web クライアントが IPsec をバイパスできるだけでなく、この手順では IPsec ポリシーによってサーバーが DNS クライアントのリクエストを作成できるようになります。その他のすべてのトラフィックは IPsec で保護されます。
始める前に
この手順では、2 つのサーバー上で IPsec を構成する IPsec によって 2 つのサーバー間でネットワークトラフィックをセキュリティー保護する方法の手順が実行済みで、次の条件が満たされていると想定します。
各システムは、固定アドレスを持つ大域ゾーンまたは排他的 IP ゾーンである。詳細は、IPsec と Oracle Solaris ゾーンを参照してください。
Web サーバーとの通信は IPsec によってすでに保護されている。
IKE によってキーイング素材が生成されています。
パケットが保護されていることを確認してあります。
特定の権利を持つユーザーは、root でなくてもこれらのコマンドを実行できます。
構成コマンドを実行するには、Network IPsec Management 権利プロファイルが割り当てられている管理者になる必要があります。
IPsec 関連のシステムファイルを編集して鍵を作成するには、pfedit コマンドを使用します。
hosts ファイルを編集するには、root 役割になるか、そのファイルを編集するための明示的なアクセス権を持っている必要があります。
詳細は、Oracle Solaris 11.3 でのユーザーとプロセスのセキュリティー保護 の 割り当てられている管理権利の使用を参照してください。
リモートで管理する場合は、セキュアなリモートログイン手順について、使用例 27およびOracle Solaris 11.3 での Secure Shell アクセスの管理 の Secure Shell を使用して ZFS をリモートで管理する方法を参照してください。
Web サーバーの場合、TCP ポート 80 (HTTP) と 443 (保護 HTTP) が該当します。Web サーバーが DNS 名検査をするときは、TCP と UDP の両方にポート 53 も組み込む必要がある場合もあります。
ipsecinit.conf ファイルに次の行を追加します。
# pfedit /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}
これで、保護トラフィックだけがシステムへのアクセスを許可されます。ただし、Step 1 で説明した、検査を省略するトラフィックは例外です。
# ipsecconf -c /etc/inet/ipsecinit.conf
# svcadm refresh ipsec/policy
ike サービスを再起動します。
# svcadm restart ike:ikev2
鍵を手動で構成した場合は、IPsec の鍵を手動で作成する方法の手順に従います。
これで設定が完了しました。
リモートシステムの /etc/inet/ipsecinit.conf ファイルに次の行を追加します。
## Communicate with web server about nonweb stuff ## {raddr webserver} ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
構文を検証したあと、IPsec ポリシーをリフレッシュしてアクティブ化します。
remote-system # ipsecconf -c /etc/inet/ipsecinit.conf remote-system # svcadm refresh ipsec/policy
IPsec ポリシーが一致した場合にかぎり、リモートシステムは、非 Web トラフィックを持つ Web サーバーと安全に通信できます。
# ipsecconf -L -n