CZ 
15.04.2026 Anastázie VÍTEJTE V MÉM SVĚTĚ

An English translation is available for this article. Pro tento článek je dostupný anglický překlad.
FortiGate to FortiAnalyzer Connectivity Issue After Upgrade

Problém s připojením FortiGate k FortiAnalyzer po upgradu

| Petr Bouška - Samuraj |
Po aktualizaci FortiAnalyzer 7.6.4 na verzi 7.6.6 se odpojil jeden FortiGate VM a hlásil se jako neautorizovaný. Problém byl způsoben vynuceným ověřování na základě certifikátu pro OFTP spojení k FortiAnalyzer (místo dřívějšího jména a hesla). A zároveň špatným Common Name u FortiGate Factory certifikátu. Popíšeme si tři možná řešení tohoto problému. Povolení legacy auth, nové vystavení továrního certifikátu a použití vlastního certifikátu.
zobrazeno: 1 506x (533 CZ, 973 EN) | Komentáře [1]

Popis situace

Řešíme zde starý FortiGate, který je již z roku 2018. Jedná se o FortiGate-VM64 (model FG-VM00), tedy virtualizovanou verzi. Postupně byl upgradovaný z verze FortiOS 5.6.3 na 7.2.13.

Spolu s dalšími FortiGate je připojen k FortiAnalyzer VM (FAZ). Proběhl standardní upgrade FortiAnalyzer 7.6.4 na FortiAnalyzer 7.6.6. Po upgradu se virtuální FortiGate hlásil na FortiAnalyzer jako Down, ostatní korektně fungovali. Na straně FortiGate byl stav FortiAnalyzer Unauthorized a autorizace neproběhla (FortiAnalyzer informoval, že není žádné zařízení k autorizaci).

FortiGate - Logging Settings - FortiAnalyzer Unauthorized

Podle FortiAnalyzer Compatibility Tool jsou verze navzájem kompatibilní. Přesto jsem nejprve zkusil upgrade FortiOS na 7.4.11, což situaci nijak nezměnilo. Ověřil jsem, že komunikace je stále funkční a problém se děje při využití UDP i TCP.

Troubleshooting problému spojení

Řešení různých problémů s komunikací mezi FortiGate a FortiAnalyzer je popsáno v Troubleshooting Tip: FortiGate to FortiAnalyzer connectivity. Ale problém popisovaný v tomto článku zde uveden není.

Kontrola konfigurace na FortiGate

Dvě možnosti, jak se podívat na aktuální konfiguraci pomocí CLI.

FW1 # config log fortianalyzer setting

FW1 (setting) # show
config log fortianalyzer setting
set status enable
set server "192.168.251.50"
set serial "FAZ-VMXXXXXXXX"
set source-ip "192.168.251.100"
set upload-option realtime
set reliable enable
end

FW1 # get log fortianalyzer setting
status              : enable
ips-archive         : enable
server              : 192.168.251.50
alt-server          :
fallback-to-primary : enable
certificate-verification: enable
serial              : "FAZ-VMXXXXXXXX"
server-cert-ca      :
preshared-key       :
access-config       : enable
enc-algorithm       : high
ssl-min-proto-version: default
conn-timeout        : 10
monitor-keepalive-period: 5
monitor-failure-retry-period: 5
certificate         :
source-ip           : 192.168.251.100
interface-select-method: auto
upload-option       : realtime
reliable            : enable
priority            : default
max-log-rate        : 0

Test spojení

Test spojení z FortiGate na FortiAnalyzer ukazuje pouze, že je problém s autentizací.

FW1 # execute log fortianalyzer test-connectivity
Failed to get FAZ's status. Authentication Failed. (-19)

Debug FortiAnalyzer

Připojíme se na CLI FortiAnalyzer a spustíme debug. Ideální je ukládat výstup do souboru, protože se může logovat řada informací. V PuTTY jde o standardní nastavení, Fortinet má návod Technical Tip: How to create a log file of a session using PuTTY .

Debug OFTP zde spouštíme s filtrem na IP adresu FortiGate (můžeme i bez zadání adresy).

diagnose debug application oftpd 8 192.168.251.100
diagnose debug enable

Pro vypnutí debugování použijeme.

diagnose debug disable

logu najdeme některý začátek komunikace našeho FortiGate zařízení. Je zajímavé si všimnout dvou fází, které probíhají. Nejprve se navazuje SSL spojení, kdy se ověřuje certifikát FortiGate (a jeho CA). Standardně je vystaven od Fortinet. Po navázání spojení se do logu uloží různé informace o FortiGate. Níže je pár vybraných událostí.

[T4937:oftps.c:2148 :192.168.251.100] SSL clienthello incoming on sockfd[18]
[T4937:oftps.c:1465] -- SSL server got SNI: 'fortinet-ca2.fortinet.com', SSL_CTX located: 0x5578491b5bf0, idx=0
[T4937:oftps.c:598] VERIFY OK: depth=2, /C=US/ST=California/L=Sunnyvale/O=Fortinet/OU=Certificate Authority/CN=fortinet-ca2/emailAddress=support@fortinet.com
[T4937:oftps.c:598] VERIFY OK: depth=1, /C=US/ST=California/L=Sunnyvale/O=Fortinet/OU=Certificate Authority/CN=fortinet-subca2001/emailAddress=support@fortinet.com
[T4937:oftps.c:598] VERIFY OK: depth=0, /C=US/ST=California/L=Sunnyvale/O=Fortinet/OU=FortiGate/CN=FortiGate/emailAddress=support@fortinet.com
[T4937:oftps.c:1804 :192.168.251.100] ssl verify peer cert
[T4937:oftps.c:1826 :192.168.251.100] Peer is using a fortinet certificate. ON=Fortinet
[T4937:oftps.c:1839 :192.168.251.100] Peer cert info, CommonName(CN=FortiGate). 
[T4937:oftps.c:2160 :192.168.251.100] SSL_accept one client SUCCESS [ protocol : (772) TLS 1.3  ]
[T4939:login.c:3443 :192.168.251.100] host = 'FW1'
[T4939:login.c:3489 :192.168.251.100] Version: FortiGate-VM64 v7.4.11,build2878,260126 (GA.M)

V druhém korku probíhá ověření FortiGate. Zde se zalogovala chyba, která napoví více o aktuálním problému.

[T4938:login.c:4129 :192.168.251.100] Error No legal SN found in cert and legacy auth mode disabled
[T4938:main.c:4927 :192.168.251.100] LOGIN_REQUEST_LEGACY error:  [handle_login_legacy():4199] invalid device id

Debug FortiGate

Můžeme provést degug i na straně FortiGate, ale zde chyba neposkytne příliš informací.

diagnose debug app fgtlogd 255
diagnose debug app miglogd 255
diagnose debug enable

<4871> __on_connect()-1753: oftp_connect(global-faz) failed: oftp failed to authenticate.

Problém autentizace FortiGate na FortiAnalyzer

Podle chyby No legal SN found in cert and legacy auth mode disabled můžeme rychle nalézt článek Technical Tip: FortiAnalyzer rejects the FGFM/OFTP connection attempts.

Příčina problému

FortiGate komunikuje s FortiAnalyzer pomocí OFTP protokolu (Optimized Fabric Transfer Protocol) na UDP nebo TCP portu 514. FortiAnalyzer nově vynucuje autentizaci certifikátem a ověřuje, zda pole Common Name (CN) obsahuje sériové číslo (SN) zařízení. Dříve se používalo ověření jménem a heslem.

Pozn.: Nenalezl jsem nikde v dokumentaci, kdy k této změně došlo. Čekal bych, že se na to bude upozorňovat v Release Notes a What’s New. Ve verzi FortiAnalyzer 7.6.4 jsem tento problém ještě neměl.

Kontrola certifikátu

Jako výchozí se pro připojení na FortiAnalyzer používá (vestavěný tovární) certifikát Fortinet_Factory. V mém případě obsahovalo CN text FortiGate místo sériového čísla zařízení.

Informace o certifikátu nalezneme v GUI.

  • (Global/VDOM) - System - Certificates (Local Certificate)
FortiGate Fortinet_Factory certificate - Common Name FortiGate

Nebo pomocí CLI.

get vpn certificate local details

Možná řešení problému autentizace na FortiAnalyzer

Je několik možností, jak vyřešit autentizaci a opět zprovoznit komunikaci FortiGate na FortiAnalyzer.

Povolení staršího režimu ověřování

V několika článcích je popisováno následující řešení. Povolit Legacy Authentication na FortiAnalyzer pomocí nově přidaného příkazu. Podle informací je často toto řešení potřeba použít pro připojení FortiWeb, FortiMail nebo FortiADC.

config system log settings
    set legacy-auth-mode enable
end

Během krátké doby po povolení staršího ověřování se FortiGate připojil a logy se začaly přenášet.

Přegenerování továrního certifikátu

S problémem jsem se obrátil na Fortinet Support. Jejich stručná odpověď byla, že na standardních VM zařízeních je možno znovu vygenerovat certifikát se sériovým číslem zařízení. V některých případech to nemusí být možné, pak je potřeba použít alternativní (vlastní) certifikát.

Znovu jsem hledal na internetu a našel článek uvedený výše. Řeší jinou situaci, ale stejný problém s certifikátem. Pomocí příkazu, který stáhne licenci z internetu (z FortiCare), má dojít také k vygenerování nového certifikátu. Méně příjemné je, že dojde k restartu FortiGate.

FW1 # execute vm-license FGVMXXXXXXXX

This operation will reboot the system !
Do you want to continue? (y/n)

Zadáváme VM License Token, což je sériové číslo zařízení (v příkladu FGVMXXXXXXXX). Vidíme jej v GUI nebo můžeme zobrazit více způsoby v CLI.

FW1 # get system status | grep "Serial-Number"
Serial-Number: FGVMXXXXXXXX

FW1 # diagnose debug vm-print-license
SerialNumber: FGVMXXXXXXXX

Použití alternativního certifikátu

Pro některé situace je nejlepší možnost použít vlastní certifikát. V tomto případě není potřeba restart FortiGate. Fortinet bohužel nemá žádný popis, který by se věnoval nastavení certifikátu na FortiGate pro OFTP autentizaci na FortiAnalyzer. Výše uvedené články popisují jiné situace. Zkusil jsem intuitivní postup, který se nakonec (po problémech s typem certifikátu) ukázal jako funkční a je popsán níže.

Kroky nastavení vlastního certifikátu pro komunikaci FortiGate na FortiAnalyzer

  • vystavit certifikát od vlastní CA
  • nahrát certifikáty CA na FortiGate i FortiAnalyzer
  • importovat vystavený certifikát s privátním klíčem na FortiGate
  • nastavit tento certifikát na FortiGate pro připojení na FortiAnalyzer

Problém se špatným certifikátem

Na začátek upozorním na možný problém s certifikátem (i když je to logické, tak mne to nenapadlo). Provedl jsem popsané kroky, certifikát vystavil jako Web Server Certificate. Ale připojení na FortiAnalyzer stále nefungovalo. Debug na FortiAnalyzer logoval následující události, kde je vidět, že se nenavázalo SSL spojení.

[T4939:oftps.c:2148 :192.168.251.100] SSL clienthello incoming on sockfd[18]
[T4939:oftps.c:1436 :192.168.251.100] dft-idx=0 inited=1.
[T4939:oftps.c:1927 :192.168.251.100] SSL socket[18] pid[1685] ssl[0x7f95400681b0] SSL_new() success.
[T4937:oftps.c:2189 :192.168.251.100] SSL accept failed. SSL_accept()=-1 SSL_get_error()=5
[T4937:oftps.c:2342 :192.168.251.100] SSL pid[1685] ssl[0x7f95400681b0] shuting down sockfd[18] ip[192.168.251.100] connected[1]
[T4937:oftps.c:2355 :192.168.251.100] SSL_shutdown Error. SSL_get_error[1]

Nepovedlo se mi k chybě nic nalézt, ale poradili na Fortinet Supportu, odkud mi poslali odkaz na výše uvedený článek.

Certifikát musí mít Enhanced Key Usage účel Client Authentication. Je zajímavé, že ve vlastnostech certifikátu Fortinet_Factory tento účel nevidím. Ale při použití OpenSSL se informace zobrazí.

c:\> openssl x509 -noout -text -purpose -in Fortinet_Factory.cer

...
Certificate purposes:
SSL client : Yes
SSL client CA : No
SSL server : Yes
SSL server CA : No

Musel jsem tedy na certifikační autoritě vystavit nový certifikát. V případě MS CA je možno použít třeba šablonu Computer. Ideálně vytvoříme kopii, kterou upravíme. S tímto certifikátem, již připojení fungovalo.

Import certifikátů na FortiAnalyzer

  • System Settings - Certificates - Create New/Import - CA Certificate

Nahrajeme certifikát(y) certifikační autority.

Import certifikátů na FortiGate

  • (Global/VDOM) - System - Certificates - Create/Import - CA Certificate

Nahrajeme certifikát(y) certifikační autority.

  • (Global/VDOM) - System - Certificates - Create/Import - Certificate

Nahrajeme vystavený certifikát s privátním klíčem (například v PFX), který musí mít v Subject v Common Name sériové číslo FortiGate. Musí mít účel Client Authentication. Certifikátu nastavíme určité jméno.

Nastavení certifikátu na FortiGate

V konfiguraci zadáme jméno našeho certifikátu a ten se začne využívat pro připojení i autentizaci na FortiAnalyzer.

FW1 # config log fortianalyzer setting
FW1 (setting) # set certificate OFTP_authentication
FW1 (setting) # end

In order to verify identity of FortiAnalyzer serial number is needed.
If serial number is not set, connection will be set as unverified and
access to local config and files will be accessible only with user name/password.
FortiGate can establish a connection to obtain the serial number now.Do you want to try to connect now? (y/n)y

Obtained serial number from X509 certificate of Fortianalyzer is: FAZ-VMXXXXXXXX
Serial number from certificate MUST be the same as serial number observed in Fortianalyzer.
If these two serial numbers don't match, connection will be dropped.
Please make sure the serial numbers are matching.
In case that Fortianalyzer is using a third-party certificate, certificate verification must be disabled.
Do you confirm that this is the correct serial number? (y/n)y

serial to be set:FAZ-VMXXXXXXXX

Související články:

Fortinet FortiGate a další

Bezpečnostní řešení firmy Fortinet. Nejvíce zaměřeno na Next Generation Firewall (NGFW) FortiGate. Konfigurace FW, politik, NATu, ale také VPN a možností autentizace. Okrajově práce s logy pomocí FortiAnalyzer a s klienty pomocí FortiClient EMS.

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře
  1. [1] MarcoF

    Hi Petr,

    great job here, this article is excellent.

    I ran into this exact issue today, now it's working correctly using the Legacy Authentication method. I tried using an alternative cert but my FAZ didn't like it for some reason... Funnily the authentication showed VERIFY OK on CA and FG certs, but at a latter stage I got:

    [handle_login_legacy:3641 10.55.126.254] Error No legal SN found in cert and legacy auth mode disabled

    [__helper_thr_run_task:3986 10.55.126.254] LOGIN_REQUEST_LEGACY error: [oftp_get_opt_timezone():2789] timezone parse error: GMTa-1

    Of course, the SN is shown in the CN field and the timezone... it is just correctly set on both sides.

    Anyway, no custom cert but my setup is working now, so... Kudos to you! :)

    Středa, 18.03.2026 02:36 | odpovědět
Přidat komentář

Vložit tag: strong em link

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách