惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
博客园 - 【当耐特】
Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
IT之家
IT之家
Cloudbric
Cloudbric
The Register - Security
The Register - Security
小众软件
小众软件
PCI Perspectives
PCI Perspectives
G
Google Developers Blog
AI
AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
Google DeepMind News
Google DeepMind News
宝玉的分享
宝玉的分享
Recent Commits to openclaw:main
Recent Commits to openclaw:main
量子位
TaoSecurity Blog
TaoSecurity Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
F
Full Disclosure
N
Netflix TechBlog - Medium
博客园_首页
Last Week in AI
Last Week in AI
A
Arctic Wolf
B
Blog RSS Feed
J
Java Code Geeks
C
Cybersecurity and Infrastructure Security Agency CISA
I
InfoQ
aimingoo的专栏
aimingoo的专栏
云风的 BLOG
云风的 BLOG
NISL@THU
NISL@THU
MyScale Blog
MyScale Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Jina AI
Jina AI
有赞技术团队
有赞技术团队
S
Schneier on Security
L
Lohrmann on Cybersecurity
P
Privacy & Cybersecurity Law Blog
T
Threat Research - Cisco Blogs
P
Palo Alto Networks Blog
S
Security @ Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
Security Latest
Security Latest
Vercel News
Vercel News
博客园 - 司徒正美
Webroot Blog
Webroot Blog
Hacker News: Ask HN
Hacker News: Ask HN
A
About on SuperTechFans

泠泫凝的异次元空间

通过串口安装Linux | 泠泫凝的异次元空间 curl自编译 | 泠泫凝的异次元空间 Minecraft 认证服务器代理 | 泠泫凝的异次元空间 飞塔分流配置实战 | 泠泫凝的异次元空间 Windows 安全启动证书检查 | 泠泫凝的异次元空间 Lxn-OneDriveCLI | 泠泫凝的异次元空间 华三交换机配置 ERPS 环网 | 泠泫凝的异次元空间 PVE 配置 VLAN 感知 | 泠泫凝的异次元空间 MT7922 无线网卡安装 | 泠泫凝的异次元空间 无显示输出 Linux 主机配置桌面显示 | 泠泫凝的异次元空间 Wireguard 部署 SOP 手册(自用) | 泠泫凝的异次元空间 Zabbix 7.4 通过钉钉发送告警提醒 | 泠泫凝的异次元空间 Debian with xfce 通过 VNC 共享屏幕 华三S6860 IRF堆叠 | 泠泫凝的异次元空间 iPad 应用侧载 | 泠泫凝的异次元空间 Smart DNS 分区解析 | 泠泫凝的异次元空间 建立 NFS 服务器并挂载到客户端 | 泠泫凝的异次元空间 将 Android 以 MTP 方式连接至 Debian PVE 虚拟机迁移至 vCenter | 泠泫凝的异次元空间 vCenter 虚拟机迁移至 PVE | 泠泫凝的异次元空间 PVE迁移时提示密钥验证失败 | 泠泫凝的异次元空间 修改Windows设备设置区域 | 泠泫凝的异次元空间 恢复 SecureCRT 7.x 保存的密码 | 泠泫凝的异次元空间 PVE 超融合下电与上电流程 | 泠泫凝的异次元空间 记一次Zabbix异常处理 | 泠泫凝的异次元空间 苹果设备保存SHSH2 | 泠泫凝的异次元空间 PVE超融合部署 | 泠泫凝的异次元空间 树莓派启用zram | 泠泫凝的异次元空间 在 Hyper-V 上安装 EVE-NG | 泠泫凝的异次元空间 Zabbix 部署与 Windows 硬件信息收集 | 泠泫凝的异次元空间 在WSL2中安装CUDA支持 | 泠泫凝的异次元空间 MinIO 集群部署 | 泠泫凝的异次元空间 vmware 虚拟化平台备份工具 Veeam 12 安装及配置 ubuntu 24.04 安装 nVidia 驱动后网卡消失 XMRig 自编译 | 泠泫凝的异次元空间 云桌面通过组策略统一体验配置 | 泠泫凝的异次元空间 CentOS 7 使用镜像作为本地源并将自身作为YUM源服务器 | 泠泫凝的异次元空间 CentOS 7 离线更新 OpenSSH 服务 使用KubeKey离线部署Kubernetes | 泠泫凝的异次元空间 使用PGP对消息进行签名 | 泠泫凝的异次元空间 禁止MinIO展示桶内文件列表 | 泠泫凝的异次元空间 华为 Fusion Access 云桌面部署 | 泠泫凝的异次元空间 vmware Horizon 模板机部署 | 泠泫凝的异次元空间 vmware Horizon 云桌面与云应用部署 | 泠泫凝的异次元空间 Citrix XenApp 云应用交付 | 泠泫凝的异次元空间 Citrix XenDesktop 云桌面部署 | 泠泫凝的异次元空间 PVE LVM 扩容 | 泠泫凝的异次元空间 Linux 网络聚合(bond方式) | 泠泫凝的异次元空间 Citrix XenServer 7.2 部署教程 | 泠泫凝的异次元空间 在 Windows Server 2019 上安装 AMD 显卡驱动 openEuler 安装并使用 EPEL 源 | 泠泫凝的异次元空间 从已有Linux系统创建带桌面环境的Docker镜像 | 泠泫凝的异次元空间 下载联想原厂镜像及解密 | 泠泫凝的异次元空间 在基于 arm 架构的服务器上安装 PVE | 泠泫凝的异次元空间 自制 EVE-NG 镜像 | 泠泫凝的异次元空间 不使用 Snap 在 ubuntu 上安装 Chromium 浏览器 Fortigate 6.2 固件从 PPPoE 获得 IPv6 地址 Fortigate 手记 | 泠泫凝的异次元空间 Fortigate 通过命令行自定义 NTP 服务器 | 泠泫凝的异次元空间 arm 架构 CentOS 7 安装 MySQL 5.7 版本 ubuntu 20 安装计算卡驱动和 CUDA Toolkit 锐捷诺客云添加设备后一直显示“等待同步” | 泠泫凝的异次元空间 Windows 10 自动登录 | 泠泫凝的异次元空间 OpenWRT IPv6 防火墙设置 | 泠泫凝的异次元空间 k8s 部署踩坑合集 | 泠泫凝的异次元空间 改变 Ubuntu TTY 终端字体 | 泠泫凝的异次元空间 Parted 无损扩容磁盘分区 | 泠泫凝的异次元空间 NTP服务器测试 | 泠泫凝的异次元空间 【相亲相爱】2024祝大家!新年快乐!!! ESXi中重新挂载数据盘 | 泠泫凝的异次元空间 使用 MediaMTX + RTSP 搭建低延迟直播服务器 Firewalld 手记 | 泠泫凝的异次元空间 Ubuntu 上不使用 snapd 安装 Firefox 在 armbian 上安装 xfce 和 VNC 做远程桌面 在 ubuntu 20 上使用 TigerVNC 做远程桌面 在 openEuler 上部署安装 openGauss | 泠泫凝的异次元空间 Wireguard 组网笔记 | 泠泫凝的异次元空间 让特定IP(段)走VPN连接 | 泠泫凝的异次元空间 在Wireguard中排除部分IP(段) | 泠泫凝的异次元空间 CentOS 7 上升级 OpenSSL | 泠泫凝的异次元空间 将黑群晖部署到ESXi(笔记) | 泠泫凝的异次元空间 apk 代码反编译笔记 | 泠泫凝的异次元空间 Windows 搭建 iSCSI 服务器全攻略 | 泠泫凝的异次元空间 CentOS 7 编译安装 Python 3 开源语音识别工具 Whisper | 泠泫凝的异次元空间 Ubuntu 下 Python 编译安装及关联问题解决 | 泠泫凝的异次元空间 Ansible Tower 安装 | 泠泫凝的异次元空间 提高 PowerPoint 导出到图片时的分辨率 | 泠泫凝的异次元空间 利用亚马逊云服务器和VPC 构建安全可靠的虚拟网络 | 泠泫凝的异次元空间 Windows Server 多网卡链路聚合 | 泠泫凝的异次元空间 MT3000路由+移远EC20模块体验 | 泠泫凝的异次元空间 Python安装依赖时出现ctype问题 | 泠泫凝的异次元空间 GL-MT3000日用设置 | 泠泫凝的异次元空间 解除 vCenter 的最低内存限制 | 泠泫凝的异次元空间 跳过Windows 11的强制联网和账户登录 | 泠泫凝的异次元空间 Cloudflare Trace API 信息详解 | 泠泫凝的异次元空间 在CentOS中搭建由nginx反代和Apache2作为后端的Wordpress | 泠泫凝的异次元空间 通过nginx进行文件共享 | 泠泫凝的异次元空间 禁用 sudo 时密码认证 | 泠泫凝的异次元空间 在docker中一键搭建IPSec/IKEv2 VPN | 泠泫凝的异次元空间
Fortigate SSLVPN 无法连接内网 VNC 服务器
Lxn's Area · 2025-04-12 · via 泠泫凝的异次元空间

我的内网有个服务器开放了VNC服务,本来是打算通过VNC服务远程访问内网的桌面,但是VNC的端口一经开放就“好评如潮”,实属难绷。

后来想到我内网在用的网关具备SSLVPN功能,于是打算将SSLVPN作为“关口”控制访问内网,但是Fortigate SSLVPN的VNC访问功能一直报错连接关闭,今天小小的研究了一下并最终解决了这个问题。

错误分析

主机侧

我内网VNC服务器安装的是TigerVNC Server,使用自己写的Systemd服务配置文件守护运行,详见在 armbian 上安装 xfce 和 VNC 做远程桌面,找到日志文件,看了一下没有什么有用新的信息,基本就是连接的时候连接端主动断开了。

我本地使用RealVNC Viewer测试后连接一切正常,只有Fortigate SSLVPN的VNC会断联,那么初步判断问题出在Fortigate上。

网关侧

Fortigate防火墙具备相对强大的调试功能,通过开启相关功能的调试选项,可以在相对底层的环节查看到日志。

首先先开启SSLVPN的调试日志:

1
2
3
4
CanbinTest-50E # diagnose debug application sslvpn -1
Debug messages will be on for 30 minutes.

CanbinTest-50E # diagnose debug enable

然后来到SSLVPN Portal上创建VNC连接,不出意外报错了连接失败,这会其实我还在想会不会是浏览器问题,Fortigate的架构比较老浏览器内核太新导致什么东西没加载出来。

通过检查Console中的日志确实也发现了一些熟悉的东西:guacamole,看来Fortigate使用网页连接VNC使用的是Guacamole的后端。

于是尝试开启Guacd的debug日志:

1
2
CanbinTest-50E # diagnose debug application guacd -1
Debug messages will be on for 27 minutes.

然后再次连接,果不其然发现了一些蛛丝马迹:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
guacd[7524]: INFO:      Creating new client for protocol "vnc"
guacd[7524]: INFO: Set process vfid 0
[144:root:117]ws_guacd_expecting_instruction:1019 get pid: 7524
guacd[7524]: INFO: Cursor rendering: local
guacd[7524]: DEBUG: Parameter "swap-red-blue" omitted. Using default value of 0.
guacd[7524]: DEBUG: Parameter "read-only" omitted. Using default value of 0.
guacd[7524]: DEBUG: Parameter "color-depth" omitted. Using default value of 0.
guacd[7524]: DEBUG: Parameter "dest-port" omitted. Using default value of 0.
guacd[7524]: DEBUG: Parameter "encodings" omitted. Using default value of "zrle ultra copyrect hextile zlib corre rre raw".
guacd[7524]: DEBUG: Parameter "autoretry" omitted. Using default value of 0.
guacd[7524]: DEBUG: Parameter "reverse-connect" omitted. Using default value of 0.
guacd[7524]: DEBUG: Parameter "listen-timeout" omitted. Using default value of 5000.
guacd[7524]: DEBUG: Parameter "recording-name" omitted. Using default value of "recording".
guacd[7524]: DEBUG: Parameter "create-recording-path" omitted. Using default value of 0.
guacd[7524]: INFO: Got client IP address: (null)
guacd[7524]: INFO: Got interface name for sdwan: (null)
guacd[7524]: INFO: User "@54bed74b-e8b8-4cef-9c80-f07e43e5a812" joined connection "$c97e001b-81c0-4ca8-ba35-0f361e27e49f" (1 users now present)
guacd[7524]: DEBUG: create input thread
guacd[7524]: DEBUG: input thread running
guacd[7524]: INFO: VNC server supports protocol version 3.8 (viewer 3.8)
guacd[7524]: INFO: We have 2 security types to read
guacd[7524]: INFO: 0) Received security type 19
guacd[7524]: INFO: Selecting security type 19 (0/2 in the list)
guacd[7524]: INFO: 1) Received security type 2
guacd[7524]: INFO: Selected Security Scheme 19
guacd[7524]: INFO: OpenSSL version OpenSSL 1.1.1t 7 Feb 2023 initialized.
guacd[7524]: INFO: Got VeNCrypt version 0.2 from server.
guacd[7524]: INFO: We have 2 security types to read
guacd[7524]: INFO: 0) Received security type 2
guacd[7524]: INFO: 1) Received security type 258
guacd[7524]: INFO: Selecting security type 258 (1/2 in the list)

可见Guacd其实是成功连接了VNC Server的,但是在向服务器质询加密方式时,VNC Server提供了 VeNCrypt 安全协议(type 2type 258),随后Guacd选择了258作为安全协议,但是 FortiGate 内置的 guacd 并不支持 VeNCrypt 的加密方式,因此连接中断。

解决问题

到这里问题其实就很明确了,VNC Server提供的安全协议在Fortigate这边并不受支持,那么禁用可行吗?

VNC禁用加密

打开主机侧VNC Server Systemd配置文件/etc/systemd/system/vncserver@.service,找到ExecStart行然后添加-SecurityTypes=none

1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1400x900 :%i -localhost no -SecurityTypes=none

然后重启VNC Server:

1
systemctl daemon-reload && systemctl status vncserver@1

不出意外出现了报错:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
root@cabintester2504:~/.vnc# systemctl status vncserver@1
● vncserver@1.service - Start TightVNC server at startup
Loaded: loaded (/etc/systemd/system/vncserver@.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2025-04-12 18:14:22 CST; 2min 21s ago
Process: 2433448 ExecStartPre=/usr/bin/vncserver -kill :1 (code=exited, status=1/FAILURE)
Process: 2433526 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1400x900 :1 -localhost no -SecurityTypes=None (co>
Main PID: 2433526 (code=exited, status=255/EXCEPTION)
CPU: 1.072s

Apr 12 18:14:21 cabintester2504 systemd[1]: Starting Start TightVNC server at startup...
Apr 12 18:14:22 cabintester2504 vncserver[2433448]: vncserver: No matching VNC server running for this user!
Apr 12 18:14:22 cabintester2504 systemd[1]: Started Start TightVNC server at startup.
Apr 12 18:14:22 cabintester2504 vncserver[2433526]: vncserver: YOU ARE TRYING TO EXPOSE A VNC SERVER WITHOUT ANY
Apr 12 18:14:22 cabintester2504 vncserver[2433526]: AUTHENTICATION TO THE WHOLE INTERNET! I AM REFUSING TO COOPERATE!
Apr 12 18:14:22 cabintester2504 vncserver[2433526]: If you really want to do that, add the --I-KNOW-THIS-IS-INSECURE option!
Apr 12 18:14:22 cabintester2504 systemd[1]: vncserver@1.service: Main process exited, code=exited, status=255/EXCEPTION
Apr 12 18:14:22 cabintester2504 systemd[1]: vncserver@1.service: Failed with result 'exit-code'.
Apr 12 18:14:22 cabintester2504 systemd[1]: vncserver@1.service: Consumed 1.072s CPU time.

VNC Server认为不适用任何安全模式并不安全,于是拒绝了继续执行,或者添加--I-KNOW-THIS-IS-INSECURE继续。

通过查询Google得知,Fortigate仅支持NoneVNC password(即仅密码模式)认证,所以能否将VNC Server这边的认证方式修改为vncauth

修改认证方式

修改认证方式为VncAuth前需要确保已经通过vncpasswd命令设置过密码,否则重启服务后会启动失败。

打开主机侧VNC Server Systemd配置文件/etc/systemd/system/vncserver@.service,找到ExecStart行然后添加-SecurityTypes=VncAuth

1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1400x900 :%i -localhost no -SecurityTypes=VncAuth

然后重启VNC Server:

1
systemctl daemon-reload && systemctl status vncserver@1

此时通过systemctl status vncserver@1也能查看到VNC Server运行正常,那么SSLVPN现在可以了吗?

当然是可以的,点击连接后等待几秒钟便出现了熟悉的界面:

操作也是完全可以的,看来完全解决了!

 上一篇

Windows vmware VDI Citrix