Longtemps, la sécurité de Linux s’est construite sur une forme d’obscurité. Les utilisateurs bénéficiaient d’un certain avantage, n’étant pas les cibles principales des pirates informatiques, ce qui les dispensait d’une vigilance accrue. Toutefois, cette situation a évolué. En 2017 et 2018, nous avons assisté à des vagues d’attaques exploitant des vulnérabilités et des failles de Linux, avec des méthodes ingénieuses pour installer des logiciels malveillants, des virus, des rootkits et autres menaces.
Face à cette recrudescence d’exploits, de logiciels malveillants et d’autres éléments nuisibles affectant les utilisateurs de Linux, la communauté open source a réagi en renforçant les dispositifs de sécurité. Néanmoins, cela ne suffit pas toujours. Si vous utilisez Linux sur un serveur, il est judicieux de consulter les recommandations suivantes pour améliorer la sécurité de votre infrastructure.
1. Adopter SELinux
SELinux, ou Security-Enhanced Linux, est un mécanisme de sécurité intégré au noyau Linux. Une fois activé, il permet d’appliquer aisément une politique de sécurité personnalisée, un atout indispensable pour sécuriser efficacement un serveur Linux.
De nombreux systèmes d’exploitation serveur basés sur RedHat sont livrés avec SELinux activé et préconfiguré avec des paramètres pertinents. Cependant, tous les systèmes d’exploitation ne prennent pas en charge SELinux par défaut. Voici les étapes pour l’activer.
Note : Les packages Snap nécessitent AppArmor, une alternative à SELinux. Si vous choisissez d’utiliser SELinux, sur certains systèmes Linux, l’utilisation de Snaps peut être impossible.
CentOS / Rhel
CentOS et RedHat Enterprise Linux intègrent tous deux SELinux. Il est préconfiguré pour assurer une protection adéquate, aucune intervention supplémentaire n’est donc requise.
Serveur Ubuntu
Depuis la version Karmic Koala, Ubuntu a simplifié l’activation de SELinux. Pour le configurer, exécutez ces commandes :
sudo apt install selinux
Debian
De même que pour Ubuntu, Debian facilite la mise en place de SELinux. Pour ce faire, saisissez les commandes suivantes :
sudo apt-get install selinux-basics selinux-policy-default auditd
Après avoir installé SELinux sur Debian, consultez la page Wiki dédiée pour obtenir toutes les informations nécessaires à son utilisation.
Maîtriser SELinux
Après avoir activé SELinux, prenez le temps de vous familiariser avec son fonctionnement. Votre serveur vous en remerciera !
Pour accéder au manuel SELinux, saisissez la commande suivante dans un terminal :
man selinux
2. Désactiver le compte root
Une des mesures les plus avisées pour sécuriser votre serveur Linux consiste à bloquer l’accès au compte root et à utiliser les privilèges Sudoer uniquement pour les tâches d’administration système. En interdisant l’accès direct à ce compte, vous réduisez le risque que des personnes malveillantes accèdent aux fichiers système, installent des logiciels nuisibles ou commettent d’autres actes préjudiciables.
Le blocage du compte root sous Linux est simple. De plus, sur de nombreux systèmes d’exploitation serveur Linux (comme Ubuntu), il est déjà désactivé par mesure de précaution. Pour en savoir plus sur la désactivation de l’accès root, veuillez consulter ce guide. Ce document explique comment verrouiller le compte root.
3. Sécuriser votre serveur SSH
Le protocole SSH représente souvent un point vulnérable sur de nombreux serveurs Linux. Beaucoup d’administrateurs préfèrent utiliser les configurations SSH par défaut, car elles sont plus rapides à mettre en place, au lieu de consacrer du temps à un paramétrage plus sécurisé.
Des ajustements mineurs pour renforcer la sécurité du serveur SSH peuvent réduire considérablement les risques d’accès non autorisés, d’attaques de logiciels malveillants, de vol de données, et plus encore.
Auparavant, sur toptips.fr, un article détaillé expliquait comment sécuriser un serveur Linux SSH. Pour en savoir plus sur le verrouillage de votre serveur SSH, consultez cet article.
4. Installer systématiquement les mises à jour
Cela peut sembler évident, mais il est surprenant de constater le nombre d’opérateurs de serveurs Linux qui négligent les mises à jour de leur système. Ce choix peut se comprendre, car chaque mise à jour peut potentiellement perturber les applications en cours d’exécution. Cependant, en évitant les mises à jour système, vous passez à côté de correctifs de sécurité qui colmatent les failles et les bogues utilisés par les pirates pour s’introduire dans les systèmes Linux.
Il est vrai que la mise à jour d’un serveur Linux de production est plus complexe que sur un ordinateur de bureau. On ne peut pas tout interrompre pour appliquer les correctifs. Pour pallier ce problème, envisagez de programmer des mises à jour régulières.
Il n’existe pas de règle absolue pour les calendriers de mise à jour. Ils doivent être adaptés à votre usage. Toutefois, il est généralement recommandé d’appliquer les correctifs une fois par semaine ou toutes les deux semaines pour une sécurité optimale.
6. Éviter les dépôts logiciels tiers
L’un des avantages de Linux est la multitude de dépôts logiciels tiers, offrant un large choix de programmes, sous réserve d’utiliser la bonne distribution. Le problème est que ces dépôts peuvent compromettre la stabilité de votre système, et des logiciels malveillants peuvent s’y infiltrer. Si vous installez des logiciels à partir de sources tierces non vérifiées, des problèmes risquent de survenir.
Si vous avez besoin de logiciels qui ne sont pas distribués par défaut par votre système d’exploitation Linux, privilégiez les packages Snap aux dépôts tiers. De nombreuses applications de niveau serveur sont disponibles dans le magasin Snap. De plus, les applications du magasin Snap font l’objet d’audits de sécurité réguliers.
Vous voulez en savoir plus sur Snap ? Consultez notre article sur le sujet pour découvrir comment l’utiliser sur votre serveur Linux !
7. Utiliser un pare-feu
La mise en place d’un système de pare-feu performant est essentielle sur un serveur. Il vous protégera d’un grand nombre d’intrus indésirables. À l’inverse, un système de pare-feu mal configuré peut gravement compromettre la sécurité de votre serveur Linux.
Il existe plusieurs solutions de pare-feu sous Linux, certaines étant plus simples à mettre en œuvre que d’autres. FirewallD est l’un des pare-feu les plus faciles à utiliser et l’un des plus efficaces.
Note : Pour utiliser FirewallD, votre système d’exploitation serveur doit être basé sur SystemD.
Pour activer FirewallD, vous devez d’abord l’installer. Ouvrez un terminal et saisissez les commandes correspondant à votre système d’exploitation Linux.
Serveur Ubuntu
sudo systemctl disable ufw sudo systemctl stop ufw sudo apt install firewalld
Debian
sudo apt-get install firewalld
CentOS / Rhel
sudo yum install firewalld
Une fois le logiciel installé, activez-le avec Systemd.
sudo systemctl enable firewalld sudo systemctl start firewalld
Conclusion
Les problèmes de sécurité sont de plus en plus fréquents sur les serveurs Linux. Malheureusement, à mesure que Linux gagne en popularité dans le monde de l’entreprise, ces problèmes risquent de devenir plus courants. En suivant les recommandations de sécurité de cette liste, vous pourrez prévenir la majorité de ces attaques.