STEP1 VNC Basic Setup に続き FedoraCore2 VNC ベーシックセットアップに引き続き、VNCプロトコルを暗号化保護を行います。
暗号化による通信の保護と、クライアント認証により、常時 起動しておける 管理者専用 X VNC サーバーを構築します。
VNCを安全に利用するため、VNC サーバーとの通信を暗号化し、安全に利用することを目的としています。ここで取り上げる環境は以下のとおりです。
オフィス内での接続であっても、暗号化されないネットワーク環境下でのリモート保守は危険です。Telnetは、代替手段としてSSHという暗号化の選択肢がありますが、XVNCサーバーの場合、サーバー、クライアントとも暗号化に対応した仕組みがありません。
たとえVNCサーバーがroot権限で実行されていなくても、ネットワークが盗聴された場合、VNCへ接続したユーザーが su を使えばサーバーのroot権限が奪取された事になります。
VNCのように暗号化に対応しないサーバープログラムにおいて、サーバー、クライアント間で暗号化通信を行うには、プロトコルレベルで暗号化を行う必要があります。
これはパケットを別ポートで橋渡しを行うトンネリングという手法を用いる事で実現します。この際に使用するトンネリングツール(サーバー・クライアント双方)が暗号化に対応していると通信をプロトコルレベルで暗号化を行う事が可能になります。
ここで導入するイメージ
------------------------------ Windows(クライアント)
VNC Viewer port(port 5900-5901)
↓↑ ポートフォワーディング
Zebedee TCP/11965
------------------------------
↓
暗号化(クライアント認証でセッションを確率)
↓
IPアドレス制限も併用する
------------------------------FireWall(iptable)
Zebedee TCP/11965 (サーバー側待ち受け)
↓↑ ポートフォワーディング
VNC Server(port 5900-5901)
------------------------------ Linux(サーバー)
トンネリングツールとしてここでは、暗号化に対応したZebedee を使用しますが、これらトンネリングツールの主な利用目的は、二通りあります。
あるいは、その両方です。
ここでは、自分が管轄するネットワークでのサーバー保守管理にVNC サーバーを利用することを目的としているので、二つ目のプロトコル暗号化が主たる目的となります。
トンネリングにはネットワークに関する専門知識が必要です。管理権限のないネットワークでの興味本位なテストは行なわないで下さい。