LFCA – Conseils utiles pour sécuriser les données et Linux – Partie 18


Depuis sa sortie au début des années 90, Linux a gagné l'admiration de la communauté technologique grâce à sa stabilité, sa polyvalence, sa personnalisation et une grande communauté de développeurs open source qui travaillent 24 heures sur 24 pour fournir des corrections de bogues et des améliorations au système opérateur. Dans l'ensemble, Linux est le système d'exploitation de choix pour le cloud public, les serveurs et les superordinateurs, et près de 75 % des serveurs de production connectés à Internet fonctionnent sous Linux.

En plus d'alimenter Internet, Linux a trouvé son chemin vers le monde numérique et n'a pas faibli depuis lors. Il alimente une vaste gamme de gadgets intelligents, y compris les smartphones Android, les tablettes, les montres intelligentes, les écrans intelligents et bien d'autres.

Linux est-il sécurisé ?

Linux est réputé pour sa sécurité de haut niveau et c'est l'une des raisons pour lesquelles il constitue un choix préféré dans les environnements d'entreprise. Mais voici un fait, aucun système d'exploitation n'est sûr à 100 %. De nombreux utilisateurs pensent que Linux est un système d'exploitation infaillible, ce qui est une fausse hypothèse. En fait, tout système d'exploitation disposant d'une connexion Internet est susceptible de faire l'objet de violations potentielles et d'attaques de logiciels malveillants.

Au cours de ses premières années, Linux avait une démographie beaucoup plus centrée sur la technologie et le risque de souffrir d'attaques de logiciels malveillants était faible. De nos jours, Linux alimente une grande partie d'Internet, ce qui a propulsé la croissance du paysage des menaces. La menace d'attaques de logiciels malveillants est plus réelle que jamais.

Un exemple parfait d'attaque de malware sur les systèmes Linux est le ransomware Erebus, un malware de cryptage de fichiers qui a affecté près de 153 serveurs Linux de NAYANA, une société d'hébergement Web sud-coréenne.

Pour cette raison, il est prudent de renforcer davantage le système d'exploitation pour lui donner la sécurité tant souhaitée pour protéger vos données.

Conseils de renforcement du serveur Linux

Sécuriser votre serveur Linux n'est pas aussi compliqué que vous pourriez le penser. Nous avons compilé une liste des meilleures politiques de sécurité que vous devez mettre en œuvre pour renforcer la sécurité de votre système et maintenir l'intégrité des données.

Dans les premières étapes de la violation d'Equifax, les pirates ont exploité une vulnérabilité largement connue - Apache Struts - sur le portail Web de réclamation des clients d'Equifax.

Apache Struts est un framework open-source permettant de créer des applications Web Java modernes et élégantes développées par la Fondation Apache. La Fondation a publié un correctif pour corriger la vulnérabilité le 7 mars 2017 et a publié une déclaration à cet effet.

Equifax a été informé de la vulnérabilité et conseillé de corriger son application, mais malheureusement, la vulnérabilité est restée non corrigée jusqu'en juillet de la même année, date à laquelle il était trop tard. Les attaquants ont pu accéder au réseau de l'entreprise et exfiltrer des millions de dossiers clients confidentiels des bases de données. Au moment où Equifax a eu vent de ce qui se passait, deux mois s'étaient déjà écoulés.

Alors, que pouvons-nous apprendre de cela ?

Les utilisateurs malveillants ou les pirates sonderont toujours votre serveur à la recherche d'éventuelles vulnérabilités logicielles qu'ils pourront ensuite exploiter pour violer votre système. Pour plus de sécurité, mettez toujours à jour votre logiciel vers ses versions actuelles pour appliquer des correctifs à toutes les vulnérabilités existantes.

Si vous utilisez des systèmes basés sur Ubuntu ou Debian, la première étape consiste généralement à mettre à jour vos listes de packages ou vos référentiels, comme indiqué.

$ sudo apt update

Pour rechercher tous les packages avec les mises à jour disponibles, exécutez la commande :

$ sudo apt list --upgradable

Mettez à niveau vos applications logicielles vers leurs versions actuelles, comme indiqué :

$ sudo apt upgrade

Vous pouvez concaténer ces deux en une seule commande comme indiqué.

$ sudo apt update && sudo apt upgrade

Pour RHEL et CentOS, mettez à niveau vos applications en exécutant la commande :

$ sudo dnf update ( CentOS 8 / RHEL 8 )
$ sudo yum update ( Earlier versions of RHEL & CentOS )

Une autre option viable consiste à configurer des mises à jour automatiques pour CentOS/RHEL.

Malgré sa prise en charge d'une myriade de protocoles distants, les services hérités tels que rlogin, telnet, TFTP et FTP peuvent poser d'énormes problèmes de sécurité pour votre système. Ce sont des protocoles anciens, obsolètes et non sécurisés où les données sont envoyées en texte brut. S'ils existent, envisagez de les supprimer comme indiqué.

Pour les systèmes basés sur Ubuntu/Debian, exécutez :

$ sudo apt purge telnetd tftpd tftpd-hpa xinetd rsh-server rsh-redone-server

Pour les systèmes basés sur RHEL/CentOS, exécutez :

$ sudo yum erase xinetd tftp-server telnet-server rsh-server ypserv

Une fois que vous avez supprimé tous les services non sécurisés, il est important d'analyser votre serveur à la recherche de ports ouverts et de fermer tous les ports inutilisés qui peuvent potentiellement être utilisés comme point d'entrée par des pirates.

Supposons que vous souhaitiez bloquer le port 7070 sur le pare-feu UFW. La commande pour cela sera :

$ sudo ufw deny 7070/tcp

Rechargez ensuite le pare-feu pour que les modifications prennent effet.

$ sudo ufw reload

Pour Firewalld, exécutez la commande :

$ sudo firewall-cmd --remove-port=7070/tcp  --permanent

Et n'oubliez pas de recharger le pare-feu.

$ sudo firewall-cmd --reload

Vérifiez ensuite les règles de pare-feu comme indiqué :

$ sudo firewall-cmd --list-all

Le protocole SSH est un protocole distant qui vous permet de vous connecter en toute sécurité à des appareils sur un réseau. Bien qu'il soit considéré comme sûr, les paramètres par défaut ne suffisent pas et quelques ajustements supplémentaires sont nécessaires pour dissuader davantage les utilisateurs malveillants de violer votre système.

Nous avons un guide complet sur la façon de renforcer le protocole SSH. Voici les principaux faits saillants.

  • Configurez la connexion SSH sans mot de passe et activez l'authentification par clé privée/publique.
  • Désactivez la connexion racine à distance SSH.
  • Désactivez les connexions SSH des utilisateurs avec des mots de passe vides.
  • Désactivez complètement l'authentification par mot de passe et respectez l'authentification par clé privée/publique SSH.
  • Limiter l'accès à des utilisateurs SSH spécifiques.
  • Configurez une limite pour les tentatives de mot de passe.

Fail2ban est un système de prévention des intrusions open source qui protège votre serveur des attaques par force brute. Il protège votre système Linux en interdisant les adresses IP qui indiquent une activité malveillante, comme un trop grand nombre de tentatives de connexion. Prêt à l'emploi, il est livré avec des filtres pour les services populaires tels que le serveur Web Apache, vsftpd et SSH.

Nous avons un guide sur la façon de configurer Fail2ban pour renforcer davantage le protocole SSH.

La réutilisation de mots de passe ou l'utilisation de mots de passe faibles et simples compromet grandement la sécurité de votre système. Vous appliquez une politique de mot de passe, utilisez pam_cracklib pour définir ou configurer les exigences de force du mot de passe.

À l'aide du module PAM, vous pouvez définir la force du mot de passe en modifiant le fichier /etc/pam.d/system-auth. Par exemple, vous pouvez définir la complexité du mot de passe et empêcher la réutilisation des mots de passe.

Si vous exploitez un site Web, assurez-vous toujours de sécuriser votre domaine à l'aide d'un certificat SSL/TLS pour crypter les données échangées entre le navigateur des utilisateurs et le serveur Web.

Une fois que vous avez crypté votre site, pensez également à désactiver les protocoles de cryptage faibles. Au moment de la rédaction de ce guide, le dernier protocole est TLS 1.3, qui est le protocole le plus courant et le plus utilisé. Les versions antérieures telles que TLS 1.0, TLS 1.2 et SSLv1 à SSLv3 ont été associées à des vulnérabilités connues.

[ Vous pourriez également aimer : Comment activer TLS 1.3 dans Apache et Nginx ]

C'était un résumé de certaines des mesures que vous pouvez prendre pour assurer la sécurité et la confidentialité des données de votre système Linux.