背景知识简介
虚拟机的VNC是非常重要的功能,能够不依赖于虚拟机操作系统的网络进行远程访问与控制。当虚拟机操作系统出现故障或者网络不通等情况时,往往需要通过VNC进行远程连接修复。
noVNC是一个支持HTML5的VNC客户端,主要作用就是与远端的vnc server进行互通,从而实现对于远端主机的控制。我们可以通过VNC客户端或者支持HTML5的浏览器访问远端安装了vnc server的服务器桌面从而进行控制。
而在使用vnc这种便捷的远程访问技术的过程中,敏感数据的安全保障一直是开发人员绕不开的一个话题。而使用密码对用户进行身份认证是保护数据安全的常用手段之一。同时,为了进一步提升安全性能,防止密码被非授权用户轻易获取利用,我们通常会采取对明文密码进行加密的方式,这样既达到了数据安全性的要求,同时也可以避免明文密码保存在服务器上,极大地提高了系统的安全性。让用户在使用时可以更加放心。
问题场景
在业务的开发测试过程中,很多同事使用noVNC后不会退出终端,总是用完了就直接关闭窗口。而使用nmap命令可以获取节点的端口信息,这样的话,如果非授权人员知道了宿主机的IP和端口,是完全可以登录这台虚拟机进行篡改、泄露信息等非法操作的。这对于存放有重要信息的虚拟机来说显然是存在安全隐患的。
VNC密码加解密流程分析
对VNC登录密码加解密流程参考如下:
1、用户创建虚拟机时,需要配置vnc密码;
2、用户自定义密码明文P;
3、使用公钥对明文密码P进行加密,输出密文并存储起来;
4、当用户执行vnc登录等操作,需要身份验证时,系统获取密文;
5、使用私钥对密文进行解密操作,得到明文;
6、对用户输入的密码与解密得到的明文进行比较,如果一样,则用户通过身份验证,可以进入vnc操作虚拟机。
免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。
责任编辑:kj005
文章投诉热线:156 0057 2229 投诉邮箱:29132 36@qq.com