VNC

VNC ポート ガイド: ポート 5900 でのリモート デスクトップ アクセス

VNC と RFB が TCP 5900 を使用する方法、表示番号がポートを変更する理由、接続をテストする方法、および公衆への直接暴露が強力な制御を必要とする理由を理解します。

既定ポート
5900
プロトコル
TCP
主な用途
リモートデスクトップアクセス

VNCポートとは何ですか?

VNC (仮想ネットワーク コンピューティング) は、RFB プロトコルを中心に構築されたリモート デスクトップ システムです。 VNC サーバーは通常、TCP ポート 5900 でディスプレイ :0 をリッスンします。通常、ディスプレイを追加するとポート番号が増加するため、ディスプレイ :1 は 5901 でリッスンすることが多く、ディスプレイ :2 は 5902 でリッスンすることが多くなります。

  • 5900 はデフォルトの VNC ポートです

    ほとんどの VNC ビューアは、ユーザーが別のディスプレイ番号、カスタム ポート、ゲートウェイ、またはトンネルを指定しない限り、TCP 5900 上のサーバーを想定します。

  • VNC は通常、非公開にしておく必要があります

    VNC は完全なグラフィカル デスクトップを公開できます。インターネットから広範囲にアクセスできるようにするのではなく、VPN、SSH トンネリング、プライベート ネットワーク、またはソース許可リストを使用します。

VNC の仕組み

VNC を使用すると、視聴者はネットワーク経由でリモート グラフィカル デスクトップを制御できます。ビューアは VNC サーバーに接続し、RFB プロトコルをネゴシエートして認証し、画面の更新、キーボード入力、マウス入力、クリップボード データ、およびサーバーの実装に応じてファイル転送機能を交換します。

VNC は、Linux デスクトップ、macOS 画面共有、組み込みシステム、ラボ マシン、ジャンプ ホスト、およびリモート サポートに使用されます。 TigerVNC、TightVNC、RealVNC、UltraVNC、x11vnc、noVNC などのさまざまな実装では、さまざまなデフォルトとセキュリティ オプションを使用できるため、実際のリスナーと構成を常に確認してください。

VNC ポート 5900 とディスプレイ番号

通常の VNC ポートは、ディスプレイ :0 の TCP 5900 です。従来の VNC 表示表記では、表示番号が 5900 に追加されます。つまり、:1 は 5901 にマップされ、:2 は 5902 にマップされます。一部のビューアでは、クライアント インターフェイスに応じて、ユーザーが host:5901 または host:1 を入力できます。

すべての VNC サーバーが表示規則に従っていると想定しないでください。多くのサーバーは、カスタム TCP ポート、リバース接続モード、Web プロキシ、または SSH トンネルを使用して構成できます。サーバー設定、ファイアウォール ルール、およびリスナー チェックを使用して、実際のポートを確認します。

VNC と RDP および SSH の比較

VNC、RDP、SSH は、さまざまなリモート アクセスの問題を解決します。 VNC は、RFB プロトコルを使用して、通常はポート 5900 でグラフィカル デスクトップを共有または作成します。 RDP は Microsoft リモート デスクトップで、通常はポート 3389 を使用します。 SSH はポート 22 のセキュア シェル プロトコルであり、VNC のトンネルを作成するためによく使用されます。

Windows リモート デスクトップ ワークフローの場合、通常、RDP はより統合されています。クロスプラットフォームのグラフィカル アクセスの場合、VNC は柔軟性があります。安全な管理を実現するには、特に VNC 自体がローカルホストにバインドされ、SSH トンネル経由でアクセスされる場合、SSH がより安全な外部アクセス パスとなることがよくあります。

VNC を開く必要がある場合

信頼できるユーザー、サポート ツール、自動化ワークフロー、ラボ ネットワーク、またはプライベート管理パスがグラフィカル リモート デスクトップ アクセスを必要とする場合にのみ、VNC を開きます。一般的なケースには、リモート Linux デスクトップ サポート、キオスク メンテナンス、組み込みデバイス管理、プライベート ラボ アクセスなどがあります。

VNC をインターネット全体に公開することは避けてください。パブリック VNC ポートは、ブルート フォース攻撃、弱いパスワード攻撃、デスクトップ乗っ取りの試み、古いサーバーのスキャンを引き起こす可能性があります。リモート アクセスが必要な場合は、VNC を VPN、SSH トンネル、ゼロトラスト アクセス レイヤー、要塞、またはソース IP ホワイトリストの背後に配置します。

ファイアウォールまたはルーターで VNC を開く方法

まず、どの VNC サーバーが実行されているか、どのインターフェイスでリッスンしているか、どの VNC サーバーが使用しているディスプレイ ポートまたは TCP ポートを確認します。次に、信頼できる送信元ネットワークからの正確なポートのみを許可します。表示:0 の場合、通常は TCP 5900 です。表示:1 の場合、通常は TCP 5901 です。

ルーターでは、強力な理由と狭い送信元ポリシーがある場合にのみ、外部ポートを内部 VNC ホストに転送します。サーバー上で、ホスト ファイアウォール、クラウド セキュリティ グループ、VPN ポリシー、および VNC サーバー バインド アドレスを調整し、意図したパス経由でのみサービスに到達できるようにします。

  • サービス層: VNC サーバーが実行されており、目的の TCP ポートでリッスンしている必要があります。
  • ディスプレイ マッピング: クライアントが :1 などのディスプレイ番号を予期しているか、または 5901 などの生の TCP ポートを予期しているかを確認します。
  • ネットワーク層: ホスト ファイアウォール、ルーター転送、クラウド ファイアウォール、VPN、およびホワイトリストはアクセス パスと一致する必要があります。
  • セキュリティ層: 強力な認証、暗号化またはトンネリング、ソース制限、および可能な場合はセッション ログが必要です。

VNC ポートの接続をテストする方法

まず、パブリック ホスト名または IP アドレスとポート 5900、または構成したカスタム VNC ポートに対する外部ポート チェックを行います。ポートが開いている場合、リモート クライアントは TCP リスナーに到達できます。次に、実際の VNC ビューアを使用してテストして、プロトコル ネゴシエーション、認証、デスクトップ アクセス、画面の更新を確認します。

サーバー上で、ss、netstat、lsof、PowerShell、または VNC サーバー ステータス ページを使用してリスナーを確認します。 VNC が SSH 経由でトンネリングされている場合は、最初に SSH 接続をテストし、次にローカルの転送ポートとビューア ターゲットを確認します。

VNC 用のテストポート 5900

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

VNC ポートが閉じている場合、サーバーは停止するか、ローカルホストのみにバインドされるか、別のディスプレイでリッスンするか、ホストのファイアウォールによってブロックされる可能性があります。チェックがタイムアウトした場合、ルーター、クラウド ファイアウォール、VPN ポリシー、ISP フィルター、または送信元 IP 制限により、パケットがホストに到達する前にパケットがドロップされている可能性があります。

ポートは開いているがビューアが接続できない場合は、ディスプレイ番号、プロトコル バージョン、パスワード ポリシー、暗号化要件、サーバー側のアクセス ルール、デスクトップ セッション状態、および VNC サーバーがビューア ネットワークからの接続を許可しているかどうかを確認してください。一部のサーバーは、デスクトップ セッションが使用できない場合にクライアントを拒否します。

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

インターネットへのアクセスには VNC パスワードのみに依存しないでください。 VPN、SSH トンネル、プライベート ネットワーク、またはゼロトラスト アクセスを優先し、トンネリング時に VNC をローカルホストにバインドします。強力な一意の認証情報を使用し、未使用のアカウントを無効にし、VNC サーバーにパッチを適用した状態に保ちます。

サーバーとビューアが暗号化をサポートしている場合は暗号化を有効にし、ソース IP を制限し、失敗したログインを監視し、クリップボード、ファイル転送、または無人アクセスを無効にする必要があるかどうかを確認します。 VNC を単純なステータス エンドポイントとしてではなく、完全なデスクトップ アクセスとして扱います。

よくある質問

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

VNC は通常、ディスプレイ :0 に TCP ポート 5900 を使用します。追加のディスプレイではポートがインクリメントされることが多いため、サーバーの構成が異なる場合を除き、:1 は 5901 を使用し、:2 は 5902 を使用します。

VNC が 5900 ではなく 5901 を使用するのはなぜですか?

従来の VNC ディスプレイ番号は 5900 に追加されます。ディスプレイ :1 は TCP 5901 にマップされ、ディスプレイ :0 は TCP 5900 にマップされます。一部のサーバーは、この規則に従わないカスタム ポートも使用します。

VNC をインターネットに公開しても安全ですか?

VNC が直接パブリックに公開されると、完全なデスクトップ アクセスが提供され、頻繁にスキャンされるため、危険が伴います。可能な限り、VPN、SSH トンネル、プライベート ネットワーク、ソース ホワイトリスト、またはゼロトラスト アクセス レイヤーを使用してください。

VNC ポートが開いているのにビューアが接続できないのはなぜですか?

VNC プロトコル、ディスプレイ番号、パスワード、暗号化設定、アクセス ルール、またはデスクトップ セッション状態によってビューアがブロックされているときに、TCP リスナーに到達できる場合があります。実際の VNC クライアントを使用してテストし、サーバー ログを検査します。

VNC または RDP を使用する必要がありますか?

可能な場合は、ネイティブ Windows リモート デスクトップ ワークフローに RDP を使用します。 VNC は、クロスプラットフォームのグラフィカル アクセス、Linux デスクトップ、組み込みシステム、または RFB ベースのビューアが必要な環境に使用します。