errTransport WebSession::sessionTask TLS connection exception: handshake incomplete.
---
上記エラーメッセージは、HTTPS 通信の最初の TLS(暗号化通信) のネゴシエーション時が
正常に終了しないで終わった事を示します。
上記メッセージは外部のデバイスやアプリケーション(IME/IDE/CSM) と IPS の初期通信の
エラーであり、IPS のパケットチェックそのものへの機能のエラーを指し示すものではございません。
解決方法としては、以下のステップを実施します。
Step1. 該当のデバイスの確認
① 心当たりがある場合にはどのデバイス上で該当の IPS 通信がエラーとなっているか確認
② 心当たりがない場合には、どのデバイスかパケットキャプチャーを実施して確認
---
IPS 上でのパケットキャプチャー
https://supportforums.cisco.com/docs/DOC-16923
Step2. エラーの解消
実はエラーの解消方法は多種多様で一概に申し上げることはできません。
その為すべてとはいきませんが、以下によくあるふたつの事例を取り上げます。
---
1. 外部のデバイスが、昔の証明書情報を記憶しており昔の証明書で通信を使用としている。
外部デバイスで IPS を再登録(デバイスの削除および登録)を実施した際に、新しい証明書
のポップアップなどが表示されるのがよくあります。その証明書を信頼するようにします。
※信頼後は新しい証明書情報を使いますので、エラーメッセージがなくなります。
2. 外部デバイスが知らない端末であった場合。
IPS では、access-list の範囲に入っている IP アドレスレンジではすべての TLS コネクションを
受け入れます。その為、知らないデバイスをこちらから操作できない為、通信自体を access-list
で拒否するしかありません。
access-list の設定方法は以下になります。※サンプルとなります。
192.168.0.0/24 のセグメントを現在 access-list 24ビットで許可している。
192.168.0.23(知らない外部デバイス)、192.168.0.200(IMEデバイス) となり
192.168.0.23 から TLS コネクション通信が定期的にきている。
###現在の設定を確認(configure terminal -> service host -> network-settings)
sensor(config-hos-net)# show settings
network-settings
<省略>
access-list (min: 0, max: 512, current: 1)
-----------------------------------------------
network-address: 192.168.0.0/24 <----- 現在の設定(192.168.0.23も許可されている)
-----------------------------------------------
###現在の access-list を消去 許可する IP アドレスを絞る
sensor(config-hos-net)# default access-list <----- default にするとすべての設定が消えます。
sensor(config-hos-net)# access-list 192.168.0.200/32 <----- .200 のホストを許可する32ビットに設定
sensor(config-hos-net)# show settings
network-settings
<省略>
access-list (min: 0, max: 512, current: 1)
-----------------------------------------------
network-address: 192.168.0.20/32 <----- 許可するホストIP のみ(/32)に設定
-----------------------------------------------
sensor(config-hos-net)# exit
sensor(config-hos)# exit
Apply Changes?[yes]: yes
sensor(config)#
※access-list は管理しているデバイスのものだけにしておくとセキュリティーも強化でき
ベストだと考えられます。
※上記設定が終わりますと、192.168.0.23 からの通信そのものが許可されていない為
TLS ネゴシエーションまでいかずにエラーメッセージが防げます。
以下が実際のエラーのメッセージのサンプルとなります。
同じエラーメッセージが main.log と show event どちらにも出力されます。
<show tech 内のエラーメッセージ(main.log内)>
21Mar2012 07:15:08.301 0.001 cidwebserver[433] tls/W errTransport WebSession::sessionTask TLS connection exception: handshake incomplete.
Messages, like this one, in the category - TLS connection failure - were logged 2250 times in the last 3600 seconds.
<show event>
evError: eventId=1319086100315976410 severity=warning vendor=Cisco
originator:
hostId: sensor
appName: cidwebserver
appInstanceId: 430
time: 2012/03/21 12:15:09 2012/03/21 12:15:09 UTC
errorMessage: name=errTransport WebSession::sessionTask TLS connection exception: handshake incomplete.
Messages, like this one, in the category - TLS connection failure - were logged 2250 times in the last 3600 seconds.