相互TLSが有効になっていることの確認
アンビエントメッシュにアプリケーションを追加したら、以下のいずれかの方法を使用して、ワークロード間でmTLSが有効になっていることを簡単に検証できます。
ワークロードのztunnel設定を使用してmTLSを検証する
便利な `istioctl ztunnel-config workloads` コマンドを使用すると、 `PROTOCOL` 列の値によって、ワークロードがHBONEトラフィックを送受信するように設定されているかどうかを確認できます。例:
ワークロードでHBONEが設定されているからといって、ワークロードがプレーンテキストトラフィックを拒否するわけではありません。ワークロードにプレーンテキストトラフィックを拒否させたい場合は、ワークロードのmTLSモードを `STRICT` に設定した `PeerAuthentication` ポリシーを作成します。
メトリクスからmTLSを検証する
Prometheusをインストールしている場合は、ポートフォワーディングを設定し、次のコマンドを使用してPrometheus UIを開くことができます。
Prometheusでは、TCPメトリクスの値を表示できます。最初に、グラフを選択し、 `istio_tcp_connections_opened_total`、 `istio_tcp_connections_closed_total`、 `istio_tcp_received_bytes_total`、または `istio_tcp_sent_bytes_total` などのメトリックを入力します。最後に、実行をクリックします。データには次のようなエントリが含まれます。
`connection_security_policy` の値が `mutual_tls` に設定されており、予期される送信元と送信先のID情報とともに設定されていることを確認します。
ログからmTLSを検証する
送信元または送信先のztunnelログを表示して、mTLSが有効になっていることと、ピアIDを確認することもできます。以下は、 `curl` サービスから `details` サービスへのリクエストに対する送信元ztunnelのログの例です。
src.identity
と dst.identity
の値が正しいことを確認してください。これらは、送信元と宛先のワークロード間の mTLS 通信に使用される ID です。詳細は、ztunnel トラフィックのログによる検証セクションを参照してください。
Kialiダッシュボードで検証する
Kiali と Prometheus がインストールされている場合は、Kiali のダッシュボードを使用して、アンビエントメッシュ内のワークロード通信を視覚化できます。ワークロード間の接続に南京錠アイコンが表示されているかどうかを確認することで、mTLS が有効になっていることと、ピアID情報を確認できます。
詳細は、アプリケーションとメトリクスの視覚化ドキュメントを参照してください。
`tcpdump` で検証する
Kubernetes ワーカーノードにアクセスできる場合は、tcpdump
コマンドを実行して、ネットワークインターフェース上のすべてのトラフィックをキャプチャできます。オプションで、アプリケーションポートと HBONE ポートに焦点を絞ることもできます。この例では、ポート 9080
は details
サービスポート、15008
は HBONE ポートです。
tcpdump
コマンドの出力には、暗号化されたトラフィックが表示されます。
ワーカーノードにアクセスできない場合は、netshoot コンテナイメージ5を使用して、コマンドを簡単に実行できる場合があります。