Telnet

Telnet ポート ガイド: ポート 23 でのレガシー リモート アクセス

実際の環境ではポート 23 が依然として表示される場合の Telnet の仕組み、それを安全にテストする方法、および平文のリモート アクセスのリスクを軽減する方法を理解します。

既定ポート
23
プロトコル
TCP
主な用途
レガシーリモート端末

Telnetポートとは何ですか?

Telnet は、通常 TCP ポート 23 をリッスンする古いリモート端末プロトコルです。これにより、クライアントはサーバー、ルーター、スイッチ、産業用デバイス、ラボ システム、または組み込みアプライアンスへの対話型コマンド セッションを開くことができますが、デフォルトではセッションは暗号化されません。

  • ポート 23 はデフォルトの Telnet ポートです

    従来のデバイス、ネットワーク機器、シリアル コンソール ゲートウェイ、およびラボ システムは、新しい管理オプションが利用できない場合でも、TCP 23 で Telnet を公開する可能性があります。

  • Telnet は平文です

    ユーザー名、パスワード、コマンド、および出力はネットワーク パス上で監視できるため、Telnet を信頼できないネットワークに公開しないでください。

Telnet の仕組み

Telnet は TCP 接続を開き、テキストベースの端末セッションを表示します。サーバーが接続を受け入れた後、クライアントとサーバーは端末オプションをネゴシエートし、ユーザーはコマンドを送信し、出力をプレーン テキストとして受け取ります。

そのシンプルさが、Telnet がデバイス管理、研究室、製造装置、および古いアプライアンスで生き残った理由です。これが危険な理由でもあります。個別の暗号化されたトンネルがなければ、クライアントとサーバー間のトラフィックをキャプチャできる人は誰でも資格情報やコマンドを読み取る可能性があります。

Telnet と SSH の比較

SSH は、セッションを暗号化し、サーバーのホスト キーを検証し、より強力な認証をサポートするため、ほとんどのリモート管理で Telnet を置き換えました。 SSH は通常 TCP ポート 22 を使用し、Telnet は通常 TCP ポート 23 を使用します。

デバイスが SSH をサポートしている場合は、Telnet の代わりに SSH を使用します。 Telnet は、アップグレードできないシステム、隔離されたラボ アクセス、または補償制御がすでに導入されている短期間の緊急ワークフローにのみ使用してください。

Telnet がまだ表示される場合

Telnet は、SSH が標準になる前に設計された古いルーターやスイッチ、PBX システム、アウトオブバンド コンソール サーバー、ビル制御装置、産業用コントローラー、ストレージ アレイ、プリンター、ベンダー アプライアンスなどで依然として使用されています。

これは、生の TCP サービスの単純な診断クライアントとしても使用されますが、通常は、nc、ncat、curl、openssl s_client、専用プロトコル クライアントなどの最新ツールの方が可視性が高く、予期せぬ事態が少なくなります。

ポート 23 は開いておく必要がありますか?

ポート 23 を公共のインターネットに公開することはほとんどありません。公衆 Telnet は、自動スキャン、デフォルト パスワード攻撃、ボットネット活動、および日和見的なデバイス乗っ取りを引き起こします。 Telnet サービスが信頼できるネットワークの外部からアクセス可能な場合は、それを緊急に確認する必要があるものとして扱います。

Telnet が避けられない場合は、Telnet を管理 VLAN、VPN、要塞ホスト、ジャンプ ボックス、シリアル コンソール ネットワーク、または送信元 IP 許可リストに制限します。目標は、Telnet を本当に必要とする人々と自動化だけが Telnet に到達できるようにすることです。

ポート 23 を開く前

TCP 23 を許可する前に、Telnet が依然として必要な理由と、SSH、HTTPS 管理、ベンダー API、またはシリアル コンソールで Telnet を置き換えることができるかどうかを確認してください。次に、誰が、どのネットワークから、どれくらいの時間接続する必要があるか、どのようなログが利用可能かを特定します。

ポート チェッカーは、TCP 23 が外部から到達可能かどうかを示しますが、資格情報が安全かどうか、またはデバイスが最新のアクセス制御をサポートしているかどうかはわかりません。実際のログイン パスは信頼できるネットワークからのみテストし、信頼できないリンク経由で実際のパスワードを送信しないようにします。

Windows、Linux、およびネットワーク デバイスで Telnet を管理する方法

Windows では、Telnet クライアントをテスト用に有効にすることができますが、Telnet サーバーは通常の管理には使用しないでください。 Windows システムでリモート コマンド アクセスが必要な場合は、PowerShell リモート処理、SSH、ゲートウェイ経由の RDP、または別の暗号化された管理パスを使用します。

Linux では、Telnet サーバー パッケージは通常は不要なので、無効のままにする必要があります。レガシー デーモンを実行する必要がある場合は、それをプライベート インターフェイスにバインドし、firewalld、ufw、nftables、iptables、またはホストベースの許可リストを使用してアクセスを制限します。

ネットワーク デバイスおよびアプライアンスで、SSH または HTTPS 管理が利用可能な場合は Telnet を無効にします。ベンダーの制限によって Telnet が強制される場合は、制限された管理ネットワーク上にデバイスを配置し、次の更新サイクル中に削除できるように例外を文書化します。

  • サービス層: Telnet デーモンまたはデバイス管理サービスが実際に TCP 23 をリッスンしているかどうかを確認します。
  • ネットワーク層: 管理 VLAN、VPN、要塞、ソース IP ルール、およびホスト ファイアウォールを使用してアクセスを制限します。
  • ID レイヤー: デフォルトの資格情報を削除し、固有の強力なパスワードを使用し、共有管理者アカウントを回避します。
  • ライフサイクル層: すべての Telnet 依存関係を追跡し、SSH、HTTPS、シリアル コンソール、またはベンダー API への置き換えを計画します。

Telnet ポート 23 をテストする方法

ホスト名または IP アドレスとポート 23 に対する外部ポート チェックから開始します。結果がオープンであれば、リモート クライアントは Telnet リスナーへの TCP 接続を確立できます。これは、公共のインターネットからログインすることが安全であるという意味ではありません。

信頼できるネットワークから、telnet ホスト 23、nc -vz ホスト 23、または ncat を使用してバナーをテストできます。サーバーまたはデバイスで、サービスのステータスとファイアウォール ルールを検査します。アプライアンスの場合、Telnet が SSH または Web 管理とは別に有効になっている場合があるため、管理設定を確認してください。

Telnet 用のテスト ポート 23

一般的な Telnet トラブルシューティングのケース

ポート 23 が閉じられている場合、Telnet が無効になっているか、デバイスが SSH のみをサポートしているか、サービスが管理インターフェイスにバインドされているか、ファイアウォールがパスをブロックしている可能性があります。タイムアウトになった場合は、ルーター、ACL、VPN ポリシー、クラウド ファイアウォール、または送信元 IP 制限によってトラフィックがドロップされている可能性があります。

ポートは開いているがログインに失敗する場合は、ユーザー名の形式、パスワードの状態、デバイスのアクセス クラス ルール、ローカル認証とディレクトリ認証、回線構成、およびロックアウト設定を検査します。ネットワーク機器では、VTY 回線ポリシーまたは管理プレーン ACL によって障害が説明されることがよくあります。

Telnet のセキュリティ チェックリスト

可能な限り Telnet を無効にします。これを SSH、HTTPS 管理、VPN のみのアクセス、シリアル コンソール、またはベンダー ツールに置き換えます。 Telnet への依存関係がなくなるまで、デフォルトのアカウントを削除し、共有パスワードをローテーションし、デバイスのファームウェアを最新の状態に保ちます。

Telnet を維持する必要がある場合は、Telnet をユーザー ネットワークおよびインターネットから分離し、アクセス試行をログに記録し、予期しないソース アドレスとドキュメントの所有権を監視します。すべての Telnet 例外を、通常の管理パターンではなく、一時的な運用上の負債として扱います。

よくある質問

Telnet はどのポートを使用しますか?

Telnet はデフォルトで TCP ポート 23 を使用します。デバイスまたはサーバーは別のポートを使用するように構成できますが、ほとんどのクライアントとスキャナーが期待する標準ポートは 23 です。

Telnet は安全ですか?

いいえ。Telnet はデフォルトでプレーンテキストであるため、ネットワーク パスを監視できる人なら誰でも認証情報とコマンドを読み取ることができます。可能な限り、SSH または別の暗号化された管理方法を使用してください。

ポート 23 を閉じるべきでしょうか?

はい、特定の従来の要件がない限り。 Telnet を利用可能な状態にしておく必要がある場合は、信頼できる管理ネットワーク、VPN、要塞、または送信元 IP 許可リストに Telnet を制限します。

ポート 23 は開いているのに、Telnet ログインが失敗するのはなぜですか?

デバイス ポリシーがセッションをブロックしている間、TCP リスナーに到達できる可能性があります。認証情報、アクセス クラス、VTY 回線設定、管理プレーン ACL、ロックアウト ポリシー、およびデバイス ログを確認します。