Software">
Serveurs Web Linux, TLS, Et DNS
Serveurs Web Linux, TLS, Et DNS
Serveurs Web Linux, TLS, Et DNS
DNS
Un « serveur web » peut faire référence à des composants logiciels (software) ou à des composants
matériels (hardware) ou à des composants logiciels et matériels qui fonctionnent ensemble.
Au niveau des composants matériels, un serveur web est un ordinateur qui stocke les fichiers qui
composent un site web (par exemple les documents HTML, les images, les feuilles de style CSS, les
fichiers JavaScript) et qui les envoie à l'appareil de l'utilisateur qui visite le site. Cet ordinateur est
connecté à Internet et est généralement accessible via un nom de domaine tel que mozilla.org.
Serveurs Web
Au niveau des composants logiciels, un serveur web contient différents fragments qui contrôlent la façon
dont les utilisateurs peuvent accéder aux fichiers hébergés. On trouvera au minimum un serveur HTTP.
Un serveur HTTP est un logiciel qui comprend les URL et le protocole HTTP (le protocole utilisé par le
navigateur pour afficher les pages web).
Serveurs Web
Au niveau le plus simple, à chaque fois qu'un navigateur a besoin d'un fichier hébergé sur un serveur web, le
navigateur demande (on dit qu'il envoie une requête) le fichier via HTTP. Quand la requête atteint le bon serveur
web (matériel), le serveur HTTP (logiciel) renvoie le document demandé, également grâce à HTTP.
Serveurs Web
HTTP fournit des règles claires qui indiquent comment un client et un serveur communiquent. les points les
plus importants à garder en mémoire :
● Seuls les clients peuvent effectuer des requêtes HTTP et uniquement vers des serveurs. Les serveurs ne
peuvent que répondre à la requête d'un client.
● Lorsque le client demande un fichier via HTTP, il doit fournir l'URL du fichier en question.
● Le serveur web doit répondre à chaque requête HTTP même si la réponse est un message d'erreur.
Serveurs Web
Sur un serveur web, le serveur HTTP est responsable du traitement des requêtes reçues et de leurs
réponses.
1. Une fois qu'il a reçu une requête, le serveur HTTP vérifie que l'URL demandée correspond à un
fichier existant.
2. Si c'est le cas, le serveur envoie le fichier vers le navigateur du client.
3. Si le fichier n'existe pas ou que le traitement est impossible, le serveur web renvoie un message
d'erreur au navigateur. Le message d'erreur le plus fréquemment rencontré est 404 Page non
trouvée (cette erreur étant plutôt fréquente, certains ont même personnalisé et adapté les pages
d'erreurs 404 de leurs sites).
Serveurs Web
Apache est un serveur web open-source et multiplateforme populaire qui est, selon les chiffres, le
serveur web le plus populaire qui existe. Il est activement maintenu par l’Apache Software Foundation.
Il permet aux propriétaires de sites web de servir du contenu sur le web – d’où le nom « serveur web » -.
C’est l’un des serveurs web les plus anciens et les plus fiables avec une première version sortie il y a plus
de 20 ans, en 1995.
Serveurs Web
La première étape consiste à mettre à jour la liste des paquets avec la commande :
Ensuite on install le paquet Apache ainsi que toutes ses dépendances en utilisant la commande :
Pour créer notre première page web on va vers le fichier qui contient les modules sites-enabled ensuite
on récupère le chemin pour remplacer cette page avec notre page html
cd /etc/apache2/sites-enabled
nano 000-default.conf
Serveurs Web
ici on peut voir que le chemin qui contient le code source du site web est /var/www/html.
Pour créer une nouvelle page web, on doit accéder à ce chemin, et créer une nouvelle page index.html
1. cd /var/www/html
2. mv index.html index.html.old
3. nano index.html
Serveurs Web
Transport Layer Security (TLS) est un protocole cryptographique conçu pour assurer la sécurité des
communications sur un réseau informatique.
Le protocole HTTPS (HyperText Transfer Protocol Secure) est une extension sécurisée du protocole
HTTP, le « S » pour « Secured » (sécurisé) signifie que les données échangées entre le navigateur de
l'internaute et le site web sont chiffrées et ne peuvent en aucun cas être espionnées (confidentialité) ou
modifiées
TLS - https
TLS - https
Pour sécuriser un serveur web via TLS, on aura besoin d’un certificat et une clé privée, pour cela on va
utiliser l’outil openssl pour la génération de certificats.
TLS - https
OpenSSL est une bibliothèque de cryptographie polyvalente qui offre une application libre du protocole
TLS. Il permet aux utilisateurs d’effectuer diverses tâches liées à SSL, notamment la génération de CSR
(Certificate Signing Request), la génération de clés privées et l’installation de certificats SSL.
C’est un outil de ligne de commande open-source couramment utilisé pour générer des CSR et des clés
privées, installer les fichiers SSL sur votre serveur, fusionner des fichiers, convertir votre certificat dans
différents formats SSL
TLS - https
Pour générer un certificat et une clé privée pour le serveur web, on utilise la commande :
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/kwebapache.key -out
/etc/ssl/certs/cwebapache.crt
TLS - https
nano /etc/apache2/sites-available/my-ssl.conf
Activation de configuration
a2ensite my-ssl.conf
a2dissite default-ssl.conf
Lab - Scénario
L’objectif du lab c’est la création d’une application web apache, ensuite la configuration du TLS pour assurer
une communication chiffrée entre le client (PC Windows) et le serveur web
Pour les routeurs il faut configurer les différentes interfaces et les routes statiques.
Le serveur linux il a besoin d’une adresse ip et route (default gateway), vous pouvez utiliser les commandes
ifconfig pour l’attribution d’une adresse, et la commande route add default gw pour la route
Lab - Topologie
Serveurs DNS
Le Domain Name System (DNS), ou système de nom de domaine, est le service assurant le lien entre le
nom de domaine et l’adresse IP d’un serveur. Il permet à l’internaute de ne pas avoir à connaître l’adresse
IP exacte d’un site web pour pouvoir y accéder.
Serveurs DNS
Lorsqu’un nom de domaine est entré dans un navigateur, la requête est envoyée au serveur DNS. Celui-ci
y répond en fournissant l’adresse IP du serveur web associé. Le navigateur peut alors adresser sa requête
au serveur ciblé, puis renvoyer à l’internaute les données reçues, à savoir le site internet recherché.
Serveurs DNS
Comment fonctionne un serveur DNS ?
Serveurs DNS
1. Via sa connexion internet, l’internaute entre une URL, « ovhcloud.com » par exemple, dans un navigateur.
Cette requête est envoyée par le modem-routeur au résolveur DNS qui se charge de la résolution de nom
de domaine.
2. Le résolveur DNS, habituellement celui du fournisseur d’accès à Internet (FAI), reçoit la requête et la
transmet au serveur racine du DNS.
3. Le serveur racine répond en indiquant le serveur correspondant à l’extension de nom de domaine TLD
(Top-level domain) rattachée au domaine recherché, ici le .com.
4. Le résolveur DNS envoie la requête au serveur de noms en .com. Il répond alors en indiquant le serveur
DNS en charge du nom de domaine recherché.
5. Le résolveur du fournisseur d’accès à Internet envoie la requête au serveur DNS, qui consulte les adresses
IP et fournit celle correspondant au serveur web associé au nom de domaine « ovhcloud.com ».
6. L’adresse IP est transmise au navigateur et est stockée en cache DNS pour une consultation ultérieure plus
rapide.
7. Le navigateur web soumet la requête HTTP (Hypertext Transfer Protocol) ovhcloud.com au serveur web
correspondant à l’IP donnée par le résolveur DNS.
8. Le serveur web répond en retournant le contenu correspondant à ovhcloud.com, à savoir la page d’accueil
de notre site internet.
Serveurs DNS
La zone DNS et les sous-domaines
Les informations utilisées par le serveur DNS pour résoudre les requêtes et effectuer les redirections
DNS sont écrites dans un fichier, également appelé zone DNS.
● enregistrement MX : il est utilisé quand des adresses e-mail sont associées au nom de domaine.
● enregistrement CNAME : il permet d’ajouter un alias (mail, www, sous-domaine) à un nom de
domaine ;
● enregistrement A : parfois appelé enregistrement d’hébergeur ou enregistrement d’hôte. Il associe
le nom de domaine à l’adresse IPv4 d’un serveur ;
● enregistrement AAAA : comme l’enregistrement A, il associe le nom d’hôte, mais cette fois, à
l’adresse IPv6 d’un serveur ;
● enregistrement TXT : il renseigne des valeurs au format texte, souvent des informations indicatives
pouvant être consultées de l’extérieur. Il est souvent utilisé pour valider une requête liée au
domaine, telle que la propriété, ou pour la sécurité du serveur e-mail, avec les protocoles DKIM,
SPF et DMARC ;
● enregistrement SOA : il comprend plusieurs champs d’informations générales de la zone DNS,
comme le nom de la zone ou la date de dernière mise à jour ;
● enregistrement NS : il permet de renseigner les serveurs DNS du domaine.
Serveurs DNS
BIND était le logiciel pour serveurs DNS le plus utilisé sur Internet, spécialement sur les systèmes de type
UNIX et est devenu de facto un standard
Serveurs DNS
Architecture
Serveurs DNS
Après l’installation, on doit créer des zones et enregistrements DNS, la base de données des zones DNS
se trouve dans le chemin : /etc/bind avec la commande :
nano db.redsup.lab
Serveurs DNS
Serveurs DNS
Pour faire des vérifications au niveau de la zone ou bien du fichier de configuration named, on exécute les
commandes :
Intégration d’un serveur DNS dans le lab précédent en ajoutant les routes et les configuration
nécessaires pour que le PC puisse faire la résolution DNS et accéder au serveur web avec le nom du
domaine www.redsup.lab
Lab 2 - Topologie