参考
パスワード値の確認(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文字。
どうしてもポート開放したい場合、以下が考えられる
- 通信ポートの変更。5900〜5909あたりは避ける
- xrdpを使う (user + passの認証となる)
- sshトンネリング (VPNもあり)
- ファイアウォールで接続元IP制限
- noVNC + nginxでDigest(Basic)認証をかける
- noVNC + nginx + 自己署名型証明書での制限
- vinoを使ってTLS非対応のクライアントからの接続を防ぐ
- RealVNCはPAM対応
- 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