Help us understand the problem. What is going on with this article?

vncserverの暗号化パスワードは解析できるから注意

More than 3 years have passed since last update.

参考

パスワード値の確認(Linux)

バイナリ確認コマンド
xxd ~/.vnc/passwd
hexdump ~/.vnc/passwd
hd ~/.vnc/passwd
vimで開いてxxdに食わせる場合
vim ~/.vnc/passwd
:%!xxd
  • ubuntu16.04のtightvncserverのパスワードが解析できることを確認した。

パスワード値の確認(windows)

  • RealVNC

    • HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\vncserver\Password
  • TightVNC

    • HKEY_CURRENT_USER\Software\TightVNC\Server\Password
  • TigerVNC

    • HKEY_LOCAL_USER\Software\TigerVNC\WinVNC4\Password
  • UltraVNC

    • C:\Program Files\UltraVNC\ultravnc.ini
    • Value: passwd or passwd2

解析

セキュリティ向上案

vncserverのパスワードは最長8文字。
どうしてもポート開放したい場合、以下が考えられる

  1. 通信ポートの変更。5900〜5909あたりは避ける
  2. xrdpを使う (user + passの認証となる)
  3. sshトンネリング (VPNもあり)
  4. ファイアウォールで接続元IP制限
  5. noVNC + nginxでDigest(Basic)認証をかける
  6. noVNC + nginx + 自己署名型証明書での制限
  7. vinoを使ってTLS非対応のクライアントからの接続を防ぐ
  8. RealVNCはPAM対応
  9. vncserverを起動させっぱなしにしない
vnc60min.sh
pgrep Xtightvnc
if [ $? -eq 0 ];then
    echo "vncserverがすでに起動しています。"
    exit 0
fi

vncserver -geometry 1200x900 -depth 15 :1
echo "waiting 60 min"
sleep 3600
vncserver -kill :1

合わせて読みたい

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away