Solaris オペレーティングシステム (Solaris OS) を起動したときに IPsec セキュリティーポリシーを呼び出すには、特定の IPsec ポリシーエントリを利用して構成ファイルを作成し IPsec を初期化します。このファイルのデフォルトの名前は /etc/inet/ipsecinit.conf です。ポリシーエントリとその形式の詳細については、ipsecconf(1M) のマニュアルページを参照してください。ポリシーの構成後、ipsecconf コマンドを使用すると、既存の構成を表示または変更できます。Solaris 10 4/09 リリース以降では、policy サービスを更新することによって、既存の構成を変更します。
Solaris ソフトウェアには、サンプルの IPsec ポリシーファイル ipsecinit.sample があります。このファイルをテンプレートとして独自の ipsecinit.conf ファイルを作成できます。ipsecinit.sample ファイルには、次のエントリが含まれています。
# # For example, # # {rport 23} ipsec {encr_algs des encr_auth_algs md5} # # will protect the telnet traffic originating from the host with ESP using # DES and MD5. Also: # # {raddr 10.5.5.0/24} ipsec {auth_algs any} # # will protect traffic to or from the 10.5.5.0 subnet with AH # using any available algorithm. # # # To do basic filtering, a drop rule may be used. For example: # # {lport 23 dir in} drop {} # {lport 23 dir out} drop {} # will disallow any remote system from telnetting in. # # If you are using IPv6, it may be useful to bypass neighbor discovery # to allow in.iked to work properly with on-link neighbors. To do that, # add the following lines: # # {ulp ipv6-icmp type 133-137 dir both } pass { } # # This will allow neighbor discovery to work normally. |
ipsecinit.conf ファイルをネットワーク経由で転送するときには、特に注意する必要があります。ネットワークマウントファイルが読み取られている場合、不正に読み取られる可能性があります。たとえば、NFS マウントされたファイルシステムから /etc/inet/ipsecinit.conf ファイルをアクセスまたはコピーしようとした場合、このファイルに含まれるポリシーは不正に変更される可能性があります。
IPsec ポリシーは通信を開始する前に設定してください。新しいポリシーエントリを追加すると既存の接続が影響を受けることがあるためです。同じ理由から、通信の途中ではポリシーを変更しないでください。
特に、SCTP ソケット、TCP ソケット、または UDP ソケットに対して、connect() または accept() 関数呼び出しが行われた場合、これらのソケットの IPsec ポリシーは変更できません。ポリシーの変更ができないソケットを、「ラッチされたソケット」と呼びます。新しいポリシーエントリは、すでにラッチされたソケットを保護しません。詳細については、connect(3SOCKET) と accept(3SOCKET) のマニュアルページを参照してください。
ネーミングシステムを保護してください。次の 2 つの条件に該当する場合、そのホスト名は信頼できません。
ソースアドレスが、ネットワークを介して参照できるホストである。
ネーミングシステムの信頼性に問題がある。
セキュリティーの弱点の多くは、実際のツールではなく、ツールの使用方法にあります。ipsecconf コマンドを使用するときは注意が必要です。各操作の最も安全なモードでコンソールを使用するか、ハード接続の TTY を使用してください。