Network protocol for virtual terminals
Telnet ( TELNETと表記されることもある [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は、特に UPnP 、 CoAP 、 MQTT 、 AMQP 、 XMPP と比較した場合、他の一般的なプロトコルよりも頻繁に攻撃者の標的となっています [ 引用が必要 ] 。標的となる一般的なデバイスは、 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 ソフトウェアは、証明書ベースまたは公開鍵の 相互認証を使用するなど、厳重に監査された信頼できるソフトウェア ( OpenVPN 、 WireGuard 、 IPsec など) である必要があります 。
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]
用途
歴史的な用途
ルータから 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クライアントは、 SMTP 、 IRC 、 HTTP サーバーなどのネットワークサービスの デバッグ に使用され、サーバーにコマンドを発行して応答を確認することができます。この場合、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]
参照
参考文献
^ abcdefgh Postel, J.; Reynolds, JK (1983). 「Telnetプロトコル仕様」. ネットワークワーキンググループ . doi : 10.17487/RFC0854 . ISSN 2070-1721. RFC 854.
^ 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。
^ 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。
^ Todorov, Dobromir (2007). ユーザー識別と認証の仕組み:アイデンティティ管理の基礎 . ボカラトン: Auerbach Publications. ISBN 978-1-4200-5220-6 . OCLC 263353270。
^ 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。
^ 「サービス名とトランスポートプロトコルポート番号レジストリ」 www.iana.org . 2023年1月12日 閲覧 。
^ 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。
^ Postel, J. (1981). 「NCP/TCP 移行計画」. ネットワークワーキンググループ . doi : 10.17487/RFC0801 . ISSN 2070-1721. RFC 801.
^ クロッカー, スティーブン・D.、ヒーフナー, ジョン・F.、メトカーフ, ロバート・M.、ポステル, ジョナサン・B. (1971). 「ARPAコンピュータネットワークのための関数指向プロトコル」. 1971年11月16日~18日開催の秋季合同コンピュータ会議 - AFIPS '71 (秋季) 議事録 . 計算機協会. pp. 271– 279. doi :10.1145/1478873.1478908. ISBN 9781450379090 。
^ ブルーエン、ガース・O. (2015). WHOIS 『インターネットの運用:プロトコル、ポリシー、プライバシー』 (第1版). Wiley. p. 25. ISBN 9781118679555 。
^ abc Kozierok, Charles M. (2005). 『TCP/IPガイド:図解入りインターネットプロトコル解説書』サンフランシスコ:No Starch Press. p. 1439. ISBN 1-59327-047-X . 2025年 4月5日 閲覧 。
^ Telnetプロトコル. 1972年4月3日. doi : 10.17487/RFC0318 . RFC 318.
^ Postel, J.; Reynolds, J. (1983年5月). インターネット標準8. IETF . STD 8. 2025年4月6日 閲覧 。
^ 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-9 、 2023年1月12日取得
^ abcd Samtani, Sagar; Yu, Shuo; Zhu, Hongyi; Patton, Mark; Chen, Hsinchun (2016). 「パッシブおよびアクティブ脆弱性評価手法を用いたSCADA脆弱性の特定」. 2016 IEEE Conference on Intelligence and Security Informatics (ISI) . pp. 25– 30. doi :10.1109/ISI.2016.7745438. ISBN 978-1-5090-3865-7 . S2CID 11741873。
^ カーク、ジェレミー (2007年2月12日). 「Solarisのゼロデイ脆弱性によりリモート攻撃が可能に」. Network World . 2023年1月12日 閲覧 。
^ 「IBM i アクセスおよび関連機能に必要なTCP/IPポート」IBMサポート。2016年9月18日時点のオリジナルよりアーカイブ。 2016年9月7日 閲覧 。
^ Todorov, Dobromir (2007). ユーザー識別と認証の仕組み:アイデンティティ管理の基礎 . ボカラトン: Auerbach Publications. ISBN 978-1-4200-5220-6 . OCLC 263353270。
^ Poulsen, Kevin (2007年4月2日). 「Telnet、35歳で死去…RIP」. Wired . p. 24. 2016年12月21日時点のオリジナルよりアーカイブ 。 2017年 6月14日 閲覧。
^ Ylonen, Tatu. 「SSHプロトコルの歴史」 SSHホームページ . SSH Communications Security, Inc. 2018年7月25日時点のオリジナルよりアーカイブ 。 2017年 6月14日 閲覧。
^ 「Telnetとは? | PDF | ネットワーク標準 | インターネット標準」 Scribd . 2023年1月12日 閲覧 。
^ 「Telnetを使用したサーバーサービスのデバッグ」 www.sysadmin.md . 2023年1月12日 閲覧 。
^ TELNET CHARSETオプション. doi : 10.17487/RFC2066 . RFC 2066.
^ 「Telnetオプション」 www.iana.org . 2023年1月12日 閲覧 。
^ 「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クライアントのリストが含まれています