19.3. OpenSSL で暗号化されたネットワークトラフィックから平文をキャプチャーする
Network Observability CLI を使用して、OpenSSL で暗号化されたネットワークパケットから平文コンテンツをキャプチャーして表示します。この CLI 専用機能は、eBPF プローブを使用して暗号化されていないデータを傍受および表示するため、TLS 証明書や Operator の設定は不要です。
19.3.1. OpenSSL で暗号化されたトラフィックの平文パケットキャプチャー リンクのコピーリンクがクリップボードにコピーされました!
Network Observability CLI のパケットキャプチャー機能は、OpenSSL で暗号化されたネットワークトラフィックの暗号化されていないコンテンツを傍受して表示することができます。
この機能は、暗号化された接続のデバッグを行う際に、通常は読み取れないペイロードデータを検査する必要がある場合に役立ちます。
CLI は eBPF プローブを使用して、暗号化前と復号化後に OpenSSL ライブラリー関数を傍受し、TLS 証明書や鍵を必要とせずに平文コンテンツをキャプチャーします。
これは CLI 専用の機能であり、Operator やエージェントの設定は不要です。
この機能は、特に以下のタスクにおいて非常に有用です。
- OpenSSL で暗号化されたトラフィックにおける、アプリケーションレベルのプロトコル問題のデバッグ。
- サービス間で API リクエストとレスポンスのペイロードを検証します。
- TLS を無効化せずに暗号化されたトラフィックの内容を分析します。
- 証明書にアクセスできない場合の暗号化接続のトラブルシューティング。
平文キャプチャーは現在、OpenSSL で暗号化されたトラフィックのみをサポートしています。この機能は、パケットレベルのキャプチャーを行う oc netobserv packets サブコマンドと連携して動作しますが、フローレベルのキャプチャーとは連携しません。
19.3.1.1. プレーンテキストキャプチャーの仕組み リンクのコピーリンクがクリップボードにコピーされました!
パケットキャプチャー中にプレーンテキストキャプチャーを有効にすると、以下の動作が発生します。
- CLI は、対象プロセス内の OpenSSL ライブラリー関数に eBPF プローブをアタッチします。
- プローブは、暗号化前 (送信トラフィックの場合) と復号後 (受信トラフィックの場合) にデータを傍受します。
- プレーンテキストの内容は、標準的なパケット情報と並んで取得され、表示されます。
- キャプチャーを Pod の IP アドレス、ポート番号、またはその他の条件でフィルタリングすることで、特定のトラフィックに絞り込むことができます。
19.3.1.2. 主な考慮事項 リンクのコピーリンクがクリップボードにコピーされました!
プレーンテキストキャプチャーを使用する場合は、以下の条件を考慮してください。
- 特権アクセス
- CLI は、実行中のプロセスに eBPF プローブをアタッチするために十分な権限を必要とします。cluster-admin 特権、またはそれに相当するアクセス権限が必要です。
- OpenSSL のみ
-
この機能は、動的にリンクされた
OpenSSLまたはlibsslのみを使用するアプリケーションからプレーンテキストをキャプチャーします。静的OpenSSLやその他の TLS ライブラリーを使用するアプリケーションはサポートされていません。 - パケットキャプチャーのみ
-
プレーンテキストキャプチャーは、パケットレベルのデータについては
oc netobserv パケットで機能しますが、フローレベルの集約についてはoc netobserv フローでは機能しません。 - パフォーマンスへの影響
- eBPF プローブはパフォーマンスへの影響は最小限ですが、大量のプレーンテキストデータを取得すると関連情報を消費する可能性があります。フィルターを使用して、実稼働環境でのキャプチャー範囲を制限します。
- セキュリティーおよびコンプライアンス
- 取得された平文データには、パスワード、API キー、個人データなどの機密情報が含まれている可能性があります。適切なアクセス制御とデータ保持ポリシーが導入されていることを確認してください。