Skip to main content
BlogSécuritéIntroduction à la sécurité des serveurs

Introduction à la sécurité des serveurs

Introduction à la sécurité des serveurs.

Cet article est le dernier volet de notre série Cloud Computing Foundations. Renforcez vos compétences en suivant notre Cloud Computing en suivant notre cours de certification.

L'un des aspects les plus importants du cycle de développement est de comprendre comment sécuriser l'environnement d'hébergement qui exécute nos applications web. Chaque fois que nous déployons une application web, nos serveurs autorisent les connexions entrantes de systèmes externes sur des ports spécifiques. Les ports du serveur identifient le trafic réseau entrant et sortant.

Pour comprendre les vulnérabilités des serveurs, nous devons réfléchir à l'endroit où les communications ont lieu.

Dans l'exemple ci-dessus :

  1. Un client (à gauche), généralement un navigateur web, envoie une requête HTTP au serveur.
  2. Le serveur reçoit la requête HTTP et la traite.
  3. Le nom de domaine est interrogé par un ou plusieurs serveurs de noms de domaine, généralement gérés par le bureau d'enregistrement des noms de domaine. 
  4. Le serveur récupère ou génère le contenu demandé et renvoie une réponse HTTP au client.
  5. Le client reçoit la réponse et restitue le contenu.

Au cours de ce processus, dans certains cas, les connexions à nos serveurs peuvent provenir d'ordinateurs malveillants cherchant à exploiter les faiblesses de nos configurations de serveur. Il existe de nombreuses raisons pour lesquelles un serveur peut être exploité.

Examinons quelques attaques courantes contre les serveurs.

Attaques par déni de service distribué (DDoS)

Dans une attaque par déni de service distribué (DDoS), un attaquant tente de surcharger un serveur ciblé avec un flot de requêtes HTTP. C'est ce qu'on appelle aussi une attaque par inondation HTTP. Rappelons que chaque fois que nous faisons une demande HTTP, nos serveurs sont chargés d'y répondre. Si nos serveurs ne disposent pas des ressources nécessaires pour répondre au nombre de demandes simultanées, le serveur web se bloque ou tombe en panne. Chaque requête HTTP suivante échouera, ce qui rendra le serveur web inaccessible. 

Les attaques DDoS sont généralement menées par l'intermédiaire de réseaux de zombies. Les botnets sont des réseaux d'appareils infectés par des logiciels malveillants, également connus sous le nom de maliciels, qui sont conçus spécifiquement pour produire un flot de requêtes HTTP vers une machine cible.

L'illustration ci-dessus donne un aperçu du fonctionnement des attaques par inondation HTTP. À droite, le client envoie une requête au serveur, mais comme plusieurs robots envoient également des requêtes au serveur, épuisant ainsi ses ressources, le client ne peut pas se connecter au serveur.

Traversée de répertoire

La traversée de répertoire est un autre exploit courant qui cible généralement les serveurs mal configurés. Tous les fichiers Web sont servis directement à partir du répertoire racine du Web. Les utilisateurs qui se connectent à nos serveurs par le biais de requêtes web HTTP ne devraient pouvoir accéder qu'à des fichiers spécifiques du répertoire racine du site web, sans pouvoir naviguer ou exécuter des fichiers provenant de dossiers situés plus haut dans la structure des répertoires. Si cela devait se produire, un pirate pourrait avoir accès à des fichiers système et de configuration critiques et causer des dégâts sur le serveur.

L'image ci-dessus illustre le fonctionnement de cette attaque. L'attaquant soumet une requête HTTP malveillante à l'aide d'une URL modifiée, qui inclut le chemin d'accès à un système ou à un fichier de configuration. Le serveur traite la requête et, en raison d'une mauvaise configuration du serveur ou d'une mauvaise conception de l'application, peut récupérer le fichier système et afficher son contenu ou son code source.

Attaque par force brute

Une attaque par force brute, également appelée attaque par dictionnaire ou prise de contrôle d'un compte, est une autre attaque très courante par laquelle un agent malveillant tente de s'introduire dans un point d'accès restreint de votre serveur. Ce point d'accès restreint est généralement le compte racine du serveur ou un autre compte doté de privilèges racine. Les attaquants utilisent des logiciels malveillants pour soumettre automatiquement de nombreuses tentatives de connexion avec des combinaisons de mots de passe et de noms d'utilisateur générées automatiquement sur la base de mots du dictionnaire.

L'illustration ci-dessus montre comment fonctionne cette attaque. À gauche, l'attaquant soumet des tentatives de connexion répétées générées à partir d'une liste de mots à l'aide d'un logiciel malveillant. Si les combinaisons correctes sont trouvées, l'attaquant obtient l'accès au serveur. Les attaques par force brute peuvent être très efficaces, même si le serveur n'utilise que l'authentification par clé SSH.

Assurer la sécurité de votre serveur

Voici quelques bonnes pratiques à prendre en compte lors de la configuration et de la sécurisation de vos serveurs :

  • Maintenez votre système d'exploitation et vos logiciels à jour avec les derniers correctifs et mises à jour de sécurité.
  • Désactiver ou bloquer tous les services ou ports inutiles afin de réduire la surface d'attaque.
  • Limitez l'accès à votre serveur en ne permettant qu'aux utilisateurs autorisés de s'y connecter et d'interagir avec lui.
  • Sécuriser le trafic réseau en utilisant des protocoles de cryptage tels que SSL ou TLS.
  • Disposer d'un solide plan de sauvegarde et de reprise après sinistre pour minimiser les pertes de données et les temps d'arrêt.
  • Mettre en place des mots de passe forts et une authentification multifactorielle pour se protéger contre les accès non autorisés.
  • Utiliser des pare-feu pour contrôler le trafic réseau entrant et sortant.
  • Surveiller les journaux des serveurs et le trafic du réseau pour détecter toute activité suspecte.
  • Utiliser des systèmes de détection et de prévention des intrusions pour identifier et prévenir les attaques.
  • Mettre en œuvre des mesures de sécurité telles que les autorisations du système de fichiers et les contrôles d'accès pour se protéger contre l'accès non autorisé aux données sensibles.

Développez les compétences nécessaires pour réussir dans le domaine du cloud computing en suivant notre cours de certification Introduction to Cloud Computing .

Commentaires

Laissez un commentaire

Votre adresse électronique ne sera pas publiée. Les champs obligatoires sont marqués d'un *.