본문 바로가기

[Certification]/[FCA] Fortinet Certified Associate

[FCA] FortiGate 7.4 Operator Lesson 05: Inspect SSL Traffic - SSL 트래픽 검사

A. SSL 트래픽 검사 개요

1. SSL 트래픽 검사가 필요한 이유

HTTPS는 웹 트래픽에 암호화를 적용하여 보호 기능을 제공합니다. 그러나 공격자가 암호화된 트래픽을 사용하여 네트워크의 일반적인 방어를 우회하려고 시도할 수 있으므로 잠재적인 보안 위험도 발생합니다.

예를 들어 Bob은 example.com 웹사이트에 연결합니다. 이 사이트에는 합법적인 인증 기관(CA)에서 발급한 인증서가 있습니다. CA가 승인되었으므로 유효한 확인 인증서가 Bob의 인증서 저장소에 있으며 Bob의 브라우저는 웹 사이트와의 SSL 세션을 설정합니다. 그러나 Bob은 모르는 사이에 example.com 웹사이트가 바이러스에 감염되었습니다. 암호화로 은폐된 바이러스는 탐지되지 않은 채 FortiGate를 통과하여 Bob의 컴퓨터에 들어갑니다. 이를 방지하려면 SSL 검사를 사용하여 암호화된 트래픽을 검사할 수 있습니다.

 

2. SSL 트래픽 검사의 유형

FortiGate SSL 검사에는 인증서 검사, 정밀검사 두 가지 유형이 있습니다.

2-1. SSL 인증서 검사

이 방식을 사용하면 FortiGate는 세션이 시작될 때 SSL/TLS 핸드셰이크를 검사합니다. 이를 통해 FortiGate는 웹 서버의 신원을 확인하고 웹 필터링을 사용하여 차단한 사이트에 액세스 하기 위한 해결 방법으로 HTTPS 프로토콜이 사용되지 않도록 합니다.

SSL 인증서 검사 모드에서 사용할 수 있는 유일한 보안 기능은 웹 필터링입니다. 이 방법은 인증서 오류를 발생시키지 않으며 웹 필터링을 사용할 때 SSL 심층 검사에 대한 유용한 대안이 될 수 있습니다.

 

2-2. SSL 심층 검사

전체 검사라고도 하는 SSL 심층 검사를 사용하면 FortiGate는 원래 SSL 세션의 수신자를 가장한 다음 콘텐츠의 암호를 해독하고 검사하여 위협을 찾아 차단합니다. 콘텐츠가 안전하면 FortiGate는 콘텐츠를 다시 암호화하여 실제 수신자에게 보냅니다.

웹 필터링을 포함하여 SSL 심층 검사를 통해 모든 유형의 보안 스캐닝을 적용할 수 있습니다. 심층 검사는 HTTPS를 사용하는 공격으로부터 사용자를 보호할 뿐만 아니라 SMTPS, POP3S, IMAPS 및 FTPS와 같이 일반적으로 사용되는 SSL 암호화 프로토콜로부터 사용자를 보호합니다.

 

B. Fortigate의 SSL 검사

1. 특징

FortiGate SSL 검사를 사용하려면 SSL 검사 프로필을 방화벽 정책에 적용합니다. FortiOS에는 4개의 사전 로드된 SSL 검사 프로필이 포함되어 있으며 그 중 3개는 읽기 전용입니다.

네 번째 사전 로드 프로필인 custom‑deep‑inspection을 편집할 수 있습니다. 또한 읽기 전용 프로필을 복제하거나 사용자 정의 검사 프로필을 생성할 수도 있습니다.

FortiGate CA 인증서를 사용하여 SSL 심층 검사를 사용하면 HTTPS 사이트에 연결할 때마다 브라우저에 인증서 경고가 표시됩니다. 이는 FortiGate가 다음과 같은 인증서를 생성하기 때문에 발생합니다. 올바른 사이트에 있지만 브라우저가 기본적으로 신뢰하는 CA가 아닌 FortiGate CA에 의해 서명되었습니다. 이는 FortiGate가 중간자 공격을 수행하는 것처럼 보입니다.

예를 들어 네트워크 사용자가 facebook.com에 연결합니다. Facebook 웹 서버의 트래픽은 잘 알려진 CA에서 서명한 실제 Facebook 인증서를 사용합니다. FortiGate는 이 트래픽을 가로채서 해독합니다. 그런 다음 안전하다고 판단되면 FortiGate는 트래픽을 최종 사용자에게 전달합니다. 이제 트래픽은 facebook.com이라는 이름의 인증서를 사용하지만 인증서는 FortiGate CA에서 서명됩니다.

SSL 인증서 검사를 사용하는 경우에도 인증서 오류가 나타날 수 있습니다. FortiGate는 CA 인증서를 사용하여 HTTPS를 통해 차단된 사이트를 탐색하려고 할 때 나타나는 대체 메시지를 암호화하기 때문입니다.

인증서 경고를 방지하려면 다음 중 하나를 수행하면 됩니다.

-  Fortinet CA SSL 인증서를 다운로드하여 모든 워크스테이션에 신뢰할 수 있는 루트 기관으로 설치합니다. 

-  CA에서 발급한 SSL 인증서를 사용하고 필요한 브라우저에 인증서가 설치되어 있는지 확인하세요.

 

C. Fortigate 정책에 SSL 심층 검사 적용

방화벽에 SSL 심층 검사를 적용하는 방법에 대해서 알아보도록 하겠습니다. 먼저, GUI에 접속하여 Security Profiles의 하위 메뉴인 SSL/SSH Inspection으로 접근합니다. 기본적으로 미리 로드가 되어있는 4개의 프로필을 볼 수 있습니다. 여기서 custom-deep-insepction의 프로필만 우리가 편집을 할 수가 있습니다.

다시 Policy & Objects의 하위메뉴인 Firewall Policy로 접근하여 적용할 정책을 클릭합니다. 여기선 Full Access 정책에 접근을 하네요. 

정책 편집에 들어가 스크로를 내리면 위와 같이 AnitVirus, Web Filter 등등 많은 옵션들이 있습니다. 우리는 여기서 AntiVirus와 SSL 검사를 심층 검사(deep-inspection)로 설정할 것입니다. 설정 후 OK 버튼을 눌러 적용하도록 합니다. 

설정이 되면 상기와 같이 정책에 활성화한 옵션을 볼 수 있습니다. 

 

D. CA 인증서 설치

C 과정을 문제없이 진행한 후 브라우저를 통해 인터넷 사이트에 접근을 하게 되면 상기와 같이 인증서 오류 메세지를 보게되실 겁니다. 이를 해결하기 위해 CA 인증서 설치가 필요합니다. 지금부터 설명드릴 방식은 브라우저, OS에 따라 다를수도 있으니 참고바랍니다. 여기선 MS의 윈도우와 구글의 크롬을 기반으로 설명합니다. 

다시 포티게이트로 돌아가 Securitiy Profiles의 하위 메뉴인 custom-deep-inspection 프로필을 클릭합니다. 

CA certificate란 항목에 Download 버튼을 클릭하여 인증서를 받습니다. 후에 해당 인증서 파일을 오픈합니다. 후에 인증서 설치를 진행합니다. 

설치시 경로는 Trusted Root Certfication Authorities로 지정합니다.  후에 설치를 계속 진행합니다. 

설치중 상기와 같이 인증서 경고창이 나타납니다. Yes 버튼을 클릭하여 설치를 마무리합니다. 

다시 인터넷 브라우저를 통해 사이트에 접근해보면 인증서 오류가 나타나지 않는걸 확인 할 수 있습니다.

 

E. SSL 검사에서 특정 사이트 예외하기

주소, 카테고리, 허용리스트로 특정 사이트를 SSL 검사에서 예외할 수 있습니다. 이번 강의에서는 Facebook을 예외해보도록 하겠습니다. 

먼저 Fortigate의 custom deep inspection 편집 창으로 돌아갑니다.  스크롤을 내리면 상기와 같이 특정 주소를 추가하여 SSL 검사 예외 할 수있습니다. 

 

Facebook.com을 추가하기 위해 + 버튼을 클릭 후 주소를 해당 리스트에 추가해 주도록합니다. 만약 주소가 없다면 Create 버튼을 눌러 주소를 먼저 생성해 주도록합니다. Wildcard FQDN을 클릭 하여  사진과 같이 애스터리스크와 facebook.com을 입력 후 생성을 마무리합니다. 후에 해당 주소를 리스트에 추가 후 편집을 마무리합니다. 

브라우저를 통해 페이스북에 접속 뒤 인증서를 살펴보면 Facebook 자체의 인증서가 보이시는걸 확인 할 수 있습니다.  비교를 위해 아래에 예외 전의 인증서 정보를 추가해 두도록 하겠습니다.