やじうまの杜

話題の「Telnet」電子公告、「平文やんけ」という指摘に応えて「over SSL」版を追加

文字コードも「UTF-8」に、ただし超長文の反論付き

 「やじうまの杜」では、ニュース・レビューにこだわらない幅広い話題をお伝えします。

一般社団法人サイバー技術・インターネット自由研究会の電子公告。「TELNET over SSL」版が登場

 昨日、一般社団法人サイバー技術・インターネット自由研究会の電子公告が「Telnet」で行われていることをお伝えしましたが、「セキュリティを謳っているくせに平文通信じゃん」というクレームがついた模様。それに応えて、さっそく「TELNET over SSL」版が公開されたそうです。

「TELNET over SSL」版電子公告を閲覧するために「OpenSSL」をインストール

 Windows 11環境で「TELNET over SSL」版の電子公告を閲覧するには、「OpenSSL」が必要。「コマンド プロンプト」などに以下のコマンドを打ち込んで、サクッとインストールしましょう。

winget install openssl

 ちなみに「winget」というのは、Microsoftが開発しているWindowsプラットフォーム向けのパッケージ管理システム(Windows Package Manager)のコマンドです。このようにコマンド一発でいろんなアプリをインストールできて便利です。

 「winget」は管理者権限がなくても利用できますが、その場合、パッケージ(アプリ)をインストールする際にUACダイアログが表示されるので注意しましょう。ダウンロードされる「OpenSSL」パッケージは「Shining Light Productions」で配布されているバイナリ。「OpenSSL」プロジェクト自ら提供しているものではありませんが、広く使われているディストリビューションで、十分に信用がおけるようです。

 「OpenSSL」のインストールが完了したら、[スタート]画面から「Win64 OpenSSL Command Prompt」を探し出して起動します。「コマンド プロンプト」でインストール先フォルダー(C:¥Program Files¥OpenSSL-Win64¥bin)へ移動したり、当該フォルダーへパスを通したり(環境変数の[Path]にフォルダーを登録)して「openssl.exe」を直接叩いてもよいです。とにかく、バージョンなどが表示されれば「OpenSSL」がちゃんとインストールされています。

「Win64 OpenSSL Command Prompt」を探し出して起動

 「OpenSSL」が起動できることを確認できたら、続いてコードページを「UTF-8」へ変更します。これは電子公告が「UTF-8」エンコーディングで配信されているため。「コマンド プロンプト」の既定値は「Shift JIS」エンコーディングなので、文字化けせずに表示するには変更の必要があります。

chcp 65001

 あとは「OpenSSL」のクライアント(s_client)で「koukoku.shadan.open.ad.jp」へ繋ぐだけです。

openssl s_client -connect koukoku.shadan.open.ad.jp:992
コートページを書き換えて、「openssl s_client -connect」を利用

 もっとも、サイバー技術・インターネット自由研究会によると「Telnetはプレーンテキストで、通信経路が暗号化されていないから、通信内容が改ざんされる脆弱性(中間者攻撃の恐れ)がある」という指摘に対しては「妥当」ではないとしています。

 というのも、いかにサーバー証明書や暗号化で保護しても、インターネットの本質は「ほとんど紳士協定的信用モデルで成り立つ」バケツリレーに過ぎず、それを裏切るBGPハイジャックなどの攻撃は防げない。つまり「Telnet」も「HTTPS」も改竄されうるという点においては五十歩百歩であり、むしろ改竄された場合の被害に目を向ける必要がある。なんでも載せられる「HTTPS」はコンテンツを改竄されるとクライアントの乗っ取りにつながりかねないが、プレーンテキストだけの「Telnet」にはその恐れはない――ということらしい。

 それ以外にも、同研究会はユーザーからの指摘に逐一「補足」として答えており、執筆時現在、その補足は8個にまで増えています(「TELNET over SSL」版の場合)。

  1. Telnetにも脆弱性はありうるだろうという指摘に対する答え(2023/09/01 (月))
  2. Telnetはプレーンテキストじゃないか、TLS暗号化しろよという指摘に対する答え(2023/09/05 (火) 14:20)
  3. HTTP/HTTPS接続であってもコンテンツをプレーンテキストで配信すればいいのではないかという疑問への答え(2023/09/05 (火) 19:15)
  4. 初めに公開されたTelnetサーバーで「Shift JIS」文字コードを利用しているが、「UTF-8」を使うべきではという指摘に対する答え(2023/09/05 (火) 20:45)
  5. Gopherプロトコルを用いるべきという異論に対する回答(2023/09/05 (火) 21:13)
  6. Telnet配信サーバーをパケットキャプチャーしたら1文字あたり1つのTCPパケットを利用していることがわかったが、これは無駄な通信であり、1つのパケットにまとめるべきではないかというクレームに対する回答(2023/09/05 (火) 22:20)
  7. 電子公告にアクセスカウンターを付けているが、そのスクリーンショットをSNSで公開するユーザーがいれば、ログと照合してIPアドレスを割り出すことは可能ではないかという難癖に対する回答(2023/09/06 (水) 06:15)
  8. 「Telnet」で繋いだら情シスアラートがあがったんだがというクレームに対する回答(2023/09/06 (水) 07:34)

 全部表示されるまでめちゃクソ時間がかかりますが、割と面白いので皆さんもぜひご自分の目で確かめてください。