Segmentation et Micro-segmentation

Pourquoi segmenter ?

Sans segmentation, un reseau d'entreprise est un reseau plat : une fois qu'un attaquant compromet une machine, il peut atteindre toutes les autres. La segmentation cree des barrieres internes qui limitent la propagation des menaces.

graph LR
    subgraph FLAT["Reseau plat (sans segmentation)"]
        A1["Poste RH"] --- A2["Serveur SAP"]
        A2 --- A3["Serveur SOC"]
        A3 --- A4["Base de donnees"]
        A1 --- A3
        A1 --- A4
        A2 --- A4
    end
graph TB
    subgraph SEG["Reseau segmente"]
        subgraph Z1["Zone USER"]
            B1["Postes de travail"]
        end
        subgraph Z2["Zone PROD"]
            B2["Serveur SAP"]
            B3["Base de donnees"]
        end
        subgraph Z3["Zone SOC"]
            B4["SIEM"]
        end
        Z1 -->|"HTTPS only<br/>(policy FW)"| Z2
        Z1 -.->|"DENY"| Z3
        Z2 -->|"syslog"| Z3
    end
Niveau Technologie Granularite
Macro-segmentation VLANs + FortiGate policies Par zone de securite (USER, PROD, SOC...)
Micro-segmentation VLANs applicatifs + NSX DFW Par application, par projet, par environnement
Nano-segmentation Politiques par workload (NSX) Par VM ou par conteneur

Strategie Zero Trust

La segmentation implemente une strategie Zero Trust avec une approche multi-niveaux :

  • Macro-segmentation via les zones de securite VDOM FortiGate
  • Micro-segmentation granulaire isolant projets, applications et environnements

Principe fondamental : Deny by Default

Tout trafic est bloque sauf les flux explicitement autorises et documentes dans la matrice de flux. Toute ouverture de flux necessite :

  1. Une demande formelle
  2. Une analyse de risque
  3. Une validation RSSI projet

Macro-segmentation : zones FortiGate

Chaque zone de securite est un VDOM ou sous-interface du FortiGate avec son propre niveau de confiance. Le trafic inter-zones passe obligatoirement par le firewall.

graph TB
    subgraph UNTRUSTED["Non fiable"]
        WAN["WAN<br/>Internet"]
        DMZ["DMZ<br/>Proxy, DNS relay"]
    end

    subgraph CONDITIONAL["Conditionnel"]
        ZTNA["VPN/ZTNA"]
        USER["USER<br/>Postes de travail"]
    end

    subgraph TRUSTED["Eleve"]
        PROD["PRODUCTION<br/>Apps metier"]
        INFRA["INFRA<br/>Services internes"]
        APPLI["APPLI<br/>Apps micro-segmentees"]
    end

    subgraph CRITICAL["Critique"]
        ADMIN["ADMIN<br/>Bastion"]
        SOC["SOC<br/>SIEM/Logs"]
    end

    FGT["FortiGate<br/>(point de passage obligatoire)"]

    UNTRUSTED --> FGT
    CONDITIONAL --> FGT
    FGT --> TRUSTED
    FGT --> CRITICAL

Micro-segmentation zone APPLI (Applications metier)

Chaque application metier est isolee dans son propre VLAN. Les communications inter-applications sont interdites par defaut — un ERP compromis ne peut pas atteindre la base SIRH.

VLAN Subnet Application Composants
121 10.0.121.0/25 ERP/SAP Serveurs applicatifs S4HANA, base HANA, gateway
122 10.0.122.0/25 SIRH/Paie Frontend, backend Java, base PostgreSQL
123 10.0.123.0/25 Comptabilite/Finance Application comptable, reporting, archives
124 10.0.124.0/25 ECM/GED Alfresco, indexation, stockage Ceph
125 10.0.125.0/25 CRM/Commercial Frontend, backend, analytics client
126 10.0.126.0/25 BI/Reporting ETL Talend, datawarehouse, Tableau
127 10.0.127.0/25 Collaboration/Intranet Portail SharePoint, wiki, workflows
128 10.0.128.0/25 Applications Legacy Maintenance, migration progressive

Pourquoi /25 ?

Un /25 donne 126 adresses IP utilisables par VLAN applicatif. C'est suffisant pour la plupart des applications (frontend + backend + BDD + spare) tout en conservant une isolation stricte.

Micro-segmentation zone INFRA (Services infrastructure)

VLAN Subnet Services heberges
111 10.0.111.0/26 DNS interne (FreeIPA, AD DNS), NTP, PKI interne
112 10.0.112.0/26 Annuaires : FreeIPA masters/replicas, AD Domain Controllers
114 10.0.114.0/26 Automatisation : Ansible AWX, GitLab CE, runners CI
115 10.0.115.0/26 Supervision : Zabbix server, Grafana, alerting
116 10.0.116.0/26 Sauvegarde : Veeam servers, proxies, repositories
117 10.0.117.0/26 Nexus Repository : miroirs Rocky, Debian, packages internes

Matrice de flux inter-segments

La matrice de flux definit les communications autorisees entre chaque zone. Tout ce qui n'est pas dans cette matrice est bloque et logue.

Source Destination Ports/Services Action Justification
USER PRODUCTION (tous) 443 (HTTPS) Allow + inspection SSL Acces aux applications metier
PROD vlan-X PROD vlan-Y Deny Isolation inter-projets
ADMIN Toutes zones 22, 443, 3389 Allow Administration via bastion Guacamole
Toutes zones INFRA 111 53, 123, 389 Allow DNS, NTP, LDAP (services de base)
Toutes zones SOC 514, 1514 Allow Envoi des logs syslog
SOC Toutes zones Deny Le SOC observe, il n'agit pas directement
DMZ (Squid) Internet 80, 443 Allow Proxy sortant HTTPS (FQDN filtre)
Toutes zones DMZ (Squid) 3128 Allow Acces proxy pour les mises a jour
graph TB
    subgraph ADMIN_ZONE["ADMIN"]
        BASTION["Bastion Guacamole"]
    end
    subgraph USER_ZONE["USER"]
        POSTES["Postes de travail"]
    end
    subgraph PROD_ZONE["PRODUCTION"]
        APP1["VLAN 121 - ERP"]
        APP2["VLAN 122 - SIRH"]
        APP3["VLAN 123 - Finance"]
    end
    subgraph INFRA_ZONE["INFRA"]
        DNS["DNS/NTP"]
        AD["Annuaires"]
    end
    subgraph SOC_ZONE["SOC"]
        SIEM["SIEM/Logs"]
    end

    BASTION -->|"SSH/RDP/HTTPS"| PROD_ZONE
    BASTION -->|"SSH/RDP/HTTPS"| INFRA_ZONE
    BASTION -->|"SSH/HTTPS"| SOC_ZONE
    POSTES -->|"HTTPS only"| PROD_ZONE
    APP1 -.->|"DENY"| APP2
    APP2 -.->|"DENY"| APP3
    PROD_ZONE -->|"syslog"| SOC_ZONE
    INFRA_ZONE -->|"syslog"| SOC_ZONE
    PROD_ZONE -->|"DNS/NTP"| INFRA_ZONE

NSX Micro-segmentation (DFW)

En complement du FortiGate (perimetre), VMware NSX permet la micro-segmentation au niveau de l'hyperviseur via le Distributed Firewall (DFW) :

Aspect FortiGate NSX DFW
Position Perimetre (entre les VLANs) Hyperviseur (devant chaque VM)
Granularite Par VLAN/subnet Par VM, par label, par processus
Performance Traverse le reseau physique Inline dans le vSwitch (pas de hairpin)
Gestion CLI/GUI FortiGate NSX Manager (politiques par tag)

Le DFW NSX applique des regles directement au niveau du vNIC de chaque VM, meme si deux VMs sont sur le meme VLAN et le meme hote ESXi. Cela permet la nano-segmentation : isolation par workload.

Lab : Implementation

Dans notre lab, la segmentation est assuree par le Fortigate avec 11 VLANs et des policies granulaires. Voir Implementation > Fortigate Policies pour le detail.