Oracle® Solaris 11.2 でのネットワークのセキュリティー保護

印刷ビューの終了

更新: 2014 年 9 月
 
 

IPsec 実行中にシステムをトラブルシューティングする方法

IKE を使用してパケットを交換している、または交換を試みている実行中のシステム上で、ikeadm コマンドを使用して統計、ルール、事前共有鍵などの項目を表示できます。ログファイルおよび Wireshark アプリケーションなどの一部のツールを使用することもできます。

  1. 次の項目を調査します。
    • ポリシーと適切な鍵管理サービスが有効になっていることを確認します。

      次のテストシステムでは、鍵管理に manual-key サービスが使用されています。

      % svcs -a  | grep ipsec
      online         Feb_04   svc:/network/ipsec/manual-key:default
      online         Feb_04   svc:/network/ipsec/ipsecalgs:default
      online         Feb_04   svc:/network/ipsec/policy:default
      disabled       Feb_28   svc:/network/ipsec/ike:ikev2
      disabled       Feb_28   svc:/network/ipsec/ike:default

      このサービスが無効になっている場合は有効にします。

      両方の IKE サービスを同時に使用できます。手動鍵と IKE を同時に使用することもできますが、この構成はトラブルシューティングが困難な不具合を引き起こす場合があります。

    • IKEv2 サービスのログファイルの終わりを表示します。
      # svcs -xL ikev2
      svc:/network/ipsec/ike:ikev2 (IKEv2 daemon)
       State: disabled since October  10, 2013 10:10:40 PM PDT
      Reason: Disabled by an administrator.
         See: http://support.oracle.com/msg/SMF-8000-05
         See: in.ikev2d(1M)
         See: /var/svc/log/network-ipsec-ike:ikev2.log
      Impact: This service is not running.
         Log:
      Oct 01 13:20:20: (1)  Property "debug_level" set to: "op"
      Oct 01 13:20:20: (1)  Errors and debug messages will be written to: 
                              /var/log/ikev2/in.ikev2d.log
      [ Oct 10 10:10:10 Method "start" exited with status 0. ]
      [ Oct 10 10:10:40 Stopping because service disabled. ]
      [ Oct 10 10:10:40 Executing stop method (:kill). ]
      
         Use: 'svcs -Lv svc:/network/ipsec/ike:ikev2' to view the complete log.
    • (オプション) 実行中のデーモンのデバッグレベルの一時的な値を設定できます。
      # ikeadm set debug verbose /var/log/ikev2/in.ikev2d.log
      Successfully changed debug level from 0x80000000 to 0x6204
      Debug categories enabled:
              Operational / Errors
              Config file processing
              Interaction with Audit
              Verbose Operational
  2. ipsecconf コマンドの出力がポリシーファイルのコンテンツと一致していることを確認します。
    # ipsecconf 
    #INDEX 14 
    ...
    {  laddr 10.133.66.222 raddr 10.133.64.77 }
    	ipsec   { encr_algs aes(256) encr_auth_algs sha512 sa shared } 
    ...
    {  laddr 10.134.66.122 raddr 10.132.55.55 }
    	ipsec   { encr_algs aes(256) encr_auth_algs sha512 sa shared } 
    
    # cat /etc/inet/ipsecinit.conf
    ...
    {  laddr 10.133.66.222 raddr 10.133.64.77 }
    	ipsec   { encr_algs aes(256) encr_auth_algs sha512 sa shared } 
    
    {  laddr 10.134.66.122 raddr 10.132.55.55 }
    	ipsec   { encr_algs aes(256) encr_auth_algs sha512 sa shared } 
    

    注 -  ワイルドカードアドレスによって一致しているかどうかがわかりにくい場合があるため、ipsecinit.conf ファイル内の特定のアドレスが ipsecconf の出力のワイルドカードアドレスの範囲内に含まれていることを確認してください。

    ipsecconf コマンドの出力が表示されない場合は、ポリシーサービスが有効になっていることを確認してサービスをリフレッシュしてください。

    % svcs policy
    STATE          STIME    FMRI
    online         Apr_10   svc:/network/ipsec/policy:default

    出力にエラーが表示される場合は、ipsecinit.conf ファイルを編集してエラーを修正してからサービスをリフレッシュしてください。

  3. IKEv2 構成を確認します。

    修正を必要とする可能性のある構成の出力については、Example 11–1 およびExample 11–2 を参照してください。次の例の出力は、構成が有効であることを示しています。

    # /usr/lib/inet/in.ikev2d -c
    Feb 04 12:08:25: (1)    Reading service properties from smf(5) repository.
    Feb 04 12:08:25: (1)    Property "config_file" set to: "/etc/inet/ike/ikev2.config"
    Feb 04 12:08:25: (1)    Property "debug_level" set to: "all"
    Feb 04 12:08:25: (1)    Warning: debug output being written to stdout.
    Feb 04 12:08:25: (1)    Checking IKE rule #1: "Test 104 to 113"
    Feb 04 12:08:25: (1)    Configuration file /etc/inet/ike/ikev2.config is valid.
    Feb 04 12:08:25: (1)    Pre-shared key file /etc/inet/ike/ikev2.preshared is valid.

    注 -  デバッグ出力に関する警告は、デバッグログファイルを指定したあとでも変更されません。debug_logfile サービスプロパティーの値を指定する場合、この警告はデバッグ出力がそのファイルに渡されていることを意味します。それ以外の場合、デバッグ出力はコンソールに渡されます。
    • Checking IKE rule 行で、IKE ルールに適切な IP アドレスが接続していることを確認します。たとえば、次のエントリは一致しています。ipsecinit.conf ファイルの laddr の値が ikev2.config ファイルの local_addr の値と一致し、リモートアドレス同士が一致しています。

      {  laddr 10.134.64.104 raddr 10.134.66.113 }      /** ipsecinit.conf **/
                       ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
      
      	local_addr   10.134.64.104                          /** ikev2.config **/
      	remote_addr  10.134.66.113                          /** ikev2.config **/
      

      エントリが対応していない場合は、構成を修正して正しい IP アドレスを識別します。


      注 -  ルールには、アドレスの範囲を示す 10.134.0.0/16 のようなワイルドカードアドレスが含まれる場合があります。特定のアドレスに対して範囲を確認します。
    • Pre-shared key file 行にファイルが有効でないことが示されている場合は、ファイルを修正します。

      入力ミスを確認します。また、IKEv2 で、ikev2.config 内のルールのラベル値が ikev2.preshared ファイル内のラベル値と一致することを確認します。2 つの鍵を使用している場合は、次に、1 つのシステム上のローカル事前共有鍵がピアのリモート事前共有鍵と一致し、リモート鍵がピアのローカル鍵と一致することを確認します。

      構成がまだ機能しない場合は、IPsec および IKE の意味上の誤りのトラブルシューティングを参照してください。

使用例 11-1  無効な IKEv2 構成の修正

次の出力では、IKE SA のライフタイムが短すぎます。

# /usr/lib/inet/in.ikev2d -c
...
May 08 08:52:49: (1)	WARNING: Problem in rule "Test 104 to 113"
May 08 08:52:49: (1)	 HARD lifetime too small (60 < 100)
May 08 08:52:49: (1)	  -> Using 100 seconds (minimum)
May 08 08:52:49: (1)	Checking IKE rule #1: "config 10.134.13.113 to 10.134.13.104"
...

この値は ikev2.config ファイルに明示的に設定されています。警告を解除するには、ライフタイムの値を少なくとも 100 に変更してサービスをリフレッシュします。

# pfedit /etc/inet/ike/ikev2.config
...
## childsa_lifetime_secs   60
childsa_lifetime_secs   100
...
# /usr/lib/inet/in.ikev2d -c
...
# svcadm refresh ikev2
使用例 11-2  一致しないルールメッセージの修正

次の出力では、事前共有鍵は定義されていますがルールに使用されていません。

# /usr/lib/inet/in.ikev2d -c
Feb 4 12:58:31: (1)  Reading service properties from smf(5) repository.
Feb 4 12:58:31: (1)  Property "config_file" set to: "/etc/inet/ike/ikev2.config"
Feb 4 12:58:31: (1)  Property "debug_level" set to: "op"
Feb 4 12:58:31: (1)  Warning: debug output being written to stdout.
Feb 4 12:58:31: (1)  Checking IKE rule #1: "Test 104 to 113"
Feb 4 12:58:31: (1)  Configuration file /etc/inet/ike/ikev2.config is valid.
Feb 4 12:58:31: (1)  No matching IKEv2 rule for pre-shared key ending on line 12
Feb 4 12:58:31: (1)  Pre-shared key file /etc/inet/ike/ikev2.preshared is valid.

    この出力は、ルールが 1 つだけ存在することを示しています。

  • ルールが事前共有鍵を必要とする場合、事前共有鍵のラベルがルールのラベルと一致しません。ikev2.config ルールのラベルと ikev2.preshared 鍵のラベルが一致するように修正します。

  • ルールで証明書が使用されている場合は、ikev2.preshared ファイルの 12 行目で終わる事前共有鍵を削除するかコメントを解除すると No matching メッセージを回避できます。

使用例 11-3  実行中の IKE デーモンの新しいデバッグレベルの設定

次の出力では、ikev2 サービスのデバッグ出力が all に設定されています。

# /usr/lib/inet/in.ikev2d -c
Feb 4 12:58:31: (1)  Reading service properties from smf(5) repository.
...
Feb 4 12:58:31: (1)  Property "debug_level" set to: "all"
...

IPsec と IKE を実行する前にシステムをトラブルシューティングする方法Step 2 を実行してもデバッグ出力が all ではなく op の場合は、ikeadm コマンドを使用して、実行中の IKE デーモンのデバッグレベルを設定してください。

# ikeadm set debug_level all