no key association found ...
受信したIPsec暗号パケットを復号できなかったことを示します。
ログの例
info kern no key association found for SA 203.0.113.1[4500]-192.0.2.1[4500]/SPI 0x07e05f60
解説
ESPはIPsecにより暗号化されたパケットです。ESPパケットを受信すると、復号のためパケットのSPIに対応する暗号鍵をIPsec(IKE Phase-2)セッションから検索しますが、対応する鍵を保持していない場合は復号できず、このログが記録されます。
現在保持しているセッション情報(SPIや鍵を含む)はshow status ipsec
コマンドで参照できます。また、IPsec/IKEの折衝時にはログが記録されます。
src 及び dst は当該パケットの送信元・送信先IPアドレスです。ただし、古いバージョンのファームウェアは表示に対応していないものがあります。
影響
復号できなかったパケットは破棄されるため、パケットロス相当の影響があります。ESPプロトコルは再送機能を持ちませんが、元のパケットがTCPなど到達確認機能を持つ場合はそれによって再送制御されます。
装置または機能の動作異常を示すものではありません。
発生要因
「受信パケットのSPIに該当する鍵が存在しない」状態の主な発生要因は次の通りです。
- 無関係の第三者から送信されたESPパケットの受信
- IPsec構成外の装置から送信されたESPパケットは復号できません。
- IPアドレス情報から判断できます。
- 破棄済みの鍵に対応するESPパケットの受信
- システム再起動など、何らかの要因で一方的にIPsecセッションを失うと、再折衝が完了するまでESPパケットを復号できません。
- 継続稼働していた場合はSPI値をもとにログを検索することで、セッションを破棄したタイミングを確認できます。
- clearコマンドやIKE DPDによるセッションクリア時は対向に通知しますが、通知と入れ違いで受信したESPパケットが復号できずログが記録される場合があります。また、通知が対向に到達しなかった場合は一方的なセッション破棄になります。
- IPsecセッションのライフタイム超過時は、予め次に使用するセッションを折衝し併用期間が設けられるため、通常のセッション更新に伴う鍵の削除時には発生しにくいといえます。
- 生成直後でシステムに未反映の鍵に対応するESPパケットの受信
- 鍵の生成から鍵の有効化に要する時間はごく僅かですが、システム負荷が極端に高い状況化での折衝時は対向と比べて時間を要する場合があります。
- 対向同士の処理性能差が大きいとき、計算量の多いPFSグループ(modp8192など)を使用すると時間差が発生しやすくなります。
どの要因に該当するかは、SPI値を元にIPsec/IKEの折衝ログやインターネット接続状況等のログとの時系列を確認することで、ある程度判断できます。また対向装置のログと照合することでIPsec/IKEの折衝状況を確認できます。
対処
発生頻度が運用上看過できない場合は、発生要因を突き止め解消する必要があります。
予防
次のような予防手段が考えられますが、採用には構成上の要件に対して適切であるか判断する必要があります。
- 最新ファームウェアの適用
- 既知の不具合による直接的、または間接的な発生を防ぐことができます。
- IPsec/IKE設定のライフタイム値の検討
- 定常的な鍵の更新前後で発生する傾向がある場合、更新頻度を下げる(ライフタイム値を長く取る)ことで発生機会を減らすことができます。
- IKEを使用せず固定鍵を設定する
- 鍵の変化や喪失が主な発生原因であるため、IKEを使用しないことで根本的に対処できます。ただし、一部のIPsec VPN機能は固定鍵方式で設定できません。