我需要从 Debian Stretch amd64 VM 连接到 CheckPoint 公司 VPN。
我是从客户的角度使用它,对服务器端的技术细节了解不多。我将它与 Windows 中的 CheckPoint Mobile 客户端一起使用,并且我知道它接受与 Firefox+Java aka SSL Network Extender 的 Web VPN 连接。
我曾尝试在 Linux 的 Firefox 中打开它,但没有成功。我还研究了文本模式替代方案,即snx
命令行客户端,但是 CheckPoint 文献明确指出snx
,不再支持从命令行直接登录。
我做了几次测试,包括安装snx
linux 客户端snxconnect
和openconnect/vpnc
VPN 客户端,但都没有成功。除了已经很复杂的过程之外,我还有些怀疑 CheckPoint 方面正在对用户代理进行双重检查,至少在我的情况下是这样。
该怎么办?
这些 2018 说明适用于较旧的 CheckPoint VPN pre R80 (R80.10?) 版本。有关较新的 VPN/防火墙,请参阅新接受的答案。
最终,我决定使用 Firefox+Java 进行身份验证(后来改变了主意,请参阅底部的相关链接)。VM 本身不运行 Java 或图形界面,当我需要连接到我们的公司网络时,我在笔记本上的远程 X 服务器上运行 Firefox。
程序大致是:
firefox
snx
Linux 客户端安装firefox
安装完所有内容后,每次需要使用 VPN 时访问 VPN URL 。firefox
至于实际步骤指南:
firefox
版本并没有削减它运行 Java 小程序。因此,在测试了几个
firefox
旧版本之后,我决定firefox 48
将其仅用于登录 VPN。从Firefox 档案中下载它。因此,在您的目标目录中,执行以下操作:
然后做:
要防止它在您第一次在此目录上运行时更新到更新的版本:
注意:第一次运行它时,您还可以通过以下方式禁用更新:
或者:
并在“Firefox 更新”中选择单选按钮:“从不检查更新”
如果在 VPN 中,要获取安装文件,请执行以下操作:
wget --no-check-certificate https://VPN_FW_HOSTNAME/SNX/INSTALL/snx_install.sh
或者,从 Web VPN 界面下载应用程序,在“设置->编辑本机应用程序设置 SSL 网络扩展器:Linux 下载安装”中
那会给你一个
snx_install.sh
文件。您还需要选择:“登录时启动 SSL Network Extender:”将其更改为“自动”。
然后运行:
您将了解
/usr/bin/snx
32 位客户端二进制可执行文件。检查缺少哪些动态库:对于 Debian,我可能需要:
我必须安装以下内容:
再次检查是否缺少任何动态库(如果有):
只有当所有依赖项都满足时,您才能继续执行以下操作,因为 Java 小程序
snx
在幕后使用。jdk-6u45-linux-x64.bin
从甲骨文网站上得到。要以 root 身份安装它:
我们不会配置整个系统来使用这个 Java 版本,因为它太旧了。只是为了稍后在 Firefox 中使用 Java:
现在Java安装完成了。
最后,以普通用户身份运行 Firefox :
./火狐
如果 Java Applet/SSL 网络扩展器在验证后没有自行启动,请执行“Native Applications->Connect”。它将打开一个弹出/Java 窗口。等待“状态:已连接”。
然后您可以关闭主 FireFox 窗口。
VPN建立后,您可以检查
ip address
或ifconfig
您现在有一个tunsnx
界面:ip route
还将向您显示通过tunsnx
界面的新路线。为了更加方便,您可以将 WebVPN 的 URL 定义为您的主页。
参见相关: 让 Checkpoint VPN SSL Network Extender 在命令行中工作
要使用最新版本的 Firefox,安装
snx_install.sh
并在单独的 Firefox 选项卡中cshell_install.sh
打开https://localhost:14186/id并为站点“ https://localhost:14186/ ”添加安全例外。添加异常后,您将看到 HEX 格式的唯一标识符。您现在可以关闭此选项卡并尝试再次连接。@ Kubuntu 18.04 32 位,Firefox 75.0(32 位),openjdk-8
应该向 Firefox 添加页面https://localhost:14186/id的异常,这在我的情况下是问题,小程序已启动但不想继续,因为获取此https://localhost 是不正确的: 14186/身份证
另外我应该注意,我已经在 Firefox 75.0(32 位)和 openjdk-8 上成功启动了 vpn,而没有降级到 Firefox 48 和 jdk-6u45,尽管我也尝试过,并且 cshell_install.sh 不想要安装在 jdk-6u45
但无论如何,非常感谢答案的作者 - Rui F Ribeiro。对我帮助很大
现在是 2022 年,而我之前的回答仍然适用于 R80 之前的检查点版本,但世界已经在前进。Firefox 不再运行 Java 小程序,因此 CheckPoint 将中间件 Java 小程序作为 Java 守护程序 - CShell 守护程序(大约 2 年前)移至客户端/Linux 端。
SNX SSL Network Extender 守护程序,尽管不幸的是可执行二进制文件仍然是 32 位,但现在除了对旧防火墙使用 SSLv3 隧道外,还支持新防火墙并仅与 TLS 1.2 一起使用。它还进行了一些细微的更改,使其与 snxconnect python 逆向工程工作不兼容。
另一方面,移动访问门户代理 (CShell) 不再需要使用 Java 8、Oracle Java 实现或特定 Firefox 版本。它已使用 openJDK JRE 11 成功测试了多个 CheckPoint 版本。
在帮助我们的开发团队适应新场景的同时,我最初为 Debian 编写了说明,然后在 cshell_install.sh 的第二版补丁中,因为它表现不佳。最终得出的结论是,您可能不希望您的机器因必须具有 32 位活动的多架构或 Java 或必须修补任何新的 cshell_install.sh 变体而受到阻碍。
因此,编写了在 chroot 中使用 SNX 和“新”CShell Java 守护程序的说明。但是文件太大了,为Debian写了一个脚本。
最终,脚本演变为伪造需求而不是修补 CheckPoint 的脚本,并支持大多数主要发行版,远远超过使用“裸”官方形式的 SNX + cshell_install.sh(例如最新版本的 Fedora 没有更长的支持)。
你可以在这里获取它:
https://github.com/ruyrybeyro/chrootvpn
要获取和安装脚本以自动创建 chroot 并使您的 VPN 工作,您必须使用为 sudo 配置的用户并执行以下操作:
支持 Debian/Ubuntu、SUSE 或 RedHat/CentOS/Fedora 的任何衍生发行版。Arch 的任何变体,只要它配置了网络管理器。Slackware、Void 和 Gentoo Linux 也是如此。
尽管如此,如果不使用上面的脚本,对于 Debian 的简单、官方、非 chroot 设置的说明是:
在浏览器中打开Mobile Portal VPN,https://VPN_FW_HOSTNAME,并使用用户名和密码进行身份验证(如果有,则+双因子PIN);当浏览器询问您是否要保存密码时,选择“从不保存”
选择设置。将默认值更改为:
登录时启动 SSL Network Extender:自动连接 SSL Network Extender,使用:网络模式
选择确定。
关闭浏览器。
从防火墙下载 Linux 客户端设置脚本:
跑:
chmod a+rx snx_install.sh cshell_install.sh
安装 SNX:
在安装 Java 代理之前安装 firefox:
运行 Firefox 并关闭它。
安装 firefox-esr 后,为了与 CheckPoint cshell_install.sh 脚本兼容:
确保打开它以创建用户配置文件。必须使用日常使用的非特权用户调用它。在 /home 下已经运行/拥有 Firefox/Chrome 配置文件失败,意味着 cshell_install.sh 将不满足最低要求并将中止设置。
安装移动访问门户代理
对于下一步,Firefox 不得运行:
如果安装顺利:
CShell 守护程序现在必须正在运行。如果不是:
要验证证书是否已安装,您还可以执行以下操作:
最后再次进入firefox,访问
https://localhost:14186/id
接受 https://localhost:14186 CheckPoint 自签名证书。
使用您的登录名和防火墙移动门户地址中的密码(如果有的话+双因子 PIN)再次进行身份验证。
与 VPN 的连接现在应该是自动的。如果没有,请单击连接。
请注意,在没有 chroot 脚本的情况下遵循手动步骤,cshell_install.sh 安装要求很挑剔,如果不满足,它将中止。
相关 CheckPoint Linux 支持页面:
SSL 网络扩展器 https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk65210#Linux%20Supported%20Platforms
如何在 Linux 机器上安装 SSL Network Extender (SNX) 客户端 https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk114267
适用于 Linux 的 Mobile Access Portal 代理先决条件 https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk119772
移动访问门户和 Java 兼容性 https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk113410
Mozilla Firefox 移动访问门户代理即使在正确安装后仍要求重新安装 https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk122576&partition=Advanced&product=Mobile