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.
Pozn.: Po více než půl roce praktického používání musím napsat, že FortiClient EMS rozhodně nedoporučuji. Hlavní heslo FortiOS 7 je ZTNA, ale ono na FortiOS 7.0.5 a FortiClient EMS 7.0.3 vůbec nefunguje. Kvůli ZTNA tagům jsme EMS kupovali, ale po upgradu FortiOS přestal fungovat přenos na FortiGate, takže již více než 3 měsíce nemůžeme používat. Chyb je zde mnohem více, otevřel jsem několik ticketů na support. Problém je, že pokud člověk v jednom ticketu zmíní více problémů, tak si vyberou jeden a ostatní ani neřeší. Problémy jsou třeba, že nejdou mazat pozvánky, nefunguje Shutdown ve FortiClient (i když je v politice povolený), při upgrade FortiClient pomocí EMS Deployment se odpojí od EMS (když se spustí ručně stažená instalace, tak se to nestane).
FortiClient EMS
Dokumentace
- FortiClient 7.0.2 - EMS Administration Guide
- Fortinet Video Library - FortiClient EMS
- FortiClient Endpoint Management Server Demo
- Endpoint Protection with FortiClient EMS
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
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)
- FortiOS 7.0.1 - FortiClient EMS
- FortiOS 6.4.6 - FortiClient EMS
- FortiClient 7.0.2 - Configuring FortiOS 6.4 dynamic policies using EMS dynamic endpoint groups
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
- 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)
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.
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ů
- Endpoints (Managing endpoints)
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.
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
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.
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.
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 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.
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.
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.
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
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.
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
- FortiClient 7.0.2 - Configuring FortiOS 6.4 dynamic policies using EMS dynamic endpoint groups
- Synchronizing FortiClient EMS tags and configurations
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
V politice (Firewall Policy) použijeme Tag jednoduše. Vložíme jej jako zdroj (Source), kde se nachází mezi adresami (Address).
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ů.
V 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.
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
- ZTNA troubleshooting and debugging (jedna informace se liší v jinak stejném článku ZTNA troubleshooting and debugging)
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
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
[2] According to Fortinet, this is a known bug that should be fixed in FortiOS 7.0.6.
Synchronizace IP adres klientů do dynamických skupin mi přestala fungovat po upgrade FortiClient EMS na verzi 7.0.3. Zvláštní však je, že problém se vyskytuje pouze na jednom FortiGate z celého SecurityFabric (celkem 4 FG, všechny na FortiOS 6.4.9).
Po řešení věci s podporou a testování všemožných oprav mi byl doporučen upgrade FortiOS na 7.0.6.
Co jsem za roky spravy Fortinet produktu zjistil a mam to ted potvrzene i supportem, tak se nedoporucuje pouzivat patche 1-5 v produkci. Behem prvnich peti patchu vzdy jeste pridavaji neco navic, neco meni atd.. az od patche 6 (napr. 7.0.6) se zabyvaji jen opravou bugu a nevyvijeji ten OS dal. Tzn, stable verze. Plati to pro vetsinu produktu od Forti.
Ahoj, máš zkušenosti se získáním EMS tagů ve Fortimanageru? Jde mi o to, že jsem právě vyčetl EMS tagy lokálně z EMS na FTG pomoci fabric connector a mám s nimi na FTG vytvořena pravidla. Když ale z Fortimanageru pošlu policy na FTG (Fortimanager běžné používám a držím v něm veškerou databazi pravidel a objektů) tak se mi pravidla s EMS tagy smažou. Potřeboval bych proto dostat dynamický objekt s EMS tagy do databáze Fortimanageru a odtud aplikovat pravidla.
Moc díky, na Samuraj-cz.com vždycky najdu skvělé zdroje, když se peklím s naší Fortinet infrastrukturou.