Comment sécuriser un serveur ?

Comment sécuriser un serveur ?

Sur Codeur.com, trouvez rapidement un freelance pour réaliser votre projet Sécurité. Voir les consultants en cybersécurité disponibles

Vous avez peur qu’un problème de sécurité touche votre serveur et que quelqu’un de mal intentionné s’en rende compte ? Rien de plus normal : le nombre de failles de sécurité explose.

La sécurisation des serveurs est essentielle car les cybercriminels ciblent ces serveurs en priorité. C’est l’endroit où les données les plus sensibles sont stockées. Il est important de s’assurer que des mesures de sécurité robustes soient intégrées aux systèmes et aux applications afin de maintenir un réseau informatique sécurisé.

Avec l’augmentation du télétravail, et plus encore depuis la pandémie de Covid-19, les problèmes de piratage ont considérablement augmenté. Pourtant, il existe un certain nombre de mesures que les entreprises peuvent mettre en place afin de garantir un niveau plus élevé de sécurité.

Nous avons pensé qu’il serait utile de jeter un coup d’œil à certaines de ces mesures, que vous pouvez prendre pour assurer la sécurité de votre serveur.

1. Établir une politique de mots de passe

Vous devez définir une politique de mots de passe, qui doit être scrupuleusement respectée par tous les membres ayant accès à votre serveur. Parmi les recommandations les plus courantes, vous pouvez retrouver celles-ci :

  • Activez l’authentification à deux facteurs ;
  • N’utilisez pas de mots du dictionnaire ou d’informations personnelles dans les mots de passe ;
  • Utilisez des mots de passe complexes d’au moins 10 caractères, comprenant des chiffres, des symboles et des signes de ponctuation ;
  • Ne stockez pas les mots de passe sur les ordinateurs portables, les smartphones ou les tablettes (tout ce qui se vole ou se perd facilement) ;
  • Utilisez un générateur de mot de passe sécurisé pour générer le mot de passe ;
  • Fixer une date d’expiration pour un mot de passe ;
  • Ne pas utiliser le même mot de passe pour plusieurs comptes.

Établir une politique de mots de passe

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 deux systèmes ; par exemple, pour un navigateur et un serveur web.

Toute information entrant et sortant de votre serveur est automatiquement cryptée lorsque SSL est présent sur le serveur web. Cela empêche notamment un hacker de mettre la main sur les informations sensibles de vos visiteurs.

Le protocole HTTPS utilise le protocole SSL/TLS pour le cryptage et l’authentification. Il crypte les requêtes et les réponses HTTP, afin que les attaquants ne voient que des caractères aléatoires au lieu des détails d’une carte de crédit, par exemple.

Vous pouvez faire en sorte que votre serveur utilise le protocole SSL pour son serveur web en achetant un certificat SSL premium (tel que Komodo) et en configurant votre serveur pour qu’il l’utilise, ou en utilisant Let’s Encrypt pour appliquer un certificat SSL gratuit. Leur outil de ligne de commande « Certbot » peut vous aider à mettre en place le protocole SSL en quelques minutes. J’ai écrit un article qui peut vous aider, si vous ne savez pas comment choisir votre certificat SSL.

+250 000 freelances disponibles sur Codeur.com

Recevoir des devis gratuits

Rapide, gratuit et sans obligation

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

Il est toujours utile de mettre à jour régulièrement votre serveur pour protéger votre système d’exploitation contre les pirates. Malheureusement, ce n’est pas suffisant : vous devez également vous assurer de mettre à jour régulièrement votre système de gestion de contenu, tel que WordPress ou Prestashop, ainsi que leurs thèmes et extensions.

Un logiciel ou plugin obsolète peut contenir des failles de sécurité connues des utilisateurs malveillants. Souvent, la révélation publique d’une faille de sécurité précède une mise à jour. Autrement dit, la faille est connue de tous, il ne reste plus qu’à l’exploiter…

Mettre à jour le serveur régulièrement

4. Désactiver les services inutiles

Il est également recommandé de désactiver et même de supprimer tous les services inutiles qui ne sont pas essentiels à la fonctionnalité de votre serveur.

Par défaut, la plupart des systèmes d’exploitation (basés sur Linux) sont fournis avec un outil de gestion des services. Vous pouvez l’utiliser pour désactiver et supprimer les services concernés.

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 fournirez d’informations sur votre site, plus la base sur laquelle un pirate pourrait lancer une attaque sera réduite.

5. Désactiver des ports inutilisés

Ce passage fait directement écho au précédent : conserver des ports ouverts ne pose pas de risque de sécurité particulier, et ils sont parfois nécessaires pour la communication entre différents services ou applications. Il est même obligatoire que certains ports soient activés, comme les ports 80 et 443 pour les connexions HTTP ou HTTPS, ou encore le port SSH que vous avez sélectionné.

Si vous avez réalisé une installation système minimale ne comprenant qu’un petit nombre d’applications tierces, le nombre de ports supplémentaires requis est limité. Ces ports ouverts ne deviennent un risque que lorsque le programme l’utilisant comporte une faille de sécurité, et qu’un pirate en profite.

Comme nous l’avons vu plus haut, plus le nombre d’applications est élevé, plus le danger potentiel augmente. Il est donc logique de protéger votre serveur contre de telles attaques, en bloquant tous les ports ouverts inutilement. Presque tous les systèmes d’exploitation ont déjà installé par défaut un outil permettant de créer des règles fixes pour réguler le trafic, ou de définir les ports souhaités et indésirables.

6. Installer un logiciel d’analyse des logiciels malveillants

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

ClamAV est l’un des meilleurs outils de recherche de logiciels malveillants pour Linux. Il analyse votre serveur et supprime automatiquement les logiciels ou les fichiers malveillants. Il prend en charge plusieurs formats de fichiers, notamment les documents, les exécutables et les archives.

Installer un logiciel d’analyse des logiciels malveillants

À lire aussi : 7 bonnes pratiques pour sécuriser vos données et les usages de vos collaborateurs

7. Installer un pare-feu

Vous pouvez installer configurer un pare-feu pour empêcher toute connexion non autorisée vers (ou depuis) votre serveur. Presque toutes les distributions Linux intègrent un logiciel de pare-feu ou peuvent facilement être ajoutées.

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 le balayage de ports et les attaques par force brute pour de nombreux services.

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

Un hacker qui veut accéder à votre serveur (ou aux applications qui sont exécutées sur celui-ci) dispose de plusieurs recours pour le faire. L’un des types d’attaques les plus simples et les plus courantes est la méthode dite par force brute. Dans ce cas, le pirate essaie d’accéder aux mots de passe à l’aide d’un outil qui tente une option après l’autre.

Plus vous serez prévoyant et prudent dans votre politique de mots de passe, moins il aura de chances que cette méthode soit efficace. Gardez à l’esprit que si vous offrez un service avec une option de création de compte, tous les utilisateurs ne seront pas aussi consciencieux et prudents qu’il le faudrait.

Heureusement, aucun logiciel complexe et coûteux n’est nécessaire pour se protéger contre de telles attaques : comme chaque tentative de connexion est enregistrée, traitée puis enregistrée dans des fichiers logs de votre serveur, des outils d’analyse simples peuvent vous aider.

Fail2ban (Linux-/POSIX-Systeme) ou RdpGuard (Windows) vérifient les fichiers logs, détectent les comportements inhabituels et bloquent 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 utilisé pour se connecter à un serveur distant. La plupart des gens utilisent SSH pour se connecter et gérer leurs serveurs distants, à l’aide d’un mot de passe.

Pour accéder à un serveur via SSH, le port 22 est dédié : il est automatiquement configuré lorsque vous avez installé votre système. Un hacker qui recherche un système perméable fera donc principalement ses tentatives d’attaque via ce port.

Toutefois, en définissant un port différent pour ces connexions, vous minimisez considérablement le risque d‘accès non désiré. Il suffit pour cela simplement d’ouvrir le fichier de configuration SSH avec l’éditeur de texte de votre choix, puis de rechercher la ligne appropriée et de remplacer le port 22 par un numéro de votre choix.

Attention : N’oubliez pas qu’il existe plusieurs autres ports « standards » utiles pour d’autres services (comme le port 80 pour HTTP), et que vous ne devriez pas les utiliser. Jetez d’abord un coup d’œil à la liste des ports logiciels (RCP et UDP), maintenue par l’IANA (Internet Assigned Numbers Authority).

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

Pour finir avec SSH, vous pouvez, au lieu d’utiliser un mot de passe, utiliser l’authentification par clé pour vous connecter à votre serveur distant : chaque utilisateur possède alors une clé publique et une clé privée. La clé privée est conservée par l’utilisateur, et la clé publique est placée sur le serveur.

Une clé SSH comporte plus de bits qu’un mot de passe, et n’est pas facilement « craquable ». Vous devez garder votre clé privée en sécurité – ne la partagez avec personne !

Vous n’arrivez pas à sécuriser votre serveur ? Faites appel à un expert de la sécurité des systèmes d’entreprise sur Codeur.com !