维基上说 VNC 是不安全的。那么,在内网上使用 VNC 连接是否安全呢?
https://miloserdov.org/?p=4833 一文描述了破解 VNC 密码的方法,貌似需要:
- 用 wireshark 软件抓包;
- 用 hashcat 破解 VNC 密码;
上述第 1 点:在普遍采用交换机而非集线器的情况下,除非在交换机处搞端口镜像,在客户端和服务器之外的局域网设备上基本是不可能抓包的(美国服务器除非自己在服务器或者客户端上抓包,但是谁没事会自己抓自己包呢?),那就基本上不可能破解。
上述第 2 点: 好像需要高端显卡( 2x NVIDIA Quadro P4000 8GB 要一千多美元),采用复杂密码的话居然要 3 天时间。
这样看来,其实 VNC 在内网使用的话,是否可以理解,基本上是安全的了?如果采用 VPN 隧道+ SSH 隧道的话,是否可以认为在互联网上用 VNC 连线也是非常安全的了?
大部分内网都有 DHCP 用,
sorry,手机吴操作。
广播假路由,就可以收到包了,以前网吧流行盗 QQ 就是这个病毒。后来的网吧都直接绑定 IP 。
暴力破解好防护,软件漏洞就没招,参考永恒之蓝
印象里 RDP 和 VNC 都是不保证传输安全的,需要靠额外的安全传输通道来保证传输安全,比如 SSL/TLS 、SSH 、安全 VPN 。
安全都是相对的,采用什么程度的安全措施取决于你能接受多高的风险。
比如你相信内网是安全的,不会有蹭网者或者通过其他方式入侵到内网的人或程序搞事情,那么你完全可以在内网裸奔,比如全都明文传输,甚至都不设置密码。
理论上来说,你用安全 VPN 或 SSH 两者之一就能具备较好的传输安全,当然嵌套越多安全性也就越高,但相应的性能和维护成本可能就会成为主要问题。
套一层 SSL 或者 VPN 就足够安全了。
无 Bug 的程序几乎是不存在的。在 cve.mitre.org 中搜 VNC 有 123 条记录。
Win7 以后的 RDP 都是默认要求“网络级别身份验证”(其实就是 TLS )的,可以算是默认带有传输安全了。
确实新的 RDP 客户端都会有一些安全措施可共选用,但并不都是强制的,TLS 需要有证书配合,如果没有证书的话客户端往往会出一个安全警告的对话框,然后依然可以接受风险继续连接。
给各种服务都搞证书是一个比较麻烦的事情,有精力可以一个个搞,没精力的话用 VPN 或 SSH 之类的统一加密通道,然后通道内部就不用太关注通信安全了。