10 conseils pour sécuriser son serveur

Tous les jours, dans notre flow d’informations continues, nous voyons passer des articles concernant tel ou tel site qui vient de ce faire hacker.

Aujourd’hui, Vous craignez qu’un problème de sécurité affecte votre serveur et que quelqu’un avec de mauvaises intentions s’en rende compte ? Rien de plus normal : nous allons tenter de voir ensemble quelques conseils pratiques afin d’éviter le pire.

La sécurisation des serveurs est essentielle car les cybercriminels ciblent les serveurs en premier lieu. En effet, C’est là que sont stockées les données les plus sensibles. Il est donc important de s’assurer que des mesures de sécurité solides sont intégrées dans les systèmes et les applications pour maintenir un système informatique sécurisé.

1. Établir une politique de mots de passe

Commençons par la base. Vous devez définir une politique de mot de passe qui doit être strictement respectée par tous les membres qui ont accès à votre serveur.
Parmi les suggestions les plus courantes, vous pouvez trouver les suivantes :

  • activer l’authentification à deux facteurs
  • N’utilisez pas de mots du dictionnaire ou d’informations personnelles dans les mots de passe
  • Utilisez un mot de passe complexe d’au moins 10 caractères, y compris des chiffres, des symboles et des signes de ponctuation
  • Ne stockez pas de mots de passe sur des ordinateurs portables, des smartphones ou des tablettes (qui sont tous vulnérables au vol ou à la perte)
  • Générez des mots de passe à l’aide d’un générateur de mots de passe sécurisé
    Définissez la date d’expiration du mot de passe
  • N’utilisez pas le même mot de passe pour plusieurs comptes

2. Sécuriser votre site internet avec HTTPS

HTTPS est la version sécurisée de HTTP. Il sert de protocole de communication pour sécuriser la communication entre un navigateur et un serveur web. Il est obligatoire depuis début 2017 pour ne pas se faire pénaliser par les moteurs de recherche.

Lorsque SSL est présent sur le serveur Web, toutes les informations vers et depuis le serveur sont automatiquement cryptées. Cela empêche notamment les pirates d’accéder aux informations sensibles d’un visiteur.

Le protocole HTTPS utilise le protocole SSL/TLS pour le chiffrement et l’authentification. Par exemple, il crypte les requêtes et les réponses HTTP, de sorte que les attaquants ne peuvent voir que des caractères aléatoires au lieu des détails de la carte de crédit.

Vous pouvez utiliser SSL pour votre serveur Web en achetant un certificat SSL avec votre registrar, ou en utilisant Let’s Encrypt pour appliquer un certificat SSL gratuitement. Leur outil de ligne de commande « Certbot » peut vous aider à configurer SSL en quelques minutes. C’est top est GRATUIT !

3. Mettre à jour le serveur régulièrement

Voici un point souvent négligé ou à l’inverse considéré comme l’action ultime pour protéger son serveur. En réalité, Il est toujours utile de mettre régulièrement à jour votre serveur pour protéger votre système d’exploitation des pirates. Malheureusement, cela ne suffit pas : vous devez également vous assurer de mettre à jour régulièrement votre système de gestion de contenu, comme WordPress ses thèmes et ses plugins.

En effet, les logiciels ou plugins obsolètes peuvent contenir des vulnérabilités de sécurité connues des utilisateurs malveillants. Souvent, la divulgation publique des vulnérabilités de sécurité précède les mises à jour. En d’autres termes, la vulnérabilité est bien connue et il ne reste plus qu’à l’exploiter.

4. Désactiver les services inutiles

Il est également recommandé de désactiver ou même de supprimer tous les services inutiles qui ne sont pas critiques pour la fonctionnalité du serveur.

La plupart des systèmes d’exploitation (basés sur Linux) sont livrés avec des outils de gestion de services par défaut. Vous pouvez l’utiliser pour désactiver et supprimer les services concernés. Je vous conseille d’utiliser des distributions minimales. Ainsi, vous n’installez que ce que vous avez besoin.

Autre exemple, si votre site Web est propulsé par WordPress, vous devez supprimer tous les plugins et thèmes inutilisés pour le protéger des attaques : moins vous utiliserez de points d’entrée sur votre site Web, plus la base d’attaque des pirates est réduite.

5. Désactiver des ports inutilisés

Idem, ce passage fait directement écho au précédent : garder les ports ouverts ne pose pas de risque de sécurité particulier, et ils sont parfois nécessaires à la communication entre différents services ou applications. Certains ports doivent même être activés, comme les ports 80 et 443 pour les connexions HTTP ou HTTPS, ou le port SSH de votre choix.

Si vous avez effectué une installation minimale du système avec seulement quelques applications tierces, le nombre de ports supplémentaires requis est limité. Ces ports ouverts ne deviennent un risque que si le programme qui les utilise présente une faille de sécurité et que des pirates l’exploitent.

Comme nous l’avons vu plus haut, plus le nombre de points d’entrée est élevé, plus le danger potentiel est grand. Il est donc logique de protéger votre serveur contre de telles attaques en bloquant tous les ports ouverts inutiles.

Presque tous les systèmes d’exploitation ont un outil installé par défaut pour créer des règles fixes pour réguler le trafic ou pour définir les ports requis et indésirables.

6. Installer un antivirus

Il est également recommandé d’analyser régulièrement votre serveur pour détecter tout logiciel malveillant et le supprimer avant qu’il ne compromette la sécurité de votre serveur. Bien que les logiciels malveillants soient rares sur les distributions Linux, ils ne sont pas inexistants. 

ClamAV est l’un des meilleurs outils d’analyse de logiciels malveillants pour Linux. Il analyse votre serveur et supprime automatiquement les logiciels malveillants. Il prend en charge une variété de formats de fichiers, y compris les documents, les exécutables et les archives.

7. Installer un pare-feu

Vous pouvez installer et configurer un pare-feu pour empêcher les connexions non autorisées vers (ou depuis) votre serveur. Le logiciel de pare-feu est inclus avec presque toutes les distributions Linux ou peut être facilement ajouté.

CSF, également connu sous le nom de ConfigServer Security & Firewall, est un pare-feu gratuit qui peut être utilisé pour protéger votre serveur contre différents types d’attaques. Il vérifie les échecs d’authentification de connexion sur votre serveur SSH, votre serveur de messagerie, votre serveur FTP, cPanel, DirectAdmin et Webmin et peut les bloquer immédiatement. CSF est également capable de détecter de nombreuses attaques, telles que les analyses de port et les attaques par force brute contre de nombreux services.

8. Sécuriser le serveur contre les attaques par force brute

Les pirates qui souhaitent accéder à votre serveur (ou aux applications qui y sont exécutées) ont plusieurs façons de le faire. L’un des types d’attaques les plus simples et les plus courants est la méthode dite de la force brute. Dans ce cas, le pirate essaie d’accéder au mot de passe à l’aide d’un outil qui essaie une option après l’autre.

Plus vous êtes prévoyant et prudent dans votre stratégie de mot de passe, moins cette approche sera efficace. N’oubliez pas que si vous proposez un service avec des options de création de compte, tous les utilisateurs ne seront pas aussi sérieux et discrets qu’ils le devraient.

Heureusement, un logiciel complexe et coûteux n’est pas nécessaire pour se prémunir contre de telles attaques : puisque chaque tentative de connexion est enregistrée, traitée et consignée dans un fichier journal sur le serveur, des outils d’analyse simples peuvent aider.

Fail2ban (Linux-/POSIX-Systeme) vérifie les fichiers logs, détecte les comportements inhabituels et bloque l’adresse IP des utilisateurs suspects. Vous pouvez régler vous-même le nombre de tentatives infructueuses nécessaires avant le blocage de l’IP, ainsi que la durée effective du blocage.

9. Changer le port SSH

SSH est le protocole le plus couramment utilisé pour se connecter à des serveurs distants. La plupart des gens utilisent SSH pour se connecter et gérer leurs serveurs distants, à l’aide de mots de passe.

Pour accéder au serveur via SSH, le port 22 est dédié : il est configuré automatiquement lors de l’installation du système. Par conséquent, les pirates à la recherche d’un système perméable tenteront principalement d’attaquer via ce port.

Cependant, en définissant différents ports pour ces connexions, vous pouvez réduire considérablement le risque d’accès inutile. Ouvrez simplement le fichier de configuration SSH avec un éditeur de texte de votre choix, puis trouvez la ligne appropriée et remplacez le port 22 par un numéro de votre choix.

10. Utiliser l’authentification par clé publique pour SSH

Enfin, pour finir, au lieu d’utiliser un mot de passe, vous pouvez utiliser l’authentification par clé pour vous connecter au serveur distant : chaque utilisateur dispose d’une clé publique et d’une clé privée. La clé privée est conservée par l’utilisateur et la clé publique est placée sur le serveur.

Les clés SSH ont plus de bits que les mots de passe et ne sont pas faciles à « déchiffrer ». Vous devez garder votre clé privée en sécurité – ne la partagez avec personne !

Bonus : Établir une politique de sauvegarde efficace

Je ne pouvais pas vous laisser sans parler de la sauvegarde. Car même si on ne peut pas vraiment la classer dans les pratiques classiques de sécurité, pour moi, avoir une bonne politique de sauvegarde, vous protégera même des pires catastrophes : Hackeurs, crashes, erreur de manipulation etc… Elle fera l’objet d’un prochain billet.

Voilà, j’espère que ces quelques conseils vous seront utiles. Si vous rencontrez des difficultés ou si vous souhaitez confier l’installation et la sécurisation de votre serveur VPS. Il suffit de nous contacter.