본문 바로가기

Certification/[FCA] Fortinet Certified Associate

[FCA] FortiGate 7.4 Operator Lesson 11: Configuring FortiGate SSL VPN - SSL VPN

A. SSL VPN 개요

1. SSL VPN이란?

SSL VPN(Secure Sockets Layer 가상 사설망)은 SSL 암호화를 사용하여 클라이언트 장치와 VPN 서버 역할을 하는 장치 간에 안전하고 암호화된 연결을 생성하는 VPN 유형입니다. SSL VPN은 원격 작업자에게 기업 네트워크에 대한 액세스 권한을 부여하는데 가장 일반적으로 사용되지만 두 FortiGate 방화벽 간에 이를 구성하는 것도 가능합니다. 많은 조직에서는 IPsec VPN을 통한 원격 액세스를 위해 SSL VPN을 사용하기로 선택합니다. 그러나 각 기술에는 장단점이 있으므로 주의 깊게 검토하여 최선의 선택을 해야 합니다.

2. Fortigate SSL VPN 이점

FortiGate와 함께 SSL VPN을 사용하면 다음과 같은 이점이 있습니다. 이러한 이점 중 일부는 특정 구성에만 적용된다는 점에 유의하는 것이 중요합니다.

  • 공통 프로토콜 사용: SSL은 HTTP 트래픽을 암호화하는데 사용되며 기본적으로 포트 443을 사용합니다. 일반적으로 이 트래픽은 중간 방화벽에 의해 차단되지 않습니다.
  • 유연성: 고객의 필요에 따라 웹 브라우저만 있으면 맞춤형 웹 포털에 액세스 할 수 있습니다. 이는 모바일 장치를 다룰 때 특히 유용합니다. 클라이언트 VPN 소프트웨어를 설치하는 옵션도 사용할 수 있습니다.
  • 세분화된 액세스: 관리자는 클라이언트가 액세스 할 수 있는 리소스를 쉽게 제한할 수 있습니다.
  • Windows 클라이언트에 대한 무결성 검사: 이 보안 기능은 VPN에 연결하는 원격 장치가 조직의 보안 정책을 준수하는지 확인합니다. 예를 들어 클라이언트에 바이러스 백신 소프트웨어가 설치되어 있는지 확인하고 그렇지 않은 경우 액세스를 거부할 수 있습니다.
  • 비용 효율성: 다른 공급업체와 달리 SSL VPN을 사용하는 데 추가 라이센스가 필요하지 않습니다. FortiClient VPN은 SSL 포털에서 무료로 다운로드할 수도 있습니다. 또한 지원되는 원격 사용자 수는 FortiGate 모델에 의해서만 결정됩니다.

 

B. Fortigate 작동방식

SSL VPN은 웹 모드와 터널 모드의 두 가지 모드로 제공됩니다. 요구 사항에 따라 한 가지 모드 또는 두 가지 모드를 모두 사용하여 SSL VPN을 배포할 수 있습니다. 

1. 웹 모드

웹 모드는 웹 브라우저를 통해 웹 기반 애플리케이션에 대한 액세스를 제공합니다. 사용자는 제공된 URL 또는 IP 주소를 열고 웹 포털에 로그인하기만 하면 됩니다. FortiGate는 기본적으로 웹을 통해 액세스 하도록 설계되지 않은 애플리케이션에 대한 액세스를 허용하는 역방향 웹 프록시 역할을 한다는 점이 중요합니다.

이 모드는 웹 기반 애플리케이션, 인트라넷 사이트, 이메일 등 제한된 리소스 세트에 액세스해야 하는 사용자에게 가장 적합합니다. 이 모드의 주요 장점은 클라이언트 소프트웨어를 설치할 필요가 없으며 관리자가 사용자에게 매우 세분화된 액세스를 제공할 수 있다는 것입니다.

단점은 모든 액세스가 웹 페이지를 통해 이루어지기 때문에 지원되는 애플리케이션과 프로토콜 수가 제한되어 있다는 것입니다. 일반적인 액세스에는 북마크 된 URL, FTP 서버, Windows 공유, Telnet, SSH, VNC 또는 RDP를 사용하는 다른 시스템에 대한 원격 세션이 포함됩니다.

 

2. 터널 모드

터널 모드는 마치 원격 사용자가 회사에 물리적으로 존재하는 것처럼 전체 네트워크 액세스를 제공합니다. 이 모드는 클라이언트‑서버 애플리케이션, 파일 공유 및 기타 일반적인 네트워크 리소스를 포함하여 광범위한 서비스에 액세스해야 하는 원격 작업자에게 가장 적합합니다.

모든 종류의 리소스에 액세스 할 수 있는 능력이 이 모드의 가장 큰 장점입니다. 그러나 이를 활성화하려면 원격 장치에 FortiClient VPN을 설치하고 구성해야 합니다. 이로 인해 기술에 능숙하지 않고 자신의 장치를 사용하려는 사용자를 상대할 때 지원 팀에 추가 오버헤드가 발생할 수 있습니다.

 

C. SSL VPN 구성

SSL VPN을 구성하려면 특정 요구 사항에 따라 달라지는 여러 단계가 필요합니다. 프로세스는 매우 간단하며 다음과 같은 일반적인 단계로 구성됩니다.

1단계는 연결 권한을 부여할 사용자 또는 그룹을 만드는 것입니다. 이를 위해 로컬 사용자나 지원되는 원격 인증 서버를 사용할 수 있습니다.

2단계는 SSL VPN 포털을 검토하고 필요한 경우 편집하는 것입니다. FortiGate에는 웹 액세스, 터널 액세스 또는 둘 다를 위해 구성된 3개의 기본 SSL VPN 포털이 포함되어 있습니다. 특정 사용자의 특정 요구 사항을 충족하기 위해 사용자 지정 포털을 만들 수도 있습니다.

3단계는 SSL VPN 설정을 구성하는 것입니다. 이 설정은 연결 요청을 수신하는 데 사용할 포트 번호, 사용할 SSL 인증서 및 각 SSL VPN 모드별 옵션을 결정합니다. 이 단계에서는 어떤 사용자가 어떤 포털에 액세스 할지 결정합니다.

마지막 단계는 VPN 트래픽을 허용하는 방화벽 정책을 생성하는 것입니다. 이 단계에서는 다른 정책과 동일한 방식으로 방화벽을 통과하는 트래픽을 허용하는 방화벽 정책을 생성합니다. 여기서 한 가지 차이점은 VPN 트래픽을 구체적으로 참조하기 위해 보낸 사람 필드에 가상 터널 인터페이스를 사용한다는 것입니다.

 

D. SSL VPN 구성시 염두사항

다음은 SSL VPN을 사용할 때 염두에 두어야 할 몇 가지 일반적인 모범 사례입니다.

  • 적절한 SSL VPN 모드 선택해야 합니다. 사용자에게 SSL VPN 모드 중 하나만 필요할 수도 있습니다. 사용되지 않는 SSL 모드가 비활성화된 SSL VPN 포털을 사용하세요.
  • 원격 인증 서버를 사용하여 관리 노력을 줄입니다. 가능하면 로컬 사용자를 사용하지 마십시오. 중앙 집중식 인증 솔루션을 사용하면 시간이 절약되고 인적 오류가 방지됩니다. 이는 대규모 환경에서 특히 그렇습니다.
  • 유효한 SSL 인증서 사용해야 합니다. 기본 자체 서명 인증서를 사용자 장치에서 신뢰하는 다른 인증서로 교체합니다. 신뢰할 수 있는 공급업체로부터 인증서를 구입하거나 이를 달성하기 위해 자체 PKI 인프라를 구현할 수 있습니다.
  • VPN 트래픽에 대한 방화벽 정책을 구성할 때 최소 권한의 원칙을 사용하십시오. 이는 모든 방화벽 정책에 해당됩니다. 이는 원격 장치가 네트워크에 연결되도록 허용할 때 특히 중요합니다.
  • 클라이언트 무결성 검사를 사용하여야 합니다. Windows 클라이언트의 경우 항상 바이러스 백신 소프트웨어, 방화벽 소프트웨어, 또는 둘 다 설치를 해야 합니다. 
  • 가능하다면 모든 위치로부터의 연결을 허용하지 마십시오. 항상 가능한 것은 아니지만 액세스를 제한하는 것이 이상적입니다. 조직에서 신뢰하는 특정 공용 IP 주소의 연결 요청입니다.

 

E. SSL VPN 구성

구성에 앞서 먼저 유저 또는 그룹을 생성하여야 합니다. 해당 강의에서는 미리 세팅을 해두었습니다. 

 

1. SSL-VPN Portals 구성

VPN의 하위메뉴인 SSL-VPN Portals를 클릭합니다. 상기의 사진과 같이 3가지의 모드를 일반적으로 지원을 합니다. 이번 강의에서는 Full-access(both mode라고도 합니다.)를 통해 구성하도록 하겠습니다. 

Limit Users to One SSL-VPN Connection at a Time 옵션을 통해 다중 연결을 제어할 수 있습니다. 하지만 이번 강의에서는 2명 이상의 유저가 접속할 예정이니 활성화 하지 않겠습니다.

Tunnel Mode 옵션은 활성화 되어있는걸 확인 할 수 있습니다. 보수적인 시나리오에서는 해당 옵션을 비활성화하여 모든 트래픽이 방화벽을 통해 오가도록 하여야 합니다. 그래야 모든 트래픽의 검사를 할 수 있으니까요. 하지만 이번 강의에서는 큰 문제가 아니니 활성화가된 상태로  두겠습니다. 

Sour IP Pools에 추가된 IP들을 상기의 사진과 같이 확인 할 수 있습니다. 

편집 창의 하단부를 보게되면 상기와 같이 Host Check, Restric to Specific OS Versions과 같은 옵션이 있습니다. 해당 강의에서는 필요치 않으니 비활성화 하도록 하겠습니다. 

Predefined Bookmarks 옵션에 내부 웹 서버를 추가하도록 합니다. 상기의 사진을 참고하여 알맞게 필드 값을 입력 후 OK버튼을 클릭합니다. 

여기까지 완료 되었으면 터널 모드 편집을 마무리 하기위해 OK버튼을 클릭합니다.

2. SSL-VPN Settings 구성

SSL-VPN Settings 메뉴를 클릭합니다. 인터페이스, 포트, 서버 인증서를 선택합니다. 

Authentication/Portal Mapping 섹션에 추가할 유저 또는 그룹을 추가합니다. 여기서 Portal은 우리가 편집한 Full-access로 선택합니다. 

3. 방화벽 정책에 SSL VPN 구성

SSL VPN 방화벽 정책을 새로 생성합니다. Incoming Interface는 SSL-VPN으로 설정, Outgoing Interface는 내부로 향하는 인터페이스를 선택합니다. 

소스는 SSL VPN IP 범위와 추가할 유저 그룹 모두를 추가해야합니다. 타겟은 내부 IP 범위를 추가하고 스케쥴과 서비스는 원하는대로 추가합니다. 다른 옵션은 그대로 두겠지만 이 역시 원한다면 추가 혹은 제거를 하여 사용하시면 됩니다. 

OK 버튼을 눌러 정책 생성을 완료합니다.  여기까지 완료하였다면 이제 SSL VPN 테스트만 남았습니다. 

 

4-1. 인터넷 브라우저를 통한 SSL VPN 연결 테스트

외부의 장비에서 인터넷 브라우저 또는 SSL VPN Client를 통해 접속이 가능합니다. 여기서는 먼저 인터넷 브라우저를 통해 진행하도록 하겠습니다. 2번 SSL-VPN Setting 구성에서 Listen on Interface를 Port 1로 설정하였고 Port1의 아이피는 10.200.1.1 입니다.  해당 아이피를 인터넷 브라우저 창에 입력을 하게 되면 상기와 같은 창이 나타나게 됩니다. 

계속 진행하겠다면 상기와 같은 창을 보실수 있습니다. 소스에 추가한 유저의 아이디와 패스워드를 입력하면 로그인이 됩니다. 

성공적으로 로그인을 하였으면 상기의 사진과 같이 우리가 설정한 값대로 페이지를 보여주는 것을 확인 할 수 있습니다. 미리 추가한 북마크들도 잘 보이는군요.  

또한, 다른 방식으로 내부의 서버에 접근을 할 수 있습니다. 테스트 목적으로 SSH를 통해 Internal Web Server에 접속하도록 하겠습니다.  드롭 박스를 클릭후 SSH를 선택합니다. 

서버 아이피를 입력 후 Launch now 버튼을 클릭합니다.  서버에 대한 유저 네임과 패스워드를 입력 후 OK 버튼을 클릭합니다. 

상기의  사진을 통해 확인이 가능하듯이 리눅스 머신에 접근을 하였습니다. 

4-2. SSL Client를 통한 SSL VPN 연결 테스트

SSL Client를 다운로드 받아 설치 후 실행을 합니다. 그 후 Configure VPN 버튼을 클릭하여 구성을 시작합니다. 

다운로드는 아래의 링크에서 가능합니다.

https://www.fortinet.com/support/product-downloads

 

Product Downloads | Fortinet Product Downloads | Support

Download FortiClient VPN, FortiConverter, FortiExplorer, FortiPlanner, and FortiRecorder software for any operating system: Windows, macOS, Android, iOS & more.

www.fortinet.com

필드 값은 사진을 참고하시길 바랍니다. 저장 버튼을 클릭하여 구성을 마무리 합니다. 

유저 네임과 패스워드를 입력 후 연결 시도를 합니다. 

연결이 정상적으로 된 것 같군요. OK 버튼을 클릭합니다. 

연결이 정상적으로 된 것을 확인할 수 있습니다. 

Foritgate에서 Dashboard의 하위메뉴인 Network에 가면 SSL VPN 위젯을 통해 연결된 유저들을 확인 할 수 있습니다.