🛡️ FortiGate Enterprise – Security & SD-WAN Deep Dive
Ingénierie Fortinet : Architecture ASIC, FortiOS Kernel, SD-WAN Orchestration & VPN ZTNA.
Hardware & SPU
ASIC NP7, CP9, SoC4. Hardware Acceleration & FastPath.
NP7CP9ASICArchitecture & concepts
FortiOS, dataplane/CP, sessions, stateful, interfaces, zones, objets.
FondationsIndispensableModes : NAT vs Transparent
Cas d’usage, pièges, impact sur routing/NAT, migration.
ModeEdgeDesignObjets & adressage
Address/Service objects, groups, FQDN, IP ranges, ISDB.
ObjectsPolicyPolicies & NAT
Ordre, implicites, central NAT, VIP, hairpin, U‑turn.
FirewallCritiqueNATInspection : flow vs proxy
UTM, AV/IPS/WebFilter, performance, logs, compat apps.
SecurityPerformanceSSL Inspection
Certificats, deep vs certificate inspection, exceptions, débogage.
TLSPiègeUTMSD‑WAN
SLA, health checks, steering, règles, overlay, multi‑ISP.
WANTrès demandéVPN : IPsec & SSL‑VPN
Phases, proposals, DPD, NAT‑T, split‑tunnel, MFA.
RemoteSite‑to‑SiteMTUHaute disponibilité (HA)
A‑P/A‑A, heartbeat, session sync, split‑brain, maintenance.
ResilienceProdFortiOS Internal
Proxy vs Flow mode, Conserve Mode, IPS Engine & WAD.
Flow-basedWADIPSSD-WAN Orchestration
SLA Performance, ADVPN, Steering Rules & Load Balance.
ADVPNSLAOverlayPolicies & NGFW
ISDB, Application Control, SSL Inspection (DPI).
DPIISDBProfilesVPN & ZTNA
IKEv2, SSL-VPN Portal, ZTNA Tags & Endpoint posture.
ZTNAIPsecEMSHigh Availability (HA)
FGCP Cluster, FGSP, Virtual Clustering & Session Sync.
Active-PassiveFGSPSyncNP7 : Le moteur de commutation Terabit
L'ASIC **NP7** (Network Processor 7) est conçu pour le déchargement matériel complet des flux de couches 3 et 4. Contrairement à un traitement CPU classique, le NP7 traite les paquets via des pipelines matériels en parallèle, garantissant une latence ultra-faible (< 2μs).
| Capacité | Métrique (Gate 1800F+) | Impact Performance |
|---|---|---|
| Throughput Firewall | 198 Gbps / NP7 | Vitesse filaire sans gigue. |
| IPsec VPN | 160 Gbps (AES-GCM) | Chiffrement Hardware natif. |
| Sessions/Sec | 4 Million CPS | Évite la saturation du kernel. |
| Concurrent Sessions | 40 Millions | Scalabilité Data Center. |
Fonctions Hardware Offloadées :
- IPv4/IPv6 Unicast/Multicast : Routage et NAT 1:1, PAT sans impact CPU.
- DoS Protection : Filtrage hardware des floods TCP/UDP/ICMP au niveau du silicium avant l'entrée dans le kernel.
- VXLAN/GRE/GTP : Encapsulation hardware pour les réseaux SD-WAN et 5G Core.
- Capwap Offload : Accélération du trafic Wi-Fi provenant des FortiAP.
Architecture Interne NP7
# Mapper les interfaces physiques sur les ASIC NP diagnose npu np7 port-list # Monitorer l'utilisation des pipelines (Host vs Offload) diagnose npu np7 session-stats # Si "v4 offload" est > 90% = Configuration Optimale
CP9 : Content Processor & Cryptographie
Le **CP9** agit comme un coprocesseur pour les tâches d'inspection de contenu "Out-of-band". Il n'est pas sur le chemin direct des paquets, mais le CPU lui délègue les calculs lourds.
Détails de l'accélération L7 :
- SSL/TLS 1.3 Inspection (DPI) : Déchargement des handshakes RSA/ECDSA. Le CP9 gère le déchiffrement symétrique à la volée pour l'IPS.
- IPS Pattern Matching : Moteur de signatures hardware. Les flux sont comparés aux bases de données de menaces en une seule passe.
- Antivirus Sandboxing : Scan des flux de fichiers (Gzip, ZIP, PDF) sans ralentir le CPU.
- True IPsec Engine : Génère les clés de session et gère l'anti-replay.
Efficacité CP9 vs CPU
| Feature | Software (CPU) | Hardware (CP9) |
|---|---|---|
| SSL Inspection | Surcharge massive (>80%) | Négligeable (<5%) |
| Handshakes / Sec | ~2,000 | ~50,000+ |
| Compression Gzip | Latence élevée | Line-speed |
# Vérifier la charge des moteurs de contenu diagnose hardware sysinfo cp9 # Voir le décompte des fichiers scannés par le CP
FastPath : Le Saint Graal de la performance
Lorsqu'un flux réseau est détecté, FortiOS suit un processus strict de décision d'accélération (Offload eligibility).
Conditions bloquant l'offload (No_Ofld) :
- Sessions avec Authentification Captive Portal.
- Trafic avec options IP (Source Routing, etc.).
- Certaines configurations de Sniffer/Mirroring.
- Politiques avec profil SSL-Inspection en mode **Proxy**.
Gestion de la RAM et Mécanismes de Survie
Le **Conserve Mode** est un état critique où le FortiGate protège son intégrité système face à une saturation mémoire.
| Seuil (RAM %) | État | Actions du FortiGate |
|---|---|---|
| < 82% | Vert (Normal) | Fonctionnement standard. |
| > 88% | Jaune (Warning) | Déclenchement du Conserve Mode. Les nouvelles sessions peuvent être limitées. |
| > 95% | Rouge (Extreme) | Hard Conserve Mode : Rejet de toutes les nouvelles sessions. Drop des paquets. |
Impact sur les moteurs de sécurité :
- AV Fail-open : Si activé, laisse passer les fichiers sans scan. Si désactivé, bloque tout.
- IPS Engine : Réduction du nombre de signatures inspectées pour économiser la RAM.
Commandes de diagnostic de bas niveau
Investigation Sessions :
# Lister les sessions et identifier les "dirty" (non-offload) get system session list # Chercher le flag "no_ofld" ou "dirty" # Voir l'occupation temps réel des SPU (NP/CP) get system performance status
Investigation Hardware :
# Statistiques d'erreurs sur l'ASIC NP diagnose npu np7 stats list # Voir si le trafic IPsec est réellement accéléré diagnose vpn ipsec status # Chercher "asym_crypto" vs "hw_crypto"
Structure du Système d'Exploitation
FortiOS est un système d'exploitation durci basé sur un noyau Linux modifié, optimisé pour le traitement réseau à haute performance. Son architecture repose sur la séparation stricte des plans de contrôle et de données.
- Control Plane (CP) : Géré par le CPU principal. Responsable du management (GUI/CLI), des protocoles de routage (BGP/OSPF) et de la mise à jour des signatures FortiGuard.
- Data Plane (DP) : Géré par les processeurs de sécurité (SPU/ASIC). Responsable du transit des paquets, du chiffrement et de l'inspection IPS/AV.
- Management Plane : Isolé pour garantir l'accès à l'unité même lors de saturations du plan de données.
Schéma d'Architecture FortiOS
| Composant | Rôle Principal |
|---|---|
| Kernel | Gestion des ressources et drivers |
| IPS Engine | Inspection Flow-based L7 |
| WAD | Processus Proxy-based (Web/SSL) |
L'Inspection d'État (Stateful Firewall)
Contrairement aux routeurs ACL, le FortiGate maintient une **Session Table**. Il ne vérifie la politique de sécurité que pour le premier paquet (SYN) d'un flux.
Paramètres de Session Critiques :
- TTL (Time To Live) : Durée avant expiration d'une session inactive (Défaut TCP: 3600s).
- Session Pickup : Capacité à synchroniser l'état des sessions avec un membre HA.
- Dirty Flag : Indique qu'une session doit être réévaluée suite à un changement de politique.
Organisation Logique & Abstraction
Interfaces & Zones
Les **Zones** regroupent plusieurs interfaces physiques ou virtuelles (VLAN, IPsec) pour simplifier l'écriture des politiques.
- Intra-zone blocking : Par défaut, le trafic entre deux interfaces d'une même zone est bloqué.
- Virtual IPs (VIP) : Utilisées pour le NAT entrant (Destination NAT).
Objets de Sécurité
Utilisation d'objets pour éviter la duplication de configuration.
# Exemple d'objet adresse dynamique (FQDN)
config firewall address
edit "Google_DNS"
set type fqdn
set fqdn "dns.google"
next
endLe Parcours Interne d'un Paquet (Flow-based)
Processus d'ingestion et de traitement par le moteur FortiOS.
VDOM : Virtual Domains
Permet de diviser un seul FortiGate physique en plusieurs unités logiques indépendantes, chacune avec sa propre table de routage et ses politiques.
| Caractéristique | Détails Techniques |
|---|---|
| Multi-Tenancy | Isolation totale des clients ou départements. |
| Inter-VDOM links | Interfaces virtuelles pour router entre VDOMs sans câble physique. |
| Global Settings | Ressources partagées (CPU/RAM/Certificats) gérées au niveau "Global". |
Outils de Vérification Système
Statut Global :
# Voir la version, l'uptime et le mode VDOM get system status # Vérifier l'utilisation CPU/RAM par core get system performance status
Table de Session :
# Compter le nombre de sessions actives get system session status # Voir les sessions en temps réel diagnose sys session list
NAT/Route Mode : Le standard Gateway
Dans ce mode, le FortiGate agit comme un routeur de couche 3 (Hop-by-hop). Chaque interface possède sa propre adresse IP et son propre domaine de broadcast.
Caractéristiques Techniques :
- L3 Gateway : Passerelle par défaut pour les clients internes.
- Routing Table : Support complet de BGP, OSPF, ISIS et routage statique.
- NAT/PAT : Translation d'adresses source (SNAT) et destination (VIP/DNAT).
- Acceleration : Optimisation maximale via les processeurs NP7/NP6 (FastPath).
Déploiement Type (Edge)
# Vérifier le mode actuel (Défaut: NAT) get system status | grep "Operation Mode" # Configuration IP en mode NAT config system interface edit "wan1" set mode static set ip 1.2.3.4 255.255.255.252 next end
Transparent Mode : Le Firewall "Furtif"
Le FortiGate s'insère dans un réseau existant comme un pont (Bridge) de couche 2. Il ne possède pas d'IP sur ses interfaces de données et n'altère pas les paquets IP (pas de routage).
Cas d'usage critiques :
- Insertion non-intrusive : Ajout de sécurité sans modifier le plan d'adressage IP existant.
- Internal Segmentation : Filtrage entre un routeur et un switch sans changer les passerelles.
- Layer 2 IPS : Analyse des flux au niveau MAC.
Limites du mode TP :
- Pas de VPN SSL (Tunnel mode) car pas d'IP de terminaison.
- Pas de Dynamic Routing (BGP/OSPF).
- Nécessite une IP de Management dédiée pour l'administration.
# Basculer en mode Transparent
config system settings
set opmode transparent
set manageip 192.168.1.99 255.255.255.0
set gateway 192.168.1.1
endComparaison Systémique des Modes
| Fonctionnalité | Mode NAT/Route | Mode Transparent |
|---|---|---|
| Changement d'IP | Obligatoire (Gateway) | Nul (Bridge L2) |
| Routage | Inclus (RIB/FIB) | Exclu (ARP/FDB) |
| VPN IPsec | Full Support | Supporté (Site-to-Site) |
| VPN SSL | Full Support | Limité (Web-mode via ManageIP) |
| Inspection | Flow & Proxy | Flow & Proxy (WAD/IPS) |
| Spanning Tree | Ignoré | Supporté (Forwarding BPDU) |
Migration : Points de vigilance majeurs
Le changement de mode opérationnel **supprime l'intégralité de la configuration** (Interfaces, Policies, Objects).
opmode.set opmode transparent via CLI. 3. Manage IP : Configurer l'IP d'administration et la passerelle par défaut. 4. Policies : Réécrire les règles de firewall (Source Interface ➔ Dest Interface). 5. STP : Vérifier la topologie L2 pour éviter les boucles réseau.Le Design Hybride via VDOMs
La puissance de FortiOS permet d'exécuter les deux modes simultanément sur le même matériel en utilisant la virtualisation VDOM.
- VDOM-Root (NAT) : Gère le WAN et le routage vers le Core.
- VDOM-Seg (TP) : Inséré entre deux segments internes pour du filtrage L2.
- Inter-VDOM Links : Interfaces virtuelles permettant de passer du mode TP au mode NAT sans sortie physique.
Outils de Diagnostic spécifiques au mode
Mode Transparent (L2) :
# Voir la table d'apprentissage MAC (FDB) diagnose netlink brctl name host# Vérifier le statut du Spanning Tree diagnose netlink brctl list
Mode NAT (L3) :
# Voir la table de routage active get router info routing-table all # Vérifier les translations NAT diagnose firewall ippool list
Types d'Objets d'Adressage
FortiOS propose plusieurs méthodes pour définir une cible réseau. Le choix du type d'objet impacte la manière dont le kernel traite le paquet.
| Type | Usage Technique | Note Expert |
|---|---|---|
| Subnet | Format CIDR (ex: 10.0.0.0/24) | Le plus efficace (Static Match). |
| IP Range | Plage début-fin (ex: 10.0.0.10-20) | Utile pour les pools DHCP. |
| FQDN | Nom DNS (ex: *.microsoft.com) | Résolu par le démon dnsproxy. |
| Wildcard | Masque variable (ex: 172.16.0.0/0.0.255.0) | Pour des topologies complexes. |
Cycle de résolution FQDN
# Configurer un objet FQDN avec cache local
config firewall address
edit "Microsoft_Update"
set type fqdn
set fqdn "update.microsoft.com"
set cache-ttl 3600
next
endISDB : La puissance du Cloud FortiGuard
L'ISDB contient des millions d'IPs et de ports classés par service (SaaS, PaaS, GeoIP). Elle permet d'autoriser "Microsoft Office 365" sans connaître ses milliers d'adresses.
- Objets Multidimensionnels : Un seul objet ISDB peut contenir des flux TCP, UDP et des protocoles spécifiques.
- Mises à jour automatiques : Synchronisé via FortiGuard toutes les heures.
- Reputation Scores : Certains objets incluent des scores de réputation pour bloquer les Botnets.
# Chercher un ID de service ISDB diagnose firewall internet-service list | grep "Netflix" # Vérifier les IPs chargées en RAM diagnose firewall internet-service match 8.8.8.8 255.255.255.255
Objets de Services : Protocoles et Ports
Les services définissent la couche 4 (TCP/UDP/SCTP/ICMP). FortiOS utilise des **Session Helpers** pour les protocoles complexes (FTP, SIP, SIP-ALG).
Groupes de Services :
Permet de regrouper "HTTP", "HTTPS" et "DNS" dans un seul objet "Web_Browsing" pour alléger les politiques.
- Service Custom : Ports spécifiques (ex: TCP 8080-8090).
- ICMP Type/Code : Précision fine pour le troubleshooting.
config firewall service custom
edit "App_Custom_TCP"
set tcp-portrange 9000-9005
set comment "Internal App Port"
next
endAdressage Dynamique & Connecteurs SDN
Le FortiGate peut importer des objets dynamiquement depuis AWS, Azure, VMware ou FortiClient EMS.
Hygiène de Configuration des Objets
- Naming Convention : Utilisez des préfixes (ex:
H_pour Host,N_pour Network,G_pour Group). - UUID : Chaque objet possède un identifiant unique universel pour le tracking FortiManager.
- Color-Coding : Utilisez les couleurs dans la GUI pour différencier les zones (ex: Rouge pour DMZ, Vert pour LAN).
- Unused Objects : Supprimez régulièrement les objets orphelins (Ref. count = 0) pour alléger la RAM.
Outils de Diagnostic CLI
Vérification de la base d'adresses :
# Voir le nombre de références par objet diagnose firewall address list # Vérifier la résolution FQDN diagnose test application dnsproxy 7
Debug SDN / Dynamic :
# Voir les objets SDN importés diagnose firewall dynamic list # Forcer une mise à jour ISDB execute update-now
L'algorithme de Matching FortiOS
FortiOS traite les politiques de manière séquentielle (Top-to-Bottom). La première règle qui correspond au tuple (Interface In/Out, Source/Dest, Service) est appliquée.
Règles Implicites :
- Policy 0 (Deny All) : Située à la fin de chaque VDOM. Tout ce qui n'est pas autorisé est droppé et logué (si activé).
- Intra-Zone Traffic : Par défaut, le trafic au sein d'une même zone est bloqué sauf si "Internal Segmentation" est configurée.
Hit Count : Utilisez le compteur de correspondance pour identifier les règles obsolètes et optimiser la RAM.
Séquence de Matching
# Voir l'ordre réel des politiques en CLI show firewall policy # Déplacer une règle pour changer la priorité move firewall policy 10 before 5
Architecture NAT : Deux Philosophies
Le NAT (Network Address Translation) peut être géré de deux manières dans FortiOS.
| Caractéristique | Policy-based NAT (Défaut) | Central NAT (Mode ASA/PaloAlto) |
|---|---|---|
| Configuration | Directement dans la règle de firewall. | Table NAT séparée de la table Security. |
| Visibilité | Simple pour les petits setups. | Indispensable pour les règles massives. |
| Souplesse | NAT lié à l'Action "Accept". | NAT indépendant de l'acceptation. |
| Usage IP Pool | Sélectionné manuellement. | Matching automatique par règle NAT. |
Virtual IPs (VIP) : Publication de services
Une VIP est un objet de DNAT (Destination NAT) qui mappe une IP publique sur une IP privée (1:1 ou Port Forwarding).
- Static NAT : Mappage de tous les ports d'une IP publique vers un serveur.
- Port Forwarding : Publication d'un port spécifique (ex: TCP 443 ➔ TCP 8443).
- Server Load Balancing : Distribution du trafic entrant sur plusieurs serveurs réels avec Health Check.
config firewall vip
edit "Web_Server_NAT"
set extip 1.1.1.1
set mappedip "10.0.1.50"
set portforward enable
set extport 443
set mappedport 443
next
endHairpinning : Accès interne via IP publique
Cas où un client interne veut accéder à un serveur interne en utilisant son adresse IP publique (DNS externe).
Session Helpers & Application Layer Gateway (ALG)
Certains protocoles (FTP, SIP, H.323) négocient dynamiquement des ports secondaires. FortiOS utilise des "Helpers" pour ouvrir ces ports automatiquement dans le noyau.
SIP-ALG : L'ennemi de la VoIP ?
Souvent, le SIP-ALG modifie les en-têtes SIP de manière incorrecte pour certains providers Cloud. Il est fréquent de devoir le désactiver.
# Désactiver le SIP-ALG (Standard VoIP) config system settings set default-voip-alg-mode kernel-helper-based end # Supprimer le helper SIP du port 5060 config system session-helper delete 13 # ID correspondant à SIP end
Dépannage de flux (Expert Diagnostics)
Investigation Policy Matching :
# Tester quelle règle sera choisie pour un flux diagnose firewall iprope lookup 10.0.0.1 1234 8.8.8.8 53 tcp wan1 # Voir l'ID de règle dans le sniffer diag sniffer packet any 'host 10.0.1.50' 4
Investigation NAT :
# Voir les sessions avec translation active diagnose sys session list | grep -A 5 "nat" # Vérifier l'utilisation d'un IP Pool diagnose firewall ippool-all stats "Pool_Name"
set icmp-send-redirect disable est configurée sur l'interface ou que la VIP est autorisée dans une règle de firewall.Flow-based : Vitesse filaire & IPS
L'inspection Flow-based analyse les paquets à la volée sans reconstruire l'intégralité du fichier ou de la session. C'est le mode par défaut depuis FortiOS 6.2.
Mécanisme Interne :
- Single Pass Direct Filter (SPDF) : Les paquets sont scannés par le moteur IPS en une seule passe contre toutes les signatures actives.
- Buffering Minimal : Pas de stockage en RAM, les paquets sont transmis dès qu'ils sont validés.
- Limitations : Moins de fonctionnalités sur certains protocoles (ex: pas de remplacement de page de garde en cas de virus).
Pipeline Flow-based
# Vérifier le mode d'inspection de la politique show firewall policy 1 | grep "inspection-mode" # Par défaut: set inspection-mode flow
Proxy-based : Reconstruction Totale
Le FortiGate agit comme un point de terminaison de session (Man-in-the-middle). Il bufferise l'intégralité du contenu avant de le transmettre.
Avantages Sécurité :
- Content Disarm & Reconstruction (CDR) : Nettoyage des macros Office/PDF avant livraison.
- Virtual Sandboxing : Mise en attente de la livraison tant que le Cloud n'a pas validé le fichier.
- Modification du Payload : Remplacement de texte, insertion de scripts ou de bannières d'avertissement.
Traitement WAD (Proxy)
Le démon WAD (Worker & Action Daemon) gère cette inspection, ce qui consomme beaucoup plus de RAM et de CPU.
Les Moteurs de Sécurité UTM
Chaque profil utilise un moteur spécifique pour l'analyse.
| Moteur | Flow Mode | Proxy Mode |
|---|---|---|
| AntiVirus | Scan de signatures (Stream) | Scan intégral + Emulation/CDR |
| IPS / App Control | Optimisé (nTurbo/ASIC) | Fonctionne via Socket |
| Web Filter | DNS / URL SNI Filter | Full URL / Body Filter / SafeSearch |
| DLP | Simple Pattern | Full Document Fingerprinting |
Impact sur le Hardware (ASIC vs CPU)
Le choix du mode impacte directement la capacité de déchargement vers les processeurs NP/CP.
- Accélération NP7 (FastPath) possible.
- Latence micro-secondes.
- Peu de risque de Conserve Mode.
- CPU-Bound (Intervention du Kernel).
- Latence millisecondes (Buffering).
- Risque élevé de saturation RAM/WAD.
Compatibilité Applicative & SSL Inspection
SSL Inspection (DPI)
L'inspection SSL profonde est supportée dans les deux modes, mais le mode Proxy permet une granularité plus fine sur les certificats et les extensions TLS.
- Flow : Recommandé pour le trafic Web massif et Office 365.
- Proxy : Recommandé pour les serveurs critiques (DMZ) et le filtrage granulaire.
Cas d'erreurs fréquents :
Certaines applications (VoIP, Video Streaming) supportent mal le buffering du mode Proxy, provoquant des saccades ou des déconnexions.
Outils de Diagnostic des Moteurs
Debug WAD (Proxy) :
# Voir les stats des sessions Proxy diagnose test application wad 2 # Voir l'utilisation mémoire des workers WAD diagnose wad memory report
Debug IPS (Flow) :
# Voir le statut du moteur IPS diagnose test application ipsmonitor 1 # Forcer le redémarrage de l'IPS engine diagnose test application ipsmonitor 99
diag debug crashlog read pour identifier si c'est le processus ipsmonitor ou wad qui a échoué.DPI vs Certificate Inspection
FortiOS propose deux niveaux d'analyse des flux chiffrés. Le choix impacte directement la visibilité des moteurs UTM (AV, IPS, DLP).
| Caractéristique | Certificate Inspection | Deep Inspection (DPI) |
|---|---|---|
| Mécanisme | Analyse le SNI / Certificat. | MITM (Déchiffrement complet). |
| Visibilité UTM | URL Host uniquement. | Full Payload (Body, Files, Headers). |
| Confiance | Pas de certificat à installer. | Nécessite le déploiement de la CA. |
| Performance | Ultra-Light. | CPU/SPU Intensif. |
Logique Man-In-The-Middle
Le Danger : Sans DPI, un malware téléchargé via HTTPS (ex: Dropbox) est invisible pour l'Antivirus du FortiGate.
La Chaîne de Confiance (Trust Chain)
Pour le DPI, le FortiGate génère un certificat "on-the-fly" pour chaque site visité. Le navigateur du client doit faire confiance à l'autorité (CA) du FortiGate.
Accélération SPU & Co-processing
Le déchiffrement SSL est l'opération la plus coûteuse. Le **CP9 (Content Processor)** est l'ASIC dédié à cette tâche.
Handshakes RSA/ECDSA déchargés sur le CP9.
Chiffrement symétrique (AES) traité en hardware.
Réduction de 90% de la latence induite par le DPI.
# Vérifier si l'accélération CP9 est active pour le SSL diagnose hardware sysinfo cp9 # Monitorer la charge des moteurs SSL diagnose wad stats report
L'art de l'Exemption (Bypass)
Certaines applications utilisent le **Certificate Pinning** (ex: Dropbox, OneDrive, WhatsApp) et rejettent le certificat du FortiGate. Elles doivent être exemptées.
Critères d'exemption :
- Finance / Santé : Pour des raisons de confidentialité légale (RGPD).
- HSTS / Pinning : Pour éviter la rupture de service des applications.
- ISDB : Utiliser les objets Microsoft/Apple pour exempter les flux de mise à jour.
config firewall ssl-ssh-profile
edit "Deep_Inspection"
config whitelist
edit 1
set internet-service-id 327680 # Apple-Update
next
end
next
endTLS 1.3 : Sécurité Renforcée
TLS 1.3 chiffre une partie du handshake (certificat serveur). FortiOS 7.x utilise des mécanismes avancés pour inspecter ces flux sans briser la conformité.
- ECH (Encrypted Client Hello) : Le prochain défi pour l'inspection (nécessite des stratégies de blocage DNS/DoH).
- Perfect Forward Secrecy (PFS) : Support hardware des suites de chiffrement ECDHE.
Dépannage des erreurs SSL (CLI)
Debug du démon WAD (SSL Proxy) :
# Activer le debug pour les erreurs SSL diag debug app wad -1 diag debug enable # Rechercher "SSL alert" ou "Unknown CA"
Vérification des sessions :
# Voir les erreurs de handshake SSL diagnose wad debug enable ssl # Tester la connectivité SSL vers un site execute telnet-test www.google.com 443
Négociation IKE (Phase 1 & 2)
Le tunnel IPsec repose sur un échange en deux étapes. Une erreur de "Proposal" est la cause n°1 d'échec de tunnel.
- Phase 1 (ISAKMP) : Authentification des pairs (PSK/Cert) et établissement du canal de contrôle. IKEv2 est fortement recommandé pour sa gestion native de l'EAP et de MOBIKE.
- Phase 2 (IPsec SA) : Négociation des paramètres de chiffrement pour le plan de données.
- Perfect Forward Secrecy (PFS) : Force une nouvelle génération de clé Diffie-Hellman pour chaque Phase 2.
Diagramme IKEv2 Handshake
# Vérifier les proposals supportés côté FortiGate
config vpn ipsec phase1-interface
edit "Tunnel_to_HQ"
set proposal aes256-gcm prfsha384
set dhgrp 21 14
next
endOptimisation & Survie du Tunnel
Un tunnel "UP" ne signifie pas que le trafic passe. Les problèmes de fragmentation (MTU) sont critiques.
| Paramètre | Fonction Technique | Impact |
|---|---|---|
| NAT-T | Encapsule l'ESP dans l'UDP 4500. | Traverse les routeurs NAT. |
| DPD | Dead Peer Detection (Keepalive). | Détecte et purge les tunnels morts. |
| MTU / MSS | Ajuste la taille max des paquets. | Évite la fragmentation (CPU Intensive). |
SSL-VPN : Accès Nomade & Durcissement
Le SSL-VPN (port 443 par défaut) est une cible majeure. Le durcissement est impératif.
- MFA Obligatoire : FortiToken, Email, ou SAML (Azure AD/Okta).
- Client Posture : Vérification de l'Antivirus et des patchs OS avant connexion (via EMS).
- DTLS Acceleration : Utilise UDP au lieu de TCP pour le tunnel SSL, améliorant les perfs de 30%.
# Forcer TLS 1.2+ et port custom
config vpn ssl settings
set ssl-min-proto-ver tls1-2
set servercert "YourCert"
set port 10443
endGestion des Flux : Split vs Full Tunnel
Détermine si le trafic Internet de l'utilisateur passe par le VPN ou sort en local.
Accélération Hardware (NP7 & CP9)
Le chiffrement est déchargé sur les puces spécialisées pour éviter l'effondrement du CPU.
Gère l'encapsulation ESP et le chiffrement AES en hardware. Débit multi-gigabit.
Accélère la négociation IKE et les handshakes SSL (RSA/DH).
Diagnostic Tunnel (CLI Expert)
Debug IPsec (IKE) :
# Voir la négociation en temps réel
diag vpn ike log-filter dst-addr 1.2.3.4
diag debug app ike -1
diag debug enableDebug SSL-VPN :
# Voir les erreurs d'authentification diag debug app sslvpn -1 diag debug enable # Voir les sessions actives get vpn ssl monitor
FGCP : Le Plan de Contrôle Unifié
Le protocole **FGCP** (FortiGate Clustering Protocol) permet de faire apparaître plusieurs unités physiques comme une seule entité logique. Il gère l'adresse MAC virtuelle (vMAC) partagée.
| Mode | Mécanique de Flux | Usage Optimal |
|---|---|---|
| Active-Passive | Le Master traite 100% du trafic. L'Esclave attend. | Recommandé (Stabilité max). |
| Active-Active | Le Master distribue les sessions UTM aux esclaves. | Cluster saturé en inspection L7. |
Virtual MAC (vMAC) :
En cas de failover, l'unité Passive reprend l'adresse MAC virtuelle du Master. Le switch ne voit qu'un changement de port (Gratuitous ARP), ce qui rend la coupure quasi-invisible (< 1s).
Architecture Cluster FGCP
# Configuration de base d'un cluster A-P
config system ha
set group-id 10
set group-name "HA_PROD_CORE"
set mode a-p
set hbdev "port3" 50 "port4" 50
set session-pickup enable
endL'algorithme d'élection (The FGCP Hierarchy)
Pour déterminer qui devient l'unité Master, FortiOS suit une hiérarchie stricte.
set priority la plus élevée (0-255) l'emporte. 4. Serial Number : Le numéro de série le plus grand (dernière étape de départage).set override enable, le critère Priority passe avant l'Uptime, permettant un retour automatique sur l'unité préférée après réparation.Heartbeat & Synchronisation de Session
Les liens de Heartbeat transportent les pulsations, les mises à jour de configuration et les tables de sessions.
Contenu de la Synchronisation :
- Configuration : Presque tout sauf le Hostname, l'IP de Management HA et les fichiers de licences.
- Session Table : Si
session-pickupest activé, les sessions TCP établies sont répliquées. - IPsec SA : Les tunnels IPsec sont synchronisés pour éviter la renégociation IKE au failover.
| Type Flux | Latence Max |
|---|---|
| Heartbeat | < 200ms |
| Session Sync | Variable (dépend du CPS) |
Split-Brain : Le scénario catastrophe
Si les deux liens Heartbeat sont coupés, chaque unité pense que l'autre est morte et devient "Master", créant des conflits d'IP et de MAC sur le réseau.
Stratégies de prévention :
- Redondance Physique : Connecter les heartbeats sur des cartes réseau différentes.
- Interface Monitoring : Le cluster ne bascule que si l'interface WAN ou LAN est réellement coupée.
- Remote Link Monitor : Basculement si une IP externe (Passerelle FAI) n'est plus joignable, même si l'interface physique est "UP".
# Monitorer les ports critiques
config system ha
set monitor "port1" "port2"
endMise à jour (Rolling Upgrade)
L'un des plus grands avantages du cluster est la mise à jour sans coupure (Hitless Upgrade).
Investigation du Cluster (CLI Expert)
Vérification de la Synchro :
# Vérifier si les sommes de contrôle matchent diagnose sys ha checksum cluster # Si différent : recalculer diagnose sys ha checksum recalculate
Debug temps réel :
# Voir les élections en direct diag debug app hatalk -1 diag debug enable # Voir l'état HA complet get system ha status
Routage Dynamique d'Entreprise
FortiOS supporte des piles de routage de classe opérateur, capables de gérer des tables Full-BGP et des topologies OSPF multi-aires.
OSPF (Open Shortest Path First) :
- Area Design : Support des aires Backbone (0), Stub et NSSA.
- BFD (Bidirectional Forwarding Detection) : Accélère la convergence à moins de 50ms en cas de coupure.
BGP (Border Gateway Protocol) :
- Multi-Homing : Indispensable pour le peering avec plusieurs FAI.
- Route Maps : Filtrage granulaire des préfixes entrants/sortants.
- Community Tags : Marquage des routes pour le pilotage SD-WAN.
Architecture BGP Dual-Homing
# Config OSPF simplifiée
config router ospf
set router-id 1.1.1.1
config area
edit 0.0.0.0
next
end
config network
edit 1
set prefix 10.0.0.0 255.255.255.0
set area 0.0.0.0
next
end
endPolicy-Based Routing (PBR) : Sortir du standard
Le PBR permet de router le trafic en fonction de la source, du port ou du protocole, et non plus uniquement sur l'IP destination.
Segmentation Logique : VLANs & VRF
La segmentation isole les domaines de diffusion et sécurise les flux Est-Ouest.
VRF (Virtual Routing & Forwarding)
Permet d'avoir plusieurs tables de routage isolées au sein du MÊME VDOM. Idéal pour gérer des IPs dupliquées (Overlapping IPs).
Zones de Sécurité
Regroupe des interfaces (VLANs, Tunnels) pour appliquer une politique commune. Réduit le nombre de règles de 70%.
# Création d'un VLAN tagué sur une interface physique config system interface edit "VLAN_Prod_10" set vdom "root" set interface "port1" set vlanid 10 set ip 10.10.10.1 255.255.255.0 set vrf 1 # Isolation en table de routage 1 next end
Architecture Inter-VDOM
Pour faire communiquer deux VDOMs (ex: FG-TRAFFIC et FG-MGMT), on utilise des **Inter-VDOM Links** (IVL).
- Interfaces Virtuelles : Pas de câble physique requis. Le trafic reste dans la RAM/ASIC.
- Accélération : Les IVL sont accélérés par les puces NP7/NP6 (FastPath).
- Security : Chaque VDOM traite le trafic avec ses propres politiques.
# Création du lien VDOM
config system vdom-link
edit "IVL_PROD_MGMT"
set type pppa
next
endLe moteur de transfert (Forwarding Engine)
Comprendre la différence entre la base de données de routage et la table de transfert matérielle.
| Table | Emplacement | Rôle |
|---|---|---|
| RIB (Routing Information Base) | CPU / RAM | Contient TOUTES les routes apprises (BGP, OSPF, Statiques). |
| FIB (Forwarding Info Base) | Kernel / ASIC | Contient uniquement les MEILLEURES routes pour le transfert. |
| NP7 Table | ASIC Hardware | Les routes sont injectées ici pour le routage "Wire-speed". |
Investigation & Troubleshooting Routage
Consultation des Tables :
# Voir la table de routage active (FIB) get router info routing-table all # Voir la base de données BGP get router info bgp network
Debug temps réel :
# Voir les changements de routeurs dynamiques diag debug app ospf -1 diag debug enable # Tracer le chemin d'un paquet (Flow) diag debug flow filter daddr 8.8.8.8 diag debug flow trace start 20
Virtualisation du Plan de Données
Le VDOM (Virtual Domain) divise un FortiGate en plusieurs unités logiques. Chaque VDOM possède son propre **Routing Table**, ses **Policies**, ses **Objets** et ses **Utilisateurs**.
Niveaux d'Isolation :
- Isolation Logique : Un administrateur du VDOM-A ne peut voir ni modifier le trafic du VDOM-B.
- Isolation de Routage : Pas de fuite de routes entre domaines sans configuration explicite (Inter-VDOM Link).
- Isolation de Management : Chaque client peut avoir son propre accès HTTPS/SSH sur une IP dédiée.
Architecture Multi-VDOM
# Activer le mode VDOM (Nécessite reboot sur certains modèles)
config system global
set vdom-mode multi-vdom
endLa Hiérarchie des Domaines
Dans un environnement multi-tenant, les rôles sont strictement définis entre l'infrastructure et les services.
| Type de VDOM | Rôle Technique | Propriétés |
|---|---|---|
| Global | Infrastructure Physique | Gestion des licences, firmware, SPU et hardware. |
| Management (Root) | Plan de Contrôle | VDOM par défaut pour les mises à jour FortiGuard et logs. |
| Traffic VDOM | Service Client | Contient les flux métiers, VPN et politiques NGFW. |
Split-Task VDOM : Une variante où un VDOM gère uniquement le trafic (Data Plane) et l'autre uniquement le management (Control Plane).
Inter-VDOM Links : Le routage interne
Pour faire transiter du trafic entre domaines sans sortir physiquement de l'unité (pas de câblage externe), on utilise des interfaces virtuelles appairées.
- Performance : Trafic traité à la vitesse du bus mémoire ou de l'ASIC NP7 (FastPath supporté).
- VNP (Virtual Network Patch) : Ancien nom des IVL.
- Architecture Hub-VDOM : Utilisation d'un VDOM central pour l'inspection commune (IPS/AV) avant de redistribuer vers les VDOMs clients.
# Créer un lien virtuel entre VDOM-A et VDOM-B config system vdom-link edit "Link-Customer1" set type pppa # Point-to-point next end
Gestion des Ressources & Quotas
Empêcher un client (VDOM) de monopoliser les ressources du châssis et de provoquer un **Conserve Mode** global.
config global
config system resource-limits
edit "Customer_Small"
set session 50000
set ipsec-tunnel 10
next
end
endProfils d'Administration (RBAC)
Chaque VDOM peut avoir ses propres administrateurs avec des privilèges restreints.
Profils de droits :
- super_admin : Accès total (Global + tous les VDOMs).
- vdom_admin : Accès total uniquement sur son VDOM assigné.
- prof_admin : Droits personnalisés (Lecture seule, accès VPN uniquement).
Trusted Hosts :
Crucial en multi-tenancy : restreindre l'IP source de l'administrateur pour chaque domaine.
Investigation & Debug Multi-VDOM
Changement de contexte CLI :
# Entrer dans un VDOM spécifique config vdom edit [nom_vdom] # Revenir au mode Global config global
Stats de ressources :
# Voir l'usage CPU/RAM par VDOM diagnose sys vdom stats list # Voir les limites de ressources atteintes print system resource-limits
diag sniffer packet) doit être lancé depuis le contexte Global pour voir les interfaces physiques, ou depuis le VDOM pour les interfaces logiques.Structure des Logs FortiOS
Chaque évènement généré par le firewall suit un format structuré facilitant le parsing par les outils tiers.
Types de Logs :
- Traffic Logs : Flux acceptés/refusés, NAT, octets transférés.
- Security Logs : Évènements UTM (IPS, AV, App-Control, Web-Filter).
- Event Logs : Système, VPN, HA, Administrateurs, Routing.
Niveaux de Sévérité :
Emergency (0) ➔ Alert (1) ➔ Critical (2) ➔ Error (3) ➔ Warning (4) ➔ Notice (5) ➔ Information (6) ➔ Debug (7).
Anatomie d'un Log Entry
date=2025-05-12 time=14:30:05 devname="FGT-HQ"
devid="FG100FTK210001" eventtime=1620822605
tz="+0200" logid="0000000013" type="traffic"
subtype="forward" level="notice" vd="root"
srcip=192.168.1.50 srcport=54321 srcintf="LAN"
dstip=8.8.8.8 dstport=53 dstintf="WAN1"
action="accept" policyid=5 service="DNS"FortiAnalyzer : Centralisation & Analytics
Le **FortiAnalyzer** est indispensable pour la corrélation d'évènements sur plusieurs unités et la génération de rapports de conformité.
- Logs Real-time : Streaming des logs via le protocole OFTPS (SSL/2113).
- FortiView : Tableaux de bord interactifs pour identifier les "Top Talkers" et les menaces.
- Reports : Modèles pré-établis (PCI-DSS, HIPAA, RGPD, Cyber-Threat Assessment).
- IOC (Indicators of Compromise) : Détection de machines infectées par corrélation de logs historiques.
# Pointer le FortiGate vers le FortiAnalyzer
config log fortianalyzer setting
set status enable
set server "10.0.50.100"
set upload-option realtime
set enc-algorithm high
endStratégies de Rétention & Mémoire
Le stockage des logs dépend du matériel. Une mauvaise config peut saturer le disque ou la RAM.
| Destination | Usage Technique | Rétention |
|---|---|---|
| Memory | Troubleshooting immédiat. | Très courte (écrasement circulaire). |
| Disk | Log local sur boîtiers avec SSD. | Moyenne (selon quota). |
| FortiCloud | SaaS, stockage déporté. | 7 jours (gratuit) / 1 an (payant). |
| FortiAnalyzer | Big Data / Audit. | Plusieurs années (selon HDD). |
Export vers SIEM tiers (Splunk, QRadar, Sentinel)
Pour une intégration dans un écosystème hétérogène, FortiOS utilise l'export Syslog standard.
set server "10.1.1.50" (IP du SIEM). 2. Mode : UDP (défaut) ou Reliable (TCP/TLS) pour éviter la perte de logs. 3. Facility : Définir la catégorie (ex: local7). 4. Format : Standard (Défaut) ou CEF (Common Event Format) pour certains SIEM. config log syslogd setting
set status enable
set server "10.1.1.50"
set mode reliable
set port 6514 # Port TLS standard
endForensics : Reconstituer une Attaque
L'analyse post-incident nécessite une granularité maximale.
Données cruciales :
- Session ID : Pour lier un log de trafic à un log UTM.
- User Tracking : Identification via FSSO ou Certificat.
- DPI Logs : Voir les domaines réellement visités même en HTTPS.
Search Logic :
Filtrer par srcip + time range sur le FAZ pour isoler le mouvement latéral d'un attaquant.
Investigation & Debug du Logging
Vérification de l'envoi :
# Voir si les logs sont envoyés au FAZ diagnose log fortianalyzer status # Voir les statistiques de file d'attente diagnose log fortianalyzer queue-stats
Lecture des logs locaux (CLI) :
# Lire les logs de trafic en direct sur la console execute log display # Filtrer par IP execute log filter field srcip 192.168.1.50
Architecture de Management Centralisé
Le FortiManager permet de gérer des milliers d'unités FortiGate, FortiSwitch et FortiAP depuis une console unique. Son architecture repose sur le concept d'**ADOM** (Administrative Domains).
Concepts de Segmentation :
- ADOMs : Isolation logique des équipements par version d'OS, par client (MSSP) ou par région. Chaque ADOM possède sa propre base de données d'objets.
- Global ADOM : Permet de créer des objets et politiques "maîtres" partagés entre tous les ADOMs subordonnés.
- FGFM Protocol : Protocole de communication sécurisé (port TCP/541) entre FMG et FortiGate.
Schéma Multi-ADOM MSSP
| Composant | Rôle Stratégique |
|---|---|
| Device Manager | Gestion de l'état de connexion et révision des configs. |
| Policy & Objects | Dépôt centralisé des règles de sécurité. |
Le Cycle de Vie de la Configuration
Contrairement à une modif directe sur le FortiGate, le FMG utilise une base de données de "Staging" pour préparer les changements avant déploiement.
Policy Packages : "One-to-Many" Security
Un **Policy Package** contient l'ensemble des règles de firewall. Il peut être assigné à une seule unité ou à un groupe de 500 boîtiers simultanément.
- Dynamic Mapping : Un même objet "Interface LAN" peut correspondre au port1 sur le boîtier A et au port5 sur le boîtier B.
- Shared Objects : Les adresses et services sont créés une seule fois et réutilisés partout.
- Policy Check : Analyseur intégré pour détecter les règles dupliquées ou les conflits d'ombrage avant le push.
# Exemple de mapping dynamique via CLI FMG
config dynamic address
edit "Internal_Net"
config dynamic-mapping
edit "FGT-Paris"
set subnet 10.1.0.0/24
next
edit "FGT-Lyon"
set subnet 10.2.0.0/24
next
end
next
endZTP : Déploiement Industriel Automatisé
Le but du ZTP est de configurer un FortiGate sans jamais ouvrir de session CLI locale, idéal pour les déploiements massifs (Retail, SD-WAN).
Étapes du ZTP :
- FortiDeploy : Le boîtier sort du carton, se connecte au Cloud via son numéro de série.
- FMG Redirection : Le Cloud redirige l'unité vers l'IP publique du FortiManager.
- Provisioning Templates : Le FMG applique automatiquement les templates système (Host, DNS, NTP, BGP).
| Template Type | Actions |
|---|---|
| CLI Template | Scripts de base (Hostname, BGP). |
| Model Device | Pré-provisionnement avant réception. |
Orchestration SD-WAN à l'échelle
Configurer manuellement l'ADVPN et les SLAs sur 100 sites est impossible. Le FMG automatise la création des Overlays.
- VPN Manager : Dessinez votre topologie (Hub-and-Spoke, Full Mesh) et le FMG génère les phases IPsec et les interfaces tunnels sur chaque unité.
- SLA Monitoring : Visualisation consolidée de la santé des liens WAN de l'ensemble du parc sur une seule carte.
- BGP Automation : Gestion automatique des AS et des voisins pour le routage dynamique de l'overlay.
Investigation & Troubleshooting FGFM
Debug Connexion FGFM :
# Côté FortiGate : Vérifier le tunnel FMG get system fortimanager status # Debug de la connexion FGFM (port 541) diag debug app fgfmd -1 diag debug enable
Côté FortiManager :
# Voir les évènements d'installation diagnose dvm install log-list # Vérifier l'état de la base de données diagnose cdb check
Automation Stitches : Le SIEM interne
Les **Automation Stitches** permettent de déclencher des actions automatiques basées sur des évènements système ou des logs de sécurité.
Composants du Stitch :
- Trigger (Déclencheur) : Log d'intrusion IPS, failover HA, CPU > 90%, ou planification horaire.
- Action : Envoyer un email, exécuter un script CLI, envoyer un Webhook (Teams/Slack), ou bannir l'IP source (Quarantaine).
Logique Trigger-Action
# Stitch pour bannir une IP après attaque IPS
config system automation-stitch
edit "Auto_Ban_IPS"
set trigger "IPS_Intrusion_Log"
config actions
edit 1
set action "Quarantine_IP"
next
end
next
endAPI REST : Pilotage Programmatique
L'API REST de FortiOS (v2) permet de lire et modifier l'intégralité de la configuration via des appels JSON.
- API Admin : Création d'un administrateur dédié avec un **API Key** (Token) permanent.
- CORS / Trusted Hosts : Sécurisation de l'accès API en restreignant les IPs autorisées.
- Endpoints :
/api/v2/cmdb/(Configuration) et/api/v2/monitor/(Statistiques temps réel).
# Exemple de GET via cURL
curl -k -X GET \
"https://1.1.1.1/api/v2/cmdb/firewall/policy" \
-H "Authorization: Bearer YOUR_TOKEN"Scripts CLI & Sauvegardes Automatisées
Gestion des fichiers de configuration en masse sans passer par la GUI.
Batch Scripting :
- Scripts envoyés par FortiManager ou via SFTP.
- Execution Mode : "Save and Reload" ou "Direct Execute".
Sauvegarde Auto :
Planification d'export du fichier .conf chiffré vers un serveur externe.
# Backup automatique vers SFTP
config system auto-backup
set status enable
set server "sftp.backup.local"
set user "fortibackup"
set password "password"
set schedule daily
endInfrastructure as Code (IaC)
Déployer et versionner ses firewalls comme du code logiciel.
| Outil | Cas d'usage | Avantage |
|---|---|---|
| Terraform | Provisionnement d'infrastructure (VPC, Interfaces, Policies). | Gestion d'état (State file), idéal pour le Cloud. |
| Ansible | Configuration et orchestration de tâches répétitives. | Agentless, utilise SSH ou HTTPS. |
CI/CD Pipeline : Intégration dans GitLab CI/GitHub Actions pour tester la config sur une VM FortiGate avant le push en prod.
Webhooks : Connecter l'écosystème
Envoie des requêtes HTTP POST structurées vers des services tiers lors d'alertes.
- Teams / Slack : Notifications immédiates de failover HA ou d'attaque critique sur le canal des admins.
- ServiceNow / Jira : Ouverture automatique d'un ticket d'incident lors de la détection d'une panne SD-WAN.
- FortiSOAR : Déclenchement d'un playbook de remédiation complexe (Playbook automation).
Dépannage de l'Automatisation
Debug Stitches & Webhooks :
# Voir l'exécution des automations diagnose debug application auto-stitch -1 diag debug enable # Tester un trigger manuellement diagnose automation stitch test "NAME"
Debug API :
# Voir les erreurs de requête API
diagnose debug application httpsd -1
diag debug enableStratégie de Versionnement FortiOS
Ne jamais sauter de versions majeures sans consulter l'**Upgrade Path Tool**. Chaque firmware effectue des migrations de base de données d'objets spécifiques.
Maturité des Releases :
- Feature Stream (ex: 7.6.0) : Nouvelles fonctionnalités, potentiellement instable. À réserver aux labs.
- Mature Stream (ex: 7.4.x / 7.2.x) : Patchs de sécurité et stabilité. Recommandé pour la production.
Note : Un saut de version direct (ex: 6.4 vers 7.2) sans passer par les étapes intermédiaires corrompt systématiquement le fichier de configuration.
Logique de l'Upgrade Path
| Version | Statut | Usage |
|---|---|---|
| 7.0.x | End of Engineering | Migration requise. |
| 7.2.x | Mature | Standard Prod actuel. |
| 7.4.x | Mature | Nouveaux déploiements. |
Sauvegarde : L'assurance vie de l'Admin
Le fichier .conf est un fichier texte plat contenant toute l'intelligence du boîtier.
- Chiffrement : Toujours chiffrer les backups externes (set password) pour protéger les clés VPN et secrets PSK.
- VLAN/VDOM Awareness : Une sauvegarde en mode VDOM-Root ne contient pas les données des autres VDOMs (faire un backup "Global").
- Automated Revision : Utilisez le FortiManager ou le FortiCloud pour garder un historique des 100 dernières modifications.
# Backup via CLI vers un serveur TFTP
execute backup config tftp "backup.conf" 10.1.1.50Mise à jour sans coupure (Cluster HA)
Le protocole FGCP gère automatiquement la mise à jour séquentielle du cluster.
Procédures de Rollback & Urgence
Dual Partition (Firmware Bank) :
La plupart des FortiGate possèdent deux partitions de boot. En cas d'échec, vous pouvez booter sur la partition secondaire via le BIOS/Console.
Formatage & TFTP Recovery :
Si le système de fichier est corrompu, il faut utiliser la console série (RJ45) et un serveur TFTP au boot pour réinjecter le firmware.
[G]: Get firmware from TFTP
[F]: Format boot device
[B]: Boot from secondary partitionChecklist de Maintenance Préventive
| Action | Fréquence | Indicateur |
|---|---|---|
| Audit de Log | Hebdomadaire | Erreurs Hardware / Crashlogs. |
| Conserve Mode | Mensuel | Vérifier si les seuils de RAM sont approchés. |
| FGT-Check | Trimestriel | Lancer diag sys dashboard cpu pour voir les pics. |
| PSU Test | Semestriel | Vérifier la redondance des alimentations. |
Commandes d'Investigation Post-Upgrade
Vérification Post-Migration :
# Voir les erreurs de conversion de config diagnose debug config-error-log read # Vérifier l'intégrité du système de fichier diagnose fortilink quota check
Debug Système :
# Historique des crashs de processus diagnose debug crashlog read # Statut de la licence et FortiGuard diagnose autoupdate versions
config-error-log après une mise à jour. S'il y a des entrées, cela signifie que certaines lignes de votre configuration ont été ignorées car elles ne sont plus valides dans la nouvelle version.Debug Flow : Le Saint Graal
Permet de suivre le cheminement d'un paquet à travers le noyau FortiOS pour comprendre s'il est droppé par une politique, un problème de routage ou un profil UTM.
diag debug reset 2. Filter : diag debug flow filter daddr 8.8.8.8 3. Options : diag debug flow show function-name enable 4. Start : diag debug flow trace start 10 5. Enable : diag debug enableInterprétation des messages :
- "Allowed by Policy-ID: 5" : Le flux est autorisé par la règle 5.
- "denied by forward policy-0" : Droppé par la règle implicite.
- "Reverse path check fail" : Problème d'Anti-spoofing (RPF check).
Le Sniffer de Paquets (L2/L3)
Syntaxe : diag sniffer packet [intf] '[filter]' [verbose] [count] [ts].
| Verbose | Description du Output |
|---|---|
| 1 | IP, Port, Sequence numbers (Standard). |
| 3 | Level 1 + Payload HEX (Utile pour le debug protocolaire). |
| 4 | Level 1 + Interface Name (Indispensable en SD-WAN). |
| 6 | Full Packet + Interface + Ethernet Header. |
# Sniffer sur n'importe quel port pour le trafic HTTPS vers un serveur
diag sniffer packet any 'host 1.2.3.4 and port 443' 4 100 lAnatomie de la Table de Session
Chaque flux est enregistré dans la RAM. Analyser les flags de session permet de détecter l'accélération ASIC.
- Proto_state=01 : TCP Established.
- Dirty : La session doit être ré-évaluée (changement de config).
- May_dirty : Session en cours d'évaluation par l'IPS/Proxy.
- Offload=1/1 : Signifie que l'entrée et la sortie sont gérées par l'ASIC (FastPath).
# Filtrer et lister les sessions
diag sys session filter daddr 8.8.8.8
diag sys session listDiagnostic des Ressources Critiques
Identifier quel processus sature l'unité et vérifier les seuils de sécurité.
Processus Gourmands :
- ipsmonitor : Forte charge due à l'inspection de flux massifs.
- wad : Fuite mémoire possible ou trop de sessions SSL.
- pyfcnd : Mise à jour des signatures FortiGuard.
# Voir le TOP des processus (équivalent Linux) get system performance top # Statut de la RAM et Conserve Mode diag hardware sysinfo conserve
Problèmes d'Authentification (FSSO/LDAP)
Le debug de l'identité utilisateur est crucial pour les politiques basées sur les groupes.
diag debug auth fsso list (Voir les users connectés). 2. Real-time : diag debug app fsso -1 (Log de l'agent collector). 3. LDAP : diag debug app fnbamd -1 (Vérifier le bind et les credentials).Pourquoi mon paquet est-il jeté ?
| Cause du Drop | Code/Message Debug Flow |
|---|---|
| RPF Check | "reverse path check fail, drop" |
| No Route | "find a route: flag=00000000... drop" |
| Policy Deny | "denied by forward policy-0" |
| IPsec Issue | "esp_input: no session found" |
| Conserve Mode | "memory exhaustion, drop" |
diag sys process kill 9 [PID] pour le forcer à redémarrer sans rebooter le firewall.Sécurisation du Plan de Contrôle
Le plan de contrôle est la cible n°1 des attaquants. Un accès compromis signifie une perte totale du réseau.
Règles de Fer :
- Ports Non-Standards : Changer les ports HTTPS (ex: 10443) et SSH (ex: 10022).
- HTTPS Only : Désactiver HTTP et Telnet (flux en clair).
- TLS Hardening : Forcer TLS 1.2 minimum et désactiver les ciphers obsolètes (CBC, DES, RC4).
- Idle Timeout : Déconnexion automatique après 5-10 min d'inactivité.
Interface Management Isolation
# Durcissement des accès globaux
config system global
set admin-sport 10443
set admin-ssh-port 10022
set admintimeout 10
set admin-https-ssl-versions tls1-2 tls1-3
endRBAC : Principe du Moindre Privilège
Ne jamais utiliser de comptes "super_admin" pour les tâches quotidiennes. Créer des profils d'accès restreints.
- Trusted Hosts : Configurer SYSTEMATIQUEMENT une liste d'IPs sources autorisées pour CHAQUE administrateur.
- Custom Access Profiles : Créer des rôles (ex: Helpdesk = Lecture seule, SecOps = Firewall uniquement).
- Audit Log : Chaque commande passée en CLI est loguée avec l'identité de l'auteur.
# Restreindre un admin à un sous-réseau
config system admin
edit "admin_sec"
set trusthost1 10.50.0.0 255.255.255.0
set accprofile "super_admin_readonly"
next
endMFA : L'authentification à deux facteurs
Le mot de passe seul est considéré comme une faille en 2025. Le MFA est obligatoire pour le VPN et l'administration.
Désactivation des services inutiles
Réduire la surface d'attaque en fermant tout ce qui n'est pas utilisé.
| Service | Action Recommandée | Raison |
|---|---|---|
| ICMP Redirect | Disable | Évite les attaques Man-in-the-middle. |
| SNMP | V3 Only / Disable | V1/V2 transmettent les mdp en clair. |
| USB Port | Disable | Empêche l'extraction de config physique. |
| Auto-Install | Disable | Évite l'injection de config via clé USB. |
Backup & Intégrité des données
Hygiène des sauvegardes :
- Chiffrement : Mot de passe de backup complexe obligatoire.
- Hors-site : Export quotidien vers un serveur SFTP sécurisé.
- Revision Control : Garder 30 jours d'historique de config.
Conformité :
Utiliser le **Security Rating** pour auditer automatiquement la configuration par rapport aux standards PCI-DSS ou CIS.
Commandes d'Audit de Sécurité
Audit des administrateurs :
# Voir qui est connecté actuellement get system admin list # Voir les échecs de connexion (Brute force) diagnose user auth list
Audit de la configuration :
# Vérifier le score de sécurité local diagnose system check-compliance # Lister les ports d'écoute ouverts diagnose sys netlink socket list
admin ou au moins changé son mot de passe par une phrase complexe ?Décrypter les chiffres constructeur
Les débits annoncés sur les plaquettes Fortinet sont mesurés dans des conditions idéales (paquets UDP 1518 octets, sans inspection).
| Métrique | Signification | Facteur Limitant |
|---|---|---|
| Firewall Throughput | Débit brut L3/L4. | ASIC NP7/NP6 (FastPath). |
| Concurrent Sessions | Taille de la RAM. | Capacité à tenir la charge d'un gros LAN. |
| New Sessions/sec | Puissance du Kernel. | Vitesse d'établissement des flux (CPS). |
| IPsec VPN | Chiffrement Hardware. | Débit tunnel AES-256. |
Impact de la taille des paquets
Le débit chute drastiquement avec des petits paquets (64 bytes) car le nombre d'interruptions CPU par seconde explose.
Sizing NGFW & Threat Protection
C'est la métrique la plus importante. Elle représente le débit avec **IPS + Application Control + Malware Protection** activés.
Navigation dans les abonnements FortiGuard
Les licences activent les mises à jour de signatures en temps réel via le Cloud Fortinet.
| Bundle | Services Inclus | Usage Type |
|---|---|---|
| Advanced Threat Protection (ATP) | IPS, App Control, Malware protection. | Standard Sécurité. |
| Unified Threat Protection (UTP) | ATP + Web & Video Filter + Antispam. | Le plus commun (PME/ETI). |
| Enterprise Protection | UTP + DLP + IoT + FortiConverter + ZTNA. | Grands Comptes / Compliance. |
A-la-carte : Il est possible de ne prendre que l'IPS ou le WebFilter, mais le coût est souvent proche du bundle UTP.
Support & Garantie Matérielle (FortiCare)
La continuité de service dépend du niveau de support choisi en cas de panne physique.
- FortiCare Premium (24x7) : Support technique non-stop et remplacement matériel.
- FortiCare Elite : Temps de réponse garanti (SLA) plus court (15-30 min) pour les incidents critiques.
- RMA (Return Merchandise Authorization) : Échange standard. Option "Next Business Day" pour les sites critiques.
ASE (Advanced Support Engineer) :
Accès direct à des ingénieurs de niveau 2/3 pour les clients Elite.
Sizing pour FortiGate-VM (Private/Public Cloud)
Les licences VM sont basées sur le nombre de vCPU (Virtual CPU).
- vCPU Scaling : Les licences existent en 1, 2, 4, 8, 16, 32... vCPU.
- RAM : En mode VM, vous pouvez allouer autant de RAM que nécessaire (important pour le Proxy-mode).
- SR-IOV / DPDK : Technologies indispensables pour minimiser l'overhead de virtualisation et approcher les perfs hardware.
Investigation des Licences & FortiGuard
Vérification de l'état des services :
# Voir le statut global des licences get system status # Vérifier la validité de chaque contrat FortiGuard diagnose autoupdate versions
Debug Connection FortiGuard :
# Tester la connectivité aux serveurs de mise à jour diagnose debug application update -1 diag debug enable # Forcer une mise à jour immédiate execute update-now
Architecture des Zones SD-WAN
Le SD-WAN Fortinet repose sur l'abstraction des interfaces physiques en **SD-WAN Zones**. Cette couche permet d'appliquer des politiques de sécurité sur une interface logique unique (ex: Virtual-WAN-Link).
- Zones Virtuelles : Regroupement par type de lien (Underlay: Fibre/4G, Overlay: IPsec).
- Gateway Detection : Configuration des passerelles par défaut pour chaque membre.
- Interface Priority : Définition du coût de base du lien avant évaluation dynamique.
CLI : Initialisation du SD-WAN
# Configuration des membres et des zones
config system sdwan
set status enable
config zone
edit "Internet_Zone"
next
end
config member
edit 1
set interface "wan1"
set zone "Internet_Zone"
set gateway 1.1.1.1
next
end
endSLA : La surveillance du signal de santé
Les **Performance SLA** mesurent l'intégrité des liens via des protocoles de sonde (Ping, HTTP, DNS, TWAMP). Si un lien dépasse les seuils, il est marqué comme "SLA Failed" et retiré de la sélection.
| Application | Latence Max | Jitter Max | Packet Loss |
|---|---|---|---|
| VoIP / Real-time | < 150ms | < 30ms | < 0.5% |
| ERP / DB | < 200ms | N/A | < 1.0% |
| SaaS / Office365 | < 250ms | < 50ms | < 2.0% |
config health-check
edit "SaaS_Probe"
set server "8.8.8.8"
set interval 500 # ms
set failtime 5
config sla
edit 1
set latency-threshold 100
set packetloss-threshold 1
next
end
next
endSD-WAN Rules : Intelligence de pilotage
Les règles SD-WAN déterminent quel lien utiliser pour chaque application (identifiée par l'ISDB - Internet Service DB).
Exemple : Pilotage Microsoft 365
config service
edit 1
set name "Office365_Performance"
set mode priority
set protocol 6
set internet-service enable
set internet-service-name "Microsoft-Office365"
set health-check "SaaS_Probe"
set sla-compare-method latency
set priority-members 1 2 # WAN1 puis WAN2
next
endADVPN (Auto-Discovery VPN) & BGP Overlays
L'ADVPN est la technologie clé du SD-WAN multisites. Elle permet aux spokes de créer des **Shortcut Tunnels** dynamiques entre eux pour éviter le "tromboning" via le Hub.
- Shortcut Tunnel : Créé à la volée lorsqu'un flux inter-sites est détecté.
- BGP RR (Route Reflector) : Le Hub propage les routes sans les modifier.
- Self-Healing : Si le lien Underlay tombe, l'Overlay bascule instantanément.
Config Spoke (Shortcut Enable) :
config vpn ipsec phase1-interface
edit "VPN_TO_HUB"
set auto-discovery-receiver enable
set add-route enable
next
endTroubleshooting SD-WAN & Performance
Commandes essentielles pour vérifier pourquoi un flux n'utilise pas le lien attendu.
Statut Global :
# Vérifier la santé des liens (Latence/SLA) diagnose sys sdwan health-check # Voir le statut des membres de la zone diagnose sys sdwan member
Décision de routage :
# Voir quelle règle SD-WAN est appliquée diagnose sys sdwan service # Vérifier la table de routage SD-WAN (Policy Routes) diagnose firewall proute list
L'Inspection Hybride de FortiOS
FortiOS permet de choisir le mode d'inspection au niveau de la politique ou du système (NGFW Mode). Ce choix détermine si le trafic est traité par le moteur IPS (Flow) ou le démon WAD (Proxy).
| Caractéristique | Flow-Based (Défaut) | Proxy-Based |
|---|---|---|
| Performance | Ultra-Haute (Offloadable) | Baisse (CPU-Bound) |
| Latence | Presque nulle | Mesurable (Buffering) |
| Sécurité | Standard (Packet scan) | Maximale (Full reconstruction) |
| Hardware | Optimisé pour ASIC NP7 | Traité par CPU + CP9 |
Note : En mode Flow, le firewall scanne les paquets à la volée sans les bufferiser entièrement, ce qui permet l'accélération matérielle.
Cycle de traitement Flow vs Proxy
# Changer le mode d'inspection global
config system settings
set inspection-mode [flow | proxy]
endLes piliers du plan de données : WAD & IPS
L'intelligence de FortiOS réside dans ses démons spécialisés qui gèrent l'inspection de contenu.
WAD (Worker & Action Daemon)
- Rôle : Gère l'inspection Proxy (Web filter, SSL Inspection, FTP).
- Architecture : Multi-processus. Chaque processus WAD gère un certain nombre de sessions.
- Debug :
diag test authad 2(Afficher les stats de session).
IPS Engine (IPS Monitor)
- Rôle : Analyse de signatures, Application Control et Flow-AV.
- Architecture : Utilise le moteur nTurbo pour le déchargement vers les ASIC.
- Debug :
diag test app ipsmonitor 1(Afficher les stats IPS).
Visualisation des processus actifs :
# Voir les processus consommant le plus de CPU/RAM get system performance top # Tuer un processus WAD bloqué (il redémarrera automatiquement) diagnose sys process kill 9 [PID]
Mécanismes de protection de la mémoire (Conserve Mode)
Le Conserve Mode est un état de survie où le FortiGate restreint les fonctions non essentielles pour éviter un crash total du noyau.
| Seuil RAM (%) | État du Système | Conséquences Techniques |
|---|---|---|
| < 82% | Vert (Normal) | Tout est fonctionnel. |
| 88% - 94% | Jaune (Conserve) | Pas de nouveaux changements de config. AV passe en "fail-open" ou "fail-closed". |
| > 95% | Rouge (Extreme) | Le noyau drop les paquets. Sessions administratives bloquées. |
Actions de remédiation :
- Réduire le nombre de sessions (Throttling).
- Désactiver l'inspection SSL sur les flux non critiques.
- Vérifier les fuites mémoire des processus WAD.
# Vérifier si le système est en Conserve Mode diagnose hardware sysinfo conserve # Historique des évènements de mémoire diagnose debug crashlog read
Investigation avancée du Noyau (Kernel)
En cas de comportement erratique ou de redémarrage inattendu, l'analyse des logs du noyau est vitale.
diag debug crashlog read (Affiche les paniques du noyau). 2. Kernel Stats : diag sniffer packet any "port 443" 4 (Niveau noyau). 3. Process Trace : diag sys process trace [PID] (Suivre les appels système). 4. CPU Profiling : diag sys dashboard cpu (Usage par core).Optimisation des performances globales
Optimisation TCP/IP :
- TCP MSS Sender/Receiver : Ajustement pour éviter la fragmentation.
- Session TTL : Réduire le temps de vie des sessions inactives pour libérer la table.
- NTurbo : S'assurer que l'IPS est bien déchargé vers les processeurs SPU.
CLI : Tuning Avancé
# Ajuster le seuil de Conserve Mode (Expert uniquement) config system global set memory-use-threshold-extreme 95 end # Optimiser les processus WAD config system global set wad-worker-count 4 end
L'algorithme de Matching FortiOS
Le FortiGate utilise un moteur de recherche séquentiel (Top-to-Bottom). Dès qu'une correspondance est trouvée, le traitement s'arrête.
- Champs de Matching : Interface Source/Dest, Adresse Source/Dest, Service, Schedule.
- Implicit Deny : La règle 0 (invisible) bloque tout ce qui n'est pas explicitement autorisé.
- NGFW Policy Mode : Choix entre *Profile-based* (classique) ou *Policy-based* (plus proche de Palo Alto).
Traitement Hardware (ASIC) :
Si la politique n'inclut pas de profils Proxy, elle est éligible au déchargement **NP7 FastPath**.
Diagramme de flux NGFW
# Vérifier l'ordre et le hit-count des règles diagnose firewall policy list # Identifier la règle utilisée par une session diagnose sys session filter daddr 8.8.8.8 diagnose sys session list
SSL Inspection : Briser l'aveuglement
80% du trafic malveillant est chiffré. Sans DPI (Deep Packet Inspection), les profils AV/IPS sont inefficaces sur le HTTPS.
SSL Certificate Inspection
Inspecte uniquement le SNI (Server Name Indication). Autorise/Bloque selon le domaine sans déchiffrer le contenu.
Deep Inspection (M.I.T.M)
Le FortiGate agit comme un Proxy CA. Il déchiffre, scanne, puis rechiffre. Requis pour l'Antivirus et l'IPS profond.
Impact Hardware (CP9) :
Le CP9 accélère le déchiffrement asymétrique (RSA/ECDSA), réduisant la charge CPU de 90% sur les handshakes.
ISDB : Internet Service Database
L'ISDB remplace les listes d'IP statiques par des objets dynamiques mis à jour par FortiGuard (ex: Microsoft-Office365, AWS, Netflix).
- Plus de 3000 services : Contient IPs, Protocoles et Ports.
- Efficacité : Utilisé en "Source" ou "Destination" sans nécessiter de DNS Lookup.
Application Control (L7)
Identifie les applications via des signatures (ex: Facebook Post vs Facebook Messenger).
# Voir la liste des signatures ISDB diagnose autoupdate versions | grep -A 5 "Internet-service" # Vérifier le contenu d'un objet ISDB spécifique diagnose firewall internet-service list name Office365
Gestion du NAT (SNAT & DNAT)
FortiGate sépare le NAT de la politique via des objets IP Pool et VIP.
| Type | Usage | Détails |
|---|---|---|
| SNAT (IP Pool) | Sortie LAN -> WAN | Fixe l'IP publique de sortie (Overload, One-to-One). |
| DNAT (VIP) | Entrée WAN -> Serveur | Port Forwarding et Load Balancing entrant. |
| Central NAT | Global | Sépare les règles NAT des règles de Firewall (style ASA). |
Dépannage de flux (Expert)
Comment identifier pourquoi une règle ne "match" pas.
diag debug flow filter saddr 10.0.0.5 2. Enable : diag debug flow show function-name enable 3. Trace : diag debug flow trace start 5 4. Log : diag debug enableiprope_in_check() check failed, drop, cela signifie qu'aucune politique n'autorise le trafic.Standardisation IPsec IKEv2
L'implémentation Fortinet privilégie le Route-Based VPN (VTI) pour permettre le pilotage par le moteur SD-WAN et le support des protocoles de routage dynamique.
| Paramètre | Recommandation Sécurité (V7.6) | Impact Performance |
|---|---|---|
| Phase 1 Enc | AES-GCM-256 (Native SPU) | Ultra-Rapide (FastPath) |
| Diffie-Hellman | Group 21 (ECP 384) ou 31 | Hardware Accelerated |
| Key Life | 28800 sec / Re-key enable | Protection Forward Secrecy |
| DPD Mode | On-demand / Optimized | Évite les sessions fantômes |
Pourquoi IKEv2 ?
- MOBIKE : Persistance du tunnel lors du changement d'IP client (Fibre vers 4G).
- NAT-T : Détection et encapsulation UDP 4500 native.
- EAP Auth : Support des certificats et de l'authentification forte.
Configuration Phase 2 (Performance)
# Phase 2 : Optimisation SPU
config vpn ipsec phase2-interface
edit "P2_Data_Tunnel"
set phase1name "To_HQ"
set proposal aes256gcm
set dhgrp 21
set auto-negotiate enable
set keepalive enable
next
endADVPN : Auto-Discovery & Dynamic Shortcuts
Architecture Hub-and-Spoke permettant l'établissement de tunnels directs entre Spokes (Shortcut) sans passer par le Hub pour le plan de données.
Hardening SSL-VPN (Anti-Exploit)
Face à l'augmentation des attaques sur les passerelles VPN, le durcissement est une obligation critique.
| Vecteur d'attaque | Contre-mesure FortiOS |
|---|---|
| Brute Force | Lockout policy + MFA Obligatoire (FortiToken). |
| WebGUI Leak | Désactiver le mode Web, forcer le Mode Tunnel uniquement. |
| Reconnaissance | Changer le port 443 par un port non-standard (>10000). |
| Zero-Day | Restreindre l'accès par Geofencing (ISDB GeoIP). |
# Restriction par pays (ex: FR)
config vpn ssl settings
set source-address "Geo_France"
set source-address-negate disable
set algorithm high
set idle-timeout 300
endZTNA Architecture : Identité & Posture continue
Le ZTNA remplace le concept de "périmètre" par une vérification par application. Le tunnel n'est établi que si le terminal respecte les règles de conformité définies dans FortiClient EMS.
Composants de la Posture :
- Certificat de Machine : Preuve de l'appartenance au domaine.
- Tags de Sécurité : "AV-Running", "OS-Up-to-date", "No-Vulnerability".
- SAML 2.0 Identity : Intégration avec Entra ID (Azure) ou Okta.
Logique de Tagging :
config endpoint-control ztna-tag
edit "Secure_Device"
config tag-rule
edit 1
set rule-type os-version
set os-type windows
set windows-version windows-11
next
end
next
endAccélération Hardware SPU (NP7 & CP9)
L'offload permet de maintenir des débits multi-gigabits sans latence induite par le kernel.
Encapsulation ESP & AES-GCM (Ligne de vitesse)
Asymmetric Handshake (RSA/ECDH Offload)
Acceleration UDP pour SSL-VPN (Tunnel mode)
Investigation Profonde CLI (IKE/SSL)
Debug IKE (IPsec Phase 1/2) :
# Debug Phase 1 (Négociation)
diag debug reset
diag debug flow filter dst-addr 1.2.3.4
diag vpn ike log-filter dst-addr 1.2.3.4
diag debug app ike -1
diag debug enableVérification Hardware :
# Voir les sessions IPsec offloadées diagnose vpn ipsec status # Rechercher "hw_crypto_engine=NP7" # Monitorer le trafic SSL-VPN diagnose vpn ssl monitor
FGCP : Le standard de redondance
Le **FortiGate Clustering Protocol (FGCP)** est le protocole propriétaire utilisé pour former des clusters de 2 à 4 unités. Il assure la synchronisation temps réel de la configuration et des sessions.
| Mode | Description Technique | Usage |
|---|---|---|
| Active-Passive | Une seule unité traite le trafic. La seconde attend en standby chaud. | Standard (95% des cas) |
| Active-Active | Le Master distribue le trafic (UTM uniquement) aux esclaves. | Besoins d'inspection massifs |
Élection du Master (Logique AP):
- 1. Monitor Interface : Plus d'interfaces "UP" l'emportent.
- 2. HA Priority : Valeur définie manuellement (Défaut 128).
- 3. Up-time : Le plus ancien reste Master (Si diff > 5min).
- 4. Serial Number : Le plus élevé (Dernier recours).
CLI : Initialisation Cluster AP
# Configuration du mode HA config system ha set group-id 1 set group-name "CORE_CLUSTER" set mode a-p set hbdev "port3" 50 "port4" 50 set session-pickup enable set override disable set priority 200 # Unité Master end
FGSP : Synchronisation pour les architectures asymétriques
Le **FGSP** synchronise uniquement les tables de sessions entre unités indépendantes. Contrairement au FGCP, il n'y a pas d'IP virtuelle partagée ni d'élection de maître.
- Routing Asymétrique : Permet au paquet aller de passer par FGT-A et au paquet retour par FGT-B sans être droppé.
- SD-WAN Hubs : Indispensable pour les architectures multi-hub où le routage BGP peut fluctuer.
- Scalabilité : Supporte jusqu'à 16 unités synchronisées.
config system session-sync
edit 1
set peerip 10.255.255.2
set syncvd "root"
next
endVirtual Clustering : Répartition par VDOM
Permet d'avoir deux unités Actives simultanément en répartissant les charges de travail par domaine virtuel (VDOM).
Heartbeat & Data Sync Deep Dive
Le lien HA transporte trois types de flux critiques :
- Hello (Heartbeat) : Détection de présence (Toutes les 200ms).
- Sync : Réplication en temps réel des changements d'objets et de sessions.
- Control : Commandes d'administration synchronisées (CLI/GUI).
Best Practices Heartbeat :
- Utiliser au moins deux liens physiques dédiés.
- Ne jamais passer par un switch (Connexion directe câble croisé recommandée).
| Type Session | Synchronisé par défaut ? |
|---|---|
| TCP Established | Oui (si session-pickup enable) |
| UDP / ICMP | Optionnel (set session-pickup-delay) |
| SSL-VPN / IPsec | Oui (Sauf cas spécifiques de clés) |
| Multicast | Non (Géré par routage) |
Mécanismes de déclenchement du basculement
FortiOS surveille plusieurs indicateurs pour décider d'un failover.
Port monitor détecte un lien "DOWN" (ex: WAN coupé)
Basculement si RAM > seuil critique (Conserve Mode)
Remote Link Monitor (Ping vers passerelle ISP échoue)
Diagnostic du Cluster & Désynchronisation
Vérification de l'intégrité :
# Vérifier si les sommes de contrôle (Checksum) matchent diagnose sys ha checksum cluster # Si différent : Forcer une synchronisation execute ha synchronize stop/start
Debug temps réel :
# Voir les évènements HA (Election, Failover) diagnose debug application hatalk -1 diagnose debug enable # Voir le statut détaillé des membres get system ha status
L'art du Sniffer (TCPDump Style)
Indispensable pour voir si un paquet arrive sur l'interface et s'il en ressort.
# Syntaxe : diag sniffer packet [intf] '[filter]' [verbose] [count] [ts]
# Exemple : Voir le trafic ICMP vers 8.8.8.8 sur port1
diag sniffer packet port1 'host 8.8.8.8 and icmp' 4 10
# Niveaux de Verbose :
# 1: IP + Port + TCP Flags
# 3: 1 + Payload HEX
# 4: 1 + Interface Name (Très utile !)Debug Flow : La Bible du Troubleshooting
Permet de voir exactement comment le kernel FortiOS prend sa décision (Route, Policy, NAT).
diag debug reset
diag debug flow filter saddr 192.168.1.50
diag debug flow filter dport 443
diag debug flow show function-name enable
diag debug flow trace start 100
diag debug enable
# Lecture du résultat :
# id=20085 trace_id=1 func=print_pkt_detail line=5501 msg="vd-root:0 received a packet..."
# msg="find a route: flag=00000001 gw=1.1.1.1 via port1"
# msg="Allowed by Policy-ID: 5"Anatomie de la table de session
# Filtrer les sessions vers une destination
diagnose sys session filter daddr 1.1.1.1
diagnose sys session list
# Interprétation des flags :
# [proto=6] -> TCP
# [state=01] -> Established
# [may_dirty] -> Pas encore offloadé
# [offload=1/1] -> Accéléré par NP (In/Out)