TelnetTELNETと表記されることもある[1])は、ローカルエリアネットワークまたはインターネット上のリモートシステムの仮想端末へのアクセスを提供するクライアントサーバー型 アプリケーションプロトコルである。[2]双方向8ビット通信のためのプロトコルである。主な目的は、端末デバイスと端末指向のプロセスを接続することであった。[1]

「Telnet」という名称は、2つの意味を持ちます。1つは2者間の通信方法を規定するプロトコル自体、もう1つはプロトコルをサービスとして実装するソフトウェアアプリケーションです。[2]ユーザーデータは、伝送制御プロトコル(TCP)を介した8ビットバイト指向のデータ接続において、Telnet制御情報と帯域内に散在しています。Telnetはユーザー名やパスワードを含むすべての情報を平文で送信するため、ルーターのリモート管理など、セキュリティが重要なアプリケーションには推奨されません。 [2] [3]この目的でのTelnetの使用は、 SSHの普及により大幅に減少しました[4]暗号化を可能にするTelnetの拡張機能がいくつか提案されています。[5]

説明

Telnetプロトコルは、 信頼性の高いコネクション指向トランスポート上で動作するクライアントサーバープロトコルです。[要出典]多くの場合、TelnetクライアントはTCP経由でポート23または2323に接続し、そこでTelnetサーバーアプリケーションが待機します。[1] [6] [7] Telnetプロトコルは、あらゆる端末をネットワーク仮想端末(NVT)として抽象化します。クライアントは、サーバーにメッセージを送信する際に、NVTコードを使用してNVTをシミュレートする必要があります。


TelnetはUDP/IPよりも古く、当初はネットワーク制御プロトコル(NCP)上で動作していました。[8] Telnetサービスは、ユーザーがシンプルな端末を使ってローカルのTelnetプログラム(クライアントプログラムと呼ばれる)からリモートコンピュータにログオンし、そのリモートコンピュータでユーザーの通信ニーズがTelnetサーバープログラムによって処理されるという状況で最もよく理解されます。

Telnetサービス

Telnetサービスは、Telnetプロトコルを介してサービスを提供するアプリケーションです。ほとんどのオペレーティングシステムは、クライアントにTelnetサービスを提供するためにインストールまたは有効化できるサービスを提供しています。[要出典]

名前

公式仕様ではTELNETという名称が採用されているが、頭字語や略語として定義されていない。[1]

1972年の論文では、プロトコルの初期の形態の1つについて議論した際、スティーブン・クロッカーらは「TELNET」を「telecommunications network(電気通信ネットワーク)」の略語として明示的に使用しました。[9]

インターネット研究者のガース・O・ブルーエンは、 2015年の著書『WHOIS Running the Internet: Protocol, Policy, and Privacy 』の中で、Telnetはもともと「Teletype Over Network Protocol」の略称だったと主張している。[10]

歴史

Telnetは1969年にARPANET向けに開発されました。[11]当初は正式な仕様のないアドホックプロトコルでしたが、[12] 1970年代に多数のRFCを含む広範な作業を経て、 RFC  854とRFC 855で正式に標準化され 、インターネット標準8を構成しました。[11] [13]

それ以来、多くのRFCがTelnet仕様を更新または拡張し、元の標準の問題に対処し、新しい機能を追加しました。[11]これらの拡張の一部は、インターネット標準としても採用されており、特に標準27から32(以下を参照)がそうです。

セキュリティの脆弱性

Telnetは、パスワードやフィンガープリンティングなどの機密情報をパケットスニッフィングするなど、ネットワークベースのサイバー攻撃に対して脆弱です[3] [14] [15] Telnetサービスは、バナーをパケットスニッフィングすることで、サーバーに関する情報(ホスト名、IPアドレス、ブランドなど)を漏らすために悪用される可能性もあります。この情報を検索することで、Telnetサービスが認証なしで接続を受け入れるかどうかを判断できます。 Telnetは、不適切に設定されているために、マルウェアに悪用されるケースも頻繁にあります。 [7]実際、Telnetは、特にUPnPCoAPMQTTAMQPXMPPと比較した場合、他の一般的なプロトコルよりも頻繁に攻撃者の標的となっています[引用が必要]。標的となる一般的なデバイスは、IoTデバイス、ルーター、モデムです。

SANS研究所は、以下の理由から、通常の状況下ではリモートログインにTelnetを使用することを中止することを推奨しています。[16]

Telnet の拡張機能は、上記の懸念に対処するTLS ( Transport Layer Security ) セキュリティと SASL ( Simple Authentication and Security Layer ) 認証を提供します。 [5] しかし、ほとんどの Telnet 実装はこれらの拡張機能をサポートしていません。また、バナー情報の解析などの他の脆弱性にも対処していません。[15] SSHv2 がサポートされていない場合、または VPN を使用して他のアプリケーション データを Telnet サーバーが存在するリモート ネットワークに安全にトンネリングしている場合は、 VPN経由の Telnetが実行可能なオプションです。ただし、予防措置を講じる必要があります。理想的には、LANに追加の暗号化やVLANなどの他のデバイスによる盗聴および変更に対する追加のセキュリティ対策がない限り、VPN は Telnet サーバー自体で終了する必要があります。これは、Telnet トラフィックが復号化された後、安全でないプレーンテキスト形式で VPN サーバーから送信されるためです。VPN ソフトウェアは、証明書ベースまたは公開鍵の相互認証を使用するなど、厳重に監査された信頼できるソフトウェア ( OpenVPNWireGuardIPsecなど) である必要があります

IBM 5250または3270ワークステーションのエミュレーションは、カスタムTelnetクライアント、TN5250 / TN3270、およびIBM iシステムを介してサポートされています。Telnet経由でIBM 5250データストリームを渡すように設計されたクライアントとサーバーは、SSHには5250エミュレーションが含まれていないため、通常SSL暗号化をサポートしています。IBM i(OS/400とも呼ばれます)では、ポート992がTelnetS(Telnet over SSL/TLS)のデフォルトポートです。[17]

用途

歴史的な用途

help コマンドの出力と # プロンプトが表示された黒い画面のスクリーンショット。
ルータからMicrosoft Telnetクライアントで実行されるBusyBox 。

歴史的に、Telnetはリモートホストのコマンドラインインターフェースへのアクセスを提供していました。しかし、インターネットのようなオープンネットワーク上でTelnetを使用する際の深刻なセキュリティ上の懸念から、この目的での使用は大幅に減少し、 SSHが主流となりました。[18]リモート管理におけるTelnetの使用は、特にパブリックインターネット上では急速に減少し、セキュアシェル(SSH)プロトコルが主流となりました。 [2] [19] SSHはTelnetの多くの機能に加え、パスワードなどの機密データの傍受を防ぐ強力な暗号化と、リモートコンピュータが実際にそのコンピュータであることを保証するための公開鍵認証機能を備えています。

現代の用途

Telnetプロトコルは、主に最新の通信メカニズムをサポートしていない旧式の機器で使用されます。[20]例えば、多くの産業用および科学機器では、通信オプションとしてTelnetしか利用できません。中には標準のRS-232ポートのみを搭載し、TCP/TelnetデータとRS-232シリアルデータ間の変換を行うシリアルサーバーハードウェアアプライアンスを使用している機器もあります。このような場合、インターフェースアプライアンスをSSH対応に設定できる(またはSSH対応の機器に交換できる)場合を除き、SSHは選択肢になりません。[要出典]

Telnetは、アマチュア無線家が公共情報を提供するためによく使用されます[21]

セキュリティ研究者は、推奨されているにもかかわらず、2021年時点でインターネット上の7,096,465の無防備なシステムがTelnetを使用し続けていると推定しています。ただし、この数値の推定値は、デフォルトのTCPポート23を超えてスキャンされたポートの数に応じて大きく異なります。[7]

Telnetクライアントは、SMTPIRCHTTPサーバーなどのネットワークサービスのデバッグに使用され、サーバーにコマンドを発行して応答を確認することができます。この場合、Telnetクライアントが標準のTelnetサーバーポート以外のポートにTCP接続を確立すると、Telnetプロトコルは使用されず、代わりにTCP接続を介して直接データを送受信するために使用できます。[22] [より適切な情報源が必要]

技術的な詳細

Telnetの技術的な詳細は、 RFC  854を含むさまざまな仕様によって定義されています。[1]

Telnetコマンド

Telnetコマンドは少なくとも2バイトで構成されます。[1]最初のバイトはIACエスケープ文字(バイト255)で、その後に特定のコマンドのバイトコードが続きます。

コマンドとして解釈

0xffを除くすべてのデータオクテットは、そのままTelnet上で送信されます。(0xff(10進数で255)はIACバイト(Interpret As Command)であり、次のバイトがTelnetコマンドであることを示します。ストリームに0xffを挿入するコマンドは0xffであるため、Telnetプロトコルでデータを送信する場合は、0xffを2倍にしてエスケープする必要があります。)[1]

Telnetオプション

Telnet には、Telnet を実装する端末がサポートする必要があるさまざまなオプションもあります。

Telnetクライアント

1977年の『スター・ウォーズ エピソード4/新たなる希望』がテキストアートムービーとして再現され、Telnetを通じて配信されている。 [25]

参照

参考文献

  1. ^ abcdefgh Postel, J.; Reynolds, JK (1983). 「Telnetプロトコル仕様」.ネットワークワーキンググループ. doi : 10.17487/RFC0854 . ISSN  2070-1721. RFC 854.
  2. ^ abcd Valenčić, D.; Mateljan, V. (2019). 「NETCONFプロトコルの実装」. 2019年第42回国際情報通信技術、エレクトロニクス、マイクロエレクトロニクス会議 (MIPRO) . pp.  421– 430. doi :10.23919/MIPRO.2019.8756925. ISBN 978-953-233-098-4. S2CID  195883872。
  3. ^ ab Daş, Resul; Karabade, Abubakar; Tuna, Gurkan (2015). 「一般的なネットワーク攻撃の種類と防御メカニズム」2015年第23回信号処理・通信応用会議 (SIU) . pp.  2658– 2661. doi :10.1109/SIU.2015.7130435. ISBN 978-1-4673-7386-9. S2CID  11256038。
  4. ^ Todorov, Dobromir (2007).ユーザー識別と認証の仕組み:アイデンティティ管理の基礎. ボカラトン: Auerbach Publications. ISBN 978-1-4200-5220-6. OCLC  263353270。
  5. ^ ab Mahmood, HB (2003). 「Telnetにおけるトランスポート層セキュリティプロトコル」.第9回アジア太平洋通信会議 (IEEE Cat. No.03EX732) . 第3巻. pp. 1033–1037. 第3巻. doi :10.1109/APCC.2003.1274255. ISBN 0-7803-8114-9. S2CID  56798078。
  6. ^ 「サービス名とトランスポートプロトコルポート番号レジストリ」www.iana.org . 2023年1月12日閲覧
  7. ^ abcd Srinivasa, Shreyas; Pedersen, Jens Myrup; Vasilomanolakis, Emmanouil (2021-11-02). 「Open for hire」. Proceedings of the 21st ACM Internet Measurement Conference . IMC '21. ニューヨーク、ニューヨーク州、米国: Association for Computing Machinery. pp.  195– 215. doi :10.1145/3487552.3487833. ISBN 978-1-4503-9129-0. S2CID  240357287。
  8. ^ Postel, J. (1981). 「NCP/TCP 移行計画」.ネットワークワーキンググループ. doi : 10.17487/RFC0801 . ISSN  2070-1721. RFC 801.
  9. ^ クロッカー, スティーブン・D.、ヒーフナー, ジョン・F.、メトカーフ, ロバート・M.、ポステル, ジョナサン・B. (1971). 「ARPAコンピュータネットワークのための関数指向プロトコル」. 1971年11月16日~18日開催の秋季合同コンピュータ会議 - AFIPS '71 (秋季) 議事録. 計算機協会. pp.  271– 279. doi :10.1145/1478873.1478908. ISBN 9781450379090
  10. ^ ブルーエン、ガース・O. (2015). WHOIS 『インターネットの運用:プロトコル、ポリシー、プライバシー』(第1版). Wiley. p. 25. ISBN 9781118679555
  11. ^ abc Kozierok, Charles M. (2005). 『TCP/IPガイド:図解入りインターネットプロトコル解説書』サンフランシスコ:No Starch Press. p. 1439. ISBN 1-59327-047-X. 2025年4月5日閲覧
  12. ^ Telnetプロトコル. 1972年4月3日. doi : 10.17487/RFC0318 . RFC 318.
  13. ^ Postel, J.; Reynolds, J. (1983年5月). インターネット標準8. IETF . STD 8. 2025年4月6日閲覧
  14. ^ Shimonski, Robert J.; Eaton, Wally; Khan, Umer; Gordienko, Yuri (2002-01-01), Shimonski, Robert J.; Eaton, Wally; Khan, Umer; Gordienko, Yuri (eds.) 「第11章 - Sniffer Proによるセキュリティ侵害の検出と実行」Sniffer Proネットワーク最適化およびトラブルシューティングハンドブック、Burlington: Syngress、pp.  513– 565、doi :10.1016/B978-193183657-9/50015-0、ISBN 978-1-931836-57-92023年1月12日取得
  15. ^ abcd Samtani, Sagar; Yu, Shuo; Zhu, Hongyi; Patton, Mark; Chen, Hsinchun (2016). 「パッシブおよびアクティブ脆弱性評価手法を用いたSCADA脆弱性の特定」. 2016 IEEE Con​​ference on Intelligence and Security Informatics (ISI) . pp.  25– 30. doi :10.1109/ISI.2016.7745438. ISBN 978-1-5090-3865-7. S2CID  11741873。
  16. ^ カーク、ジェレミー (2007年2月12日). 「Solarisのゼロデイ脆弱性によりリモート攻撃が可能に」. Network World . 2023年1月12日閲覧
  17. ^ 「IBM i アクセスおよび関連機能に必要なTCP/IPポート」IBMサポート。2016年9月18日時点のオリジナルよりアーカイブ。 2016年9月7日閲覧
  18. ^ Todorov, Dobromir (2007).ユーザー識別と認証の仕組み:アイデンティティ管理の基礎. ボカラトン: Auerbach Publications. ISBN 978-1-4200-5220-6. OCLC  263353270。
  19. ^ Poulsen, Kevin (2007年4月2日). 「Telnet、35歳で死去…RIP」. Wired . p. 24. 2016年12月21日時点のオリジナルよりアーカイブ2017年6月14日閲覧。
  20. ^ Ylonen, Tatu. 「SSHプロトコルの歴史」SSHホームページ. SSH Communications Security, Inc. 2018年7月25日時点のオリジナルよりアーカイブ2017年6月14日閲覧。
  21. ^ 「Telnetとは? | PDF | ネットワーク標準 | インターネット標準」Scribd . 2023年1月12日閲覧
  22. ^ 「Telnetを使用したサーバーサービスのデバッグ」www.sysadmin.md . 2023年1月12日閲覧
  23. ^ TELNET CHARSETオプション. doi : 10.17487/RFC2066 . RFC 2066.
  24. ^ 「Telnetオプション」www.iana.org . 2023年1月12日閲覧
  25. ^ 「Telnetの失われた世界」The New Stack、2019年3月10日。 2022年6月5日閲覧

さらに読む

インターネット標準

  • RFC  854、Telnetプロトコル仕様
  • RFC  855、Telnetオプション仕様
  • RFC  856、Telnetバイナリ転送
  • RFC  857、Telnetエコーオプション
  • RFC  858、Telnet の Go Ahead オプションの抑制
  • RFC  859、Telnetステータスオプション
  • RFC  860、Telnetタイミングマークオプション
  • RFC  861、Telnet拡張オプション:リストオプション

提案された標準

  • RFC  885、Telnet レコード終了オプション
  • RFC  1073、Telnet ウィンドウ サイズ オプション
  • RFC  1079、Telnet端末速度オプション
  • RFC  1091、Telnet端末タイプオプション
  • RFC  1096、Telnet X 表示場所オプション
  • RFC  1123、インターネットホストの要件 - アプリケーションとサポート
  • RFC  1184、Telnet ラインモード オプション
  • RFC  1372、Telnetリモートフロー制御オプション
  • RFC  1572、Telnet環境オプション
  • RFC  2941、Telnet認証オプション
  • RFC  2942、Telnet認証: Kerberosバージョン5
  • RFC  2943、DSAを使用したTELNET認証
  • RFC  2944、Telnet認証: SRP
  • RFC  2946、Telnetデータ暗号化オプション
  • RFC  4248、telnet URIスキーム

情報/実験

  • RFC  1143、TELNETオプションネゴシエーションの実装におけるQメソッド
  • RFC  1571、Telnet環境オプションの相互運用性に関する問題
  • RFC  2066、TELNET CHARSET オプション

その他のRFC

  • Telnet オプション - iana.org で割り当てられたオプション番号の公式リスト
  • シーケンス図で記述された Telnet の相互作用
  • Telnetプロトコルの説明(NVT参照付き)
  • Microsoft TechNet:Telnet コマンド
  • TELNET: すべての(アプリケーション)プロトコルの母
  • 「telnet.org - telnetに関する情報」. telnet.org . 2020年1月7日閲覧TelnetアドレスのリストとTelnetクライアントのリストが含まれています