Définition serveur web

Pas envie de lire ? Lancez l'audio pour écouter l'article !
Voiced by Amazon Polly

Un serveur Web est un logiciel ou matériel informatique chargé du stockage, du traitement et de la diffusion des fichiers Web (pages, textes, images, etc.) aux utilisateurs dès qu’ils lancent une requête.

Avant qu’une page web ne s’affiche, c’est tout un procédé qui est réalisé par les serveurs web. Ces derniers représentent des éléments essentiels pour le bon fonctionnement des sites internet. 

Et pour mieux comprendre l’importance d’un serveur web, il est utile d’aborder les points suivants :

  • De quoi s’agit-il ?
  • Quels sont les logiciels de serveurs web les plus courants ?
  • Comment assurer la sécurité de son serveur ?

C’est autour de ces différents points que s’articulera cet article.

 

Chapitre 1 : Serveur web – De quoi s’agit-il ?

Dans ce chapitre, il sera question d’aborder plus aspect d’un serveur web pour vous aider à comprendre son utilité et son mode de fonctionnement. 

1.1. Qu’est-ce qu’un serveur web ? 

Le serveur Web se charge de la diffusion du contenu des sites Web. Son rôle consiste à afficher les différentes requêtes des utilisateurs et le contenu qu’il diffuse peut être statique ou dynamique.

Serveur web (2)

Lorsqu’il s’agit des contenus statiques, ces derniers sont envoyés au navigateur de l’utilisateur tel qu’ils ont été hébergés dans le serveur sans modification. Cependant, quand il s’agit des contenus dynamiques, ils peuvent faire l’objet de mise à jour et de modification avant l’envoi.

Il faut également noter que le serveur Web fait souvent partie intégrante d’un ensemble de programmes conçus pour : 

  • L’envoi et la réception d’e-mails ;
  • La demande de fichiers FTP (File Transfer Protocol) ; 
  • La conception et la diffusion de pages Web.

1.2. Comment fonctionnent les serveurs web ?

Le serveur Web est accessible via les noms de domaine des sites Web et assure la livraison du contenu du site à l’utilisateur qui en fait la demande.

Lorsqu’un utilisateur demande un site donné ou certaines informations à son navigateur, ce dernier demandera le fichier via le protocole HTTP. Il s’agit d’un protocole conçu pour assurer la communication entre le client et le serveur sur le web.

Il est important de préciser que la tendance actuelle est de passer au HTTPS (HyperText Transfer Protocol Secure). Il s’agit de la version sécurisée de HTTP.

Le HTTPS est donc l’utilisation du HTTP couplé avec une couche de sécurité. Cela permet non seulement de chiffrer toutes les données échangées entre le client et le serveur, mais aussi de confirmer l’identité de votre site web.

Une fois que le serveur Web reçoit la demande, le protocole HTTPS acceptera la demande. Il se charge ensuite de trouver le contenu parmi les différents fichiers qui sont hébergés dans le serveur. 

Dès qu’il trouve le contenu, il se charge de l’envoyer au navigateur via HTTPS.

Plus précisément, le processus se passe de la manière suivante :

  • Une personne appelée « client » ou « utilisateur » tape une URL dans la barre d’adresse de son navigateur (Chrome, Firefox, etc.).
  • Le navigateur Web obtient par ce biais l’adresse IP du nom de domaine demandé soit en traduisant l’URL via DNS (Domain Name System), soit en recherchant dans son cache. Cela l’amènera vers un serveur web.
  • Le navigateur demandera alors le fichier spécifique au serveur Web par une requête HTTPS.
  • Le serveur Web répond en envoyant au navigateur la page demandée, à nouveau via HTTPS. Un message d’erreur est envoyé par le serveur en cas d’inexistence de la page ou en cas de problème. 

1.3. Les différents messages d’erreur que peut envoyer un serveur web

En cas de problème, le serveur peut envoyer différents messages d’erreur. Voici les messages les plus courants et leurs causes.

1.3.1. Code d’erreur client

Lorsqu’il s’agit d’une erreur qui provient du client, le serveur envoie un message d’erreur à trois chiffres qui commence par 4.

  • 400 Bad Request

Le serveur envoie ce code d’erreur lorsqu’il ne comprend pas la demande effectuée par le client.

404 Bad request

Source : ubuntu-mate

Il apparaît souvent lorsque le client envoie la demande d’un système d’exploitation non sécurisé. Aussi, il peut aussi survenir quand la connexion internet est instable ou quand le  navigateur rencontre des problèmes.

Pour mettre fin à cette erreur, il est conseillé d’ouvrir la page en question dans un autre navigateur. Il est cependant conseillé de vérifier au préalable les mises à jour de sécurité et d’effacer le cache.

  • 403  Forbidden

Lorsque ce message apparaît, cela veut signifier que l’accès au contenu demandé vous est interdit. Ainsi, le serveur refuse de vous le donner. Cette erreur intervient quand la navigation est prohibée pour un site, un fichier ou un répertoire donné.

403 Forbiden

Source : community.shopify

Pour résoudre cette erreur, il faut dans un premier temps procéder à la vérification du nom et de l’extension que vous avez demandé. 

Une fois tout en ordre, vous pouvez réessayer à nouveau. Si le problème persiste, effacez votre cache et recommencez.

  • 404 Not Found

Ce message d’erreur est très fréquent :

Il veut tout simplement signifier que le serveur web est dans l’incapacité de trouver les informations demandées par l’utilisateur du navigateur. Cela arrive souvent quand  le fichier demandé est déjà effacé. 

Pour résoudre ce problème, vous devez vérifier si l’URL a été bien saisie et que l’information en question est toujours disponible. 

1.3.2. Code d’erreur serveur

Lorsqu’il s’agit d’une erreur qui provient du serveur lui-même, il envoie un message d’erreur à trois chiffres qui commence par 5.

  • 500 Internal Server Error

Ce type de message apparaît souvent lorsque le serveur, pour des problèmes imprévus, est dans l’incapacité de répondre à la demande du client.

Internal server error

Source : howtogeek

L’erreur 500 est souvent due à :

  • Un problème pendant que vous installez ou mettez à jour votre logiciel ;
  • Un conflit entre un nouveau plugin et d’autres plugins.

Pour régler ce problème, il faut vérifier vos logs. Il est fort probable que vous y percevrez les motifs de l’erreur.

  • 503 Service Unavailable

Ce type d’erreur est rencontré quand le serveur se trouve dans l’incapacité de lire les requêtes HTTP.

503 Service Temporarily Unavailable

Source : wpkube

Moins fréquente que les autres, elle apparaît souvent quand le serveur est surchargé ou en maintenance.

Voici un récapitulatif des différents codes d’état et leur impact sur votre SEO : 

Passons maintenant aux logiciels de serveur web :

Chapitre 2 : Qu’est-ce qu’un logiciel de serveur Web ?

Dans ce chapitre, je vous donne des informations sur les logiciels de serveur web, quelques exemples, et des astuces pour choisir ce qui vous convient.

2.1. Logiciel de serveur web : Définition 

Les serveurs web sont souvent des ordinateurs qui stockent les fichiers nécessaires au bon fonctionnement du site. Les logiciels de serveur web quant à eux ne sont que des programmes installés et exécutés sur le serveur physique. 

Ce sont des applications qui peuvent accéder aux fichiers sauvegardés sur le serveur physique afin de les utiliser pour différents objectifs. Elles jouent un rôle d’intermédiaire entre le serveur et le navigateur du client. 

Client servers

Source : Webdevelopersnotes 

Lorsqu’un visiteur de votre site désire charger une page donnée, son navigateur envoie la demande à votre serveur. C’est au logiciel de serveur web d’envoyer la réponse au navigateur du client avec tous les fichiers requis.

En effet, le logiciel de serveur web est chargé d’extraire le contenu demandé par le client, du serveur principal, pour le transmettre au navigateur web. 

Le plus grand challenge des logiciels de serveur web est de servir à la fois plusieurs utilisateurs Web, chacun demandant des pages différentes. 

Le logiciel de serveur Web comprend des modules pour : 

  • La sécurité; 
  • La mise en cache ; 
  • La réécriture d’URL ; 
  • L’authentification par mot de passe, etc. 

Vous avez la possibilité de configurer votre propre logiciel.

2.2. Exemples de logiciels de serveur web

Il existe un certain nombre de serveurs Web disponibles, certains comprenant :

Ce serveur a été conçu par l’entreprise Apache Software Foundation.  

Serveur HTTP Apache

Parfaitement adapté à la majorité des systèmes d’exploitation, c’est un serveur web gratuit et open source. Pour l’utiliser, vous avez besoin de disposer de la licence Apache.

Microsoft Internet Information Services (IIS)

Créé par la grande entreprise Microsoft, ce serveur peut être utilisé pour les plates-formes Microsoft. Contrairement à Apache, ce serveur web n’est pas open source.

Il s’agit de l’un d’un des serveurs web open source les plus connus. Il s’agit d’un logiciel très évolutif qui utilise faiblement les ressources. 

Nginx

Nginx est capable de s’occuper de la gestion de plusieurs sessions de façon simultanée. D’autant plus qu’il dispose d’une architecture spéciale et on peut l’utiliser en tant que serveur proxy ainsi qu’un équilibreur de charge.

Il s’agit d’un serveur web qui est fourni avec le système d’exploitation FreeBSD.

Lighttpd

Lighttpd est un serveur rapide et gratuit qui assure une certaine sécurité. Il faut également noter qu’il consomme moins de puissance CPU que les autres.

Serveur Web Sun Java System

Il s’agit d’un serveur Web gratuit développé par Sun Microsystems. Il est capable de fonctionner avec Windows, Linux et Unix. Il peut gérer efficacement des sites de moyenne ou de grande taille.

2.3. Comment choisir son logiciel de serveur web ?

Pour bien choisir votre serveur web, vous devez prendre en compte de nombreux paramètres pouvant influencer le fonctionnement quotidien de votre site.

Il s’agit des critères suivant :

  • La sécurité de vos données : Le logiciel de serveur Web que vous choisissez doit présenter des garanties en ce qui concerne la sécurité de vos données. 
  • La compatibilité du serveur avec le système d’exploitation : Le serveur web doit être compatible avec votre système d’exploitation. Vous devez analyser quel serveur Web fonctionnerait le beaucoup mieux avec votre choix de système d’exploitation. 

En effet, le serveur Web Microsoft IIS ne peut être exécuté que sur un système d’exploitation Windows par exemple, tandis qu’un serveur Web tel qu’Apache pourrait fonctionner sur plusieurs différents systèmes d’exploitation. 

  • La prise en charge du logiciel de création de site : Il est également important de veiller à ce que le serveur Web prenne en charge le logiciel de création de site Web que vous allez installer. 

Si vous envisagez d’utiliser les pages Java-Server, vous devrez probablement opter pour Apache Tomcat ou tout autre logiciel similaire. 

  • La gestion des applications web : Pour les applications Web basées sur PHP, plusieurs options sont disponibles. Mais si vous souhaitez exécuter une application Web basée sur ASP.NET, vous aurez certainement besoin de Windows.
  • Le budget : Les gros serveurs Web comme Apache et IIS ont leurs propres systèmes d’exploitation de serveur. Cependant, d’autres peuvent avoir leur propre coût supplémentaire. Il est important de tenir compte de votre budget. 

Voilà quelques critères que vous pouvez considérer pour le choix d’un logiciel serveur.  Cela dit, notez qu’en tant qu’une personne voulant simplement créer votre site web, vous n’avez pas besoin de les prendre en compte.

En effet, les services d’hébergement font déjà cet exercice et il vous revient de choisir simplement l’une des formules qu’ils vont vous proposer selon vos besoins.

Chapitre 3 : Comment assurer la sécurité du serveur Web ?

Compte tenu de l’importance du serveur web pour le bon fonctionnement des sites, il est important de veiller à sa sécurité. 

En effet, ce dernier peut être menacé de plusieurs manières. Il faudra alors trouver des solutions pour protéger vos données au cas où un incident pareil surviendrait.

3.1. Les différents types d’attaques d’un serveur 

Il existe plusieurs types d’attaques que des personnes malintentionnées peuvent utiliser à l’encontre de votre serveur.

3.1.1. Attaque DOS

Un hacker peut provoquer une attaque par déni de service en envoyant de nombreux paquets de demandes de service de sorte à impacter la capacité de service du serveur Web.

Il peut également essayer d’exploiter une erreur de programmation dans l’application provoquant une attaque DOS. 

Il peut s’agir d’une attaque par :

  • Débordement de tampon ; 
  • Inondation SYN ; 
  • HTTP get Request Flooding ; 
  • Ping de la mort.

3.1.2. Les attaques par injection SQL 

Elles sont utilisées pour dégrader le site web. Lorsqu’un hacker découvre que les champs de saisie ne sont pas correctement nettoyés, il peut ajouter des chaînes SQL pour créer de manière malveillante une requête qui est exécutée par le navigateur Web.

SQL Injection

Source : towardsdatascience

Il peut stocker des données malveillantes ou /non pertinentes dans la base de données. Ainsi, lorsque le site web est demandé, il affichera des données incohérentes. La conséquence est que le  site est endommagé.

3.1.3. La Traversée d’annuaire et les Attaques de mauvaise configuration

Pour la traversée d’annuaire, il s’agit d’une vulnérabilité dans laquelle une personne malintentionnée peut accéder au-delà du répertoire racine Web à partir de l’application. 

S’il est capable d’accéder au-delà du répertoire racine Web, il peut exécuter des commandes du système d’exploitation et obtenir des informations sensibles ou accéder à des répertoires restreints.

Il y a aussi des attaques de mauvaise configuration. Si des services inutiles sont activés ou si des fichiers de configuration par défaut sont utilisés, les informations détaillées/d’erreur ne sont pas masquées.  

Un pirate informatique peut compromettre le serveur Web via diverses attaques telles que le craquage de mot de passe, l’injection SQL basée sur des erreurs, l’injection de commandes, etc.

3.1.4. Une attaque par phishing 

Un pirate informatique peut rediriger la victime vers des sites Web malveillants en lui envoyant un lien par courrier électronique qui semble authentique. Malheureusement, ce lien la redirige vers une autre page Web dont le but est de lui  voler ses données personnelles.

Attaque par phishing

Source : titanhq

Voilà quelques-unes des différentes attaques, mais notez qu’il existe d’autres types d’attaques de serveur Web.

Il s’agit entre autres de : 

  • Falsification des paramètres ; 
  • Falsification des cookies ; 
  • Entrées non valides ; 
  • Injection SQL ; 
  • Attaques par débordement de tampon.

3.2. Méthodologie pour récupérer un serveur attaqué

3.2.1. La collecte d’informations et l’analyse des vulnérabilités

Dans un premier temps, pour en savoir davantage sur l’origine de l’attaque, il faut collecter les informations relatives au serveur en question à partir de diverses sources telles que : 

  • Les sites ; 
  • WHOIS ;
  • Netcraft ;
  • Nmap ;
  • Httrack ; 
  • Etc. 

Ces différentes informations collectées serviront à analyser le serveur Web et les applications qui y sont exécutées. Pour ce faire, il faudra utiliser certains outils automatisés comme :

  • Nessus ; 
  • OpenVAS ; 
  • Tripwire IP360 ; 
  • Comodo Hacker Proof ; 
  • Vulnerability Manager Plus ;
  • Wireshark ; 
  • Scanner de sécurité réseau Retina ;
  • Etc.

Les résultats peuvent montrer diverses menaces et vulnérabilités sur le serveur Web cible. Ces vulnérabilités peuvent être résolues ultérieurement à l’aide d’outils ou manuellement. 

Comme exemple d’outils pour résoudre les problèmes, on peut citer : 

3.2.2. L’adoption de contre-mesures 

Une fois que vous identifiez la menace, vous pouvez adopter les contre-mesures suivantes :

  • Mettez à jour et corrigez régulièrement les serveurs Web ;
  • Veillez à la sécurité du stockage des fichiers liés à la configuration du serveur ;
  • Analysez toutes les vulnérabilités des applications exécutées sur le serveur Web ;
  • Utilisez IDS et pare-feu avec des signatures mises à jour ;
  • Bloquez tous les protocoles et services inutiles ;
  • Utilisez des protocoles sécurisés ;
  • Désactivez les comptes par défaut, suivez une politique de contrôle d’accès stricte ;
  • Installez l’antivirus et mettez-le à jour régulièrement ;
  • Tous les systèmes d’exploitation et logiciels utilisés doivent être les plus récents et mis à jour.

Cependant, vous ne devez pas attendre de subir une attaque avant d’adopter les mesures ci-dessus. Elles doivent faire partie de votre quotidien pour prévenir les attaques.

En résumé

Le serveur web est un logiciel ou /matériel important pour la diffusion des contenus sur un site web. Il permet également d’héberger un ou plusieurs sites. Grâce à des logiciels, il permet au client d’avoir les fichiers qu’il demande. 

Il existe plusieurs types de serveurs et il est important de tenir compte de certains critères pour choisir celui qui vous convient le mieux. Par ailleurs, des individus malintentionnés peuvent s’en prendre à votre serveur web. 

Pour éviter cela, il convient d’adopter quotidiennement des mesures préventives. Mais lorsque les attaques surviennent, utilisez les alternatives listées dans l’article pour y mettre fin.   

J’espère que ce contenu vous a été utile, si c’est le cas n’hésitez pas à nous le faire savoir en commentaire.

Merci et à bientôt !

Fondateur de l'agence SEO Twaino, Alexandre Marotel est passionné par le SEO et la génération de trafic sur internet. Il est l'auteur de nombreuses publications, et détient une chaine Youtube qui a pour but d'aider les entrepreneurs à créer leurs sites web et à être mieux référencés dans Google.

Laisser un commentaire