www.SAMURAJ-cz.com 

19.05.2022 Ivo Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

FortiClient EMS VPN/ZTNA

Upraveno 13.03.2022 17:30 | vytvořeno 05.11.2021 16:32 | Samuraj - Petr Bouška |
FortiClient Endpoint Management Server (FortiClient EMS) slouží k centrální správě koncových stanic. Na počítačích využívá FortiClient agenta, kterého konfiguruje a získává pomocí něj informace. Podle licence máme k dispozici funkce pro vzdálený přístup, dnes označované Zero Trust Network Access (ZTNA). Nebo také Advanced Threat Protection (ATP), kde je Antivirus, Firewall a další. Zde se stručně podíváme na správu EMS a využití základní licence (nebudeme řešit pravý ZTNA princip a použití).

Pozn.: Popis v článku vychází z FortiClient EMS verze 7.0.2. Oproti předchozím řadám došlo k větším změnám (celkově ve verzi 7.0, v 7.0.2 využití certifikátu pro připojení klientů). Doplněno pár změn ve verzi 7.0.3. O změnách se můžeme dočíst v FortiClient 7.0.0 - New Features.

Pozn.: Často si stěžuji na dokumentaci Fortinetu, ohledně FortiClient EMS je to ještě horší. Vágně popsány jsou položky menu, ale vůbec se neřeší principy využití, doporučení nasazení apod. Můj popis je stručný, řada věcí vychází z testů, a věnuje se pouze vybraným oblastem. Zmateně na mne působí již názvy (a těžko se podle nich hledá) FortiClient EMS vs. FortiClient.

FortiClient EMS

Dokumentace

Vlastnosti

EMS server umožňuje řadu věcí (pravděpodobně více, než uvedu), ale některé ne moc dokonale

  • nasazení FortiClient na koncové stanice (omezení a požadavky se mi moc nelíbí, takže instalaci nevyužívám)
  • upgrade již instalovaného FortiClient (to je fajn, až na divnou konfiguraci)
  • vytváření upravených instalátorů
  • napojení na AD DS doménu (také se mi moc nelíbí)
  • nastavování politik, které mohou přiřazovat různý profil ve firmě a mimo firmu
  • vytváření profilů, které konfigurují jednotlivé komponenty FortiClient
  • FortiClient pravidelně odesílá telemetrická data (endpoint telemetry) ze stanice ne EMS, podle kterých se mohou vytvářet značky (Tag) a ty se mohou předávat na FortiGate
  • FortiClient může kontrolovat zranitelnosti v aplikacích (Vulnerability Scan) a v některých případech opravovat, EMS vše řídí a zobrazuje
  • FortiClient může využívat FortiGuard Web Filtering

Licence

Pro každého klienta (Fortinet Fabric Agent) potřebujeme licenci. Ty se zadávají na FortiClient EMS a při registraci klient odčerpá jednu dostupnou. Bez licence klient funguje omezenou pouze omezenou dobu. Licencí je několik typů a podle toho nabízí různé funkce. Vlastní On-Premises EMS server se nelicencuje.

Je možno aktivovat Trial licenci, která obsahuje 3 agenty. Docela jsem bojoval s přechodem z Trial licence na komerční.

Možné využití - VPN připojení z firemního zařízení

Fortinet dává k dispozici zdarma klienta FortiClient VPN pro vzdálené připojení do firmy (VPN tunnels). Pro podobný účel můžeme využít licenci VPN/ZTNA Edition. Dává nám navíc centrální správu (udržování aktuální verze FortiClient, konfigurace VPN připojení a chování agenta) a možnost využití Zero Trust Tags (dříve šlo o Host Tag - Compliance Verification Rules). A také podporuje (dnes ze všech stran inzerované) ZTNA tunnels.

V článku FortiGate přihlášení do SSL VPN pomocí SAML SSO vůči Azure AD jsem popisoval, že pokud pro přihlášení do VPN využijeme Azure AD MFA (Multi-Factor Authentication), tak je problém, jak identifikovat firemní počítače. K tomu můžeme využít EMS server a Zero Trust Tags. Značky se, jako seznam IP adres, předávají na FortiGate a můžeme je použít ve Firewall politikách.

Není to tak jednoduché, ani uživatelsky příjemné, jako když můžeme nastavit parametry VPN připojení a z nefiremního zařízení se uživatel nepřipojí. Když využíváme řízení pomocí Zero Trust Tags, tak se uživatel připojí do VPN vždy. FortiClient pravidelně vyhodnocuje pravidla (Zero Trust Tagging Rule) a odesílá telemetrická data na EMS (standardně každou minutu). EMS zařadí IP adresy klienta do Tagu a synchronizuje na FortiGate. Musíme využívat různé připojení pro firemní a nefiremní zařízení a pro každé přiřazovat adresy z jiného rozsahu. Politika, která povoluje VPN komunikaci, obsahuje uživatele a Tag z EMS. Pokud se změní podmínky na klientovi, tak je v krátké době vyřazen z Tagu a přestane komunikace fungovat.

Nasazení a instalace

Topologie - kam umístit server

Důležitá otázka, kterou dokumentace vůbec neřeší. Kam v síti umístit EMS server. Optimální je, aby byl pro klienty dostupný (Telemetry port) i z internetu. Takže by nejlepší vypadala DMZ síť. Pro napojení do AD DS je potřeba komunikace s doménovým řadičem. Pro úvodní nasazení klientů je dokonce potřeba SMB a RPC, což do DMZ nikdo otevřít nechce. Takže optimální odpověď si musí nalézt každý sám.

Zajímavé informace jsou v diskusi FortiClient EMS Topology?.

Instalace EMS server

Instalační soubor stáhneme z webu Fortinet Customer Service & Support, sekce Support - Downloads - Firmware Download, kde najdeme FortiClientEMS a verzi. Jde například o soubor FortiClientEndpointManagementServer_7.0.2.0123_x64.exe o velikost cca 500 MB. Instaluje se na Windows Server. Požadavky System requirements.

Stručný průběh:

  • spustíme instalátor
  • instalace proběhne automaticky (instaluje se také SQL Server 2017 Express)
  • přihlásíme se na webové rozhraní jako admin bez hesla
  • nastavíme heslo
  • zadáme licenci nebo Trial (přihlásíme se na FortiCloud)

Pozn.: Pokud chceme změnit některé hlavní parametry (jako port admin rozhraní), tak musíme spustit instalaci s parametry z příkazové řádky.

Upgrade EMS serveru

Upgrading from an earlier FortiClient EMS version

  • stáhneme novou verzi
  • spustíme instalátor
  • nedostaneme žádnou informaci, že jde o upgrade, ale ten během pár minut proběhne
  • dojde k restartu aplikačního serveru (EMS) a naběhne nová verze

Nastavení licence

Licensing EMS by logging in to FortiCloud

  • licence se musí aktivovat na webu Fortinet Customer Service & Support,
  • volí se, zda jde o Upgrade/Renewal nebo New Registration, když byla použita Trial licence, tak se patrně musí použít Renewal, když jsem zvolil novou registraci, tak vznikla na portálu dvě zařízení se stejným HW ID a synchronizace licence z EMS hlásila chybu (neproběhla)
  • zadává se tam Hardware ID z EMS (Dashboard > License Information widget > Config License)

Co dělat, když vzniknou dva produkty se stejným Hardware ID

  • Asset - Product List - zkopírujeme S/N toho, které chceme odstranit
  • More Views - Decommissioned Units - klikneme Add a přidáme zařízení
  • následně již funguje synchronizace licence z EMS

Potřebné porty pro komunikaci

Required services and ports

Příchozí komunikace na EMS

  • 443 - admin rozhraní a připojení z ForitGate
  • 8013 - FortiClient Telemetry, připojení klientů
  • 10443 - download klienta
  • 8015 - když se FortiOS připojuje jako klient?

Pokud chceme změnit port pro admin rozhraní, tak můžeme pouze při instalaci, kterou musíme provést z příkazové řádky - Installing FortiClient EMS using the CLI.

Odchozí komunikace z EMS

  • 636 - LDAPS
  • 25 - SMTP
  • 443 - HTTPS update na FortiGuard servery

Napojení FortiClient EMS na FortiGate (FortiOS)

Stručný postup

  • vytvoříme certifikát
  • PFX (certifikát s privátním klíčem) nahrajeme na EMS server
  • (patrně není třeba, načte se automaticky a autorizujeme) certifikát nahrajeme na FortiGate (CA Certificate)
  • na FortiGate - Security Fabric > Fabric Connectors - vytvoříme FortiClient EMS konektor
  • na EMS - autorizujeme žádost (Fabric Devices)
  • na FortiGate - zkontrolujeme konektor, případně autorizujeme certifikát

Výměna certifikátu na EMS, musí se vyměnit na FortiGate

Pokud vyměníme certifikát na EMS serveru, tak se konektor na FortiGate bude hlásit jako neautorizovaný. Když se podíváme na konfiguraci konektoru, tak vidíme, že je certifikát uložen podobně jako REMOTE_Cert_1.

config endpoint-control fctems
    edit "FortiClientEMS"
        set server "10.8.8.10"
        set certificate "REMOTE_Cert_1"
    next
end

Můžeme buď ručně vyměnit certifikát nebo aktuální smazat a vyvolat načtení nového (jinak také kontrolu) certifikátu z EMS.

FW (global) # config endpoint-control fctems
FW (fctems) # edit "FortiClientEMS"
FW (FortiClientEMS) # unset certificate
FW (FortiClientEMS) # end
FW (global) # execute fctems verify FortiClientEMS
...
EMS configuration needs user to confirm server certificate.
Do you wish to add the above certificate to trusted remote certificates? (y/n)y

certificate successfully verified/configured.

Základní nastavení EMS

EMS Administration Guide - Left Pane

  • System Settings > EMS Settings - IP, jméno, porty, certifikát
  • System Settings > SMTP Server - poštovní server
  • Administration > Administrators - učty správců, možné napojení na LDAP
  • Administration > Log Viewer - logy
  • Administration > Fabric Devices - připojené FortiGate a další zařízení
  • System Settings > Feature Select - můžeme skrýt funkce, které nepoužíváme, tím se vypnout také v konfiguraci

Některá nastavení v EMS Settings

  • System Settings > EMS Settings

Configuring EMS settings

  • Use SSL certificate for Endpoint Control - novinka ve verzi 7.0.2, použije SSL certifikát pro komunikaci s klienty na portu 8013, je podporováno minimálně na FortiClient 6.4.7 a 7.0.2
  • Listen on port - na jakém portu se připojují klienti, default 8013
  • Enforce invitation-only registration for - běžně se může připojit libovolný klient, který zadá správnou adresu serveru pro Telemetry, zde můžeme omezit na použití pozvánky (Invitation), po změně se odpojí klienti, kteří nesplňují podmínku
  • FortiClient telemetry connection key - klíč, který je potřeba zadat při připojení k EMS na klientovi

Klienti - koncové body (Endpoints)

FortiClient Endpoint Management Server

LDAP napojení na AD DS doménu

  • Endpoints > Manage Domains

Definujeme LDAPS připojení na doménový řadič, z kterého se v zadaném intervalu synchronizují údaje. Pro mne je docela nepřehledné. Nemůžeme definovat vybrané OU, ale načítá se vše ve volitelně zadaná cestě (DN). Jediná možnost je vytvořit několik konfigurací domény pro každé OU. V údajích vidíme počet načtených zařízení a uživatelů (ale těch je podezřele málo).

Skupiny (Groups)

Obecně můžeme využívat buď zařízení v doméně (pod Domains) nebo samostatná (pod Workgroups). Na obou místech můžeme vytvářet skupiny a do nich zařazovat zařízení (na skupiny se aplikují politiky). V doméně můžeme využít načtené LDAP skupiny, které jsou pouze pro čtení. Nebo vytvářet vlastní EMS skupiny. Pod Workgroups existuje defaultní skupina Other Endpoints.

Celé to na mne působí velmi zmateně a špatně se něco hledá. Když jsem dělal různé pokusy s nastavením domény (změny Distinguished name), tak se mi to celé rozbilo a vytvořené skupiny se ztratily.

Automatické zařazení do skupiny

  • Endpoints > Group Assignment Rules

Můžeme vytvářet pravidla, kdy se podle určitých parametrů (Installer ID, IP adresa -subnet nebo rozsah a OS) automaticky umístí zařízení do určité skupiny.

Podle dokumentace Group assignment rules bych chápal, že lze pravidla použít jak pro skupiny v doméně, tak i pracovní skupině. Při vytváření se nabízí pouze skupiny z Workgroup. Dal jsem dotaz na Support a odpověď byla, že to je pouze pro non-Domain zařízení. (Group Assignment Rules are mostly applicable for non-Domain computers. AD Group tag is an option that allows you to sort Domain devices. However, Installer ID, IP, and OS do not allow you to)

Pozvánky (Invitation)

  • Endpoints > Invitation

Pro připojení klienta se může zadat adresa serveru a port nebo použít kód pozvánky. V pozvánce je mimo jiné adresa serveru. Omezit připojení klientů pouze pomocí pozvánek je doporučeno jako bezpečnější. Pozvánka se může odeslat emailem a obsahuje link, který provede aktivaci (připojení) klienta, případně odkaz na instalaci FortiClient.

FortiClient připojení k EMS

Pozvánka může být Individual, kdy lze použít pouze jednou. Pokud se uživatel odpojí od EMS (Disconnect), tak již znovu použít nelze. Nebo Bulk, kdy není určen počet použití. Použitou pozvánku můžeme smazat a neovlivní to klienty.

Instalační ID (Installer ID)

V Group Assignment Rule můžeme využít Installer ID pro zařazení zařízení do skupiny. To můžeme zadat v Deployment Packages (FortiClient Installer) nebo jako parametr při spuštění instalace.

msiexec /i forticlient.msi GROUP_TAG=<installer_ID>
FortiClientSetup.exe /v"GROUP_TAG=<installer_ID>"

Správa koncových bodů

V seznamu klientů můžeme různě filtrovat a provádět operace s klienty. Pomocí Move to můžeme přesouvat klienty do vytvořených skupin.

FortiClient EMS Endpoints správa

Pod Action máme různé operace, některé z nich jsou

  • Deregister - odpojí FortiClient od EMS (v další FortiClient Telemetry komunikaci), je možno znovu připojit ručně ve FortiClient
  • Quarantine - umístí koncové zařízení do karantény, pokud má Application Firewall, tak blokuje přístup do sítě
  • Exclude from Management - odpojí klienta a zablokuje, takže se nemůže znovu připojit, nečerpá licenci
FortiClient EMS Endpoints akce

Nasazení a instalační balíčky (Deployment & Installers)

Instalátor FortiClient

  • Deployment & Installers > FortiClient Installer = Deployment Packages

Jako první volíme, zda jde o oficiální verzi (official release), která se stahuje z FortiGuard Distribution Servers (FDS), a k tomu Release a Patch. Nebo vlastní instalační program (custom installer), kde můžeme použít instalaci staženou z Customer Service & Support. Potřebujeme Windows 32bit a 64bit (zip soubory) a případně Mac (dmg soubor).

Dále definuje komponenty (vlastnosti), které se instalují. Můžeme přiřadit profil, Installer ID. Automaticky je spravován EMS serverem (Telemetry). Instalátor můžeme stáhnout a kdekoliv použít.

Volba Keep updated to the latest patch povolí, aby EMS vytvořilo vždy nový balíček s posledním patchem. Verze je Release.Patch, poslední číslice je patch.

FortiClient EMS Deployment Package - FortiClient Installer

Pokud instaluji FortiClient na počítač, kde byl FortiClient VPN. Tak praxe ukazuje, že je nutné nejprve odinstalovat starou verzi, provést restart a pak nainstalovat novou. Když se rovnou spustila instalace, tak se sice také odstranila stará verze, ale objevovaly se různé problémy.

Správa nasazení

  • Deployment & Installers > Manage Deployment = Deployment Configuration

Nasazení FortiClient může provést instalaci, upgrade nebo odinstalaci. Pro prvotní instalaci musí být splněno mnoho podmínek a funguje pouze pro Windows. Pokud již klienta máme (a je připojen k EMS), tak vše funguje jednoduše a lépe. Vybíráme skupinu a instalátor. Buď se spustí rovnou (po povolení) nebo v naplánovaný čas, ale můžeme zadat opravdu jen čas, ne datum či den.

FortiClient EMS Deployment Configuration

Automatický upgrade FortiClient

Deploying FortiClient software to endpoints, Deploying FortiClient upgrades from FortiClient EMS

  • vytvoříme Deployment Package - Deployment & Installers > FortiClient Installer
  • vytvoříme Deployment Configuration - Deployment & Installers > Manage Deployment
    • přiřadíme skupinu, kde má proběhnout upgrade (Endpoint Groups)
    • akce Install, vybereme Deployment Package
    • nastavíme parametry (start, reboot …)
    • uživatelský účet (Username, Pasword) se musí zadat, ale použije se jen při instalaci na počítače, kde ještě FortiClient není (další poznámka When using workgroups, the deployment configuration credentials in Deployment in FortiClient EMS are not taken into account)
    • zapneme Enable the Deployment
    • kdyže nezadáme Start at a Scheduled Time, tak se spustí rovnou (po pár minutách)
  • při připojení klienta k EMS proběhne rovnou instalace (pokud jsme nezadali čas) a vyskočí okno, zda chceme restartovat hned nebo později (opět dle nastavení)

V EMS se objevují nové verze FortiClient později, než jsou k dispozici ke stažení ze Supportu. Na FortiGuard Distribution Servers (FDS) jsou poskytovány cca o 10 dní déle. Takovou odpověď jsem dostal z podpory.

Pozn.: Tak se zase ukazuje kvalita podpory Fortinet. Pořád mi EMS nenabízí FortiClient 7.0.2, tak jsem hledal a v FortiClient 7.0.2 Release Notes uvádí, že tato verze schválně není dostupná z FDS. Mění se tam kontrola certifikátů. A asi mají bug, po upgradu se nepřipojí k EMS serveru (i když je tam důvěryhodný certifikát). Je potřeba se odpojit a znovu připojit (a pokud je pro odpojení vyžadováno heslo, tak se člověk neodpojí, protože dané heslo nefunguje).

Odinstalace FortiClient

Aby šel FortiClient odinstalovat ve Windows v programech, tak musí být nejprve odpojen od EMS.

Profily a politiky

Endpoint Profiles

  • Endpoint Profiles > Manage Profiles

Pomocí profilu konfigurujeme klienta. Povolujeme jednotlivé komponenty a nastavujeme jejich chování. V části System Settings nastavujeme globálně FortiClienta. Pro některé položky se musíme přepnout do Advanced módu. Můžeme upravit profil Default, který se aplikuje na klienty, kteří nemají přiřazen jiný profil.

FortiClient EMS Endpoint Profiles

FortiClient EMS 7.0.3 přinesl změnu, kdy se společný profil rozdělil na samostatné části pro Remote Access, Web Filter, System Settings, apod. Separate endpoint profiles

Endpoint Policy

  • Endpoint Policy & Components > Manage Policies

Pomocí politiky aplikujeme profil na určitou skupinu. Standardně vybíráme skupinu koncových zařízení, ale můžeme přidat také skupinu uživatelů z AD DS (FortiClient management based on Active Directory user/user groups). V přehledu je v sloupci Profile vidět, jak probíhá aplikace na klienty.

FortiClient EMS Endpoint Policy

Ve FortiClient EMS 7.0.3 přiřazujeme jednotlivé profily pro povolené funkce.

On-fabric Detection Rules

  • Endpoint Policy & Components > On-fabric Detection Rules

Můžeme definovat pravidla, podle kterých se určí, zda je klient připojen ve firemní síti. Podle toho můžeme aplikovat různou politiku. Kontrolovat můžeme DHCP server, DNS server, EMS připojení, lokální IP/subnet, defaultní GW, ping IP, veřejná IP, připojení Ethernet nebo WiFi, připojeno do určitého VPN tunelu. Pokud definujeme více pravidel, tak musí být splněna všechna.

Po vytvoření pravidel (Rule Set) musíme nastavit v rámci určité politiky, že se má použít tato detekce.

Zero Trust Tags

Na EMS můžeme definovat pravidla (Zero Trust Tagging Rule), která přiřadí určitý štítek (Tag) ke koncovému zařízení. EMS pak dynamicky seskupuje klienty (Endpoints) se stejným štítkem. FortiGate může využívat tyto dynamické skupiny (FortiClient EMS Tag) pro vytváření dynamických FW politik. Chování se měnilo s FortiOS 6.4.

FortiClient stahuje definovaná pravidla z EMS a vyhodnocuje při každé Telemetry komunikaci (každou minutu). A předává výsledek zpět na EMS. Změna sítě nebo odhlášení/přihlášení (také připojení/odpojení do VPN) se vyhodnocuje okamžitě a odesílá na EMS. Z EMS se Tag (okamžitě) synchronizuje na FortiGate.

Vypadá to, že ve FortiClient EMS 7.0.2 byl bug 728318 ZTNA tags sync to FortiOS is delayed. Ten byl odstraněn ve FortiClient EMS 7.0.3 EMS Release Notes. Při aktualizaci Tagu na EMS často trvalo několik minut, než se změnil Tag na FortiGate. Patrně se mi tento problém projevil více po upgradu FortiGate na FortiOS 7.0.5 (z 6.4.8).

Tag je reálně seznam IP adres (a druhá varianta seznam MAC adres), který můžeme použít v politice jako zdroj nebo cíl. Pokud se podmínky na klientovi změní, tak je odstraněn Tag a po chvíli se aktualizuje adresa na FortiGate. Na danou adresu pak politika přestane fungovat.

Tagy se na FortiGate řadí mezi speciální dynamické adresy (Addresses) a název začíná sériovým číslem EMS (to bych rád změnil na jiný text, ale patrně nelze). Je zde také řada defaultních Tagů, které na EMS nevidíme.

Při využívání Tagů je nutné pamatovat na to, že FortiClient musí být připojen k EMS serveru. Pokud připojení nefunguje, tak klient zmizí z daného Tagu.

FortiClient připojen k EMS

Přenos Tagů na FortiGate

Důležité je, že standardně se na FortiGate přenáší (a vynucuje shoda) pouze adresy zařízení, která jsou přímo připojená. To znamená, že mají FortiGate jako svoji Default Gateway. Ale můžeme to změnit v Administration > Fabric Devices, kde editujeme FortiGate a povolíme Share tag info from all FortiClients.

Pokud využíváme tagy pro VPN, tak by bylo ideální, kdyby se tam předávala pouze adresa VPN rozhraní. Ale pokud jsem nezatrhl, aby se použily všichni klienti, tak jsem nedostával žádné adresy. Takže moc nechápu, jak to defaultní chování má fungovat.

FortiClient EMS 7.0.2 FortiClient endpoint tag sharing

Nastavení se opět změnilo ve FortiClient EMS 7.0.3. Místo zatržítek vybíráme mezi

  • Share all FortiClients
  • Only share FortiClients connected to this fabric device (Recommended)
  • Share FortiClients connected to selected fabric devices

Ale oproti tomu, že v EMS 7.0.2 se mi (po zatržení) přenášely všechny IP adresy klientů v Tagu. Tak nyní je jedno, zda zvolím první nebo druhou možnost, ale přenáší se mi pouze IP adresy z VPN rozhraní (což jsem ve výsledku chtěl).

Další novinka je, že můžeme vybrat kategorii Tagů, která synchronizuje (Zero Trust Tags jsou povinné). Tag management and visibility improvement

FortiClient EMS 7.0.3 FortiClient endpoint tag sharing

Zero Trust Tagging Rules

  • Zero Trust Tags > Zero Trust Tagging Rules

Určujeme jméno pravidla a přiřazený štítek (Tag). Dále jedno nebo více pravidel (Rules). Defaultně musí být splněna všechna pravidla, ale můžeme vyhodnocovat pomocí AND a OR. Pravidla můžeme definovat různá, základní rozdělení je podle OS. Můžeme použít připojení k EMS, kontrolu registrů, souboru, IP adres, uživatel, běžící proces apod.

FortiClient EMS Zero Trust Tagging Rules

Celkově chybí nějaký přesný popis, jak jednotlivá pravidla definovat. I jejich možnosti jsou omezené. Chtěl jsem identifikovat přítomnost certifikátu, ale to mi vůbec nefungovalo (ani při nejjednodušším zadání) a definice je velmi nedostatečná pro reálné použití (mnohem horší, než na FortiGate).

Pro správu vytvořených Tagů klikneme na Manage Tags vpravo nahoře.

Zero Trust Tag Monitor

  • Zero Trust Tags > Zero Trust Tag Monitor

Zde vidíme aktivní Tagy a klienty, kteří splňují pravidla. Ve FortiClient EMS 7.0.3 jsou Tagy rozdělené do kategorií.

Použití Tagů na FortiGate 6.4

Ve FortiOS 6.2 se Tagy vkládaly do uživatelské skupiny. Ve FortiOS 6.4 jsou Tagy adresa.

Použití ve FortiOS 6.4 je jednoduché a funkční. Synchronizované Tagy vidíme mezi adresami Policy & Objects > Addresses ve skupině FortiClient EMS TAG (IP Address) a FortiClient EMS TAG (MAC Address). Při najetí na Tag se zobrazí údaje a seznam adres. Název začíná sériovým číslem EMS.

Adresy vidíme i v konfiguraci.

config firewall address
    edit "FCTEMS0000114746_Critical"
        set uuid 8a9d6b12-0648-51ec-4eb9-5149cb90bc45
        set type dynamic
        set sub-type ems-tag
    next
end

politice (Firewall Policy) použijeme Tag jednoduše. Vložíme jej jako zdroj (Source), kde se nachází mezi adresami (Address).

FortiGate 6.4 politika s EMS tagem
config firewall policy
    edit 10
        set name "VPN to Local"
        set uuid e07f3a5e-00dc-52ec-a3b6-68de24f5913d
        set srcintf "ssl.FW"
        set dstintf "LocalZone"
        set srcaddr "FCTEMS0000114746_company"
        set dstaddr "InternalNetwork"
        set action accept
        set schedule "always"
        set service "ALL"
        set logtraffic all
        set groups "G VPN"
     next
end

Použití Tagů na FortiGate 7.0.5

Ve FortiOS 7.0 byla přidána celková funkcionalita ZTNA, která využívá HTTPS Access Proxy. Jsou zde komponenty ZTNA Servers a ZTNA Rules a využívají se ZTNA Tags. Celkově se ještě měnilo ve FortiOS 7.0.2 FortiOS 7.0.2 Release Notes - Changes in default behavior. Nemusíme pak vůbec využívat Firewall Policy. Ale je tu možnost využití, která je funkčně stejná, jako na FortiOS 6.4.

Musíme zapnout (VDOM) > System > Feature Visibility - Zero Trust Network Access.

Synchronizované Tagy vidíme v Policy & Objects > ZTNA - ZTNA Tags. Zobrazovaný název již neobsahuje sériové číslo EMS, ale v CLI konfiguraci se stále používá stejně SN_jmeno a jde o stejný objekt. Při najetí na Tag se zobrazí údaje včetně SN EMS, bývá zde údaj počet odpovídajících koncových bodů, ale nesedí s realitou. Je zde tlačítko View Resolved Addresses. Můžeme také vytvořit skupinu Tagů.

FortiGate 7.0.5 ZTNA Tags

politice (Firewall Policy) se objevila nová položka IP/MAC Based Access Control, která umožní IP/MAC filtrování pomocí ZTNA tagu (IP/MAC filtering with ZTNA tags). Jako zdrojovou adresu můžeme použít All a filtrujeme pomocí Tagu. Vždy, když v GUI přidám ZTNA Tag a uložím, tak se mi zapne SNAT. To mi přijde jako chyba. Musím politiku znovu otevřít a NAT vypnout.

FortiGate 7.0.5 politika s EMS tagem
config firewall policy
    edit 10
        set name "Test VPN with ZTNA"
        set uuid e07f3a5e-00dc-52ec-a3b6-68de24f5913d
        set srcintf "ssl.FW"
        set dstintf "LocalZone"
        set action accept
        set ztna-status enable
        set srcaddr "VPNpool"
        set dstaddr "InternalNetwork"
        set ztna-ems-tag "FCTEMS0000114746_test"
        set schedule "always"
        set service "ALL"
        set logtraffic all
        set groups "G VPN"
     next
end

Pozn.: Narazil jsem na problém, který nyní řeším se supportem. Dokud je v Tagu pár IP adres, tak politika správně funguje. Ale jakmile počet vzroste (možná na 20), tak se politika neuplatní

FortiOS - smazání dynamické adresy (EMS Tagu)

Může se stát, že nám na FortiGate zůstanou neplatné Tagy (třeba ze starého EMS). Pro jejich smazání je potřeba malá finta.

FW (FWINT) # config firewall address
FW (address) # edit "FCTEMS0000114746_Critical"
FW (FCTEMS0000114746~cal) # unset type
FW (FCTEMS0000114746~cal) # next

The IP address is set to 0.0.0.0/0 which means all IP addresses.
Type 'y' to confirm or 'n' to input an IP address.
 (y/n)y

FW (address) # delete "FCTEMS0000114746_Critical"
FW (address) # end

FortiOS - informace a debug

Můžeme si vypsat seznam dynamických adres (ZTNA Tagů) a obsahují IP/MAC adresy.

diagnose firewall dynamic list

Podobně můžeme zobrazit adresy pouze pro určitý Tag.

FW (FWINT) # diagnose firewall dynamic address FCTEMS0000114746_company

FCTEMS0000114746_company: ID(84)
        ADDR(10.20.100.11)
Total IP dynamic range blocks: 1.
Total IP dynamic addresses: 1. 

Seznam záznamů koncových zařízení. Patrně by zde měla být různě naučená zařízení včetně EMS. Můžeme filtrovat pomocí IP adresy nebo použít | grep.

diagnose endpoint record list

Kontrola spojení na určitý EMS server.

diagnose endpoint fctems test-connectivity FortiClientEMS

Zobrazení informací o spojení na EMS.

diagnose test application fcnacd 2

Zapnutí debug režimu pro FortiClient NAC daemon (fcnacd), který obsluhuje spojení FortiGate na EMS, včetně zobrazení času u jednotlivých záznamů. Pokud používáme VDOM, tak musíme spustit v Global.

diagnose debug app fcnacd -1
diagnose debug console timestamp enable
diagnose debug enable

Při řešení problému se supportem přidali ještě.

diagnose endpoint filter show-large-data yes

Pro vypnutí debug režimu můžeme použít

diagnose debug disable
diagnose debug reset

Restart FortiClient NAC daemon (fcnacd). (možnosti se vypíší pomocí ENTER)

diagnose test application fcnacd 99

FW (global) # diagnose test application fcnacd
1. dump debug flag
2. dump EMS info
3. reinit fcems
4. unset report version
5. schedule host_tags call
6. set all notif
7. dump ztna cache
8. dump route cache
9. disable rest api
10. enable rest api
11. force terminate WebSocket connections
12. dump long lived socket clients
13. retry all rest-apis immediately
99. restart

Provedl jsem upgrade FortiGate z 6.4.8 na 7.0.5 (a později i FortiClient EMS na 7.0.3) a přestalo mi fungovat použití ZTNA tagů v politice. Support poradil restart fcnacd. Když jsem jej provedl, tak se zrušila autorizace FortiGate na EMS a celé chování se ještě zhoršilo. Tak jsem konektory smazal a vytvořil znovu (nyní již restart nedělá problém). Začalo mi fungovat nastavení Share all FortiClients vs. Only share FortiClients connected to this fabric device. Ale celkově to stále nefunguje pokračuji v řešení se supportem.

Při support callu použil technik následující příkaz pro kontrolu iprope seznamu pro politiky.

diagnose firewall iprope list 100004

Na politice se ZTNA tagem se vypisovala chyba, což má být známý bug.

ztna-ems-tag address (1): ERROR: Tried to convert non-legacy firewall address to legacy format!

Zabezpečení připojení k EMS serveru

Ve výchozím nastavení se může k serveru připojit libovolný FortiClient. Stačí znát adresu serveru a případně port (pokud není defaultní). Musí být tedy na EMS volná licence. Máme dvě možnosti, jak toto více zabezpečit.

  • připojení k EMS může být chráněno klíčem - System Settings > EMS Settings - FortiClient telemetry connection key
  • připojení k EMS pomocí pozvánky, nelze se připojit zadáním adresy, ale musí se použít (ideálně) jednorázový individuální kód - System Settings > EMS Settings - Enforce invitation-only registration for

Pokud používáme EMS k identifikaci firemních zařízení pro přístup do VPN. Tak můžeme použít jednoduchý Zero Trust Tags s pravidlem EMS Management - FortiClient installed and Telemetry connected to EMS. A hlídat, aby se k EMS připojila pouze firemní zařízení. Pro další zabezpečení můžeme přesouvat klienty do skupin.

  • Default Profile má většinu věcí zablokovaných (třeba VPN), klient se musí ručně (nebo pomocí Group Assignment Rules) zařadit do speciální skupiny, která přiřazuje politiku s povoleným VPN
  • firemní počítače v doméně můžeme dopředu přesunout do dané skupiny, takže po instalaci klienta se okamžitě aplikuje správná politika a klient může rovnou fungovat
zobrazeno: 2911krát | Komentáře [3]

Autor:

Související články:

Fortinet FortiGate a další

Bezpečnostní řešení firmy Fortinet. Nejvíce zaměřeno na Next Generation Firewall (NGFW) FortiGate.

Bezpečnost

Nástroje zajišťující bezpečnost. Primárně Firewall a podobné.

Pokud se Vám článek líbil, tak mne potěšíte, když uložíte odkaz na některý server:

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

Komentáře

  1. [1] bloody

    vela nepresnosti :-(

    Pondělí, 10.01.2022 12:08 | odpovědět
  2. [2] tib

    Hello,

    Did you manage to fix this issue ?

    ztna-ems-tag address (1): ERROR: Tried to convert non-legacy firewall address to legacy format!

    Thx,

    Tib

    Pátek, 08.04.2022 15:08 | odpovědět
  3. [3] Samuraj

    odpověď na [2]tib: According to Fortinet, this is a known bug that should be fixed in FortiOS 7.0.6.

    Pátek, 08.04.2022 15:37 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

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