Solaris のシステム管理 (第 3 巻)

グローバルポリシーの設定

ホストの IPsec ポリシーを設定するには、ipsecconf(1M) コマンドを使用します。ポリシーを設定すると、IPsec は、ホストに出入りするときにすべての出力データグラムと入力データグラムに対してポリシー検査を適用します。エントリが見つからない場合、ポリシー検査は行われず、すべてのトラフィックが通過します。送信されたデータグラムは、このコマンドで追加されたポリシー検査の対象外になります。送信パケットを保護する方法については、iconfig(1M)tun(7M) のマニュアルページを参照してください。iconfig コマンドは、/etc/inet/ipsecpolicy.conf ファイルからポリシーエントリを削除するときや、既存の設定を終了するときに使用します。

このコマンドはスーパーユーザーでないと呼び出せません。エントリごとに保護されるトラフィックは 1 方向、すなわち出力か入力のどちらかです。そのため、両方向のトラフィックを保護するには、各方向ごとにエントリを設定する必要があります。

システムに設定されたポリシーを確認するには、引数なしでこのコマンドを実行します。このコマンドによって番号があとについたインデックスとともにエントリが表示されます。インデックスに -d オプションを指定すると、システム内の指定ポリシーが削除されます。このコマンドで表示されるエントリの順序は追加された順であり、必ずしもトラフィックを照合する順序ではありません。トラフィックの照合が行われる順序を確認するには、-l オプションを使用します。

IPsec では、リブートするとポリシーエントリが削除されます。そのため、システムのリブートのたびにポリシーエントリを追加する必要があります。起動プロセスの初期にポリシーを設定するには、/etc/inet/ipsecinit.conf ファイルでポリシーをセットアップし、inetinit 起動スクリプトで読み取らせます。

セキュリティについて

たとえば、/etc/inet/ipsecpolicy.conf ファイルを、NFS マウントファイルシステムから送信すると、ファイル内のデータが不正に変更され、設定ポリシーも変更される可能性があります。そのため、/etc/inet/ipsecpolicy.conf ファイルのコピーをネットワークで送信してはいけません。

ポリシーは connect(3N) または accept(3N) を発行した TCP/UDP ソケットにラッチされます。新しいポリシーエントリを追加しても、これらは変更されません。このラッチ機能は将来変更される可能性があるので、この機能に依存してはいけません。

ポリシーは通信を開始する前にセットアップしてください。新しいポリシーエントリを追加すると既存の接続が影響を受けることがあるためです。同じ理由から、通信の途中ではポリシーを変更しないでください。

ネットワークで参照できるホストがソースアドレスで、指定システム自体の安全性に問題がある場合、使用される名前は信頼できません。

セキュリティの弱点は、ツール自体ではなく、ツールの使用方法にあります。ipseckey を使用するときは注意が必要です。各操作の最も安全なモードでコンソールを使用するか、ハード接続の TTY を使用してください。