障害時におけるパケットキャプチャの有用性
ネットワーク通信でやり取りされている実際のパケットを収集・分析するパケットキャプチャは難しいというイメージがあるようです。
インフラシステムの障害対応ではしばしばパケットキャプチャによる問題切り分けが有用である場合があります。
全ての障害で有用な訳ではありませんが、過去に何度も窮地を助けられてきました。実際に身近で発生した事例をいくつかご紹介したいと思います。
1. 障害範囲の特定
Active Directoryサーバのリプレース案件で特定のストレージ製品へのアクセスが際立って遅くなる事象が発生しました。
当初、メーカーのサポートはそのような事例はなく、アクセスが遅いだけで利用できない訳ではないということでなかなか取り合ってくれませんでした。
該当ストレージへの接続時と他社ストレージへの接続時のパケットキャプチャを取得したところ、該当ストレージへの接続時だけ、Active Directoryサーバからのパケットに応答しなくなっていることが判明しました。
パケットキャプチャと共に上記内容を提示したところ、メーカーのサポートが自分たちの製品の問題であることを認め、調査して解決に繋がりました。
2. エラー原因のヒント
新規にWindowsサーバを導入した案件で共有アクセス権を追加しようとしたところ、認証画面が表示されるものの正しいユーザー、パスワードを入力しても認証情報が異なるといったエラー画面が表示され、共有アクセス権の変更できない事象が発生しました。
新規に追加した管理者アカウントを試したり、ローカル管理者アカウントを試したり、やドメインの再参加なども試しましたが回避できませんでした。
パケットキャプチャを採取したところ、パケットの詳細にActive DirectoryサーバとのKerberos認証の際に他のサーバではみられないエラーコードが表示されており、該当エラーコードを検索したところ、Kerberos認証の暗号化種類が関連していることが判明しました。
他のWindowsサーバの設定と比較したところ一部の暗号化が無効になっており、その部分を有効化することで事象が解消されました。
3. 問題の切り分け
新規にWindowsサーバを導入後、VPN端末から接続できるように構成したのですが該当Windowsサーバの共有フォルダに接続できないという事象が発生しました。
同じネットワーク内にある別サーバからは正常に共有フォルダに接続できたとのことでVPN問題として調査を進めていました。
切り分けの1つとしてパケットキャプチャを採取したところ、該当Windowsサーバとの通信ではパケットの送受信が行われており、問題はないようにみえました。
結論としては、VPN接続は関係ありませんでした。新しいWindowsサーバではSMB1.0などの古い共有フォルダプロトコルに対応しておらず、古いOSから接続できないという問題でした。
お客様にセキュリティリスクがあることをお伝えし、古いOSのリプレースを推奨しながらも暫定的に新しいWindowsサーバでSMB1.0に対応できるように構成を変更しました。
(同じネットワーク内にある別サーバからは正常に共有フォルダに接続できたのはこの別サーバが比較的新しいOSだったからでした)
この事例ではパケットキャプチャが直接の原因特定にはならなかったものの、パケット通信が出来ていたということは下記の問題である可能性はなくなったと判断でき、それならばプロトコルの互換性なのでは?という仮説に辿り着くことができました。
・NW機器のルーティングの問題
・Firewallでの通信許可設定の問題
・VPN端末やWindowsサーバのFirewall設定の問題
ここまでで障害時におけるパケットキャプチャの有用性についてお話しました。
とっつきにくいイメージがあるかもしれませんが障害対応時の強力なツールになりますのでインフラエンジニアの皆さんには是非普段から取り扱い方法を学んでいただきたいと思います。