# Linux - Renforcement

Les distributions Linux suivantes peuvent être durcies lors de l'approvisionnement :

* Debian à partir des versions 11, 12 et 13
* Ubuntu à partir des versions 22.04 et 24.04
* Oracle Linux à partir de la version 9
* Red Hat Enterprise Linux 9

Les recommandations des [documents CIS Benchmark](https://www.cisecurity.org/benchmark) ont été suivies afin de renforcer et sécuriser nos systèmes d'exploitation Linux.

## Systèmes de fichiers

* Certains systèmes de fichiers vulnérables sont désactivés dans le noyau
* Points de montage séparés pour les systèmes de fichiers très actifs : /var/log, /var/log/audit, /var/tmp
* Protection de /var/log, /tmp et /var/tmp
* Désactivation des supports de stockage amovibles

### Schéma de partitionnement par défaut

Lors de l'approvisionnement, les instances sont déployées avec un schéma de partitionnement LVM standardisé. Les volumes logiques suivants sont créés par défaut :

| Point de montage | Taille | Usage                                   |
| ---------------- | ------ | --------------------------------------- |
| /                | 10 Go  | Système de fichiers racine              |
| /boot            | \~1 Go | Partition de démarrage                  |
| /boot/efi        | \~1 Go | Partition système EFI                   |
| /home            | 2 Go   | Répertoires personnels des utilisateurs |
| /opt             | 4 Go   | Applications optionnelles               |
| /var             | 2 Go   | Données variables                       |
| /var/log         | 4 Go   | Journaux système                        |
| /var/log/audit   | 1 Go   | Journaux d'audit                        |
| /var/tmp         | 1 Go   | Fichiers temporaires (persistants)      |
| /tmp             | 2 Go   | Fichiers temporaires                    |
| swap             | 2 Go   | Espace d'échange                        |

**Espace total alloué : \~28 Go**

> **Note :** Le schéma de partitionnement par défaut peut varier selon le type de système d'exploitation (RHEL, Debian, Ubuntu) et la version. Les tailles indiquées ci-dessus sont données à titre indicatif.

### Comportement de l'allocation de stockage

Lors de l'approvisionnement d'une instance via ITcare, vous pouvez choisir :

* La taille du disque système
* Des volumes de stockage supplémentaires si nécessaire

La création de l'instance déploie celle-ci avec le schéma de partitionnement par défaut décrit ci-dessus, mais **n'étend pas automatiquement les volumes logiques** pour utiliser tout l'espace disque disponible. L'espace restant demeure disponible dans le groupe de volumes LVM afin que vous puissiez l'allouer selon vos besoins spécifiques.

#### Exemple 1 : Disque système unique (60 Go)

| Composant                      | Taille      |
| ------------------------------ | ----------- |
| Disque système                 | 60 Go       |
| Groupe de volumes total        | \~58 Go     |
| Espace alloué (LV par défaut)  | 28 Go       |
| **Disponible pour allocation** | **\~30 Go** |

#### Exemple 2 : Disque système (70 Go) + Volume supplémentaire (80 Go)

| Composant                                           | Taille              |
| --------------------------------------------------- | ------------------- |
| Disque système                                      | 70 Go               |
| Volume supplémentaire                               | 80 Go (non formaté) |
| Groupe de volumes total (disque système uniquement) | \~68 Go             |
| Espace alloué (LV par défaut)                       | 28 Go               |
| **Disponible dans le VG pour allocation**           | **\~40 Go**         |
| **Volume supplémentaire disponible**                | **80 Go**           |

### Extension du stockage après l'approvisionnement

Une fois votre instance approvisionnée, vous pouvez allouer l'espace disponible selon vos besoins :

* **Étendre les volumes logiques existants** pour augmenter l'espace de certains points de montage (ex : /var/log, /opt, /home)
* **Créer de nouveaux volumes logiques** pour les données applicatives ou les bases de données
* **Formater et monter les volumes supplémentaires** pour des besoins de stockage dédiés

Cette approche offre la flexibilité nécessaire pour adapter la configuration du stockage à vos besoins applicatifs et de données spécifiques.

## Démarrage sécurisé

* Le mot de passe root est requis pour démarrer en mode de secours

## Utilisation de sudo

* Traçabilité de chaque utilisation de la commande sudo

## Durcissement des processus

* Plusieurs paramètres sont activés dans le noyau pour protéger les processus en cours d'exécution

## Réseau

* Les services réseau inutiles ou vulnérables sont désactivés (appliqué par le gestionnaire de configuration)
* Le service de synchronisation horaire est configuré et actif
* IPv6 est désactivé
* Plusieurs paramètres du noyau sont configurés pour protéger le réseau
* Désactivation des protocoles réseau peu courants

### Spécificité RHEL 9 — Pare-feu (firewalld)

Sur les instances **Red Hat Enterprise Linux 9**, le service `firewalld` est **actif et démarré par défaut** dès le provisionnement.

La zone par défaut appliquée est `public`, qui suit une politique **deny-by-default** sur le trafic entrant : tout flux entrant est bloqué sauf ce qui est explicitement autorisé. Par défaut, seuls les services suivants sont autorisés en entrée :

| Service       | Port(s) |
| ------------- | ------- |
| SSH           | TCP 22  |
| DHCPv6-client | UDP 546 |

> **Note :** Le trafic sortant est autorisé par défaut. Si votre application nécessite l'ouverture de ports supplémentaires, vous devrez ajouter des règles firewalld explicites via `firewall-cmd` ou via votre outil de gestion de configuration (ex : Puppet).

## Journalisation

* Centralisation des journaux système
* Tous les événements sont journalisés

## Accès et authentification

* Le service cron est actif et configuré
* Les répertoires cron sont protégés
* SSH est actif et configuré
* Protocoles et paramètres SSH sécurisés appliqués
* Déconnexion automatique des sessions inactives
* Règles de mots de passe robustes appliquées
* Fichiers d'authentification sensibles protégés
