Liste de contrôle de durcissement de la sécurité Linux

Liste de contrôle de durcissement de la sécurité Linux
«Ce tutoriel énumère les pratiques et les politiques de durcissement de la sécurité à la fois pour les utilisateurs à domicile de Linux et les administrateurs système.

De plus, à la liste de contrôle du durcissement de sécurité ci-dessous, cet article comprend de brèves explications de chaque recommandation, y compris les liens vers des tutoriels montrant comment les implémenter avec des captures d'écran réelles de scénarios. Le document est optimisé pour les utilisateurs nouveaux et avancés.

Tous les conseils décrits dans cet article sont utiles pour chaque distribution Linux. Les utilisateurs du système d'exploitation UNIX peuvent également trouver ce tutoriel utile pour protéger leurs systèmes."

Note: La liste de contrôle de durcissement de la sécurité Linux suivante a été initialement écrite en 2019 et mise à jour en 2022.

Liste de contrôle de durcissement de la sécurité Linux

POLITIQUE Utilisateur à domicile SERVEUR
Désactiver SSH ✔ / x
Désactiver l'accès à la racine SSH
Modifier le port par défaut SSH
Désactiver l'authentification de la connexion du mot de passe SSH
Définir les règles du pare-feu appropriées
Implémentation d'ID (système de détection d'intrusion) X
Sécuriser le bios
Cryptage de disque X
Protéger le système contre les rootkits
Gardez le système à jour
VPN (réseau privé virtuel) X
Activer Selinux
Mettre en œuvre des pots de miel et des miels X
Scannez à l'extérieur votre appareil pour les vulnérabilités
Pratiques de sécurité communes

Désactiver SSH

Le service SSH est l'une des cibles les plus utilisées pour les attaquants. Grâce à l'accès SSH, un pirate peut pénétrer dans le système cible pour augmenter les privilèges, obtenant le contrôle total du système. Il convient de rappeler que les exploits d'exécution locale sont plus dangereux que les exploits à distance car les exploits locaux ne sont pas filtrés par des pare-feu.

Les utilisateurs à domicile et aux entreprises doivent désactiver tous les services inutiles car ils représentent les portes des pirates pour accéder au système cible.

La recommandation principale est de supprimer pleinement les services indésirables. Si vous pensez à l'avenir, vous pouvez utiliser un service actuellement inutile, lisez ce tutoriel avec des instructions spécifiques sur l'identification et la désactivation des services inutilisés. Si vous devez garder le service SSH, continuez à lire ci-dessous pour les instructions pour la sécuriser.

Désactiver l'accès à la racine SSH

Comme indiqué dans la recommandation précédente pour désactiver ou supprimer le service SSH, ce service peut être vulnérable à certaines attaques si elle est à tort.

Une mesure importante à prendre pour sécuriser l'accès SSH est de désactiver la connexion racine. La principale raison de désactiver la connexion racine à travers SSH est que le superutilisateur principal de chaque système Linux est une racine; Par conséquent, un attaquant sait déjà que votre système a le superutilisateur racine et peut l'utiliser dans une attaque à force brute ayant besoin uniquement de casser votre mot de passe. De plus, une autre raison importante de désactiver l'accès root via SSH est de rendre difficile pour un attaquant d'obtenir un accès privilégié aidé par les exploits.

Chez Linuxhint, nous avons publié un tutoriel sur la façon de désactiver l'accès root SSH que vous pouvez lire ici.

Modifier le port par défaut SSH

De nombreux attaquants lancent des attaques massives et aveugles contre des cibles aléatoires. Si un attaquant essaie d'identifier massivement les appareils en scannant le port SSH (22), il échouera contre les systèmes servant un accès SSH via un port différent de 22.

Désactiver l'authentification du mot de passe SSH

L'authentification du mot de passe SSH est la moins sûre. D'autres méthodes telles que l'authentification clé sont recommandées pour remplacer la connexion du mot de passe, qui est vulnérable à de nombreux types d'attaques, y compris la force brute, la méthode d'attaque la plus simple que tout utilisateur inexpérimenté peut lancer. Dans ce lien, vous pouvez lire des instructions pour désactiver l'authentification du mot de passe SSH et activer l'authentification clé.

Définir les règles appropriées NFTABLES ou IPTRables

La mise en œuvre des règles de pare-feu personnalisées est un incontournable et une mesure de base pour sécuriser votre appareil. Les pare-feu sont la première défense contre le trafic malveillant, les connexions indésirables et les analyses indésirables essayant de trouver des trous de sécurité dans votre système.

Nftables et iptables sont des interfaces pour gérer et définir les règles de pare-feu dans Linux. Les utilisateurs à domicile peuvent préférer UFW (pare-feu simple), qui est un frontage pour les iptables pour rendre la création de règles de pare-feu plus conviviale.

Selon vos besoins de bureau ou de serveur, la plupart des règles de pare-feu recommandées incluent des politiques restrictives n'accordant que le trafic et les connexions nécessaires. De plus, les pare-feu sont utiles pour rediriger les ports par défaut vers des ports personnalisés, ce qui rend plus difficile pour les attaquants d'identifier vos services compatibles avec le système.

Les administrateurs système peuvent trouver des instructions pour sécuriser les systèmes avec iptables sur ce lien. Les utilisateurs à domicile peuvent choisir UFW, ce qui est plus facile à gérer et peut être appris sur ce lien.

Implémentation d'ID (système de détection d'intrusion)

IDS (système de détection d'intrusion) porte la sécurité au niveau suivant, ce qui lui permet d'analyser les paquets et de détecter les anomalies et l'accès non autorisé au système. IDS est un excellent complément pour les pare-feu. IDS surveille le trafic réseau à la recherche de paquets malveillants pour identifier et signaler les incidents de sécurité. Les identifiants les plus populaires sont SNORT et OSSEC.

Cette liste de contrôle de durcissement de sécurité ne recommande pas les ID pour les utilisateurs à domicile en raison du grand nombre de ressources dont ils ont besoin. Pourtant, si vous aimez les bonnes ressources, les ajouter est toujours un bon choix.

Vous pouvez lire ce tutoriel pour commencer avec Ossec. En ce qui concerne Snort, chez Linuxhint, nous avons publié plusieurs tutoriels répertoriés ci-dessous.

  • Installez le système de détection d'intrusion SNORT UBUNTU
  • Configurer les identifiants de snort et créer des règles
  • Alerte de reniflement

Sécuriser le bios

Rootkits, logiciels malveillants et bios de serveur avec un accès à distance représentent des vulnérabilités supplémentaires à la fois pour les serveurs et les appareils domestiques. Le BIOS peut être piraté via le code exécuté à partir du système d'exploitation ou via des canaux de mise à jour pour obtenir un accès non autorisé ou pour stocker des rootkits pour toujours, forçant le remplacement du matériel et empêcher la restauration de sauvegarde.

La meilleure façon de protéger votre BIOS est de le tenir au courant, pour lequel vous pouvez trouver des instructions ici.

Crypting des périphériques de stockage et des partitions

Il s'agit d'une mesure plus pertinente pour les utilisateurs de bureau qui peuvent perdre leurs ordinateurs ou être des victimes de vol; Il est particulièrement utile aux utilisateurs d'ordinateurs portables pour empêcher les voleurs d'accéder aux informations. Aujourd'hui, presque tous les SG prennent en charge le chiffrement du disque et de la partition; Les distributions Linux permettent de crypter le disque dur pendant le processus d'installation. Pour des instructions sur le chiffrement du disque, consultez l'article comment crypter un lecteur dans Linux.

Protéger le système contre les rootkits

Rootkits sont des logiciels malveillants accordant aux attaquants un accès non autorisé. Ils sont extrêmement difficiles à détecter en raison de leur capacité à se cacher. Certains rootkits ont accès au BIOS système nécessitant un remplacement matériel comme solution. RootKits Prévention et retrait les logiciels les plus populaires sont Chrootkit et Rkhunter. Vous pouvez commencer avec chkrootkit en lisant ce tutoriel qui comprend également des instructions pour rkhunter.

Gardez le système à jour

Les utilisateurs de bureau et les administrateurs système doivent garder le système à jour pour empêcher les versions vulnérables d'offrir un accès ou une exécution non autorisée. De plus, l'utilisation du gestionnaire de packages fourni par le système d'exploitation pour vérifier les mises à jour disponibles en cours d'exécution des analyses de vulnérabilité peut aider à détecter les logiciels vulnérables qui n'ont pas été mis à jour sur les référentiels officiels ou le code vulnérable qui doit être réécrit. Vous trouverez ci-dessous quelques tutoriels pour mettre à jour les systèmes d'exploitation Linux et les logiciels installés:

  • Comment vérifier les mises à jour sur Debian 11?
  • Comment mettre à niveau le noyau dans Debian 11 Bullseye
  • Comment mettre à jour et mettre à niveau les centos 8
  • Linux menthe comment mettre à jour le système
  • Mise à jour de CentOS
  • Installer ou passer à la dernière noyau Linux sur Ubuntu 20.04 & Linux Mint 20

VPN (réseau privé virtuel)

Les internautes doivent être conscients que les FAI surveillent tout leur trafic, et la seule façon de le permettre est en utilisant un service VPN. Le FAI est capable de surveiller le trafic vers le serveur VPN mais pas du VPN vers les destinations finales. Étant donné que le VPN peut affecter la vitesse négative, ce n'est pas une option recommandée pour les serveurs. Pour minimiser l'effet sur la vitesse de connexion, il est recommandé d'utiliser un service payant. ProtonVPN est une excellente option offrant des services gratuits et payants. Vous pouvez apprendre à installer ProtonVPN sur ce lien.

Activer SELINUX (Linux amélioré par la sécurité)

Selinux est un ensemble de modifications du noyau Linux axées sur la gestion des aspects de sécurité liés aux stratégies de sécurité en ajoutant Mac (contrôle d'accès au mécanisme), RBAC (contrôle d'accès basé sur les rôles) et MLS (sécurité multi-niveaux) et la sécurité multi-catégories (MCS (MCS ). Lorsque Selinux est activé, une application ne peut accéder qu'aux ressources spécifiées dont il a besoin. Les ressources autorisées sont définies par le biais de politiques de sécurité. L'accès aux ports, processus, fichiers et répertoires est contrôlé par des règles définies sur Selinux, qui autorise ou refuse les opérations en fonction des politiques de sécurité. Chez Linuxhint, nous avons publié des articles sur cette fonctionnalité qui sont répertoriés ci-dessous.

  • SELINUX (Security Enhanced Linux) sur Debian
  • Un guide du débutant à Sellinux sur Centos

Mettre en œuvre des pots de miel et des miels

Un pot de miel est un outil simulant une cible qui est vraiment un enregistreur de l'activité des attaquants. Plusieurs points de miel simulant plusieurs appareils, services et applications miel.

Fondamentalement, les pots de miel et les lits de miel sont de fausses cibles à la fois pour distraire les attaquants des cibles réelles et pour enregistrer leur activité. Vous pouvez apprendre à implémenter à la fois des pots de miel et des miels ici.

Scannez à l'extérieur votre appareil pour les vulnérabilités

Une bonne pratique pour assurer la sécurité de votre système est de voir ce que les attaquants voient lorsqu'ils ciblent votre système. Cela peut être réalisé en scannant votre système pour trouver des vulnérabilités. Il existe de nombreuses alternatives sur le marché que vous pouvez utiliser pour scanner votre système. Certains tutoriels sont répertoriés ci-dessous.

  • Comment rechercher des services et des vulnérabilités avec NMAP
  • Début avec le scanner de vulnérabilité Nikto
  • Installation du scanner de vulnérabilité Nexpose sur Debian / Ubuntu

Pratiques courantes

  • N'utilisez pas la racine sauf si nécessaire.
  • N'utilisez jamais x fenêtres ou navigateurs comme racine.
  • Utilisez des gestionnaires de mot de passe comme Lastpass.
  • Utilisez des mots de passe forts et uniques uniquement.
  • Essayez de ne pas installer de packages non gratuits ou de packages indisponibles dans les référentiels officiels Linux.
  • Désactiver les modules inutilisés.
  • Sur les serveurs, appliquez des mots de passe solides et empêchez les utilisateurs d'utiliser les anciens mots de passe.
  • Désinstaller un logiciel inutilisé.
  • N'utilisez pas les mêmes mots de passe pour différents accès.
  • Modifier tous les noms d'utilisateur d'accès par défaut.

Conclusion

Comme vous pouvez le voir dans la liste de contrôle de durcissement de sécurité Linux ci-dessus, la protection du système n'est pas une tâche facile et nécessite de nombreuses mesures de sécurité. Pourtant, malgré le nombre de tâches que les utilisateurs doivent effectuer pour sécuriser leurs systèmes, chaque recommandation peut être implémentée par tous les utilisateurs de Linux indépendamment de leur niveau d'expérience en lisant les tutoriels liés sur chaque élément, qui sont optimisés pour être compréhensibles par les nouveaux utilisateurs. La plupart des recommandations peuvent également être appliquées à d'autres systèmes d'exploitation comme les systèmes BSD. L'application des conseils numériques dissuadera certainement les attaquants aléatoires de vous cibler. Un système fortement protégé est moins attrayant pour les attaquants.

J'espère que cette liste de contrôle de durcissement de sécurité vous a été utile pour sécuriser votre système. Continuez à nous lire pour des tutoriels professionnels Linux supplémentaires.