FortiGuard라이선스가 만료된 경우, FortiGate의 각기능별 동작 가능 여부이다.
Firewall: 라이선스가 만료 되더라도 방화벽 기능은정상 동작한다.
HA: HA 기능도 라이선스와 상관없이 여전히동작한다.
AntiVirus(AV): 바이러스 탐지 기능은여전히 동작하지만, 라이선스가 만료되면 신규 바이러스에 대한 대응시그니처의 업데이트가 불가능하다.
Anti-Malware: Anti-Malware 엔진은 정상동작하지만, 새로운시그니처의 업데이트는 불가능하다.
IPS: 침입 탐지 기능은 정상적으로 동작하지만, 새로운시그니처 업데이트는 불가능하다.
Application Control: Application Control 기능은 정상적으로 동작하지만, 새로운 Application 및 새로운 버전의 Application에 대한시그니처 업데이트는 불가능하다.
VPN: IPsec VPN, SSLVPN 기능 모두정상 동작한다.
Web Filtering: Web Filtering 엔진은 여전히 동작하지만, FortiGuard로부터 Query에 대한 응답을 받지 못하기 때문에raiting 에러로web 접속이 불가능할 수 있다. FortiGuard로 Query 하지 않는 Static URL Filter 같은 기능은 라이런스가 만료되어도 여전히 사용 가능하다.
DNS Filtering: Web Filter와 동일하게FortiGuard로 query가 불가능하다. 사용자 지정 기능은 사용 가능하다.
SD-WAN: 라이선스와 상관없이정상 동작한다.
Advanced Routing: 라이선스와 상관없이정상 동작한다.
QoS & Traffic Shaping: 라이선스와 상관없이정상 동작한다.
Explicit proxy & WAN Optimization: 라이선스와 상관없이정상 동작한다.
FortiGate의 Interface가DHCP 또는 PPPoE로 IP를 할당 받은 경우, FortiGate에설정된 DNS를 사용하지 않고 DHCP 또는 PPPoE에서 할당 받은 DNS 서버를 사용하는 경우가 있다.
이는 Interface 설정의"Override internal DNS"옵션 영향이다.
Interface는 위와 같이"Override internal DNS"가 enable설정되어 있는 상황에서, System > DNS 설정에서 FortiGuard DNS를 사용하도록 설정 되어 있다.
FortiGate의 DHCP 서버의 DNS Server 설정이"Same as System DNS"라고 설정되어 있지만, FortiGate로 부터 IP를 할당받는 DHCP Client의 DNS는 "Override internal DNS"옵션에 의해 '168.126.63.1'과 '168.126.63.2'가 할당된다.
FortiGate DHCP Server 설정
DHCP Client의 DNS Server 확인
하지만FortiGate가 직접 사용하는 DNS는 DNS Protocols 옵션에 따라 조금 다르게 동작한다.
FortiGate에서 출발하는 DNS query를 암호화 해서 보내는 TLS, HTTPS 방식이 있고, 일반적인 Clear text로 보내는 UDP 방식이 있다. 암호화 해서 보내는 TLS, HTTPS 방식을 사용하려면 서버도 이를 지원해야 한다.
위 예에서 '168.126.63.1'과 '168.126.63.2'의 경우 TLS 방식을 지원하지 않는다.
DNS Protocols 옵션을 TLS로 설정하게 되면 서버가 지원하지 않는 방식이기 때문에, FortiGate에서 출발(사용)하는 DNS query는 FortiGate에 설정된 FortiGuard DNS를 사용하게 된다.
하지만 DNS Protocols 옵션을 UDP로 설정하게 되면 168.126.6.1(2) 서버가 지원방식이기 때문에, FortiGate에서 출발(사용)하는 DNS query는 "Override internal DNS"옵션에 의해 '168.126.63.1'과 '168.126.63.2'가 사용된다.
FortiGate에서는 "*.etevers.com" 처럼 wildcard FQDN을 이용하여 방화벽 정책이나, SSL inspection의 예외처리등에 사용 할 수 있다.
일반적인 FQDN(예 :www.eteversebt.com)과wildcard FQDN의 IP를 DNS query를 통해 확인하게 되는데, 그방식이 서로 다르다.
일반적인 FQDN의 경우 FortiGate에 설정된 DNS를 이용하여 FortiGate에서 출발하는 DNS query방식이고,wildcard FQDN의 경우 FortiGate를 통과하는 트래픽에서 IP를 획득한다. 즉 사용자 트래픽의 DNS query에서 IP를 획득하는 방식이다.
내부에서 외부로의 허용되는 방화벽 정책이 disable 된 예이다.
내부에서 외부로 방화벽 정책 disable
이 상황에서 일반적인 FQDN은 FortiGate가 스스로 IP를 resolve 하지만, FortiGate를 통과하는 트래픽이 없는 상태라서 wildcard FQDN은 IP를 획득하지 못한다.
외부로의 트래픽을 허용하고, 내부에서 wildcard FQDN에 대해서 DNS query가 발생하면 할수록 IP를 계속해서 획득하게 된다.
FortiGate를 통과하는 DNS query에서 IP resolve
위에서와 같이 Wildcard FQDN은 FortiGate를 통과하는 DNS query에 대해session helper를 처리하면서 IP를 획득하게 된다.
포티게이트 방화벽을 통해 IPsec 을 구성하여 전혀 다른 인터넷을 건너 특정 네트워크 영역에 존재하는 내부 네트워크에 접속할 수 있습니다.
전에 구성한 SSL VPN과는 다르게, 이는 IPsec을 지원하는 장비가 최소 2대 있어야 합니다.
일반 사용자가 이용하기에는 부담이 있으며, 기업 과 기업간에 이용하는 것이 대표적이라고 생각됩니다.
IPsec 을 위한 흐름도
115.23.91.x 아이피를 할당받은 포티게이트 본사( 본사라고 칭함 )의 내부 네트워크 영역 192.168.10.0/24에서 121.148.205.x 아이피를 할당받은 포티게이트 지점 ( 지점이라고 창함 )의 내부 네트워크 영역 192.168.20.0/24 간 Site to Site 통신을 하는 것을 목표로 두었습니다.
알아야 할 점
각 두 개의 포티게이트는 NAT을 적용받지 않았습니다.
그래서 다이렉트로 ISP의 공인 아이피를 할당 받은 상태입니다.
1. IPsec 마법사를 통해 초기 구성
VPN => IPsec Wizard 에 위치해 있으며 마법사를 통해 간단하게 구성을 할 수 있습니다.
1-1 본사( 115.23.91.x )에서 IPsec 구성
본사에서 먼저 지점을 향한 IPsec의 구성을 하겠습니다.
Site to Site 가 기본적이며, NAT 구성에서 No NAT between sites 인 경우에는 IPsec을 구성하는 포티게이트가 라우터등에 의해서 NAT의 적용을 받지 않는 경우여야 합니다.
저는 이에 해당하므로 이대로 Next 하겠습니다.
그 다음 포티게이트가 향하는 목적지의 아이피 ( remote iP )를 집어넣습니다.
Pre-shared KEY는 최소 6자리 이상의 값을 받습니다.
그 다음은 서로 다른 내부 네트워크 영역을 연결하기 위해 설정하는 부분입니다.
Local subnets은 현재 설정 중인 포티게이트의 LAN 내부 네트워크 영역 서브넷을 넣으면 되며,
Remote 는 연결의 대상이 되는 내부 네트워크 서브넷을 입력하면 됩니다.
Create 를 누르면 생성을 하고 완료합니다.
1-2 지점( 121.148.205.x )에서 IPsec 구성
본사 => 지점 방향으로 구성하였으니,
이제는
지점 => 본사를 방향으로 구성하면됩니다.
전과 같이 Site to Site 그리고 No NAT between sites 로
상황이 맞으니 NEXT
이젠 Remote IP 에서 본사쪽으로 아이피를 입력합니다.
Pre shared KEY는 서로 같게 합니다.
전과 같이 내부 네트워크 영역을 서로 연결하기 위해 알맞게 구성합니다.
이제 모두 생성하였습니다.
2. IPsec 터널링 활성화 ( Bring up )
VPN => IPsec Tunnels 이동
각 포티게이트에서 접속하여 확인하였습니다.
이제 생성한 2개의 터널을 활성화 시켜주어야 합니다.
원래는 좌측 메뉴 맨 아래에 Monitor 가 있었는데,
6.x.x 몇? 버전 이후에는 통합되었다고 저는 들었습니다.
그래서 따로 Dashboard => + 버튼을 통해 IPsec Monitor를 찾아야 합니다.
+를 누르고 위 사진과 같이 IPsec을 선택합니다.
그럼 바로 구성된 터널이 보입니다. ( 지점 포티게이트에서 보았을 때, 어느 한쪽이어도 상관X )
그럼 저 부분을 우클릭하여 Bring up 버튼을 누르면 위 사진과 같이 초록색 업로드 같은 아이콘이 생기면 활성화가 잘 된 것입니다. 안되는 경우는 구성이 잘못된 것입니다.
3. IPsec 망을 이용할 때 모니터링 상황
IPSec Monitor
IPsec Monitor 에서는 IPsec을 사용하면서 주고 받은 패킷 데이터들의 총량을 보여주며, 더 자세히는
Incoming, Outgoing 오고 가는 인터페이스마다 패킷의 크기들을 보여주었습니다.
Events
Log & Report => Events
또한 이벤트를 통해, IPsec 연결이 되는 위한 협상 ( negotiate )에 관한 정보를 알 수 있었습니다.
Firewall Policy
방화벽 정책을 통해
IPsec에 사용되는 인터페이스를 선택하여 추가적인 모니터링을 수행할 수 있습니다.
security 적용, 패킷캡처 기능 추가, 등등..
저는 지점을 향하는 본사의 IPsec 인터페이스 를 Edit 하고, 모든 세션을 기록하고, 패킷 캡처를 수행하도록 설정하였습니다.
그러고 나니, Forward Traffic에서 본사 네트워크 ( 192.168.10.10 )에서 지점 네트워크 (192.168.20.20 )로 SSH 요청 한 트래픽이 로그에 남기게 되었습니다.
더블 클릭하여 세부적인 정보를 볼 수 있습니다.
서비스 SSH, 목적지 아이피 포트는 22 등등
그 옆 Archived Data 를 통하여 패킷을 pcap 형식으로 다운받아 자세히 볼 수 있습니다.
하나의 명령으로 가능한 FortiGate에서 클라우드 통신을 모두 비활성화하고 싶을때 사용.
config system global set cloud-communication disable end
Disable all cloud communication
All cloud communication can be disabled with the following CLI command:
config system global
set cloud-communication disable
end
Theforticlddandupdateddaemons are shutdown, and multiple settings are disabled.
The following settings are automatically changed:
config system global
set endpoint-control-fds-access disable
set fds-statistics disable
unset fgd-alert-subscription
set security-rating-result-submission disable
end
config system central-management
set type none
set include-default-servers disable
end
config system fortiguard
set service-account-id ''
set auto-join-forticloud disable
set sandbox-region ''
set antispam-force-off enable
set outbreak-prevention-force-off enable
set webfilter-force-off enable
end
config system email-server
set server ''
end
config system ntp
set ntpsync disable
end
config system autoupdate push-update
set status disable
end
config system autoupdate schedule
set status disable
end
config system autoupdate tunneling
set status disable
end
config log fortiguard setting
set status disable
end
config vpn ocvpn
set status disable
end
config log fortiguard override-setting
set override disable
end
To reenable cloud communications, each individual setting must be changed after running the following CLI command:
config system global
set cloud-communication enable
end
For example, to reenable automatically connecting and logging in to FortiCloud:
config system global
set cloud-communication enable
end
config system fortiguard
set auto-join-forticloud enable
end
<아래것 CLI에 입력>
config system fortiguard
set auto-join-forticloud disable
end