Firefox의 VPN SSL 네트워크 확장기

Firefox의 VPN SSL 네트워크 확장기

Debian Stretch amd64 VM에서 CheckPoint Corporate VPN에 연결해야 합니다.

저는 클라이언트 관점에서 사용하고 있고 서버측의 기술적인 세부 사항에 대해서는 잘 모릅니다. Windows의 CheckPoint Mobile 클라이언트와 함께 사용하며 Firefox+Java(SSL 네트워크 확장기라고도 함)와의 웹 VPN 연결을 허용한다는 것을 알고 있습니다.

성공하지 못한 채 Linux의 Firefox에서 열려고 했습니다. 또한 텍스트 모드 대안인 명령줄 클라이언트도 살펴봤지만 CheckPoint 문헌에는 명령줄에서 직접 로그인하는 것이 더 이상 지원되지 않는다고 snx명시되어 있습니다 .snx

snxLinux 클라이언트 snxconnectopenconnect/vpncVPN 클라이언트 설치를 포함한 여러 테스트를 수행했지만 큰 성공을 거두지 못했습니다. 또한 적어도 내 경우에는 CheckPoint가 이미 복잡한 프로세스 외에 사용자 에이전트에 대해 이중 확인을 수행하고 있다는 의심도 있습니다.

무엇을 해야 할까요?

답변1

이 2018 지침은 이전 CheckPoint VPN R80(R80.10?) 버전에 적용됩니다.최신 VPN/방화벽에 대해서는 새로 허용된 답변을 참조하세요.

결국 인증을 위해 Firefox+Java를 사용하기로 결정했습니다(나중에 마음이 바뀌었습니다. 하단의 관련 링크를 참조하세요.). VM 자체는 Java를 실행하지 않으며 그래픽 인터페이스도 실행하지 않으며 회사 네트워크에 연결해야 할 때 랩톱의 원격 X 서버에서 Firefox를 실행합니다.

프로세스는 대략 다음과 같습니다.

  1. 설치firefox
  2. snxLinux 클라이언트 설치 다운로드뒤쪽에Web VPN 클라이언트 인터페이스에 로그인
  3. JDK 설치
  4. firefox모든 것이 설치되면 VPN을 사용해야 할 때마다 VPN URL을 방문하십시오.
  5. 다음 방법으로 VPN을 끄세요firefox

실제 단계별 가이드는 다음과 같습니다.

  1. firefox몇 가지 테스트를 거쳐 최신 버전이 Java 애플릿 실행 기능을 저하시키지 않는다는 것이 분명해졌습니다 .

파이어폭스 52 이상

Firefox 52(2017년 3월 출시)부터 플러그인 지원은 Adobe Flash로 제한되고 NPAPI에 대한 지원이 중단되어 Java, Silverlight 및 기타 유사한 NPAPI 기반 플러그인에 영향을 미칩니다.

그래서 몇 가지 이전 버전을 테스트한 후 로그인 전용 VPN을 firefox선택했습니다 . firefox 48다음에서 다운로드됨파이어폭스 아카이브.

따라서 대상 디렉터리에서 다음을 수행하십시오.

tar -jxvf  firefox-48.0.tar.bz2

그런 다음 다음을 수행하십시오.

cd firefox

이 디렉터리에서 처음 실행할 때 최신 버전으로 업데이트되지 않도록 하려면 다음을 수행하세요.

sudo touch updates
sudo chattr +i updates

참고: 처음 실행하는 경우 다음을 통해 업데이트를 비활성화할 수도 있습니다.

  • 메뉴 아이콘->기본 설정->고급->업데이트

또는:

  • about:preferences#advanced URL을 엽니다.

"Firefox 업데이트"에서 "업데이트를 확인하지 않음" 라디오 버튼을 선택하세요.

  1. VPN을 사용 중인 경우 설치 파일을 얻으려면 다음을 수행하십시오.

    wget --no-check-certificate https://VPN_FW_HOSTNAME/SNX/INSTALL/snx_install.sh

또는 설정 -> 기본 애플리케이션 설정 편집의 Web VPN 인터페이스에서 애플리케이션을 다운로드하세요. SSL 네트워크 확장기: Linux용 설치 다운로드

URL

그러면 파일이 제공됩니다 snx_install.sh.

또한 "로그인 시 SSL Network Extender 시작:"을 선택하고 "자동"으로 변경해야 합니다.

그런 다음 다음을 실행하십시오.

chmod a+rx snx_install.sh
sudo ./snx_install.sh`

/usr/bin/snx32비트 클라이언트 바이너리 실행 파일 에 대해 알아봅니다 . 누락된 동적 라이브러리를 확인하세요.

sudo ldd /usr/bin/snx

데비안의 경우 다음이 필요할 수 있습니다:

sudo dpkg --add-architecture i386
sudo apt-get update    

다음을 설치해야했습니다.

sudo apt-get install libstdc++5:i386 libx11-6:i386 libpam0g:i386

동적 라이브러리가 누락되었는지 다시 확인하십시오(있는 경우).

sudo ldd /usr/bin/snx

snx모든 종속성이 충족된 후에만 Java 애플릿이 뒤에서 사용되는 것처럼 다음 작업을 계속 수행할 수 있습니다 .

  1. 여러 번 실패한 반복과 웹 크롤링 끝에 Sun의 Java 6을 설치해야 한다는 사실이 밝혀졌습니다. 그래서 얻었다jdk-6u45-linux-x64.bin 오라클 웹사이트에서.

루트로 설치하려면:

mkdir /usr/java
mv jdk-6u45-linux-x64.bin /usr/java
cd /usr/java
chmod a+rx jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin

이 Java 버전은 너무 오래되었기 때문에 전체 시스템을 구성하지 않습니다. 나중에 Firefox에서 Java를 사용하려면 다음을 수행하세요.

sudo mkdir -p /usr/lib/mozilla/plugins
sudo ln -s /usr/java/jdk1.6.0_45/jre/lib/amd64/libnpjp2.so libnpjp2.so

이 시점에서 Java가 설치됩니다.

  1. 마지막으로 파이어폭스를 실행해 보세요일반 사용자로서하다:

    ./Firefox 브라우저

인증 후에도 Java Applet/SSL Network Extender가 시작되지 않으면 "Native Application -> Connect"를 실행하세요. 팝업/Java 창이 열립니다. "상태: 연결됨"을 기다립니다.

증량제

그런 다음 기본 FireFox 창을 닫을 수 있습니다.

VPN이 설정되면 다음을 확인하거나 ip address이제 ifconfig인터페이스를 사용할 수 있습니다 tunsnx.

$ ip addr show dev tunsnx
14: tunsnx: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none
    inet 10.x.x.x peer 10.x.x.x/32 scope global tunsnx
       valid_lft forever preferred_lft forever
    inet6 fe80::acfe:8fce:99a4:44b7/64 scope link stable-privacy
       valid_lft forever preferred_lft forever

ip routetunsnx인터페이스를 통해 새로운 경로 도 표시됩니다 .

더욱 편리하게 WebVPN의 URL을 홈페이지로 정의할 수 있습니다.

  1. VPN을 끄려면 Java 팝업에서 "연결 끊기" 버튼을 누르거나 Firefox를 닫거나 종료할 수 있습니다.

관련 항목을 참조하세요: 명령줄에서 Checkpoint VPN SSL 네트워크 확장기가 작동하도록 하기

답변2

최신 버전의 Firefox를 사용하려면 설치 snx_install.shcshell_install.sh실행 후https://localhost:14186/id별도의 Firefox 탭에서 사이트에 대한 보안 예외를 추가하세요."https://localhost:14186/예외를 추가하면 16진수 형식의 고유 식별자가 표시됩니다. 이제 이 탭을 닫고 다시 연결해 보세요.

답변3

@Kubuntu 18.04 32비트, Firefox 75.0(32비트), openjdk-8

Firefox에 페이지 예외를 추가해야 합니다.https://localhost:14186/id, 이것은 나에게 문제였습니다. 애플릿이 시작되었지만 이것을 얻을 수 있는 권한이 없기 때문에 계속하고 싶지 않았습니다.https://localhost:14186/id

또한 Firefox 48 및 jdk-6u45로 다운그레이드하지 않고 Firefox 75.0(32비트) 및 openjdk-8에서 VPN을 성공적으로 시작했다는 점에 유의해야 합니다. 하지만 이 방법도 시도했지만 cshell_install.sh는 jdk에 설치하고 싶지 않습니다. 6u45

그러나 어쨌든 답변 작성자인 Rui F Ribeiro에게 큰 감사를 드립니다. 나에게 많은 도움이 된다

답변4

지금은 2022년입니다. R80 체크포인트가 출시되기 전에 제 이전 답변이 여전히 유효하지만 세상은 계속 발전하고 있습니다. Firefox는 더 이상 Java 애플릿을 실행하지 않으므로 CheckPoint는 미들웨어 Java 애플릿을 Java 데몬(약 2년 전)인 CShell 데몬으로 클라이언트/Linux 측으로 옮겼습니다.

SNX SSL Network Extender 데몬의 실행 가능한 바이너리는 불행하게도 여전히 32비트이지만 이제는 이전 방화벽에서 SSLv3 터널링을 사용하는 것 외에도 새 방화벽에 대해 TLS 1.2를 지원하고 작동합니다. 또한 snxconnect Python 리버스 엔지니어링 작업과 호환되지 않는 몇 가지 사소한 변경 사항이 있습니다.

반면 CShell(Mobile Access Portal Agent)은 더 이상 Java 8, Oracle Java 구현 또는 특정 Firefox 버전을 사용할 필요가 없습니다. 여러 CheckPoint 버전에서 openJDK JRE 11을 사용하여 성공적으로 테스트되었습니다.

우리 개발팀이 새로운 시나리오에 적응할 수 있도록 돕기 위해 처음에는 데비안용 지침을 작성했고, 두 번째 버전에서는 cshell_install.sh가 잘 수행되지 않아서 패치를 작성했습니다. 결론은 32비트 활성 다중 아키텍처 또는 Java를 사용하거나 새로운 cshell_install.sh 변형을 패치해야 함으로써 컴퓨터가 방해받는 것을 원하지 않을 것이라는 것입니다.

따라서 chroot에 SNX 및 "새로운" CShell Java 데몬을 추가하기 위한 지침이 작성되었습니다. 그런데 문서가 너무 커서 데비안용으로 스크립트를 작성했습니다.

결국 스크립트는 CheckPoint를 패치하기보다는 요구 사항을 위조하고 대부분의 주요 배포판을 지원하는 스크립트로 발전했습니다. 이는 SNX + cshell_install.sh를 "알몸" 공식 형식(예: 최신 버전의 Fedora에는 없음)으로 사용하는 것보다 훨씬 더 오래되었습니다.

여기에서 얻을 수 있습니다:

https://github.com/ruyrybeyro/chrootvpn

자동으로 chroot를 생성하고 VPN이 제대로 작동하도록 하는 스크립트를 얻고 설치하려면 sudo로 구성된 사용자를 사용하고 다음을 수행해야 합니다.

curl https://raw.githubusercontent.com/ruyrybeyro/chrootvpn/main/vpn.sh -O
chmod a+rx vpn.sh
./vph.sh -i --vpn=VPN_FQDN_DNS_NAME

Debian/Ubuntu, SUSE 또는 RedHat/CentOS/Fedora의 파생 배포판을 지원합니다. 네트워크 관리자로 구성되어 있는 한 Arch의 모든 변형에도 동일하게 적용됩니다. Slackware, Void 및 Gentoo Linux도 마찬가지입니다.



그럼에도 불구하고 위의 스크립트를 사용하지 않고 데비안에서 chroot가 아닌 간단한 공식 설정 지침은 다음과 같습니다:

브라우저에서 모바일 포털 VPN(https://VPN_FW_HOSTNAME)을 열고 사용자 이름과 비밀번호(+ 2단계 PIN이 있는 경우)로 인증하세요. 브라우저에서 비밀번호를 저장할지 묻는 메시지가 나타나면 "사용 안 함"을 선택하세요. 구하다"

설정을 선택합니다. 기본값을 다음으로 변경합니다.

로그인 시 SSL Network Extender 시작: 다음을 사용하여 SSL Network Extender를 자동으로 연결합니다: 네트워크 모드

확인을 선택합니다.

브라우저를 닫습니다.

방화벽에서 Linux 클라이언트 설정 스크립트를 다운로드합니다.

$ 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

달리기:

chmod a+rx snx_install.sh cshell_install.sh

SNX를 설치합니다:

$ sudo dpkg --add-architecture i386
$ sudo apt update
$ sudo apt install libstdc++5:i386 libx11-6:i386 libpam0g:i386
$ sudo ./snx_install.sh

Java 에이전트를 설치하기 전에 Firefox를 설치하십시오.

$ sudo apt install firefox-esr

Firefox를 실행하고 닫습니다.

Firefox-esr을 설치한 후 CheckPoint cshell_install.sh 스크립트와 호환되도록 하려면 다음을 수행하십시오.

$ ln -s ~/.mozilla/firefox-esr ~/.mozilla/firefox

사용자 프로필을 만들려면 반드시 열어보세요. 매일 사용되므로 권한이 없는 사용자를 사용하여 호출하는 것이 중요합니다. Firefox/Chrome 프로필이 이미 /home에서 실행/소유되어 있고 실패하는 경우 cshell_install.sh가 최소 요구 사항을 충족하지 않아 설치가 중단된다는 의미입니다.

모바일 액세스 포털 에이전트 설치

$ sudo apt install xauth x11-xserver-utils certutil libnss3-tools openjdk-11-jdk

다음 단계에서는 Firefox가 실행되어서는 안 됩니다.

$ sudo ./cshell_install.sh

설치가 잘 되었다면:

# 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

이제 CShell 데몬이 실행 중이어야 합니다. 그렇지 않은 경우:

$ /usr/bin/cshell/launcher

인증서가 설치되었는지 확인하려면 다음을 수행할 수도 있습니다.

$ wget -q -O- --no-check-certificate https://localhost:14186/id

마지막으로 Firefox를 다시 입력하고 방문하십시오.

https://localhost:14186/id

https://localhost:14186 CheckPoint 자체 서명 인증서를 허용합니다.

방화벽 모바일 포털 주소(+ 2단계 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용 모바일 액세스 포털 에이전트 필수 구성 요소 https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk119772

모바일 액세스 포털 및 Java 호환성 https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk113410

Mozilla Firefox용 Mobile Access Portal 에이전트를 올바르게 설치한 후에도 다시 설치해야 함 https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk122576&partition=Advanced&product=Mobile

관련 정보