반응형

Fortigate scripts 사용 방법

많은 양의 객체를 만들 때 사용하면 편리한 기능

사용 방법 확인해보기

먼저 Fortigate GUI > 오른쪽 상단 login 계정 > Configuration > Scripts

Scripts 화면으로 넘어와서 Run Script를 클릭해 주면 되는데 하기 앞서 Script 파일을 만들어 줍니다.

메모장을 실행 한 다음 Fortigate CLI 명령어를 그대로 입력합니다.

address를 생성 하기 위해서는 CLI 접속 후

config firewall address 입력 그 다음

edit <address name>

이러한 방식으로 순서대로 입력해서 만들어 주시면 됩니다.

script를 통해서 address 뿐만 아니라 라우팅, vpn, 정책 등 거의 모든 생성할 수 있습니다.

만약 여러 대의 장비에 공통된 정책이나 객체가 필요할 시 Fortimanager가 있다면 한번에 내려줄 수 있겠지만

Fortimanager가 없다면 script를 사용하면 좋겠죠

이건 script를 넣기 전에 IP Range/Subnet 상태입니다.

 

 

위에 만들어 놓은 script 파일이 Local PC에 저장되어 있으니 Local > Browse 클릭하고 해당 파일을 선택해 줍니다.

위에 말씀드린 것처럼 Fortigate CLI 순서대로 입력만 잘 해놓으시면 script가 Success 상태로 나옵니다.

다시 address 탭으로 돌아가 script로 추가한 IP-Subnet 내역이 잘 생성되어 있는지 확인하면 됩니다.

이상

Fortigate scripts 사용 방법 확인하기 끝

반응형
반응형

Fortigate GUI에서 Process List 확인 방법

현재 Fortigate 7.0.x 버전까지는 Fortigate에서 실행중인 Process를 보려면 CLI에서 확인해야 했습니다.

CLI에서 확인 명령어 : diagnose sys top <> <>

명령어 입력 시 위 이미지처럼 Process List들이 출력됩니다.

하지만

 

 

FortiOS 7.2 이상의 버전부터는 GUI에서도 Process 확인이 가능합니다.

Fortigate GUI에 접속 후 오른쪽 상단

admin > System > Process Monitor

Process Monitor 진입하면 확인이 가능합니다.

CLI보다 보기 편한 것 같아서 좋다고 느껴집니다.

Fortigate GUI에서 Process List 확인 방법 알아보기 끝

반응형
반응형

Fortigate 초기화 및 펌웨어 업그레이드 방법

먼저 Fortigate 초기화 방법부터 알아보겠습니다.

기본적인거라 아주 간단합니다.

Fortigate 초기화는 CLI에서

#execute factoryreset

이라는 명령어를 입력해주시면 됩니다.

입력하시면 아래와 같이 메시지가 나오는데 해당 장비를 기본값으로 설정하겠습니까 ? 라는 알림입니다.

여기서 말하는 기본값은 처음 Fortigate 장비를 받았을 때 기본적인 IP(192.168.1.99)만 세팅되어 있는 상태입니다.

 

그 다음

Fortigate 펌웨어 업그레이드 방법

먼저 Fortigate 펌웨어를 다운 받아야 합니다.

ex) 6.2.x > 6.4.x로 업그레이드를 진행한다고 하면 upgrade path를 확인 후 path에 필요한 펌웨어를 다운 받아야 합니다.

 

fortigate firmware upgrade path 확인

fortigate firmware upgrade path upgrade path를 확인하여 올바른 firmware upgrade 진행 upgrade path를 확인하고 진행해야 하는 이유 fortigate는 firmware upgrade 시 CLI에서만 변경 가능한 설정이라던가 다른 세부적인

dyjj.tistory.com

upgrade path 관련은 위 링크 참조

다운로드 후 Fortigate GUI > System > Firmware으로 들어가

Browse 클릭하고 다운로드한 펌웨어를 올려주면 된다.

Fortigate 초기화 및 펌웨어 업그레이드 방법 알아보기 끝

반응형
반응형

Fortigate Web Filtering cache 설정

Fortigate Web Filtering category based 사용 시 Fortigate는 FortiGuard로 URL 쿼리를 합니다.

동작 방식 아래 링크 rating service 참조

 

Fortigate signature update 및 rating service use port

Fortigate signature update 또는 rating service에는 각각의 다른 포트를 사용합니다. 먼저 Fortigate signature update는 Antivirus, IPS, Application등 Fortigurad로부터 signature를 update 받아 사용합니다. 정상적으로 signature

dyjj.tistory.com

URL 쿼리 후 받은 결과값을 Fortigate는 cache 합니다.

사용자가 해당 URL로 재접속 시도를 할 경우 Fortiguard로 URL 쿼리하기 전에 먼저 cache를 확인하고 TTL 아직 남아있으면 cache된 결과값으로 응답합니다.

TTL Default값은 3600초입니다.

확인하는 명령어는 CLI > config system fortiguard로 진입 후 get

 

 

그 다음 스크롤을 내리게 되면

webfilter-cache : cache 활성화 / 비활성화 

webfilter-cache-ttl : cache 되는 시간 초 단위이고 최소 300초 최대 86400초까지 설정이 가능합니다.

주의할 점은 cache 목록이 너무 많이 늘어나게 되면 메모리에 영향을 줄 수 있습니다.

그럴땐 ttl값을 조정해주시거나 cache 목록을 clear 해주어야 합니다.

clear 명령어 : diagnose webfilter fortiguard statistics flush

cache 목록 확인 명령어 : diagnose webfilter fortiguard statistics list

이상

Fortigate Web filtering cache 설정 및 확인해보기 끝

반응형
반응형

Fortigate signature update 또는 rating service에는 각각의 다른 포트를 사용합니다.

먼저 Fortigate signature update는 Antivirus, IPS, Application등 Fortigurad로부터 signature를 update 받아 사용합니다.

정상적으로 signature update를 받기 위해선

Fortigate는 update.fortiguard.net과 통신이 되어야 하는데,

Fortiguard에서는 주기적으로 signature를 update하므로 update 마다 다운로드하기 위해서는 위 update.fortiguard.net과 주기적으로 통신이 되어야 하고 port는 HTTPS 443을 사용합니다.

signature update 확인 방법은 GUI와 CLI 둘 다 가능합니다.

GUI에서는 System > Fortiguard에서 확인하려고 하는 기능에 마우스를 올리면 언제 마지막으로 update가 되었는지 expired date가 나오는데 signature update는 expired date까지만 signature update가 가능합니다.

참고 아래 스크린샷은 라이선스가 없는 Fortigate입니다 ^^

CLI에서는 명령어 diagnose autoupdate versions 입력 시 확인이 가능합니다.

 

 

Fortigate rating service의 Antispam 및 web filtering은 Fortiguard에 쿼리를하고 결과값을 받아 정의된 Action에 따라 동작합니다.

쿼리하는 URL은 service.fortiguard.net입니다.

예를 들어 Fortigate 하단의 client가 www.naver.com을 접속합니다.

그러면 Fortigate는 Fortiguard에 www.naver.com라는 URL을 쿼리하고 Fortiguard URL DB에 정의된 값을 얻습니다.

www.naver.com은 Search Engines and Portals에 포함되어 있고 default Action은 pass입니다.

추가로 Fortiguard는 약 3억개의 URL DB를 가지고 있으며

그 중 약 6천개의 차단되는 악성, 피싱, 스팸 URL을 가지고 있습니다.

Fortigate rating service에 사용되는 Port는

- UDP 8888, 53

- HTTPS 8888, 53, 443

Fortigate rating service도 GUI System > Fortiguard에서 확인이 가능하며

rating service의 경우 expired date까지만 쿼리하므로 라이선스가 expire되면 쿼리를 하지 못해 web 접속이 되지 않아 장애상황이 발생할 수 있습니다.

그러므로 라이선스를 갱신하지 않는다면 expired date에 맞춰 기능을 꺼주시는 게 좋습니다.

마지막으로!

Fortigate signature update 및 rating service는 라이선스가 필요한 기능입니다.

Fortigate signature update 및 rating service use port

알아보기 끝

 

반응형
반응형

Fortigate Route Selection Process

Fortigate routing 설정 시 경로가 둘 이상일 경우 라우팅을 선택하는 프로세스 알아보기

1. Most Specific route

먼저 Fortigate는 서브넷이 작은 경로를 선택합니다.

예를 들어,

1. 목적지 0.0.0.0/0 port1로 설정된 라우팅 경로

2. 목적지 192.168.1.0/24 port2로 설정된 라우팅 경로

위 처럼 설정되어 있을 시 192.168.1.0/24의 서브넷은 0.0.0.0/0에도 포함됩니다.

이럴 경우 192.168.1.0/24의 경로는 port2를 선택합니다.

 

2. Lowest distance

목적지가 동일한 경우

0.0.0.0/0의 wan1,2로 두 개의 라우팅 경로가 존재할 경우

라우팅 설정값인 distance를 보게되는데

더 낮은 distance값이 우선이 됩니다.

wan1 distance : 5

wan2 distance : 10

으로 설정된 경우 wan1의 경로 선택

 

3. Lowest metric(dynamic routes) and priority (static routes)

그 다음

목적지도 동일하고 distance값도 동일할 경우

dynamic route의 경우 metric

statice route의 경우 priority

값이 낮은 경로 보고 선택합니다.

 

4. ECMP (Equal cost multipath)

목적지 distance, metric 또는 priority가 모두 동일할 경우

ECMP로 트래픽을 분산하여 보내게 동작합니다.

ECMP에 대해선 나중에 따로 포스팅하겠습니다!!

이상

Fortigate Route Selection Process

알아보기 포스팅 끝

반응형
반응형

fortigate diagnose debug cli GUI 설정 변경 출력

fortigate GUI에서 설정 변경 후 설정 변경되는 부분이 cli에서 출력됩니다.

가끔 GUI에서 변경하는 부분이 cli에서는 어떤 명령어를 입력해야 하는지 헷갈리거나 모를 때가 있습니다.

해당 명령어를 사용하여 변경되는 부분이 출력되어 확인이 가능합니다.

GUI > Network > Interface

fortigate diagnose debug cli

먼저 putty로 fortigate cli로 접속합니다.

diagnose debug cli 7

diagnose debug enable

DMZ Interface에서 SSH가 disable이었는데 enable을 활성화 시켜줍니다.

Interface로 진입하는 순서대로 나옵니다.

config system interface > edit emz > set allowaccess ping https "ssh" fgfm fabric

마지막 end까지

이러한 방법으로 평소 몰랐던 명령어를 확인할 수 있습니다.

저는 GUI에서 스위치나 AP 설정 변경하는 부분을 cli에서 하는 방법을 잘 몰랐는데.. 유용한 것 같습니다.

 

fortigate diagnose debug cli GUI 설정 변경 출력

반응형
반응형

fortigate routing table 확인 명령어

물론 GUI에서도 확인 가능합니다!

먼저 현재 장비의 routing 설정

default routing이 두개 설정되어 있습니다.

상세 설정의 차이점은

wan1의 경로는 distance : 5

wan2의 경로는 distance : 100

Fortigate OS 6.4 이상에서는 GUI > Dashboard > Network > Routing

현재 routing table에는 wan1의 default routing과 connected routing이 활성화 되어 있습니다.

wan1의 경로의 default routing만 보이는 이유는 fortigate 경로를 선택하는 우선순위가 있는데

첫번째는 작은 서브넷 단위

두번째는 distance가 낮은 것

세번째는 priority가 낮은것(dynamic routing인 경우 mectric)

네번째는 위 세가지 조건이 모두 동일하다면 ECMP로 동작(ECMP는 나중에 따로 포스팅)

그래서 지금은 첫번째 조건은 동일하고 두번째 조건 distance가 wan1이 낮기 때문에 wan1의 경로가 활성화 되어 있습니다.

추가로 PBR(Policy Based Routing)은 static & Dynamic 옆에 policy를 누르면 확인이 가능합니다.

 

 

CLI에서 routing table 확인

get router info routing-table all

해당 명령어는 GUI에서 보이는 것처럼 활성화된 routing table만 보여줍니다.

get router info routing-table database

최적의 경로로 선택되지는 않았지만 설정된 모든 routing을 보고 싶다면 위 명령어를 입력하시면 됩니다.

명령어를 실행시켜보니 위에서 보이지 않던 wan2 default routing도 보입니다.

추가로 앞에 빨간색 박스 S,C는

S - static routing

C - Connected routing

이 외 O(OSPF), B(BGP) 등 다른 routing protocol이 설정되어 있다면 알파벳 앞자리가 표시됩니다.

다음 [100/0]는

100 - distance

0 - priority

이상

fortigate routing table 확인 명령어

알아보기 끝

반응형
반응형

fortigate packet sniffer 하는 방법

fortigate에서 장애처리 시 자주 사용하는 명령어

해당 명령어를 사용하여 필터를 걸어서 특정 인터페이스 또는 모든 인터페이스로 들어오는 packet을 확인할 수 있다.

fortigate packet sniffer를 잘 활용하기 위한 옵션 확인해보기

기본 명령어는

diagnose sniffer packet <Interface> <Filter> <level> <count> <tsformat> 

Interface : any 또는 특정 Interface 지정 (ex. port1, wan1등등)

Filter : ICMP, TCP, UDP, Port, Subnet, host 여러가지 조건들을 and 또는 or 조건으로 filter를 걸어서 In/Out packet 확인

level : 아래 이미지 참조

 

1~6까지 사용이 가능한데 1만 입력할 경우 IP headers만 sniffer내용에 표시

일반적으로 많이 사용하는건 4번을 많이 사용하여 IP herders와 Port names 확인

count : 해당 packet을 몇번 남길건지 생략도 할 수 있다 / 생략 시 취소하기 전까지 계속 남김

tsformat : a와 I 옵션이 있는데 a는 UTC time, I는 Fortigate에 설정된 Time 시간이 표시되어 sniffer에 표시

예시. diagnose sniffer packet any 'icmp and host 8.8.8.8' 4

이렇게 filter를 걸어서 sniffer한 경우

해당 fortigate 모든 Interface를 통과하는 icmp packet을 탐지 물론 8.8.8.8 IP에 대해서만!

이런 방법으로 filter를 걸어 fortigate In/out 되는 packet 확인이 가능

fortigate packet sniffer 하는 방법

반응형
반응형

fortigate session clear 및 list 확인 방법

CLI 명령어를 통하여 fortigate의 총 session 수 확인 또는 session 요약 또는 상세보기

그리고 특정 session을 보거나 clear 하는 방법 확인해보기

get sys session status

해당 VDOM에 총 몇 개의 session이 활성화되어 있는지 확인하는 명령어

get sys session list

활성화되어 있는 session을 간략하게 보여주는 명령어

한줄로 표시되며 source IP, destination IP, Port 정보를 포함

session 수가 많을 경우 찾고자 하는 session이 있을 때 grep 명령어를 사용하여 특정 session 확인이 가능

 

fortigate session clear 및 list 확인 방법

diagnose sys session list 명령어

위에서는 session의 정보를 간략하게 보여주었는데 위 명령어는 session의 정보를 자세하게 보여줍니다.

해당 session이 UDP인지 TCP인지 logging은 하는지 gateway정보

어떤 IP로 NAT되었는지등 세부 정보를 보여주기때문에 troubleshooting 시 자주 사용합니다.

추가로 해당 명령어도 fortigate의 활성화된 모든 session을 보여주기 때문에 filter를 걸어서 사용하는 게 좋습니다.

diagnose sys session filter 사용하여 찾고자 하는 session 확인이 가능합니다.

여러가지의 조건을 걸어서 사용할 수 있습니다.

filter 적용 후

diagnose sys session list 명령어 시 : 활성화된 session 중 filter와 match된 session만 보여줍니다.

diagnose sys session clear : 활성화된 session 중 filter와 match된 session만 삭제합니다.

주의사항

filter를 적용시키지 않고 diagnose sys session clear 시 fortigate의 모든 session이 삭제되기 때문에 filter를 걸었더라도 확인을 한 번 더 하는 게 좋습니다. 혹시 모를 장애 상황을 위해서요

fortigate session clear 및 list 확인 방법

반응형

+ Recent posts