Lo strumento ufficiale della riga di comando di Checkpoint out di CheckPoint, per la configurazione di una VPN SSL Network Extender non funziona più dalla riga di comando di Linux. Inoltre, non è più attivamente supportato da CheckPoint.
Tuttavia, esiste un progetto promettente, che tenta di replicare l'applet Java per l'autenticazione, che dialoga con il snx
utilità della riga di comando, chiamata snxconnect
.
Stavo cercando di inserire snxconnect
utilità di testo per funzionare in Debian Buster, facendo:
sudo pip install snxvpn
e
export PYTHONHTTPSVERIFY=0
snxconnect -H checkpoint.hostname -U USER
Tuttavia, per lo più stava morendo con un errore HTTP di:
HTTP/1.1 301 Moved Permanently:
oppure:
Got HTTP response: HTTP/1.1 302 Found
oppure:
Unexpected response, try again.
Cosa fare al riguardo?
PS. Il client ufficiale di EndPoint Security VPN funziona bene sia su Mac High Sierra che su Windows 10 Pro.
Risposta accettata:
SNX build 800007075 del 2012, utilizzata per supportare CheckPoint VPN dalla riga di comando di Linux. Quindi l'ho testato ed ecco, funziona ancora con le ultime distribuzioni e kernel 4.x/5.x.
Quindi, alla fine, l'altra mia risposta in questo thread è vera, se non riesci a ottenere SNX build 800007075 o se quella specifica versione di SNX smette di funzionare con le attuali versioni di Linux (potrebbe accadere in un prossimo futuro) o se hai bisogno del supporto OTP.
Attualmente, la soluzione è quindi l'installazione di questa specifica ultima versione di SNX che ancora supporta l'esecuzione della VPN dalla riga di comando.
- Per installare
snx
build 800007075, scaricalo da:
wget https://starkers.keybase.pub/snx_install_linux30.sh?dl=1 -O snx_install.sh
Per i sistemi Debian e basati su Debian a 64 bit come Ubuntu e Linux Mint, potrebbe essere necessario aggiungere l'architettura a 32 bit:
sudo dpkg --add-architecture i386
sudo apt-get update
Ho dovuto installare i seguenti pacchetti a 32 bit:
sudo apt-get install libstdc++5:i386 libx11-6:i386 libpam0g:i386
Esegui quindi snx
script di installazione:
chmod a+rx snx_install.sh
sudo ./snx_install.sh`
Ora avrai un /usr/bin/snx
Eseguibile binario client a 32 bit. Controlla se mancano librerie dinamiche con:
sudo ldd /usr/bin/snx
Puoi procedere ai seguenti punti solo quando tutte le dipendenze sono soddisfatte.
Potrebbe essere necessario eseguire prima manualmente snx -s CheckpointURLFQDN -u USER
, prima di eseguire lo script di qualsiasi utilizzo automatico, per la firma VPN essere salvato in /etc/snx/USER.db
.
-
Prima di usarlo, crei un file
~/.snxrc file, using your regular user (not root)
con i seguenti contenuti:server IP_address_of_your_VPN username YOUR_USER reauth yes
-
Per connetterti, digita
snx
$ snx
Linux SNX di Check Point
build 800007075
Inserisci la tua password:SNX – connesso.
Parametri della sessione:
IP modalità ufficio:10.x.x.x
Server DNS:10.x.x.x
Server DNS secondario:10.x.x.x
Suffisso DNS:xxx.xx, xxx.xx
Timeout:24 ore
Se comprendi i rischi per la sicurezza dell'hard coding di una password VPN in uno script, puoi anche utilizzarla come:
echo 'Password' | snx
-
Per chiudere/scollegare la VPN, mentre puoi fermare/uccidere
snx
, il modo migliore e ufficiale è impartire il comando:$snx -d
SNX – Disconnessione...
completata.
vedere anche Problemi di configurazione dello strumento Linux Checkpoint SNX per alcuni chiarimenti su quale snx
versione da utilizzare.
-
Se automatizzando l'accesso e accettando una nuova firma (e comprendendo le implicazioni sulla sicurezza), ho scritto un
expect
script, che ho chiamato lo scriptsnx_login.exp
; non molto sicuro, tuttavia puoi automatizzare il tuo login, chiamandolo con la password come argomento:#!/usr/bin/expect
spawn /usr/bin/snximposta la password [lindex $argv 0]
aspettati "?assword: ”
invia — “$passwordr”attend {
“o:” {
send “yr”
exp_continue
}
eof
}
PS. Attenzione a snx
non supporta solo OTP, dovrai usare snxconnect
script presente sull'altra risposta se lo si utilizza.
PPS @gibies ha richiamato la mia attenzione sul fatto che, utilizzando un etoken, il campo della password ottiene la password più l'etoken aggiunto e non una password fissa.