15%

Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code :

Skills
Commencer
18.08.2025

Qu’est-ce qui est désactivé par défaut sur la plupart des serveurs Linux (et pourquoi c’est important)

Lorsque vous provisionnez un serveur Linux neuf — qu’il s’agisse d’un VPS, d’un serveur dédié, ou d’une machine virtuelle hébergée dans le cloud — le système démarre dans un environnement délibérément minimaliste et renforcé. Ce n’est pas une inadvertance ou une configuration incomplète. C’est une philosophie de conception intentionnelle intégrée à chaque distribution Linux majeure.

Les builds de serveurs Linux modernes éliminent les services inutiles, les protocoles et les interfaces pour minimiser la surface d’attaque, économiser les ressources système et donner aux administrateurs un contrôle précis sur ce qui s’exécute sur leur infrastructure. Comprendre ce qui est désactivé par défaut — et pourquoi — est une connaissance fondamentale pour tout administrateur système, ingénieur DevOps ou développeur gérant des charges de travail en production.

Ce guide disséque les fonctionnalités et services les plus courants qui sont désactivés ou absents par défaut sur les serveurs Linux, explique la logique de sécurité et opérationnelle derrière chaque décision, et vous montre exactement comment vérifier chaque paramètre sur votre propre système.

Pourquoi « Désactivé par défaut » est une stratégie de sécurité, pas une limitation

Le principe à l’œuvre ici s’appelle souvent « sécurisé par défaut, extensible par choix ». Plutôt que de livrer un système entièrement fonctionnel et de faire confiance aux administrateurs pour le verrouiller, les distributions Linux modernes livrent un système verrouillé et font confiance aux administrateurs pour n’activer que ce dont ils ont besoin.

Cette approche réduit directement le risque de mauvaise configuration — l’une des principales causes de violations de serveurs. Chaque service qui n’est pas en cours d’exécution est un service qui ne peut pas être exploité. Chaque protocole qui n’est pas activé est un protocole qui ne peut pas être intercepté. Chaque port ouvert qui n’existe pas est un point d’entrée que les attaquants ne peuvent pas sonder.

Avec ce contexte établi, examinons chaque restriction par défaut en détail.

1. Connexion SSH Root

Statut : Désactivée par défaut sur pratiquement toutes les distributions de serveurs Linux modernes

La connexion directe root via SSH est universellement désactivée dans les builds de serveurs Linux contemporains — et pour une excellente raison. Permettre l’accès root à distance crée un point de défaillance catastrophique unique : un mot de passe compromis donne à un attaquant un contrôle complet et sans restriction sur l’ensemble du système.

Le flux de travail correct consiste à se connecter en tant qu’utilisateur non privilégié et à escalader les privilèges en utilisant sudo ou su uniquement si nécessaire. Cela crée une piste d’audit, limite le rayon d’impact du vol de credentials et force une action délibérée avant d’exécuter des commandes privilégiées.

Comment vérifier :

grep PermitRootLogin /etc/ssh/sshd_config

Résultat attendu sur un serveur correctement renforcé :

PermitRootLogin no

Si vous voyez PermitRootLogin yes ou PermitRootLogin prohibit-password, examinez immédiatement votre configuration SSH et alignez-la avec la politique de sécurité de votre organisation.

Meilleure pratique :

Créez un utilisateur administratif dédié, ajoutez-le au groupe sudo et assurez-vous que PermitRootLogin no est défini avant de déployer tout service accessible au public.

2. Authentification par mot de passe dans SSH

Statut : Désactivée par défaut sur la plupart des serveurs provisionnés dans le cloud

Sur de nombreuses plateformes cloud et environnements d’hébergement gérés, l’authentification par mot de passe SSH est entièrement désactivée au moment du provisionnement. Les paires de clés SSH sont le seul mécanisme d’authentification accepté.

C’est une amélioration significative de la sécurité. L’authentification par mot de passe est vulnérable aux attaques par force brute, au credential stuffing et aux attaques par dictionnaire. Les clés SSH — en particulier lorsqu’elles sont protégées par une phrase de passe — sont informatiquement impossibles à forcer par force brute avec la technologie actuelle.

Les installations traditionnelles basées sur ISO peuvent toujours permettre les connexions par mot de passe par défaut, mais la meilleure pratique est de les désactiver immédiatement après la configuration de l’authentification basée sur les clés.

Comment vérifier :

grep PasswordAuthentication /etc/ssh/sshd_config

Résultat attendu :

PasswordAuthentication no

Comment désactiver l’authentification par mot de passe :

Modifiez /etc/ssh/sshd_config et définissez :

PasswordAuthentication no
PubkeyAuthentication yes

Ensuite, rechargez le démon SSH :

# Ubuntu/Debian
sudo systemctl reload ssh

# RHEL/AlmaLinux/Rocky Linux
sudo systemctl reload sshd

> Avertissement : Confirmez toujours que votre clé SSH fonctionne avant de désactiver l’authentification par mot de passe, sinon vous risquez de vous verrouiller hors du serveur.

3. Protocoles réseau hérités et en texte clair

Statut : Absents des builds de serveurs modernes

Les services tels que Telnet, FTP, Rlogin et Rsh ne sont pas installés sur les images de serveurs Linux modernes. Ces protocoles ont été conçus à une époque où le chiffrement n’était pas une priorité. Ils transmettent les credentials, les commandes et les données en texte clair — ce qui les rend triviales à intercepter avec un analyseur de paquets sur n’importe quel segment réseau entre le client et le serveur.

Ces protocoles ont été remplacés par des alternatives sécurisées :

Protocole héritéRemplacement sécurisé
Telnet (port 23)SSH (port 22)
FTP (port 21)SFTP ou FTPS
Rlogin / RshSSH

Comment vérifier qu’aucun service hérité n’est en cours d’exécution :

ss -tulnp

Si les ports 21 (FTP) ou 23 (Telnet) n’apparaissent pas dans la sortie, ces services ne sont pas actifs. S’ils apparaissent, enquêtez immédiatement et supprimez ou désactivez-les sauf s’il existe une exigence spécifique et justifiée.

4. Interfaces utilisateur graphiques (GUI)

Statut : Non installées sur les éditions serveur

Les distributions serveur — y compris Ubuntu Server, Debian, AlmaLinux, Rocky Linux et CentOS Stream — ne sont pas livrées avec des environnements de bureau graphiques tels que GNOME, KDE Plasma ou XFCE. C’est un choix délibéré et bien raisonné.

Un environnement GUI :

  • Consomme une quantité importante de RAM et de ressources CPU qui devraient être dédiées aux charges de travail
  • Introduit un grand nombre de packages logiciels supplémentaires, chacun représentant une vulnérabilité potentielle
  • Est entièrement inutile pour l’administration du serveur, qui est effectuée via la ligne de commande sur SSH

L’attente est sans ambiguïté : les serveurs sont gérés via la CLI. Si vous vous trouvez vouloir une interface graphique sur un serveur de production, c’est généralement un signal qu’un processus ou un flux de travail doit être reconsidéré.

> Remarque : Les outils tels que Panneaux de contrôle VPS — tels que cPanel, Plesk ou DirectAdmin — fournissent des interfaces de gestion graphiques basées sur le web sans nécessiter l’installation d’un environnement de bureau complet sur le serveur.

5. Chaînes d’outils de développement et compilateurs

Statut : Non installés dans les images serveur minimales

Les compilateurs tels que gcc et les utilitaires de build tels que make, cmake et autoconf sont intentionnellement absents de la plupart des images serveur Linux minimales. La logique est double :

  1. Taille d’image réduite : Les images minimales sont plus rapides à déployer, plus faciles à sauvegarder et consomment moins de ressources.
  2. Renforcement de la sécurité : Si un attaquant accède à un serveur, l’absence d’un compilateur l’empêche de compiler des binaires malveillants ou du code d’exploit directement sur le système. C’est un obstacle significatif dans de nombreuses chaînes d’attaque.

Comment vérifier :

gcc --version

Si la chaîne d’outils n’est pas installée, vous verrez :

-bash: gcc: command not found

Comment installer si nécessaire :

# Ubuntu/Debian
sudo apt update && sudo apt install build-essential

# RHEL/AlmaLinux/Rocky Linux
sudo dnf groupinstall "Development Tools"

Installez les outils de développement uniquement sur les serveurs où la compilation est une exigence opérationnelle genuine — tels que les serveurs de build ou les environnements de développement — et évitez de les installer sur les serveurs d’application ou de base de données en production.

6. ICMP (Réponses Ping)

Statut : Activé par défaut au niveau du système d’exploitation ; souvent restreint au niveau du réseau/pare-feu

Les serveurs Linux répondent aux demandes d’écho ICMP (ping) par défaut au niveau du système d’exploitation. Cependant, de nombreux fournisseurs d’hébergement et plateformes cloud bloquent ICMP au niveau du pare-feu réseau ou du groupe de sécurité, ce qui rend les serveurs apparemment inaccessibles au ping même lorsqu’ils sont entièrement opérationnels.

Supprimer les réponses ICMP rend un serveur moins découvrable lors des scans de reconnaissance réseau. Cependant, cela complique également la surveillance et les diagnostics légitimes — les outils comme ping et traceroute dépendent d’ICMP pour fonctionner correctement.

Comment tester :

ping your_server_ip

Comment bloquer ICMP au niveau du système d’exploitation en utilisant iptables (si nécessaire) :

sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

La décision de bloquer ICMP doit être prise délibérément, en pesant l’avantage marginal en matière de sécurité par rapport au coût opérationnel pour les flux de travail de surveillance et de dépannage.

7. IPv6

Statut : Activé par défaut dans la plupart des distributions ; peut être restreint au niveau du fournisseur

IPv6 est activé par défaut dans les distributions Linux modernes y compris Ubuntu, Debian, Fedora et les dérivés RHEL. Cependant, de nombreux fournisseurs d’hébergement désactivent IPv6 au niveau du réseau si leur infrastructure ne le supporte pas, ce qui signifie que le système d’exploitation peut être configuré pour IPv6 mais le serveur n’aura pas d’adresse IPv6 routable.

Comment vérifier les adresses IPv6 :

ip a | grep inet6

Si seul ::1 (l’adresse de bouclage) apparaît, IPv6 n’est pas configuré au niveau du réseau même s’il est activé dans le système d’exploitation.

Si votre charge de travail ne nécessite pas IPv6 et votre fournisseur ne l’offre pas, vous pouvez le désactiver au niveau du noyau en ajoutant ce qui suit à /etc/sysctl.conf :

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Ensuite, appliquez la modification :

sudo sysctl -p

8. Services système et démons inutiles

Statut : Varie selon la distribution ; les installations minimales désactivent la plupart des services non essentiels

Au-delà des éléments énumérés ci-dessus, les installations minimales de serveurs Linux désactivent ou omettent généralement une gamme de services présents sur les builds de bureau ou complets :

  • Bluetooth — sans pertinence sur les serveurs ; non installé
  • Avahi/mDNS — découverte du réseau local ; inutile et potentiellement une préoccupation de sécurité sur les serveurs
  • Cups (impression) — aucun cas d’usage sur un serveur
  • ModemManager — sans pertinence sur le matériel serveur
  • NetworkManager — souvent remplacé par systemd-networkd ou la configuration manuelle de netplan sur les serveurs

Comment auditer les services en cours d’exécution :

systemctl list-units --type=service --state=running

Examinez cette liste périodiquement et désactivez tout service qui ne sert pas un objectif documenté sur ce serveur spécifique.

Liste de contrôle pratique de la sécurité pour un serveur Linux fraîchement provisionné

Après le provisionnement d’un nouveau serveur — qu’il s’agisse d’un hébergement web partagé amélioré en VPS ou d’un tout nouveau serveur dédié — parcourez cette liste de contrôle pour confirmer votre posture de sécurité de base :

VérificationCommandeRésultat attendu
Connexion SSH rootgrep PermitRootLogin /etc/ssh/sshd_configno
Auth par mot de passegrep PasswordAuthentication /etc/ssh/sshd_configno
Ports ouvertsss -tulnpSeuls les ports attendus visibles
GCC installégcc --versioncommand not found (sauf si nécessaire)
Services en cours d’exécutionsystemctl list-units --type=service --state=runningSeuls les services requis
Statut IPv6`ip agrep inet6`Comme prévu pour votre environnement

Choisir le bon environnement d’hébergement pour vos exigences de sécurité

La posture de sécurité par défaut de votre serveur est également influencée par l’environnement d’hébergement que vous choisissez. Un VPS avec cPanel fournit une interface gérée et basée sur le web qui simplifie l’administration tout en préservant le modèle de sécurité Linux sous-jacent. Un serveur dédié

15%

Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code :

Skills
Commencer