Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

Chapitre 1114 minAvancé

Durcissement des serveurs Linux et Windows

Par Josselyn C., prof de BTS SIO. Mis à jour le .

À la fin de ce chapitre, tu sauras

  • appliquer une méthode de durcissement et choisir un référentiel ;
  • sécuriser SSH et bloquer les essais répétés avec Fail2ban ;
  • durcir Windows par GPO : LAPS, SMB, LLMNR, pare-feu, BitLocker ;
  • proposer une remédiation pour chaque faiblesse d'une configuration.

4 exercices corrigés

Durcir un système (hardening), c'est réduire sa surface d'attaque et renforcer sa configuration par défaut : retirer ce qui ne sert pas, appliquer les mises à jour, limiter les comptes et les droits, verrouiller l'accès à distance, activer la journalisation et les protections intégrées. Ce chapitre donne la méthode, les référentiels à suivre (ANSSI, CIS, Microsoft) et les mesures concrètes pour un serveur Debian et pour Windows Server, avec les commandes pour les appliquer et les vérifier.

La méthode

Un système fraîchement installé est conçu pour fonctionner partout, pas pour être sûr dans ton contexte. Le durcissement suit toujours la même logique :

  1. Inventorier : quel est le rôle du serveur, quels services doit-il rendre, à qui ?
  2. Réduire : désinstaller ou désactiver tout ce qui ne sert pas à ce rôle (services, paquets, rôles Windows, comptes, ports).
  3. Mettre à jour le système et les logiciels, puis organiser les mises à jour suivantes.
  4. Restreindre : comptes nominatifs, moindre privilège, administration à distance limitée et chiffrée, pare-feu local.
  5. Activer les protections intégrées : journalisation, antivirus ou EDR, confinement des applications, chiffrement des disques.
  6. Vérifier avec un outil d'audit, puis documenter l'écart restant et le surveiller dans le temps.

Les référentiels donnent des listes de contrôle précises :

RéférentielContenu
Guide d'hygiène informatique de l'ANSSI42 mesures pour toute organisation : inventaire, comptes, mises à jour, cloisonnement, sauvegardes…
Recommandations de configuration d'un système GNU/Linux de l'ANSSIDurcissement de Linux par niveau (minimal, intermédiaire, renforcé, élevé)
CIS BenchmarksUn guide par système et par logiciel (Debian, Ubuntu, Windows Server, nginx, Cisco IOS…), avec des niveaux 1 et 2
Microsoft Security BaselinesStratégies de groupe recommandées pour Windows 11 et Windows Server 2025, fournies dans le Security Compliance Toolkit

Mises à jour et cycle de vie

La mise à jour est la mesure la plus rentable : la plupart des intrusions exploitent des failles dont le correctif existait déjà.

  • Tenir un inventaire du parc avec les versions (GLPI, agent d'inventaire) pour savoir quelles machines une faille concerne.
  • Prioriser selon l'exposition et l'exploitation réelle : un serveur exposé à Internet avec une faille signalée par une alerte du CERT-FR passe avant tout le reste (chapitre 1).
  • Automatiser les mises à jour de sécurité quand c'est possible, et tester d'abord sur une machine de préproduction pour les serveurs critiques.
  • Surveiller la fin de support : un système qui ne reçoit plus de correctifs ne peut plus être sécurisé. Windows 10 n'est plus maintenu depuis le 14 octobre 2025 (sauf abonnement de mises à jour étendues payant), le support de Windows Server 2016 s'arrête le 12 janvier 2027, et Debian 13 « Trixie », publiée en août 2025, est la version stable actuelle.

Sur Debian, les correctifs de sécurité s'installent automatiquement avec le paquet unattended-upgrades :

bash
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades   # active les mises à jour de sécurité quotidiennes

Durcir un serveur Debian

Ne garder que le nécessaire. Installe sans environnement graphique, liste ce qui écoute sur le réseau et désactive ce qui ne sert pas :

bash
sudo ss -tulpn                         # ports TCP et UDP en écoute, avec le programme
systemctl list-units --type=service --state=running
sudo systemctl disable --now cups      # exemple : service d'impression inutile sur un serveur
sudo apt purge telnetd rsh-server      # protocoles en clair, à ne jamais installer

Sécuriser SSH. C'est la porte d'administration d'un serveur Linux. On n'autorise que l'authentification par clé, jamais par mot de passe, et jamais directement en root. Sur le poste de l'administrateur :

bash
ssh-keygen -t ed25519 -C "admin.lucas@sorbier"   # paire de clés, protégée par une phrase de passe
ssh-copy-id admin.lucas@192.168.10.225           # copie la clé publique sur le serveur

Puis, sur le serveur, un fichier /etc/ssh/sshd_config.d/durcissement.conf (les fichiers de ce dossier sont lus par la configuration par défaut de Debian) :

text
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
AllowGroups admins-ssh
MaxAuthTries 3
LoginGraceTime 30
X11Forwarding no

Teste la syntaxe avec sudo sshd -t, puis recharge le service avec sudo systemctl reload ssh, en gardant ta session ouverte : si la nouvelle configuration te bloque, tu peux encore corriger. Le pare-feu local (nftables, chapitre 2) n'accepte SSH que depuis le réseau d'administration.

Bloquer les essais répétés. Fail2ban lit les journaux et bannit temporairement, par une règle de pare-feu, les adresses qui accumulent les échecs. Dans /etc/fail2ban/jail.local :

ini
[sshd]
enabled  = true
backend  = systemd
maxretry = 5
findtime = 10m
bantime  = 1h

Une adresse qui échoue 5 fois en 10 minutes est bannie pendant une heure. backend = systemd est nécessaire sur Debian 12 et 13, où les journaux d'authentification sont dans journald et non plus dans /var/log/auth.log. sudo fail2ban-client status sshd affiche les adresses bannies.

Les autres mesures.

  • Administrer avec sudo et des comptes nominatifs, jamais en se connectant en root : chaque commande est journalisée au nom de son auteur.
  • Garder AppArmor actif (il l'est par défaut sur Debian) : il confine les services à ce dont ils ont besoin.
  • Monter /tmp avec les options noexec,nosuid,nodev : un fichier déposé là ne peut pas être exécuté.
  • Activer auditd pour tracer les actions sensibles (modification de /etc/passwd, usage de sudo).
  • Envoyer les journaux vers le serveur central (chapitre 13) et synchroniser l'heure par NTP.

Pour vérifier, l'outil libre Lynis audite la configuration et donne un indice de durcissement avec une liste de suggestions : sudo lynis audit system.

Durcir Windows Server et les postes Windows

Dans un domaine Active Directory, le durcissement se déploie par stratégies de groupe (GPO), pour que tous les postes et serveurs reçoivent la même configuration et ne puissent pas s'en écarter. L'annuaire lui-même, cible n° 1 des attaquants, a son cours : Sécurité de l'Active Directory. Les mesures essentielles :

MesurePourquoiComment
Appliquer les lignes de base de sécurité de MicrosoftDes centaines de paramètres déjà choisis par l'éditeurImporter les GPO du Security Compliance Toolkit, les tester, les lier aux bonnes unités d'organisation
Installer en Server Core quand c'est possiblePas d'interface graphique : moins de composants, moins de failles, moins de redémarragesChoix à l'installation ; administration à distance
Windows LAPSUn mot de passe d'administrateur local différent sur chaque machine, changé automatiquement et stocké dans l'annuaire : un mot de passe volé sur un poste n'ouvre pas les autresIntégré à Windows depuis 2023 ; GPO de configuration ; lecture par les seuls administrateurs autorisés
Personne n'est administrateur local de son posteUn logiciel malveillant lancé par l'utilisateur n'a pas les droits pour s'installer en profondeurRetirer les utilisateurs du groupe Administrateurs ; procédure pour les installations
SMBv1 désactivé, signature SMB exigéeSMBv1 est obsolète et a permis la propagation de WannaCry en 2017 ; la signature empêche la modification des échangesAbsent par défaut des versions récentes ; signature exigée par défaut sur Windows 11 24H2 (Pro, Entreprise, Éducation) et, côté client seulement, sur Windows Server 2025 ; à imposer par GPO sur les serveurs
LLMNR et NetBIOS désactivésCes vieux protocoles de résolution de noms permettent à une machine du réseau de répondre à la place d'un serveur et de recueillir des authentificationsGPO « Désactiver la résolution de noms multidiffusion » ; NetBIOS désactivé dans les options DHCP ou les cartes
NTLM limité, Kerberos privilégiéNTLM est plus faible et permet le rejeu d'authentificationsAuditer l'usage de NTLM, puis le restreindre par GPO
Pare-feu Windows actif sur tous les profilsFiltrage local, même entre machines du même réseauGPO ; règles entrantes limitées au rôle du serveur
Microsoft Defender et règles de réduction de la surface d'attaque (ASR)Bloquent des comportements typiques (macro Office qui lance un programme, vol d'identifiants en mémoire)GPO ou console de gestion de Defender
Contrôle des applications (AppLocker, App Control for Business)Seuls les programmes approuvés s'exécutentGPO, d'abord en mode audit
BitLockerLe vol d'un portable ou d'un disque ne donne pas accès aux donnéesChiffrement avec TPM ; clé de récupération sauvegardée dans l'annuaire
Journalisation renforcéeTracer les ouvertures de session, la création de processus, les scripts PowerShellStratégie d'audit avancée, journalisation des blocs de scripts PowerShell

Quelques commandes PowerShell pour vérifier :

powershell
Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol, RequireSecuritySignature
Get-WindowsFeature | Where-Object Installed          # rôles et fonctionnalités installés
Get-NetFirewallProfile | Select-Object Name, Enabled
Get-LapsADPassword -Identity "PC-COMPTA-01" -AsPlainText   # mot de passe LAPS d'un poste (droits requis)

Le durcissement de l'annuaire lui-même (comptes à privilèges, modèle d'administration en niveaux) est traité au chapitre 12 ; la sécurisation du poste de travail côté utilisateur est détaillée dans le cours Poste de travail.

Vérifier et maintenir

Un durcissement se dégrade avec le temps : un service ajouté pour un test, une exception jamais retirée, une mise à jour oubliée. On le vérifie régulièrement :

  • outils d'audit de configuration : Lynis pour Linux, Policy Analyzer de Microsoft pour comparer les GPO aux lignes de base, PingCastle pour évaluer la sécurité d'un Active Directory ;
  • scanner de vulnérabilités (Greenbone OpenVAS, par exemple), lancé sur son propre réseau, avec l'accord écrit du responsable, pour repérer les services exposés et les versions vulnérables ;
  • documentation : pour chaque serveur, la configuration de référence, les écarts acceptés et leur justification.

Pour aller plus loin. Le chiffrement des disques des serveurs et des postes (BitLocker, LUKS) est détaillé dans le chapitre Chiffrer disques, fichiers et courriels du cours Cryptographie.

Exercices

Exercice 1 sur 4 Relire une configuration SSH Réussi À revoir

Voici la configuration SSH d'un serveur de la DMZ. Relève les problèmes et propose une configuration corrigée.

text
Port 2222
PermitRootLogin yes
PasswordAuthentication yes
MaxAuthTries 10
Voir la réponseMasquer la réponse de l'exercice 1
  • PermitRootLogin yes : connexion directe en root, sans trace de la personne. Mettre no et administrer par comptes nominatifs avec sudo.
  • PasswordAuthentication yes : les mots de passe peuvent être devinés par des essais répétés. Mettre no, et PubkeyAuthentication yes avec des clés ed25519.
  • MaxAuthTries 10 : trop d'essais par connexion. Mettre 3.
  • Port 2222 : sans gravité mais n'apporte pas de sécurité ; on peut revenir à 22.
  • Ajouter AllowGroups admins-ssh, KbdInteractiveAuthentication no, LoginGraceTime 30, Fail2ban, et un pare-feu local qui n'accepte SSH que depuis le réseau d'administration.

Tu avais trouvé ?

Exercice 2 sur 4 Que faut-il désactiver ? Réussi À revoir

Sur le serveur web de la DMZ (rôle : publier le site de suivi en HTTPS), ss -tulpn affiche des services en écoute sur les ports 22, 25, 111, 443, 631 et 3306, tous sur 0.0.0.0. Pour chaque port, dis s'il faut le garder, le restreindre ou le supprimer.

Voir la réponseMasquer la réponse de l'exercice 2
PortServiceDécision
22SSHGarder, restreindre : clés seulement, accès depuis le réseau d'administration (pare-feu local et périmétrique)
25SMTP (agent de messagerie local)Restreindre à 127.0.0.1 s'il sert à envoyer des alertes, sinon supprimer
111rpcbind (partages NFS)Supprimer : aucun rapport avec un serveur web
443HTTPS (nginx)Garder : c'est le rôle du serveur
631CUPS (impression)Supprimer
3306MySQLRestreindre à 127.0.0.1 si la base est locale ; si elle ne sert pas, supprimer. Elle ne doit jamais écouter sur toutes les interfaces

Tu avais trouvé ?

Exercice 3 sur 4 Fail2ban Réussi À revoir

Avec la configuration maxretry = 5, findtime = 10m, bantime = 1h :

  1. Une adresse A échoue à 09:00, 09:04, 09:06, 09:09 et 09:12. Est-elle bannie à 09:12 ?
  2. Elle échoue encore à 09:13. Que se passe-t-il, et jusqu'à quand ?
  3. Une adresse B échoue 4 fois entre 09:00 et 09:02. Est-elle bannie ?
  4. Pourquoi Fail2ban ne suffit-il pas contre un essai de mots de passe réparti sur des milliers d'adresses ?
Voir la réponseMasquer la réponse de l'exercice 3
  1. Non. Fail2ban compte les échecs des 10 dernières minutes. À 09:12, la fenêtre va de 09:02 à 09:12 : elle contient 4 échecs (09:04, 09:06, 09:09, 09:12), sous le seuil de 5. L'échec de 09:00 est sorti de la fenêtre.
  2. À 09:13, la fenêtre va de 09:03 à 09:13 et contient 5 échecs (09:04, 09:06, 09:09, 09:12, 09:13) : l'adresse A est bannie jusqu'à 10:13.
  3. Non : 4 échecs, sous le seuil de 5.
  4. Fail2ban compte par adresse. Une attaque répartie sur des milliers d'adresses, chacune avec un ou deux essais, reste sous le seuil. La vraie protection est ailleurs : authentification par clé (aucun mot de passe à deviner), restriction des sources par le pare-feu, MFA pour les accès à mot de passe.

Tu avais trouvé ?

Exercice 4 sur 4 Remédier à des postes mal configurés Réussi À revoir

L'audit des postes d'une PME relève : tous les utilisateurs sont administrateurs locaux ; le mot de passe de l'administrateur local est le même sur tous les postes ; le pare-feu Windows est désactivé ; les macros Office sont autorisées sans restriction ; certains postes sont encore sous Windows 10 sans mises à jour étendues. Pour chaque constat, donne le risque et une remédiation.

Voir la réponseMasquer la réponse de l'exercice 4
ConstatRisqueRemédiation
Utilisateurs administrateurs locauxUn logiciel malveillant lancé par l'utilisateur obtient tous les droits sur le poste, désactive l'antivirus, vole des identifiantsRetirer les utilisateurs du groupe Administrateurs par GPO ; procédure d'installation par le support
Même mot de passe d'administrateur local partoutUn mot de passe récupéré sur un poste ouvre tous les autres : propagation latéraleDéployer Windows LAPS : mot de passe unique par poste, renouvelé automatiquement
Pare-feu Windows désactivéLes postes sont joignables entre eux sur tous les ports ; un ver se propageRéactiver le pare-feu sur tous les profils par GPO, avec les règles nécessaires
Macros Office sans restrictionUn document piégé reçu par courriel exécute du codeBloquer les macros des fichiers venus d'Internet par GPO, n'autoriser que les macros signées ; règles ASR de Defender
Windows 10 sans mises à jourPlus aucun correctif de sécurité depuis octobre 2025 : chaque nouvelle faille reste ouverteMigrer vers Windows 11 (ou souscrire les mises à jour étendues le temps de la migration) ; isoler ces postes en attendant

Tu avais trouvé ?

Chapitre terminé !

Fais les 4 exercices avant de passer à la suite : c'est en t'entraînant que tout se fixe.

chapitres
–
de série
–
du cours
–
Chapitre suivant : Administration sécurisée : bastion, comptes à privilèges et MFARevoir le sommaire du cours