본문 바로가기

Certification/[FCA] Fortinet Certified Associate

[FCA] FortiGate 7.4 Operator Lesson 10: Creating IPsec Virtual Private Networks - IPsec VPN

A. IPsec VPN 개요

1. IPsec이란? 

IPsec은 지리적으로 멀리 떨어져 있는 서로 다른 네트워크에 있는 장치 간에 보안 연결을 생성하는 데 사용되는 업계 표준 프로토콜 모음입니다. 이러한 보안 연결을 가상 사설망(VPN)이라고 합니다.

사용된 구성에 따라 IPsec은 다음 기능 중 일부 또는 전부를 제공할 수 있습니다.

  • 데이터 인증 ‑ 데이터 소스를 확인.
  • 데이터 무결성, 데이터 변조 방지. 
  • 트래픽을 암호화하기 위한 데이터 기밀성.
  • 재생 방지 보호, 재생 공격을 방지.

대부분의 구현에서 VPN 트래픽은 인터넷과 같은 비보안 네트워크를 통해 이동하기 때문에 이러한 기능은 매우 중요합니다. IPsec VPN이 다른 VPN 솔루션에 비해 갖는 중요한 이점 중 하나는 서비스 공급자의 개입이 필요하지 않다는 것입니다. 보안 VPN 터널을 설정하는데 필요한 것은 연결의 두 끝 사이의 IP 연결성뿐입니다.

 

2. IPSec VPN 유형 

IPsec을 사용하여 원격 액세스 VPN과 사이트 간 VPN이라는 두 가지 유형의 VPN을 만들 수 있습니다.

2-1. 원격 액세스 VPN

원격 액세스 VPN을 사용하면 클라이언트 장치를 원격 네트워크에 연결할 수 있습니다. VPN은 일반적으로 다음과 같이 사용됩니다. 집에 있거나 여행 중일 때 회사 네트워크에 호스팅 된 파일 및 서비스에 안전하게 액세스 할 수 있는 방법이 필요한 재택근무자. 원격 VPN에서는 클라이언트가 항상 연결을 시작합니다. 원격 사용자는 일반적으로 암호를 사용하여 직장 네트워크에 로그인하지만 MFA(다단계 인증)를 포함한 다른 솔루션도 지원됩니다.

2-2 사이트 간 VPN

사이트 간 VPN을 사용하면 서로 다른 두 물리적 위치에 있는 네트워크가 서로 안전하게 연결할 수 있습니다. 예를 들어 사이트 간 VPN을 사용하면 지점의 컴퓨터가 본사 건물이나 다른 지점에서 호스팅 되는 리소스에 액세스 할 수 있습니다. 사이트 간 VPN에서는 어느 쪽이든 연결을 시작할 수 있습니다. 여러 사이트 간 VPN 터널을 사용하면 허브 앤 스포크, 부분 메시 및 전체 메시 토폴로지를 생성할 수 있습니다. FortiGate는 다른 FortiGate 장치뿐만 아니라 AWS 및 Azure와 같은 클라우드 서비스 공급자를 포함한 다른 공급업체의 장치와도 사이트 간 VPN을 설정할 수 있습니다. 

두 가지 유형의 VPN 모두 연결이 설정된 후 한 네트워크의 장치가 다른 네트워크의 장치에 연결할 수 있습니다. VPN을 통해 연결되면 서로 다른 네트워크의 장치는 동일한 논리 네트워크의 일부가 됩니다.

 

B. Fortigate IPsec VPN의 작동원리

사용된 IPsec VPN 유형에 관계없이 IKE 프로토콜은 터널을 동적으로 생성하는 데 사용됩니다. FortiGate는 IKEv1과 IKEv2라는 두 가지 IKE 버전을 지원합니다. IKEv2에는 IKEv1에 비해 여러 가지 보안 개선 사항이 포함되어 있지만 후자는 여전히 많은 VPN 배포에서 널리 사용됩니다.

1. IKEv1

IKEv1을 사용하는 경우 IPsec VPN 프로세스는 1단계와 2단계의 두 단계를 거칩니다. 1단계에서는 두 피어 장치가 서로 인증하고 2단계의 보안 매개변수를 협상하는 데 사용할 보안 채널을 설정합니다. 이 첫 번째 채널은 VPN 연결의 제어 평면 역할을 합니다. 피어는 여러 조합 또는 제안으로 구성될 수 있습니다. 각 제안은 여러 보안 매개변수로 구성됩니다.

성공적인 1단계를 위해서는 다음 매개변수가 각 피어 장치의 제안 중 하나 이상에서 일치해야 합니다.

  •  IKE 모드: 기본 또는 공격적
  • 인증
  • 암호화 알고리즘
  • 해싱 알고리즘
  • Diffie Helman 그룹

다른 매개변수는 협상될 수 있으므로 일치할 필요가 없습니다. 2단계는 1단계가 성공적으로 완료된 후에만 시작할 수 있습니다.  2단계에서는 두 피어 장치 모두 VPN을 통해 전송해야 하는 트래픽과 해당 트래픽을 인증하고 암호화하는 방법을 결정합니다. 이 단계에서는 상위 1단계 터널의 하위 터널이 생성됩니다. 이 하위 터널은 데이터 플레인 역할을 합니다. 

1단계와 마찬가지로 피어는 여러 2단계 제안으로 구성될 수 있습니다. 성공적인 2단계를 위해서는 두 피어 모두에 대한 하나 이상의 제안에서 다음 매개변수가 일치해야 합니다.

  • 암호화 알고리즘
  • 해싱 알고리즘
  • Diffie Helman 그룹 (PFS를 사용하는 경우에만 권장됨)

다른 매개변수는 협상될 수 있으므로 일치할 필요가 없습니다. 보호할 트래픽은 터널을 통해 통신할 로컬 및 원격 서브넷을 나열하여 표시해야 합니다.

  • 원격 액세스 VPN에서는 두 서브넷이 모두 서버 측에 구성됩니다. 
  • 사이트 간 VPN에서는 각 피어의 서브넷이 서로 미러링 되어야 합니다. 

 

2. IKEv2

IKEv2는 보안과 성능 측면에서 IKEv1에 비해 여러 가지 개선 사항을 적용하여 설계되었습니다. 사용 가능한 하드웨어가 이를 지원하지 않는 한, 새로운 IPsec VPN 구현에 권장되는 프로토콜입니다. IKEv2는 이전 버전과 많은 유사점을 공유하지만 2단계를 포함하지 않으며 IKEv1과 역호환되지 않습니다.

IKEv1보다 IKEv2를 사용하면 다음과 같은 이점이 있습니다.

  • 더 적은 수의 메시지를 사용하면 터널 협상 중에 사용되는 대기 시간과 대역폭이 줄어듭니다. 
  • 메시지에 시퀀스 번호와 승인을 사용합니다. 
  • EAP 지원으로 인증 프로세스 중에 유연성, 확장성 및 상호 운용성이 향상됩니다.
  • PPK 지원.
  • 비대칭 인증 지원으로 피어가 서로 다른 인증 방법을 사용할 수 있습니다.
  • 더욱 강력한 보안 알고리즘을 지원합니다. 예를 들어 FortiGate는 해싱을 위해 PRF‑SHA를 지원하고 해싱을 위해 AES‑GCM을 지원합니다.
  • DoS 공격에 대한 복원력 향상.

 

3. ESP 프로토콜

FortiGate 방화벽은 VPN 트래픽의 인증 및 암호화를 위해 ESP 프로토콜을 지원합니다. ESP는 데이터 암호화, 데이터 무결성 및 데이터 원본 인증을 제공하지만 ID 인증은 제공하지 않습니다. 그러나 1단계 협상 중에는 IKE에서 ID 인증이 제공됩니다.

FortiGate의 ESP가 지원하는 가장 잘 알려진 암호화 및 해싱 알고리즘 중 일부를 보여줍니다.

  • 데이터 암호화 표준 또는 DES는 다른 암호화 알고리즘에 비해 약한 것으로 간주되며 최신 시스템에 사용하는 것이 좋습니다.
  • 삼중 데이터 암호화 표준 또는 3DES는 세 개의 DES 작업을 연속으로 사용하여 더 강력한 수준의 데이터 암호화를 제공합니다. 암호화. 그러나 성능이 느리고 키 길이가 짧기 때문에 최선의 선택은 아닌 것으로 간주됩니다. 
  • 고급 암호화 표준 또는 AES는 여러 키 길이로 제공됩니다. 키의 비트 수가 높을수록 암호화가 더욱 강력해집니다. 현재 매우 안전한 것으로 간주되며 가장 널리 사용되는 암호화 알고리즘입니다.
  • 메시지 다이제스트 5 또는 MD5는 일부 레거시 시스템 및 애플리케이션에서 여전히 찾을 수 있지만 더 이상 찾을 수 없습니다. 강력한 보안이 필요한 시스템에 사용하는 것이 좋습니다.
  • 보안 해시 알고리즘 1 또는 SHA‑1은 강력한 보안이 필요한 시스템에서는 더 이상 사용하지 않는 것이 좋습니다. 알려진 취약점.
  • 보안 해시 알고리즘 2는 SHA‑1보다 더 안전합니다. 여러 비트 길이로 제공됩니다. 숫자가 높을수록 사용된 비트 수가 많을수록 결과 해시가 더 안전해집니다. 안전한 옵션으로 간주됩니다.

 

C. Foritgate IPsec VPN 구성

1. 구성시 주의점

다음은 FortiGate로 VPN을 구성할 때 예기치 않은 문제를 방지하는 데 도움이 될 수 있는 몇 가지 일반적인 모범 사례입니다. 

  • 방화벽에 최신 업데이트와 보안 패치가 설치되어 있는지 확인하세요. VPN은 사이버범죄자들이 가장 선호하는 표적 중 하나입니다. 최신 방화벽은 사이버 범죄의 피해자가 될 위험을 최소화합니다.
  • 요구 사항을 충족하는 암호화 및 해싱 수준을 사용합니다. 많은 FortiGate 모델에는 CPU에서 암호화 및 암호 해독 작업을 오프로드할 수 있는 전문 콘텐츠 프로세서(CP)가 포함되어 있습니다. 그러나 장치에 이 기능이 없는 경우 더 강력한 암호화 및 해싱 알고리즘을 사용하려면 더 많은 CPU 리소스가 필요하며 이는 장치 성능에 영향을 미칠 수 있다는 점을 기억하십시오.
  • 두 피어가 동일한 IPsec 기능을 지원하는지 확인하십시오. 구형 장치 또는 다른 공급업체의 장치는 FortiGate에서 지원하는 것과 동일한 수준의 암호화, 해싱 등을 지원하지 않을 수 있습니다. IPsec VPN 연결을 설정하려면 기능이 일치해야 하므로 어떤 IPsec 기능이 지원되는지 확인해야 합니다. l 트래픽 경로의 모든 방화벽에 필요한 포트가 열려 있는지 확인하십시오. IKE는 기본적으로 UDP(사용자 데이터그램 프로토콜) 포트 500을 사용하고 VPN 장치가 NAT(네트워크 주소 변환) 뒤에 있는 경우 UDP 포트 4500을 사용합니다. 서비스 공급자의 포트와 같이 이러한 포트를 차단하는 방화벽은 IPsec VPN 연결 설정을 방지합니다.
  • IKEv1을 사용할 때 적절한 모드를 선택하세요. 기본 모드는 더 안전하지만 속도가 느립니다. 이는 사이트 간 VPN의 FortiGate 기본값입니다. 공격적 모드는 덜 안전하지만 더 빠릅니다. 이는 원격 액세스 VPN의 FortiGate 기본값입니다.

2. IPsec VPN 구성 마법사

FortiGate는 IPsec VPN을 쉽게 구성하는 데 도움이 되는 직관적인 마법사를 제공합니다. 마법사에는 가장 일반적인 시나리오에 적합한 보안 설정이 포함된 여러 템플릿이 포함되어 있습니다. 보안 설정에는 암호화를 위한 다양한 수준의 AES와 해싱을 위한 SHA‑2를 결합하는 다양한 제안이 포함됩니다. 법적 또는 규정 준수상의 이유로 특정 보안 매개변수를 사용해야 하는 경우 사용자 지정 터널을 생성할 수 있습니다. 이를 통해 필요에 맞는 특정 설정을 선택할 수 있습니다. 또 다른 옵션은 템플릿으로 생성된 터널을 사용자 정의 터널로 변환하여 모든 설정을 편집하는 것입니다.

3. IPsec VPN  모니터링

FortiGate GUI를 사용하면 VPN 터널을 매우 쉽게 모니터링할 수도 있습니다. 터널 상태가 Up/Down인지 확인할 수 있을 뿐만 아니라, 트래픽량에 대한 세부 정보, Phase 1과 Phase 2의 상태까지 모두 표시됩니다. 이는 문제를 해결하는 동안 매우 도움이 될 수 있습니다. 예를 들어 2단계 터널만 작동하지 않는 경우 이는 피어 장치가 1단계 터널을 생성할 수 있음을 의미합니다. 이를 알면 연결 부족을 실패 원인으로 무시할 수 있습니다. 두 장치 모두에서 매개변수가 올바르게 구성되었는지, 일치하는 제안이 하나 이상 포함되어 있는지 다시 한번 확인할 수 있습니다.


D. IPsec VPN 구성

1.  네트워크 토폴로지

IPsec 설정에 앞서 먼저 위의 네트워크 토폴로지를 확인해 주시길 바랍니다. 참고로, 이번 강의에서는 Site to Site IPsec VPN 구성을 할 예정입니다. (Local - Fortigate 와 Remote - Fortigate를 연결)

2. Local Fortigate 구성

Site to Site VPN을 구성하기 위해 Local, Remote 2개의 Fortigate 방화벽에 IPsec 설정을 하여야 합니다. 먼저 Local Foritgate부터 진행하도록 하겠습니다. GUI에 접근하여 VPN의 하위메뉴인 IPsec Wizard를 클릭합니다. 

IPsec 마법사를 선택하면 상기와 같은 설정창을 확인할 수 있습니다. Name, Template type 등등 알맞게 설정 후 Next 버튼을 클릭합니다.  Name의 경우 알아보기 쉬운 형태로 입력하는 것이 좋습니다. 그래야 추후에 헷갈릴 일이 줄어들기 때문입니다. 

Remote IP address를 입력을 하게 되면 라우팅 테이블을 참조하여 Outgoing Interface 값을 자동으로 구성해 줍니다. 복잡한 환경에서는 잘못된 인터페이스를 장비가 선택할 수 있으니 한번 더 확인을 하여야 합니다. 그 후 인증 방법을 사전에 공유된 키 값으로 진행할지 인증서로 진행할 지 선택 후 사전에 공유된 키 값으로 진행시 해당 키 값을 알맞게 기입 후에 Next 버튼을 클릭합니다. 

* Pre-shared Key 값을 선택 후 입력한 키값은 상대측 Fortigate에도 입력을 해야하니 반드시 기억을 해두도록 합니다. 

+ 버튼을 클릭하여 내부쪽을 바라보는 인터페이스를 클릭합니다. 해당 Local Fortigate에서는 Port 3이 되겠네요. Local subets 값을 알맞게 입력합니다. Remote Subnets 값은 Reomote Foritgate의 Local subnet 값을 입력하면 됩니다. 여기선 10.0.2/24가 되겠네요. Internet Access 값은 None으로 두고 Next 버튼을 클릭합니다.  

정보를 확인 후 생성 버튼을 클릭합니다. 수정할 값이 없다면 Show Tunnel List 버튼을 클릭하여 설정을 마무리합니다. 

3. Remote Fotigate 구성

Remote Fortigate의 GUI로 접근하여 VPN의 하위 메뉴인 IPsec Wizard를 실행합니다. 마찬가지로 이름, 템플릿 타입등등을 설정합니다. 여기서 이름은 Local Fortigate와는 반대로 해야겠지요?! 알맞게 설정을 하셨으면 Next 버튼을 클릭합니다. 

마찬가지로 연결해야할 인터페이스의 주소를 입력합니다. 여기선 Local Fortigate의 Port 1번입니다. 해당 IP/SM 값을 입력하면 동일하게 외부로 나가는 인터페이스가 자동 세팅됩니다. Pre-shared Key 옵션으로 Local Fortigate를 구성하였으니 Remote Fortigate 역시 동일한 옵션과 동일한 키값을 기입을 하여야합니다. 알맞게 기입을 하였다면 Next 버튼을 클릭합니다. 

네트워크 토폴로지를 확인하면  Remote Fortigate의 내부쪽을 바라보고 있는 인터페이스는 Port 6번입니다. Local Interface에 Port 6번을 선택하고 서브넷 값을 입력합니다. Remote Subnets 필드 값에는 Local Foritgate의 Local  Subnets 값을 입력합니다. 인터넷 엑세스 옵션은 None으로 선택 후 Next 버튼을 클릭합니다.

설정할 값이 있으면 설정 후 Remote Fortigate에서의 구성을 마무리합니다. 시간이 지나면 Inactive의 상태가 Active로 바뀌게 될 것입니다. 물론, 활성화를 수동으로도 진행 가능합니다. 

 

4. IPsec VPN 확인

Network의 하위 메뉴인 Interface를 클릭합니다. 

Port 4번을 확인하게 되면 위와 같이 Branch - to - HQ  인터페이스가 생성된 걸 확인 할 수 있습니다. 

마찬가지로 Static Routes 메뉴를 확인하면 위와 같이 라우팅이 생성된 것을 확인 할 수 있습니다. 

방화벽 정책 및 주소 객체를 확인시 IPsec 정책이 생성된 것과 관련된 주소 객체가 생성된 것을 확인할 수 있습니다. 

 

5. IPsec VPN 테스트

연결이 잘 되었는지 확인을 위해 테스트를 해보도록 합니다. Local Fortigate에 Local 서브넷에 속한 컴퓨터에서 Remote Fortigate의 Local 서브넷에 속한 장비, 컴퓨터에 상기의 사진처럼 핑을 날려보도록합니다. 핑이 정상적으로 가고 오고 오는것을 확인할 수 있습니다. 

GUI에서도 위와 같이 IPsec VPN이 Active 상태로 바뀐걸 확인할 수 있습니다.