0% ont trouvé ce document utile (0 vote)
48 vues6 pages

Projet Securisation

Transféré par

Mighty Titan
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
48 vues6 pages

Projet Securisation

Transféré par

Mighty Titan
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

TP : « SECURISATION ET OPTMISATION DES APPLIS WEB, MOBILES »

PRESENTATION
Mamadou Lamine Coly INE : N00465920201

Niveau : Licence 3 , Semestre 5: IDA

Prérequis : Installer l’environnement de travail

 Télécharger et Installer Virtual Box et UBUNTU dans son système lien :


[Link]
 XAMP comment l’installer et l’utiliser pour Ubuntu, lien :
[Link]

Mettre à jour l’index local des paquets en tapant :

Etape 1-Mettre à jour UBUNTU et installer le paquet : APACHE

sudo apt update

Ensuite, installez le paquet APCHE2 :


sudo apt install apache2

Enfin, si vous avez installé un pare-feu UFW est installé par défaut sur Ubuntu. S’il a été
désinstallé pour une raison quelconque, vous pouvez l’installer avec sudo apt install
ufw, ouvrez les ports http et https en tapant:

sudo ufw allow "Apache Full"


Une fois ces étapes terminées, assurez-vous que vous êtes connecté en tant que
non- root user.

Activation du mode ssl


Pour pouvoir utiliser un certificat SSL quel qu’il soit, nous devons d’abord activer mod_ssl, un
module Apache qui prend en charge le cryptage SSL.
Activez mod_ssl à l’aide de la commande a2enmod :

sudo a2enmod ssl

Redémarrez Apache pour activer le module :

sudo systemctl restart apache2


TP : « SECURISATION ET OPTMISATION DES APPLIS WEB, MOBILES »
Le module mod_ssl est maintenant activé et prêt à l’emploi.

Étape 2 – Création du certificat SSL

Maintenant qu’Apache est prêt à utiliser le cryptage, nous pouvons passer à la génération d’un
nouveau certificat SSL. Le certificat stockera quelques informations de

Base sur votre site, et sera accompagné d’un fichier clé qui permet au serveur de traiter les
données cryptées en toute sécurité.

Nous pouvons créer les fichiers de clés et de certificats SSL avec la commande OPENSSL :
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout
/etc/ssl/private/[Link] -out /etc/ssl/certs/apache-
[Link]

Après avoir entré la commande, vous serez amené à une invite où vous pourrez entrer des
informations sur votre site web. Avant d’en parler, voyons ce qui se passe dans la commande
que nous donnons :

 openssl : c’est l’outil de ligne de commande utilisé pour la création et la gestion des certificats,
clés et autres fichiers OpenSSL.
 req -x509 : cela spécifie que nous voulons utiliser la gestion des demandes de signature de
certificats (CSR) X.509. X.509 est une norme d’infrastructure de clé publique à laquelle SSL et
TLS adhèrent pour la gestion des clés et des certificats.
 -nodes : cela indique à OpenSSL de ne pas utiliser l’option de sécurisation de notre certificat
par une phrase de passe. Nous avons besoin qu’Apache soit capable de lire le fichier, sans
intervention de l’utilisateur, au démarrage du serveur. Une phrase de passe empêcherait que
cela se produise, puisque nous devrions la saisir après chaque redémarrage.
 -days 365 : cette option fixe la durée pendant laquelle le certificat sera considéré comme
valide. Ici, nous l’avons fixée pour un an. De nombreux navigateurs modernes refusent les
certificats dont la durée de validité dépasse un an.
 -newkey rsa:2048 : cette option précise que nous voulons générer un nouveau certificat et
une nouvelle clé en même temps. Nous n’avons pas créé la clé nécessaire pour signer le
certificat lors d’une étape précédente, nous devons donc la créer en même temps que le
certificat. La partie rsa:2048 lui demande de fabriquer une clé RSA de 2048 bits.
 -keyout : cette ligne indique à OpenSSL où placer le fichier de clé privée généré que nous
créons.
 -out : cela indique à OpenSSL où placer le certificat que nous créons.
Remplissez les invites de manière appropriée. La ligne la plus importante est celle qui demande
le Common Name (nom commun). Vous devez entrer soit le nom d’hôte que vous utiliserez pour
accéder au serveur, soit l’adresse IP publique du serveur. Il est important que ce champ
corresponde à ce que vous allez mettre dans la barre d’adresse de votre navigateur pour
accéder au site, car une mauvaise correspondance entraînera davantage d’erreurs de sécurité.

La liste complète des invites ressemblera à ceci :


TP : « SECURISATION ET OPTMISATION DES APPLIS WEB, MOBILES »

Country Name (2 letter code) [XX]:SN


State or Province Name (full name) []:SENEGAL
Locality Name (eg, city) [Default City]:DAKAR
Organization Name (eg, company) [Default Company Ltd]:UNCHK
Organizational Unit Name (eg, section) []:INFORMATQUE
[Link]/MOBILE
Common Name (eg, your name or your server's hostname)
[]:your_domain_or_ip
Email Address []:DEVWEBMOBILE@[Link]

Les deux fichiers que vous avez créés seront placés dans les sous-répertoires appropriés
sous /etc/ssl.

Ensuite, nous mettrons à jour notre configuration Apache pour utiliser le nouveau certificat et la
nouvelle clé.

Étape 3 – Configuration d’Apache pour utiliser SSL


Maintenant que nous disposons de notre certificat et de notre clé auto-signés, nous devons
mettre à jour notre configuration Apache pour pouvoir les utiliser. Sur Ubuntu, vous pouvez
placer de nouveaux fichiers de configuration Apache (ils doivent se terminer par .conf)
dans /etc/apache2/sites-available/ et ils seront chargés la prochaine fois que le
processus Apache sera rechargé ou redémarré.
Pour ce tutoriel, nous allons créer un nouveau fichier de configuration minimale. (Si vous avez
déjà configuré Apache <Virtualhost> et que vous devez juste y ajouter SSL, vous devrez
probablement copier les lignes de configuration qui commencent par SSL, et changer le port
du VirtualHost de 80 à 443. Nous nous occuperons du port 80 dans la prochaine étape).

Ouvrez un nouveau fichier dans le répertoire /etc/apache2/sites-available :

sudo nano /etc/apache2/sites-available/your_domain_or_ip.conf

Collez-y la configuration minimale suivante de VirtualHost :

/etc/apache2/sites-available/your_domain_or_ip.conf
<VirtualHost *:443>
ServerName your_domain_or_ip
DocumentRoot /var/www/your_domain_or_ip

SSLEngine on
SSLCertificateFile /etc/ssl/certs/[Link]
SSLCertificateKeyFile /etc/ssl/private/[Link]
</VirtualHost>
TP : « SECURISATION ET OPTMISATION DES APPLIS WEB, MOBILES »

Veillez à mettre à jour la ligne ServerName en fonction de la manière dont vous avez l’intention
de nommer votre serveur. Il peut s’agir d’un nom d’hôte, d’un nom de domaine complet ou
d’une adresse IP. Assurez-vous que ce que vous choisissez correspond au Common
Name (nom commun) que vous avez choisi lors de l’établissement du certificat.
Les lignes restantes indiquent un répertoire DocumentRoot à partir duquel les fichiers seront
servis, ainsi que les options SSL nécessaires pour faire pointer Apache vers notre certificat et
notre clé nouvellement créés.
Nous allons maintenant créer notre DocumentRoot et y insérer un fichier HTML à des fins de
test :
sudo mkdir /var/www/your_domain_or_ip
Ouvrez un nouveau fichier [Link] avec votre éditeur de texte :
sudo nano /var/www/your_domain_or_ip/[Link]

Collez ce qui suit dans le fichier vierge :

/var/www/your_domain_or_ip/[Link]
<h1>it worked!</h1>

Ce n’est pas un fichier HTML complet, bien sûr, mais les navigateurs sont indulgents et cela
suffira pour vérifier notre configuration.

Enregistrez et fermez le fichier. Ensuite, nous devons activer le fichier de configuration avec
l’outil a2ensite :
sudo a2ensite your_domain_or_ip.conf

Ensuite, effectuons un test à la recherche d’éventuelles erreurs de configuration :

sudo apache2ctl configtest

Si tout fonctionne correctement, vous obtiendrez un résultat qui ressemble à ceci :

Output
AH00558: apache2: Could not reliably determine the server's fully
qualified domain name, using [Link]. Set the 'ServerName' directive
globally to suppress this message
Syntax OK
La première ligne est un message vous indiquant que la directive ServerName n’est pas
définie globalement. Si vous ne voulez plus voir ce message s’afficher, vous pouvez
définir ServerName en spécifiant le nom de domaine ou l’adresse IP de votre serveur
dans /etc/apache2/[Link]. Ceci est facultatif car le message ne fera pas de mal.
Si votre sortie contient Syntax OK, votre fichier de configuration ne contient aucune erreur de
syntaxe. Nous pouvons recharger Apache en toute sécurité pour que nos modifications soient
appliquées :
TP : « SECURISATION ET OPTMISATION DES APPLIS WEB, MOBILES »

sudo systemctl reload apache2

Chargez maintenant votre site dans un navigateur, en veillant à utiliser https:// au début.
Vous devriez voir une erreur. C’est normal pour un certificat auto-signé ! Le navigateur vous
avertit qu’il ne peut pas vérifier l’identité du serveur, car notre certificat n’est signé par aucune
de ses autorités de certification connues. Pour les tests et l’utilisation personnelle, cela peut être
très bien. Vous devriez pouvoir cliquer pour accéder à des informations avancées ou
complémentaires et choisir de poursuivre.
Une fois que vous l’aurez fait, votre navigateur chargera le message it worked!

Remarque : si votre navigateur ne se connecte pas du tout au serveur, assurez-vous que votre
connexion n’est pas bloquée par un pare-feu. Si vous utilisez ufw, les commandes suivantes
ouvriront les ports 80 et 443 :

sudo ufw allow "Apache Full"

Nous allons ensuite ajouter une autre section VirtualHost à notre configuration pour servir
les requêtes HTTP simples et les rediriger vers HTTPS.

Étape 4 — Redirection de HTTP vers HTTPS


Actuellement, notre configuration ne répondra qu’aux demandes HTTPS sur le port 443. Il est
bon de répondre également sur le port 80, même si vous voulez forcer le cryptage de tout le
trafic. Mettons en place un VirtualHost pour répondre à ces demandes non cryptées et les
rediriger vers le HTTPS.

Ouvrez le même fichier de configuration Apache que celui que nous avons lancé lors des
étapes précédentes :

sudo nano /etc/apache2/sites-available/your_domain_or_ip.conf

En bas, créez un autre bloc VirtualHost pour faire correspondre les demandes sur le
port 80. Utilisez la directive ServerName pour faire correspondre à nouveau votre nom de
domaine ou votre adresse IP. Ensuite, utilisez Redirect (Rediriger) pour faire correspondre
les requêtes et les envoyer au VirtualHost SSL. Veillez à inclure la barre oblique :

/etc/apache2/sites-available/your_domain_or_ip.conf
<VirtualHost *:80>
ServerName your_domain_or_ip
Redirect / [Link]
</VirtualHost>
TP : « SECURISATION ET OPTMISATION DES APPLIS WEB, MOBILES »
Enregistrez et fermez ce fichier lorsque vous avez terminé, puis testez à nouveau la syntaxe
de votre configuration, et rechargez Apache :

sudo apachectl configtest

sudo systemctl reload apache2

Vous pouvez tester la nouvelle fonctionnalité de redirection en visitant votre site avec le
simple http:// devant l’adresse. Vous devriez être redirigé automatiquement vers [Link]

Les deux fichiers que vous avez créés seront placés dans les sous-répertoires appropriés
sous /etc/ssl.

Ensuite, nous mettrons à jour notre configuration Apache pour utiliser le nouveau certificat et la
nouvelle clé.

REFERENCE:

SITE : [Link]
certificate-for-apache-in-ubuntu-20-04-fr#etape-2-creation-du-certificat-ssl

TUTO: [Link]

Vous aimerez peut-être aussi