It's 2022, and whist my previous answer is still valid por pre-R80 checkpoint releases, the world has moved on. Firefox no longer runs Java applets, so CheckPoint moved the middleware Java applet to the client/Linux side as a Java daemon - CShell daemon (around 2 years ago).
The SNX SSL Network Extender daemon, despite the executable binary unfortunately still being 32 bits, now besides using SSLv3 tunneling for old firewalls, supports and works only with TLS 1.2 for the new firewalls. It also has light changes to make it incompatible with the snxconnect python reverse engineering effort.
On the other hand, there is no longer a requirement for the Mobile Access Portal Agent (CShell) neither of using Java 8 nor an Oracle Java implementation nor a specific Firefox version. It has successfully tested with several CheckPoint versions using openJDK JRE 11.
While helping a development team of ours adapting to the new scenario, I initially wrote instructions for Debian, then in a 2nd version patches for cshell_install.sh because of it being badly behaved. Eventually arrived to the conclusion you might not want your machine being encumbered by having to have multiarch with 32-bits active, or Java, or having to patch any new cshell_install.sh variation.
As such, wrote instructions for having SNX plus the "new" CShell Java daemon in a chroot. However the document was too big, and wrote a script for Debian.
Eventually, the script evolved, to fake requirements instead of patching CheckPoint's scripts, and to support most of the main distributions, far more than using the SNX + cshell_install.sh in their "naked" official form (which for instance latest versions of Fedora no longer support).
You can fetch it here:
https://github.com/ruyrybeyro/chrootvpn
For getting and installing the script to automagically create a chroot and make your VPN work, you have to use a user that is configure for sudo and do:
curl https://raw.githubusercontent.com/ruyrybeyro/chrootvpn/main/vpn.sh -O chmod a+rx vpn.sh ./vph.sh -i --vpn=VPN_FQDN_DNS_NAME
Any derivate distributions of Debian/Ubuntu, SUSE or RedHat/CentOS/Fedora are supported. Any variation of Arch too, as long it is configured with Network Manager. Slackware, Void and Gentoo Linux too.
Nonetheless, if not using the script above, the instructions for Debian, for a plain, official, non chrooted setup are:
Open the Mobile Portal VPN in the browser, https://VPN_FW_HOSTNAME, and authenticate with user and password(+double factor PIN if any); when the browser asks if you want to save a password, select “Never save”
Select settings. Change defaults to:
When signing-in launch SSL Network Extender: automatically Connect SSL Network Extender using: Network mode
Select OK.
Close the browser.
Download Linux Clients setup scripts from the firewall:
$ wget --no-check-certificate https://VPN_FW_HOSTNAME/SNX/INSTALL/snx_install.sh $ wget --no-check-certificate https://VPN_FW_HOSTNAME/SNX/INSTALL/cshell_install.sh
Run:
chmod a+rx snx_install.sh cshell_install.sh
Installing SNX:
$ sudo dpkg --add-architecture i386 $ sudo apt update $ sudo apt install libstdc++5:i386 libx11-6:i386 libpam0g:i386 $ sudo ./snx_install.sh
Install firefox, before installing the Java agent:
$ sudo apt install firefox-esr
Run Firefox and close it.
Having installed firefox-esr, for compatibility with the CheckPoint cshell_install.sh script:
$ ln -s ~/.mozilla/firefox-esr ~/.mozilla/firefox
Be sure to open it for the user profile to be created. It is essential to call it using the non-privileged user that it will be daily used. Failure in having already run/having a Firefox/Chrome profile under /home, means cshell_install.sh will not meet minimum requirements and will abort setup.
Installing Mobile access Portal Agent
$ sudo apt install xauth x11-xserver-utils certutil libnss3-tools openjdk-11-jdk
For the next step, firefox must not be running:
$ sudo ./cshell_install.sh
If the installation went well:
# ps ax | grep cshell 14224 pts/0 Sl 0:01 java -jar /usr/bin/cshell/CSell.jar /tmp/cshell.fifo 14300 pts/0 S+ 0:00 grep cshell
The CShell daemon must be running now. In case it is not:
$ /usr/bin/cshell/launcher
To verify that the certificate has been installed, you can also do:
$ wget -q -O- --no-check-certificate https://localhost:14186/id
Finally enter firefox again, and visit
https://localhost:14186/id
to accept the https://localhost:14186 CheckPoint self-signed certificate.
Authenticate again with your login, and your password(+double factor PIN if any) in the firewall mobile portal address.
The connection to the VPN should now be automatic. If not, click on Connect.
Be aware that following the manual steps without the chroot script, cshell_install.sh install requirements are finicky and if not met, it aborts.
Relevant CheckPoint Linux support pages:
SSL Network Extender https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk65210#Linux%20Supported%20Platforms
How to install SSL Network Extender (SNX) client on Linux machines https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk114267
Mobile Access Portal Agent Prerequisites for Linux https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk119772
Mobile Access Portal and Java Compatibility https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk113410
Mobile Access Portal Agent for Mozilla Firefox asks to re-install even after it was properly installed https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk122576&partition=Advanced&product=Mobile