Software">
Nothing Special   »   [go: up one dir, main page]

Serveurs Web Linux, TLS, Et DNS

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 38

Serveurs web linux, TLS, et

DNS

Driouech Mohamed Farid - RedSup


Serveurs Web
Qu'est-ce qu'un serveur web ?

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

Qu'est-ce qu'un serveur 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

Communication via HTTP

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

Communication via HTTP

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 web server

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

Apache web server - les étapes d’installation d’apache sous linux

La première étape consiste à mettre à jour la liste des paquets avec la commande :

sudo apt update

Ensuite on install le paquet Apache ainsi que toutes ses dépendances en utilisant la commande :

apt install apache2

A la fin on active le service : systemctl start apache2


Serveurs Web

Apache web server - Création d’une page web de test

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

on utilise les commandes :

cd /etc/apache2/sites-enabled

nano 000-default.conf
Serveurs Web

Apache web server - Création d’une page web de test


Serveurs Web

Apache web server - Création d’une page web de test

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

en utilisant les commandes suivantes :

1. cd /var/www/html
2. mv index.html index.html.old
3. nano index.html
Serveurs Web

Apache web server - Création d’une page web de test


Serveurs Web

Apache web server - Création d’une page web de test

On vérifie notre page web en accédant à l’adresse IP du serveur


TLS - https

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

Génération de certificat pour un serveur web

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

Qu’est ce que Openssl

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

génération certificat apache

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

Création de fichier de configuration apache

On créer un fichier de configuration avec la commande :

nano /etc/apache2/sites-available/my-ssl.conf

ensuite on met son contenu comme suit :


TLS - https
TLS - https

Activation de configuration

Pour activer la configuration du Virtualhost, on utilise la commande :

a2ensite my-ssl.conf

Et on désactive l’ancienne configuration SSL de apache avec la commande :

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 PC client aussi une adresse IP et une passerelle.

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

Qu’est-ce qu’un 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

Comment fonctionne un serveur 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.

Ce fichier contient diverses informations techniques détaillées, appelées enregistrements. On y retrouve


généralement les enregistrements correspondant aux emplacements du site web, du serveur de
messagerie et de chaque élément lié au nom de domaine et aux sous-domaines.
Serveurs DNS
Les différents types d’enregistrements de la 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

installation et configuration du DNS Bind

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

Installation Bind9 DNS

Pour installer le service DNS BIND9 sous linux, on utilise la commande :

sudo apt install bind9


Serveurs DNS

Création d’une zone 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

Ensuite au niveau de fichier named.conf.default-zones on l’ajoute cette entrée :


Serveurs DNS

Pour faire des vérifications au niveau de la zone ou bien du fichier de configuration named, on exécute les
commandes :

● named-checkzone redsup.lab db.redsup.lab


● named-checkconf named.conf.default-zones

Et à la fin on redémarre le service : systemctl restart bind9.service


Lab 2 - Scénario

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

Vous aimerez peut-être aussi