※ ChatGPTを利用し、要約された質問です(原文:SSHポートフォワーディングで暗号化が確認できません)
SSHポートフォワーディングで暗号化が確認できない理由とは?
このQ&Aのポイント
SSHポートフォワーディングを使用して暗号化されているか確認する方法を検証しましたが、結果は暗号化が確認できませんでした。
tcpdumpコマンドを使用してパケット内容をキャプチャしましたが、キャプチャされたパケットは暗号化されていなかったです。
sshターミナルとの通信では暗号化が行われていることが確認できましたが、ポートフォワーディングの際には暗号化されないため、パケット内容が生データのままキャプチャされます。
SSHポートフォワーディングで暗号化が確認できません
tcpdumpでキャプチャーして確認したところ、暗号化が確認できませんでした。
tcpdumpやポートフォワーディングの指定が悪いのでしょうか?
それとも根本的なところを勘違いしてるのでしょうか?
--- (確認手順) ---
以下のローカルポートフォワオーディングを指定して
pop3宛のパケットが暗号化されているのか確認しました。
clientA <-> ssh:10110 <=> ssh:22 <-> pop3:110
(clientA) にて実行
$ ssh -L 10110:hostA:110 clientA
<<< clientA および hostA にて tcpdump開始 >>>
(clientA)にてtelnet実行
$ telnet localhost 10110
Connect to ...
+OK <1221.1209393172@hostA>
USER XXXX
+OK
PASS YYYY
+OK
QUIT
<<< tcpdump終了 >>>
両ホストにてパケットを取り込み内容を確認したところ
(なお、実行コマンドは以下の通りです)
(clientA) # tcpdump -enx -s 1518 -w hostA.txt
(hostA) # tcpdump -enx -s 1518 -w clientA.txt
想定: USER XXXX と PASS YYYY が暗号化されている。
実際: 生データのままキャプチャされていました。
clientA、hostA、両方とも生データでした。
※ 別途、sshターミナルとのアクセスをtcpdumpすると
内容は暗号化されているようで、不規則なコード並び
となっています。
お礼
回答ありがとうございます。 ご指摘の通り、tcpdumpでみたのは復号された内容でした。 $ ssh -L 10110:hostA:110 clientA $ netstat -t で確認すると clientA:ssh clientA:12345 ESTABLISHED clientA:12345 clientA:ssh ESTABLISHED なので、当然の結果でした。 ありがとうございました。