# Définition

### 🔐 **Introduction au Hardening des Systèmes**

Le **hardening** (durcissement) des systèmes est un processus visant à renforcer la sécurité des systèmes en appliquant des mesures spécifiques pour réduire les vulnérabilités.

#### **Étapes du processus de durcissement** :

* **Aller progressivement** : Appliquer les techniques de durcissement pas à pas.
* **Cycle Harden -> Test -> Harden -> Test** : Tester chaque changement après l'avoir appliqué.
* **Équilibrer sécurité et fonctionnalité** : Trop de restrictions peuvent bloquer les services.
* **Documenter les changements** : Garder une trace des mises à jour et durcissements pour revenir en arrière si nécessaire.

***

### 🛡️ **Sécurité Physique et Accès Utilisateur**

* **Sécurité physique** : Aussi cruciale que la sécurité logique. Protéger les accès physiques aux serveurs.
* **Séparer les comptes privilégiés des comptes standards** : Ne pas utiliser des comptes utilisateurs standards pour les tâches d'administration.
* **Sauvegardes régulières** : Garantir la disponibilité des données en cas de problème.
* **Sécuriser les accès physiques** : Utilisation de mots de passe **BIOS/UEFI** pour protéger l'amorçage.
* **Chiffrement des supports de stockage** : Chiffrez vos disques pour éviter les fuites en cas de vol.
* **Redondance de stockage (RAID)** : Utiliser des technologies RAID pour éviter les pertes de données.

***

### 🔄 **Mise à jour et Installation Minimale**

* **Mises à jour régulières** : Gardez vos serveurs et postes clients à jour via des systèmes comme **WSUS** ou **Unattended-Upgrades**.
* **Installer uniquement les applications essentielles** : Moins il y a d’applications, moins il y a de vulnérabilités.
* **Limiter les rôles sur les serveurs** : N'activer que les fonctionnalités nécessaires, désactiver celles inutiles.

***

### ☁️ **Modèles d'Infrastructures (On-premise / Cloud)**

* **On-Premises** : L'entreprise contrôle tout l’environnement (matériel, logiciel, réseau).
* **IaaS (Infrastructure as a Service)** : Le fournisseur de service virtualise les ressources, le client gère l'administration.
* **PaaS (Platform as a Service)** : Le client utilise une plateforme sans gérer l'administration sous-jacente.
* **SaaS (Software as a Service)** : Le client consomme directement les logiciels hébergés par le fournisseur.

<figure><img src="https://2405813983-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY9Ji0LMTnIq0SKF8JfQn%2Fuploads%2FX6ZQWjqWvAhHLxcKlE68%2Fimage.png?alt=media&#x26;token=9ead0b43-3ed7-4005-8782-f5e5f752aa9a" alt=""><figcaption></figcaption></figure>

***

## 📊 **Modèle Hiérarchique de Sécurité (Tiered Model)**

Le **modèle hiérarchique** organise les ressources et les accès en plusieurs niveaux (tiers) , chaque niveau offre des mesures de sécurité adaptées, allant des protections de base aux interventions avancées, permettant une gestion efficace des accès, des ressources et des réponses aux incidents en fonction de leur gravité.

<figure><img src="https://2405813983-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY9Ji0LMTnIq0SKF8JfQn%2Fuploads%2FFsUOpoRSHVgioUBfPNgH%2Fimage.png?alt=media&#x26;token=7f7b4669-548e-4f8f-9ab2-404b8b1b9a24" alt=""><figcaption></figcaption></figure>

***

### **1. Tier 0 : Sécurité Maximale**

* **Systèmes Critiques** : Comprend les éléments les plus importants, comme les contrôleurs de domaine (DC) et les systèmes de gestion des identités (IAM).
* **Peu d'Actifs** : Limiter le nombre de systèmes pour réduire les risques.
* **Droits des Administrateurs** : Les administrateurs peuvent accéder à tous les niveaux inférieurs.
* **Accès Limité** : Utiliser ces systèmes le moins possible pour éviter les problèmes.
* **Contrôles de Sécurité** : Mettre en place des vérifications régulières pour assurer la sécurité.

***

### **2. Tier 1 : Support de Niveau 1**

* **Dispositifs Communs** : Contient des serveurs utilisés par les équipes de support, comme les serveurs de fichiers et les bases de données.
* **Protection Équivalente à Tier 0** : Appliquer des mesures de sécurité similaires.
* **Groupes d'Utilisateurs** : Créer des groupes pour chaque unité ou fonction, avec des droits d'accès limités.
* **Restrictions d'Accès** : Les utilisateurs ne peuvent accéder qu'aux systèmes de leur groupe.

***

### **3. Tier 2 : Accès et Fonctionnalités Limitées**

* **Systèmes Moins Critiques** : Contient des serveurs qui sont moins sensibles que ceux des niveaux supérieurs.
* **Connexion Restrictives** : Les administrateurs de Tier 2 ne peuvent accéder qu'à leurs propres systèmes.
* **Fonctionnalités Interdites** : Ne pas autoriser des fonctionnalités non essentielles, comme l'accès aux e-mails ou à Internet, pour réduire les risques.

***

## 🛡️ **ESAE : Environnement Administratif Sécurisé Amélioré**

L'**ESAE** est une approche de sécurité qui vise à protéger les tâches administratives dans un environnement Active Directory (AD). Elle se distingue des modèles précédents en isolant complètement les comptes et systèmes administratifs des utilisateurs standards.

<figure><img src="https://2405813983-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY9Ji0LMTnIq0SKF8JfQn%2Fuploads%2F3sTqxJ20J1crJH5o6qcY%2Fimage.png?alt=media&#x26;token=f0b93f1e-1407-4317-9548-a18aaa38c8a2" alt=""><figcaption></figcaption></figure>

***

### **1. Conception de la Forêt AD**

* **Création d'une Forêt Séparée** :
  * **Forêt Administrative** : On construit une "red forest" (forêt rouge) distincte, dédiée uniquement aux tâches d'administration.
  * **Forêt de Production** : C'est la forêt où se trouvent les utilisateurs standard et les ressources quotidiennes.

***

### **2. Isolation des Comptes Privilégiés**

* **Séparation Totale** :
  * Les comptes administratifs (privilégiés) sont complètement isolés des comptes utilisateurs standards.&#x20;
* **Accès Limité** : Les administrateurs utilisent des comptes spécifiques dans la forêt administrative pour éviter toute interaction avec les ressources de la forêt de production.

***

### **3. Confiance à Sens Unique**

* **Établissement de Confiance** :
  * **Confiance à Sens Unique** : Une "confiance à sens unique" est mise en place entre la forêt de production et la forêt administrative. Cela signifie que la forêt de production peut faire confiance à la forêt administrative, mais pas l'inverse.
  * **Contrôle d'Accès** : Grâce à cette confiance, on contrôle strictement qui peut accéder à quelles ressources. Cela réduit les risques de compromission par des utilisateurs standards.

***

### **4. Authentification Sélective**

* **Authentification Sélective** : Seules certaines ressources de la forêt de production sont accessibles depuis la forêt administrative, ce qui limite encore plus les points d'entrée potentiels pour les attaques.

***

### **Différences avec le Modèle Hiérarchique (Tiered Model)**

L'**ESAE** se distingue du **modèle hiérarchique** par une **séparation stricte des environnements**. Dans l'ESAE, les comptes administratifs sont isolés dans une forêt dédiée, permettant un **contrôle précis des accès** et une **confiance à sens unique**. En revanche, le modèle hiérarchique gère les accès par niveaux tout en conservant des interactions possibles, ce qui augmente les risques de compromission

***

## 🔐 **Gestion des Accès Privilégiés (Privileged Access Management - PAM)**

La gestion des accès privilégiés (PAM) est cruciale pour protéger les comptes sensibles et réduire les risques de compromission. Voici les meilleures pratiques et recommandations.

***

### **Authentification Multi-Facteurs (MFA)**

* **Mise en Œuvre de la MFA** : Utiliser l'**Azure MFA** ou une autre solution pour renforcer la sécurité des comptes administratifs.



### **Accès "Juste à Temps"**

* **Utilisation de l'accès "just-in-time"** : Assigner des droits temporaires pour éviter des droits permanents sur les comptes privilégiés.
  * **Outils recommandés** : Utiliser **Azure PIM (Privileged Identity Management)** et **Azure Security Center** pour gérer cet accès.

### **Procédures de Provisioning/Déprovisionnement**

* **Gestion des comptes** : Établir des procédures pour créer et supprimer des comptes, avec une automatisation pour désactiver les comptes des employés qui quittent l'organisation.

### **Séparation des Comptes**

* **Séparer les comptes standards des comptes administratifs** : Limiter les risques de compromis en évitant l'utilisation de comptes administratifs pour des tâches quotidiennes.

***

### **Limitation des Accès**

* **Restreindre l'accès aux emails et à la navigation web** : Éviter l'accès à des systèmes sensibles depuis des applications potentiellement non sécurisées.

***

### **Politique de Mot de Passe Stricte**

* **Application d'une politique de mot de passe** : Exiger des mots de passe forts et complexes pour tous les comptes administratifs.

### **Audit Régulier des Comptes Privilégiés**

* **Évaluation périodique** : Réaliser des audits réguliers des comptes privilégiés pour identifier les anomalies et les risques.

### **Limitation des Comptes Administrateurs**

* **Réduire le nombre de comptes administrateurs** : Appliquer le **principe du moindre privilège** lors de la création de comptes, en fonction des rôles professionnels.

### **Surveillance des Comptes de Sauvegarde**

* **Limitation des comptes "master key/backdoor"** : Réduire leur nombre au minimum et surveiller étroitement leur utilisation.

### **Processus d'Approbation des Changements**

* **Exiger un processus d'approbation** : Toute modification dans l'environnement doit être validée par une commission appropriée.

***

### **Références**

* [**Microsoft Security Baseline**](https://docs.microsoft.com/en-us/security/benchmark/) : Ensemble de configurations recommandées par Microsoft pour renforcer la sécurité.
* [**CIS Benchmarks**](https://www.cisecurity.org/cis-benchmarks/) : Meilleures pratiques reconnues mondialement pour la mise en œuvre de la cybersécurité.
* [**STIGs**](https://public.cyber.mil/stigs/) : Recommandations de configuration publiées par la DISA pour renforcer la sécurité des systèmes.

***

### **Outils pour Auditer Active Directory (AD)**

* 🛡️ [**BloodHound** ](https://github.com/BloodHoundAD/BloodHound): Outil d'analyse des relations d'Active Directory qui cartographie les permissions et les chemins d'attaque potentiels, aidant à identifier les chemins d'accès non sécurisés pour obtenir des privilèges élevés.
* 🔍 [**PingCastle** ](https://www.pingcastle.com/): Outil d'audit qui fournit une évaluation détaillée de la configuration de sécurité et identifie les vulnérabilités d'un AD.
* 🔑 [**Adminer** ](https://github.com/Mazars-Tech/AD_Miner): Outil d'audit pour Active Directory qui exploite des requêtes Cypher pour analyser les données de la base graphique BloodHound (Neo4j). Il offre un rapport statique basé sur le web, présentant une vue d'ensemble des vulnérabilités existantes, accompagnée de listes détaillées, de graphiques dynamiques et d'historiques d'indicateurs clés.

***

### Tools de hardening

* [**Protéger tiers 0**](https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/protecting-tier-0-the-modern-way/ba-p/4052851) **:** Tuto qui explique comment proteger le tier 0
* 📁 [**Harden Active Directory**](https://github.com/LoicVeirman/HardenAD)  propose des scripts et des recommandations pour renforcer la sécurité des environnements Active Directory existants, s'inspirant du modèle red-forest de Microsoft, et offrant des outils pour corriger des configurations, avec une documentation complète pour une mise en œuvre efficace.
* [**Hello My Dir!**](https://github.com/LoicVeirman/Hello-My-Dir) facilite la création sécurisée de nouveaux répertoires Active Directory, supprimant les protocoles obsolètes et imposant des algorithmes modernes, tout en automatisant la configuration initiale et en intégrant des contrôles de sécurité avancés pour une installation conforme.
* [**Privacy.Sexy**](https://privacy.sexy/) aide les utilisateurs à protéger leur vie privée sur Windows, macOS et Linux en offrant une suite de scripts open source pour appliquer des meilleures pratiques de sécurité, avec une interface en ligne accessible et des options de réversibilité.
* [**Unattend XML Script Generator** ](https://schneegans.de/windows/unattend-generator/)automatise la création de fichiers[^1] de réponse pour l'installation silencieuse de Windows, facilitant la personnalisation des installations en utilisant des paramètres prédéfinis. Cela simplifie le déploiement dans les environnements d'entreprise tout en assurant une configuration cohérente.



[^1]: Unattend : Ces fichiers permettent d'effectuer une installation sans intervention manuelle
