# 📚 Formation SD-WAN Fortinet – Jour2 + Jour3 # 🛠️ TP 2 – Activer l’inspection Antivirus, Web Filter, IPS ## 🎯 Objectif : Configurer les profils de sécurité UTM sur une règle existante afin d’analyser le trafic réseau, bloquer les menaces connues, et filtrer les contenus non autorisés. --- ## 🧰 Matériel requis : - 1 FortiGate avec accès à Internet (ou simulateur) - Une politique de sécurité LAN > WAN déjà créée - Un poste client connecté au LAN --- ## 🗺️ Étapes à suivre ### 🔧 Étape 1 – Créer et vérifier les profils UTM via l’interface GUI 1. Connecte-toi à l’interface web de FortiGate → `https://192.168.10.1` (ou autre IP selon ton lab) 2. Accède à : `Security Profiles > Antivirus` Vérifie que le profil `default` est présent et activé 3. Répète pour : - `Web Filter` - `Application Control` - `IPS` Tu peux modifier le contenu des profils ou laisser les valeurs par défaut. --- ### 🔧 Étape 2 – Appliquer les profils UTM à une règle existante 1. Va dans : `Policy & Objects > Firewall Policy` 2. Clique sur la règle `LAN_to_WAN` 3. Active les options suivantes : - ✅ Antivirus → profil `default` - ✅ Web Filter → profil `default` - ✅ Application Control → profil `default` - ✅ IPS → profil `default` 4. Active l’option **Log Allowed Traffic** : `All Sessions` 5. Enregistre les modifications --- ### 🌐 Étape 3 – Générer du trafic depuis un poste client Depuis un poste client, accède à quelques sites ou génère du trafic avec `ping` ou `curl`. Exemples : ```bash ping 8.8.8.8 curl http://malware.test.malwaredomainlist.com/ ``` ## ✅ Résultat attendu - Le trafic **Internet du client** passe par la **règle sécurisée** (avec inspection UTM). - Les **logs de sécurité** sont générés automatiquement. - **FortiGate bloque ou alerte** en cas de tentative d’accès à un site malveillant ou interdit. - Les événements sont visibles dans : - `Log & Report > Web Filter` - `Log & Report > Antivirus` - `Log & Report > IPS` - `Log & Report > Application Control` --- # 🎁 Bonus – Analyse des événements UTM avec un collecteur de logs ## 🎯 Objectif Visualiser et interpréter les événements de sécurité (Antivirus, Web Filter, IPS…) générés par **FortiGate** dans un outil d’analyse de logs externe. --- ## 🧰 Prérequis - FortiGate configuré pour envoyer ses logs (**syslog** activé) - Profils UTM actifs sur la règle **LAN > WAN** - Trafic généré depuis un poste client - Un collecteur de logs (au choix, compatible avec GNS3) ### 🔹 Solutions possibles (compatibles GNS3) - **Graylog** (open source, image dispo sur Docker Hub ou VM en `.ova`) - **ELK Stack (Elasticsearch + Logstash + Kibana)** (open source, images Docker / VM disponibles en ligne) - **Splunk Free** (image `.ova` dispo sur le site de Splunk) - **Syslog-ng ou rsyslog** (plus léger, disponible sous Debian/Ubuntu GNS3 VM) ### 📥 Images à télécharger - Graylog : [https://www.graylog.org/downloads](https://www.graylog.org/downloads) - Splunk Free : [https://www.splunk.com/en_us/download.html](https://www.splunk.com/en_us/download.html) --- ## ⚙️ Intégration dans GNS3 1. Télécharger l’image VM (au format `.qcow2`, `.ova` ou Docker si tu utilises la GNS3 VM). 2. Dans **GNS3** : - `File > Import Appliance` - Choisir l’appliance téléchargée (Graylog, ELK ou Splunk) - Terminer l’assistant d’importation - Vérifier les paramètres CPU/RAM adaptés : - Graylog ≥ 4Go RAM - Splunk ≥ 4Go RAM - ELK ≥ 6Go RAM 3. Connecter l’interface réseau du collecteur au **LAN ou au WAN** du FortiGate. 4. Configurer le FortiGate pour envoyer les logs : ```bash config log syslogd setting set status enable set server <IP_collecteur> set facility local7 end ``` --- ## - Si on utilise FortiAnalyzer : ### - Importation du FortiAnalyzer 1. Se rendre sur `File` > `Import Appliance` : choisir le fichier `FortiAnalzer.gns3` 2. Autoriser l'importation d'une nouvelle version ![image](https://hackmd.io/_uploads/H1OTWVfFlx.png) 3.Importez l'image .qcow2 et terminez l'importation ![image](https://hackmd.io/_uploads/ByOgVEGFxg.png) 4. customisation du template ![image](https://hackmd.io/_uploads/HydUMNzFgx.png) rectifier ces valeurs : ![image](https://hackmd.io/_uploads/B1ERzEzYex.png) Pour finir créer un nouveau stockage : ![image](https://hackmd.io/_uploads/rkHamEzKgg.png) ![image](https://hackmd.io/_uploads/HkUnmEfYlx.png) ### 🗺️ Étapes à suivre dans FortiAnalyzer 1. Ouvrir l’interface web de FortiAnalyzer 2. Naviguer vers : `Log View > Threats > Antivirus` ou `Log View > Security > Web Filter / IPS / AppCtrl` 3. Appliquer un filtre par IP source (client du LAN) ou par plage horaire 4. Examiner : - **Nom de la menace détectée** (si virus ou attaque) - **Nom du site web bloqué** - **Catégorie web détectée** - **Application détectée (ex: Telegram, Zoom, etc.)** --- ### 📊 Bonus visuel : Tu peux également générer un **rapport personnalisé** : 1. Aller dans `Reports > Report Definitions` 2. Choisir un modèle “Threat Report” ou “UTM Summary” 3. Générer le rapport pour la journée en cours 4. Télécharger le PDF ou le consulter dans l’onglet “Generated Reports” --- ✅ **Résultat attendu** : - L’élève identifie visuellement les événements UTM générés - Il peut valider le bon fonctionnement des profils de sécurité - Il comprend comment documenter les alertes dans un rapport d’audit --- ## 🏗️ Module 2 – FortiGate Infrastructure ## 🎯 Objectifs pédagogiques Dans ce module, nous allons explorer les composants d'infrastructure essentiels sur FortiGate. Cela inclut le routage, les VPN, la segmentation avec VDOM, la haute disponibilité et les options d’authentification avancées. Nous allons nous concentrer ici sur deux points majeurs : - Le routage statique et OSPF - Le VPN IPsec site-à-site --- ### ✍️ Introduction Dans ce module, nous allons découvrir comment FortiGate va bien au-delà de la simple fonction de pare-feu. Il joue un rôle central dans l'infrastructure réseau d'une entreprise en intégrant des fonctions avancées de **routage**, de **VPN**, de **gestion des domaines virtuels (VDOMs)**, de **connexion sécurisée à distance**, et même de **haute disponibilité**. Pourquoi est-ce important ? Parce que dans un environnement moderne – multi-sites, hybride (on-premise + cloud), avec des utilisateurs en mobilité – il ne suffit plus de sécuriser. Il faut aussi **connecter efficacement**, **s’adapter aux défaillances**, et **fournir une expérience utilisateur fluide**. Ce module est donc une base essentielle pour comprendre comment bâtir un réseau sécurisé, mais aussi **performant**, **redondant**, et **intelligent** avec Fortinet. Nous allons voir, pas à pas : - Comment router intelligemment le trafic (statique et OSPF), - Comment chiffrer les flux entre sites avec **VPN IPsec**, - Comment simplifier l’accès distant avec **SSL-VPN**, - Et comment mettre en place de la redondance (**HA**) pour éviter les interruptions de service. À la fin de ce module, vous serez en mesure de **connecter des sites distants, des utilisateurs, et des services**, tout en assurant **la sécurité, la performance et la résilience** du réseau. ## 🛠️ TP 1 : Mise en place d’un routage statique / OSPF ### 🎯 Objectif : Mettre en place une communication entre deux réseaux via routage statique, puis explorer OSPF (à compléter ensemble). --- ### 🧰 Matériel requis : - GNS3 avec 2 FortiGate (Branch1 et Branch2) - Réseaux LAN : - Branch1 : `192.168.1.0/24` - Branch2 : `192.168.2.0/24` - Lien WAN entre les FortiGate : - FGT1 : `10.0.0.1/30` - FGT2 : `10.0.0.2/30` - PC dans le LAN 1 et LAN 2 (Webterm) : - LAN1 : `192.168.1.2` - LAN2 : `192.168.2.2` --- ### Topologie : ![image](https://hackmd.io/_uploads/SywoYdvKll.png) ### 🔧 Étapes de configuration #### Configuration des interfaces FGT1 (Branch1) ```bash config system interface edit port1 set mode static set ip 192.168.1.1/24 next edit port2 set mode static set ip 10.0.0.1/30 next end ``` #### Configuration des interfaces FGT2 (Branch2) ```bash config system interface edit port1 set mode static set ip 192.168.2.1/24 next edit port2 set mode static set ip 10.0.0.2/30 next end ``` --- ## 🔐 Règles de firewall ### 🔧 À configurer sur **chaque FortiGate** : ```bash config firewall policy edit 1 set name "LAN_to_LAN" set srcintf port1 set dstintf port2 set srcaddr all set dstaddr all set action accept set schedule always set service ALL set logtraffic all next edit 2 set name "LAN_from_WAN" set srcintf port2 set dstintf port1 set srcaddr all set dstaddr all set action accept set schedule always set service ALL set logtraffic all next end ``` --- ## 🔁 Routage dynamique avec OSPF ### 🎯 Objectif : Mettre en œuvre OSPF pour échanger dynamiquement les routes entre les FortiGate, au lieu du routage statique. --- ### 🧰 Conditions préalables : - Lien inter-FortiGate configuré (`port2` : 10.0.0.1/30 ↔ 10.0.0.2/30) - LAN des deux sites : `192.168.1.0/24` et `192.168.2.0/24` - Règles firewall déjà en place pour autoriser le trafic --- ### 🔧 Étapes de configuration OSPF #### 🔧 Sur FortiGate 1 (Branch1) ```bash 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.252 set area 0.0.0.0 next edit 2 set prefix 192.168.1.0 255.255.255.0 set area 0.0.0.0 next end end ``` #### 🔧 Sur FortiGate 2 (Branch2) ```bash config router ospf set router-id 2.2.2.2 config area edit 0.0.0.0 next end config network edit 1 set prefix 10.0.0.0 255.255.255.252 set area 0.0.0.0 next edit 2 set prefix 192.168.2.0 255.255.255.0 set area 0.0.0.0 next end end ``` ## 📋 Vérification – OSPF Lancer les commandes suivantes sur chaque FortiGate pour s’assurer que le **voisinage OSPF est bien établi** : ### 🔎 Vérifier le voisinage OSPF ```bash get router info ospf neighbor ``` - Sur Branch1 : ![image](https://hackmd.io/_uploads/rk3k6PvYee.png) - Sur Branch2 : ![image](https://hackmd.io/_uploads/Bk0WaDPFll.png) ### 📘 Vérifier la table de routage OSPF Exécuter la commande suivante sur le FortiGate : ```bash get router info routing-table ospf ``` - Sur Branch1 : ![image](https://hackmd.io/_uploads/SkFi_dwYel.png) - Sur Branch2 : ![image](https://hackmd.io/_uploads/HJQq_uvFge.png) ## 📌 Exemple – Routage statique (non nécessaire si OSPF est actif) > ℹ️ Cette section est donnée **à titre d'exemple** pour illustrer la syntaxe d’une route statique sur FortiGate. > ⚠️ **Ne pas configurer** si vous avez déjà mis en place OSPF, car cela pourrait interférer avec le routage dynamique. ### 🔧 Exemple sur **FGT1** : ```bash config router static edit 1 set dst 192.168.2.0/24 set gateway 10.0.0.2 set device port2 next end ``` ### 🔧 Sur **FGT2** : ```bash config router static edit 1 set dst 192.168.1.0/24 set gateway 10.0.0.1 set device port2 next end ``` ## 🌐 Test de connectivité ### 🔍 Depuis **Client1** (LAN Branch1) : - décommenter les lignes pour la config statique et ajouter une IP dans le subnet : ![image](https://hackmd.io/_uploads/SktnmdPYgl.png) puis lancer la commande ifup eth0 ```bash ping 192.168.2.2 ``` ### 🔍 Depuis **Client2** (LAN Branch2) : ```bash ping 192.168.1.2 ``` ✅ **Résultat attendu** : - Les deux **FortiGate échangent dynamiquement les routes LAN** via le protocole **OSPF**. - Il n’est **plus nécessaire d’ajouter de routes statiques manuellement**. - La **communication entre les clients des deux branches** reste fonctionnelle. - Toute **modification de la topologie réseau** (ajout d’un nouveau LAN, changement de passerelle, etc.) est automatiquement propagée grâce à OSPF.