Premiers pas avec FortiGate — interface, pare-feu, NAT et configuration de base
Pare-feu de nouvelle génération, Security Fabric, écosystème Fortinet
FortiGate est la ligne de pare-feu de nouvelle génération (NGFW) de Fortinet. Il offre une protection complète contre les menaces avec des fonctionnalités intégrées :
Le Security Fabric est l'architecture de sécurité intégrée de Fortinet qui connecte tous les produits Fortinet pour une visibilité et un contrôle globaux.
# Verification de l'etat general
FGT60F # show system status
Hostname: FGT60F
Operation Mode: NAT
Version: 7.4.3
Firmware Version: FortiGate-60F v7.4.3,build2573
Serial-Number: FGT6HF0123456789
Par exemple : antivirus, IPS, filtrage web, contrôle d applications, VPN IPsec et SSL-VPN, avec journalisation par politique.
Séries FortiGate, FortiGate-R, performances, cas d'usage
| Série | Cibles | Performances |
|---|---|---|
| FortiGate 40F-80F | PME, succursales | Jusqu'à 10 Gbps FW |
| FortiGate 100F-200F | Entreprises moyennes | Jusqu'à 27 Gbps FW |
| FortiGate 400F-1100F | Grandes entreprises | Jusqu'à 100+ Gbps FW |
| FortiGate-R | Haute performance | Jusqu'à 1 Tbps FW |
| FortiGate-VM | Virtualisation | Variable selon licence |
Un FortiGate 40F à 80F suffit, car le débit avec UTM reste sous 10 Gbps et le coût reste adapté à une succursale.
Connexion console, accès GUI/CLI, licence et setup initial
Accès par défaut :
# Connexion Console (câble série ou USB-Serial)
# Baud rate: 9600, 8N1
# Identifiants par défaut
Login: admin
Mot de passe: (aucun — vide)
# Accès GUI via navigateur
# https://192.168.1.99 (IP par défaut de port1/mgmt)
# ou http://192.168.1.99
# Accès CLI via SSH
ssh admin@192.168.1.99
Étapes du setup initial :
L adresse par défaut est https://192.168.1.99 sur port1 ou mgmt, et il faut définir immédiatement le mot de passe admin puis restreindre les accès.
Mode NAT, Transparent, TP — Virtual Domains
Un VDOM permet de segmenter un FortiGate physique en plusieurs pare-feux virtuels indépendants.
| Mode | Description | Usage |
|---|---|---|
| NAT (Route) | Pare-feu routé avec NAT | Le plus courant —-permet routage + pare-feu |
| Transparent | Pare-feu en pont (bridge) | Insertion sans changement IP |
| TP (Transparent + NAT) | Combinaison | Cas spécifiques |
# Activer les VDOM (redémarre le FortiGate)
FGT60F # config system global
FGT60F (global) # set vdom-mode enable
FGT60F (global) # end
# Verification
FGT60F # show system status | grep -i vdom
VDOM mode: enabled
Current virtual domain: root
Max number of virtual domains: 10
Quand il faut insérer le FortiGate sans modifier les adresses IP existantes, par exemple devant des serveurs en production que l on ne veut pas réadresser.
FortiGuard IPS, AV, Web Filter, Application Control
| Licence | Fonction |
|---|---|
| FortiGuard IPS | Mises à jour des signatures d'intrusion |
| FortiGuard Antivirus | Signatures antimalware en temps réel |
| FortiGuard Web Filter | Base de données d'URLs (catégories) |
| FortiGuard App Control | Identification d'applications |
| FortiGuard AntiSpam | Filtrage antispam (FortiMail) |
| FortiSandbox | Analyse comportementale (Cloud) |
# Verifier l'etat des licences
FGT60F # get system status | grep -i license
IPsec Client VPN License: 0
SSL-VPN Premium License: 0
Les signatures ne se mettent plus à jour, la détection rate les attaques récentes et l examen FCP considère la protection comme non conforme.
Ports physiques, VLAN, interfaces logiques, DHCP
FortiGate possède plusieurs ports physiques (port1 à portN) et des interfaces virtuelles (VLAN, aggregate, loopback).
# Voir toutes les interfaces
FGT60F # show system interface
# Voir une interface specifique
FGT60F # show system interface port1
# Configurer une interface
FGT60F # config system interface
FGT60F (interface) # edit port2
FGT60F (port2) # set alias "LAN"
FGT60F (port2) # set mode static
FGT60F (port2) # set ip 10.0.1.1 255.255.255.0
FGT60F (port2) # set allowaccess ping https ssh http
FGT60F (port2) # next
FGT60F (interface) # end
# Configurer DHCP Server
FGT60F # config system interface
FGT60F (interface) # edit port2
FGT60F (port2) # config dhcp-server
FGT60F (dhcp-server) # set default-gateway 10.0.1.1
FGT60F (dhcp-server) # set netmask 255.255.255.0
FGT60F (dhcp-server) # set interface "port2"
FGT60F (dhcp-server) # config ip-range
FGT60F (ip-range) # edit 1
FGT60F (1) # set start-ip 10.0.1.100
FGT60F (1) # set end-ip 10.0.1.200
FGT60F (1) # next
FGT60F (ip-range) # end
FGT60F (dhcp-server) # end
FGT60F (port2) # end
FGT60F (interface) # end
# Configurer port1 en DHCP (WAN)
FGT60F # config system interface
FGT60F (interface) # edit port1
FGT60F (port1) # set mode dhcp
FGT60F (port1) # set allowaccess ping https ssh
FGT60F (port1) # set default-gateway 1
FGT60F (port1) # set dns-server-override enable
FGT60F (port1) # end
La commande show system interface port2 affiche l adresse, et on limite allowaccess à ping et https côté LAN, sans http ni telnet côté WAN.
Hostname, time zone, DNS, administrators, NTP
# Changer le nom d'hote
FGT60F # config system global
FGT60F (global) # set hostname MonFortiGate
MonFortiGate (global) # end
# Configurer le fuseau horaire
FGT60F # config system global
MonFortiGate (global) # set timezone 01
MonFortiGate (global) # end
# Configurer les DNS
MonFortiGate # config system dns
MonFortiGate (dns) # set primary 8.8.8.8
MonFortiGate (dns) # set secondary 8.8.4.4
MonFortiGate (dns) # end
# Configurer NTP
MonFortiGate # config system ntp
MonFortiGate (ntp) # set type custom
MonFortiGate (ntp) # set server 192.168.1.1
MonFortiGate (ntp) # set syncinterval 60
MonFortiGate (ntp) # end
# Ajouter un administrateur
MonFortiGate # config system accprofile
MonFortiGate (accprofile) # set name "super_admin"
MonFortiGate (accprofile) # set secfabcli enable
MonFortiGate (accprofile) # end
MonFortiGate # config system api-user
MonFortiGate (api-user) # edit "apiadmin"
MonFortiGate (apiadmin) # set accprofile "super_admin"
MonFortiGate (apiadmin) # set vdom "root"
MonFortiGate (apiadmin) # config trusthost
MonFortiGate (trusthost) # edit 1
MonFortiGate (1) # set ipv4-trusthost 10.0.1.0/24
MonFortiGate (1) # next
MonFortiGate (trusthost) # end
MonFortiGate (apiuser) # end
Parce que des horloges désynchronisées rendent les journaux inexploitables pour corréler une attaque entre le FortiGate, les serveurs et FortiAnalyzer.
Backup config, restore, cloner, USB
# Sauvegarder via CLI
FGT60F # execute backup config usb config-backup
FGT60F # execute backup config flash config-backup
# Sauvegarder dans un fichier (GUI ou SCP)
FGT60F # execute backup config scp start admin@10.0.1.50:/backup/
# Telecharger la config (GUI)
# System > Backup > Backup Configuration > Download
# Restaurer une configuration
FGT60F # execute backup config restore config-backup
# Sauvegarder en PNG (CLI)
FGT60F # execute backup full-config usb full-backup
# Export config pour FortiManager
FGT60F # execute backup all-settings usb backup-all
Toujours sauvegarder avant toute modification majeure de la configuration. Un backup peut vous sauver d'une erreur de configuration critique.
Effectuer un backup complet vérifié et externalisé, puis seulement appliquer la modification avec une fenêtre de retour arrière prévue.
Upgrade, downgrade, image secondaire
# Verifier la version actuelle
FGT60F # get system status | grep Version
Version: 7.4.3
Firmware Version: FortiGate-60F v7.4.3,build2573
# Mettre a jour via USB
FGT60F # execute disk image-manage usb list
FGT60F # execute disk image-manage usb upgrade
# Mettre a jour via FortiGuard
FGT60F # execute fab update execute fortiguard
# Downgrade (format prealable recommande)
FGT60F # execute format logdisk
# Verifier apres mise a jour
FGT60F # get system status
FGT60F # get hardware status
Toujours lire les notes de version avant de mettre à jour. Prévoyez une fenêtre de maintenance et un backup complet.
Les notes de version du chemin d upgrade et un backup complet de la configuration, avec une fenêtre de maintenance validée.
Ordre d'évaluation, correspondance, action accept/deny
Les règles de pare-feu FortiGate sont évaluées de haut en bas (par numéro de policy ID). La première règle correspondante s'applique.
# Voir toutes les politiques
FGT60F # show firewall policy
# Voir une politique specifique
FGT60F # show firewall policy 1
# Voir avec la configuration complete
FGT60F # show full-configuration firewall policy
Du policy ID le plus bas vers le plus haut, première correspondance gagnante, et tout trafic non matché est bloqué par le deny implicite final.
Source, destination, service, action, shedule, logging
# Creer une regle pour autoriser le trafic LAN vers Internet
FGT60F # config firewall policy
FGT60F (policy) # edit 1
FGT60F (1) # set name "LAN_to_Internet"
FGT60F (1) # set srcintf "port2"
FGT60F (1) # set dstintf "port1"
FGT60F (1) # set srcaddr "LAN_Net"
FGT60F (1) # set dstaddr "all"
FGT60F (1) # set service "HTTP" "HTTPS" "DNS"
FGT60F (1) # set schedule "always"
FGT60F (1) # set action accept
FGT60F (1) # set logtraffic all
FGT60F (1) # set nat enable
FGT60F (1) # next
FGT60F (policy) # end
Paramètres clés :
| Paramètre | Description |
|---|---|
| srcintf / dstintf | Interface source / destination |
| srcaddr / dstaddr | Objet adresse source / destination |
| service | Service(s) autorisé(s) |
| action | accept ou deny |
| logtraffic | all, utm, disable |
| nat | enable / disable (NAT sortant) |
srcintf, dstintf, srcaddr, dstaddr, service, schedule always, action accept, nat enable et logtraffic all.
Adresses IP, groupes d'adresses, services custom
# Creer un objet adresse
FGT60F # config firewall address
FGT60F (address) # edit "Serveur_Web"
FGT60F (Serveur_Web) # set subnet 10.0.2.10/32
FGT60F (Serveur_Web) # set comment "Serveur web DMZ"
FGT60F (Serveur_Web) # next
FGT60F (address) # end
# Creer un groupe d'adresses
FGT60F # config firewall addrgrp
FGT60F (addrgrp) # edit "LAN_Complet"
FGT60F (LAN_Complet) # set member "LAN_Net" "DMZ_Net"
FGT60F (LAN_Complet) # next
FGT60F (addrgrp) # end
# Creer un service custom
FGT60F # config firewall service custom
FGT60F (custom) # edit "MySQL"
FGT60F (MySQL) # set protocol TCP
FGT60F (MySQL) # set tcpportrange 3306
FGT60F (MySQL) # next
FGT60F (custom) # end
# Creer un groupe de services
FGT60F # config firewall service group
FGT60F (group) # edit "DB_Services"
FGT60F (DB_Services) # set member "MySQL" "PostgreSQL"
FGT60F (DB_Services) # next
FGT60F (group) # end
Centraliser la définition pour modifier une seule fois et garder des politiques lisibles, auditées et sans erreur de frappe répétée.
Planification, règles temporelles, déni implicite
# Creer un schedule
FGT60F # config firewall schedule oneshot
FGT60F (oneshot) # edit "Maintenance_Weekend"
FGT60F (Maintenance_Weekend) # set start 2026/09/05 22:00
FGT60F (Maintenance_Weekend) # set end 2026/09/06 06:00
FGT60F (Maintenance_Weekend) # next
FGT60F (oneshot) # end
# Creer un schedule recurring (hebdomadaire)
FGT60F # config firewall schedule recurring
FGT60F (recurring) # edit "Bureau_Horaire"
FGT60F (Bureau_Horaire) # set start 08:00
FGT60F (Bureau_Horaire) # set end 18:00
FGT60F (Bureau_Horaire) # set day monday tuesday wednesday thursday friday
FGT60F (Bureau_Horaire) # next
FGT60F (recurring) # end
# L'Implicit Deny est la derniere regle (ID haute, typically 1000+)
# Il est toujours present et ne peut pas etre supprime
# Il bloque tout trafic non matche par les regles precedentes
Il ne matche plus la règle temporelle et tombe sur les règles suivantes puis sur le deny implicite qui le bloque et le journalise.
UTM, antivirus, IPS, web filter sur les règles
FortiGate permet d'appliquer des profils de sécurité (UTM) sur les règles accept :
# Appliquer des Security Profiles sur une regle
FGT60F # config firewall policy
FGT60F (policy) # edit 1
FGT60F (1) # set av-profile "default"
FGT60F (1) # set webfilter-profile "default"
FGT60F (1) # set ips-sensor "default"
FGT60F (1) # set application-list "default"
FGT60F (1) # set logtraffic all
FGT60F (1) # set logtraffic-start enable
FGT60F (1) # next
FGT60F (policy) # end
Antivirus, Web Filter, IPS et Application Control, avec journalisation complète pour auditer les détections.
Masquage d'adresses, IP Pool, NEIP
Le NAT sortant est activé sur les règles qui autorisent le trafic LAN vers Internet. Il masque les adresses internes.
# SNAT simple (masquerade) sur une regle
FGT60F # config firewall policy
FGT60F (policy) # edit 1
FGT60F (1) # set name "LAN_to_Internet"
FGT60F (1) # set srcintf "port2"
FGT60F (1) # set dstintf "port1"
FGT60F (1) # set srcaddr "LAN_Net"
FGT60F (1) # set dstaddr "all"
FGT60F (1) # set action accept
FGT60F (1) # set nat enable
FGT60F (1) # set ippool disable
FGT60F (1) # next
FGT60F (policy) # end
# Utiliser un IP Pool pour un NAT plus specifique
FGT60F # config firewall ippool
FGT60F (ippool) # edit "WAN_IPs"
FGT60F (WAN_IPs) # set startip 203.0.113.10
FGT60F (WAN_IPs) # set endip 203.0.113.20
FGT60F (WAN_IPs) # set nat statically enable
FGT60F (WAN_IPs) # next
FGT60F (ippool) # end
# Associer l'IP Pool a une regle
FGT60F # config firewall policy
FGT60F (policy) # edit 1
FGT60F (1) # set ippool enable
FGT60F (1) # set poolname "WAN_IPs"
FGT60F (1) # next
FGT60F (policy) # end
Quand il faut répartir la sortie sur plusieurs IP publiques ou garantir une IP source fixe pour un service, avec traçabilité par plage.
Redirection de ports, Virtual IP, DNAT
Le DNAT (Destination NAT) redirige le trafic entrant vers un serveur interne (port forwarding).
# Creer une Virtual IP (VIP) pour le port forwarding
FGT60F # config firewall vip
FGT60F (vip) # edit "WebServer_443"
FGT60F (WebServer_443) # set extip 203.0.113.5
FGT60F (WebServer_443) # set mappedip 10.0.2.10
FGT60F (WebServer_443) # set extport 443
FGT60F (WebServer_443) # set mappedport 443
FGT60F (WebServer_443) # set protocol tcp
FGT60F (WebServer_443) # set comment "Serveur Web"
FGT60F (WebServer_443) # next
FGT60F (vip) # end
# Creer la regle de pare-feu pour le DNAT
FGT60F # config firewall policy
FGT60F (policy) # edit 3
FGT60F (3) # set name "DNAT_WebServer"
FGT60F (3) # set srcintf "port1"
FGT60F (3) # set dstintf "port3"
FGT60F (3) # set srcaddr "all"
FGT60F (3) # set dstaddr "WebServer_443"
FGT60F (3) # set service "HTTPS"
FGT60F (3) # set action accept
FGT60F (3) # set logtraffic all
FGT60F (3) # next
FGT60F (policy) # end
# Port forwarding multiple
FGT60F # config firewall vip
FGT60F (vip) # edit "MultiPort_443_8443"
FGT60F (MultiPort_443_8443) # set extip 203.0.113.5
FGT60F (MultiPort_443_8443) # set mappedip 10.0.2.10
FGT60F (MultiPort_443_8443) # set extport 8443
FGT60F (MultiPort_443_8443) # set mappedport 443
FGT60F (MultiPort_443_8443) # set protocol tcp
FGT60F (MultiPort_443_8443) # next
FGT60F (vip) # end
La VIP mappe IP et port externes vers IP et port internes, et la politique n autorise que ce couple précis depuis l interface externe.
SNAT centralisé, binding à une policy
En FortiOS 7.x, le Central SNAT permet de configurer le SNAT de manière centralisée hors des politiques de pare-feu.
# Activer le Central SNAT
FGT60F # config system settings
FGT60F (settings) # set central-snat-mode enable
FGT60F (settings) # end
# Configurer le Central SNAT
FGT60F # config firewall central-snat-map
FGT60F (central-snat-map) # edit 1
FGT60F (1) # set srcintf "port2"
FGT60F (1) # set dstintf "port1"
FGT60F (1) # set src-addr "LAN_Net"
FGT60F (1) # set dst-addr "all"
FGT60F (1) # set service "HTTP" "HTTPS"
FGT60F (1) # set nat enable
FGT60F (1) # next
FGT60F (central-snat-map) # end
Centraliser et auditer toutes les translations hors des politiques, avec des règles NAT ordonnées et réutilisables.
Session table, sniffer, logs NAT
# Voir les sessions NAT activees
FGT60F # diagnose sys session list
# Filtre par interface
FGT60F # diagnose sys session filter intf port1
FGT60F # diagnose sys session list
# Sniffer pour verifier le NAT
FGT60F # diagnose sniffer packet port1 'host 10.0.1.50' 4 0 l
# Verifier les logs
FGT60F # execute log filter field type forward
FGT60F # execute log display
# Verifier la table NAT
FGT60F # diagnose ip route list
# Diagnostique DNS (si pas de resolution)
FGT60F # execute ping 8.8.8.8
FGT60F # execute ping google.com
Sessions filtrées, sniffer ciblé, logs forward, table de routage avec diagnose ip route list, puis test ping IP puis nom pour séparer routage et DNS.