TP3 - Serveur HTTPS.pages - Intranet | IUT de Troyes

Transcription

TP3 - Serveur HTTPS.pages - Intranet | IUT de Troyes
MMI - SEMESTRE 4
CHIFFREMENT HTTPS
Préparé pour : M4204
Préparé par : Patrice GOMMERY
15 mars 2016
Objectif
Créer un Site Web accessible avec le protocole HTTPS
Démarche
Créer un site web virtuel sous Apache
Créer et signer un Certificat Serveur pour notre site Web
Capturer les trames avec tshark et constatez que le trafic http est bien chiffré.
MMI - SEMESTRE 4
PREPARATION POUR LA CAPTURE DES TRAMES
Afin de pouvoir surveiller le traffic de notre serveur sans être inondée de trames liées à la connexion ssh
que nous utilisons, nous allons créer une nouvelle adresse IP sur notre serveur (sans supprimer la
première !). Nous ajouterons simplement 50 au dernier octet de notre adresse IP. (Exemple : si votre IP est
172.16.48.10, la nouvelle adresse sera 172.16.48.60 )
Modifiez le fichier /etc/network/interfaces en ajoutant les lignes suivantes :
auto eth0:0
iface eth0:0 inet static
address 172.16.VM.(ID+50)
netmask 255.255.0.0
Rebootez pour prendre en compte la modification.
IMPORTANT : Pour vous re-connectez à votre serveur, utilisez maintenant la nouvelle
adresse IP : ssh [email protected].(ID+50)
CREATION DU SITE WEB
Le site aura pour URL : http://crypto.domVMID.net
Les pages du site seront stockées dans un dossier /var/www/crypto
Le site doit contenir au moins une page index.html qui affiche un texte de plusieurs lignes en majuscules
pour pouvoir le repérer facilement dans les trames émises.
Cette page devra contenir la balise : <meta http-equiv="pragma" content="no-cache" />
afin d'empêcher le navigateur de la mettre en cache.
Quelques indications pour la création du site :
•
•
•
•
•
•
•
•
•
Créez un dossier crypto sous /var/www
Dans ce dossier, créez une page index.html qui affiche beaucoup de texte en majuscules
Si nécessaire, installez apache2
Placez vous dans le dossier /etc/apache2/sites-available
Dupliquez le fichier 000-default.conf en 002-crypto.conf
Modifiez la Directive DocumentRoot du fichier 002-crypto.conf
Désactivez le site par default , activez votre site crypto.
"Reloadez" Apache2 pour prendre en compte les modifications.
Testez avec votre navigateur sur la machine physique avec l'adresse : http://crypto.domVMID.net
MMI SEMESTRE 4
PREMIERE CAPTURE DE TRAME
Commencez par installer le paquet : tshark (validez les options par défaut)
Lancez une capture de trame avec la commande tshark -x -f "host 172.16.VM.ID"
(Attention, nous effectuons la capture de notre première addresse IP !!)
Ouvrez votre navigateur avec l'adresse : http://crypto.domVMID.net
Vous devez voir la totalité de votre page passé "en clair" sur le réseau.
CREATION ET SIGNATURE DU CERTIFICAT
ETAPE 1 : Création de la structure d'accueil des certificats pour Apache
Créez un dossier /etc/apache2/ssl
Ce dossier accueillera le certificat et la clé privée de notre serveur web.
ETAPE 2 : Création du Certificat pour le site Web
Placez-vous dans le dossier /etc/apache2/ssl
A ) Commençons par créer la clé privée de notre serveur :
openssl genrsa 1024 > crypto.key
B) Créons ensuite une demande de certificat
openssl req -new -key crypto.key > crypto.req
Renseignez bien tous les champs (sauf les extras) et surtout le champ common name
qui doit être : crypto.domVMID.net (le nom de votre site)
(En cas d'erreur, supprimez le fichier .req et recommencez)
C) Envoyons notre requête à l'autorité de certification
(Comme dans le TP précédent, nous utiliserons le dossier /tmp)
cp crypto.req /tmp
ETAPE 3 : Signature du Certificat par l'autorité de Certification
Nous allons ré-utiliser l'autorité de certification minica que nous avons créée dans le TP précédent.
A)
Placez-vous dans le dossier /minica
B)
export OPENSSL_CONF=/minica/openssl.cnf
openssl ca -in /tmp/crypto.req
Saisissez le mot de passe de la clé privée de votre autorité de Certification et répondez Y aux questions
posées. Le certificat sera créé dans le dossier /minica/certs et portera le premier numéro de série
disponible (vraisemblablement 02.pem, le serial 01 ayant été utilisé dans le TP précédent)
C)
Recopiez le certificat dans le dossier ssl d'apache et renommez-le crypto.crt
cp /minica/certs/02.pem /etc/apache2/ssl/crypto.crt
ATTENTION : 02.pem est un exemple, vérifiez le numéro de votre certificat dans le dossier /minica/certs
CHIFFREMENT DU SITE WEB
ETAPE 1 : Activation de SSL sur apache
Activer le module SSL sur apache2 (a2enmod ssl, puis service apache2 restart)
Vérifiez que le certificat du serveur web (crypto.crt) et sa clé privée (crypto.key) sont bien présents
dans le dossier /etc/apache2/ssl (Dans le cas contraire, relisez les étapes précédentes)
Pour plus de sécurité, vous pouvez modifier les permissions sur le fichier .key avec un chmod 400
ETAPE 2 : Configuration du Site en HTTPS
Vous devez modifier votre fichier de configuration pour qu'il contienne deux parties :
< VirtualHost 172.16.VM.ID:80>
<-- Ligne à Modifier
ServerName crypto.domVMID.net
ServerAdmin [email protected]
DocumentRoot /var/www/crypto
<-- Ligne à ajouter
<-- Ligne à Modifier
Redirect / https://crypto.domVMID.net <-- Ligne à ajouter
.... (Ne supprimer pas le reste des directives)
</VirtualHost>
Tout le reste est à ajouter en fin de fichier :
<VirtualHost 172.16.VM.ID:443>
ServerName crypto.domVMID.net ServerAdmin [email protected]
DocumentRoot /var/www/crypto
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/crypto.crt SSLCertificateKeyFile /etc/apache2/ssl/crypto.key
</VirtualHost>
Après avoir redémarré Apache, vous pouvez tester votre site et constater que celui est
automatiquement redirigé vers une connexion en https.
Vous constatez aussi que votre navigateur vous averti d'un danger potentiel.
C'est tout à fait normal, puisque qu'il ne connait pas l'autorité de certification qui a signé le
certificat.
SECONDE CAPTURE DE TRAME
Utilisez tshark pour capturer de nouveau les trames entre votre poste et votre serveur Vous devez voir que votre page est maintenant chiffrée dans les trames.

Documents pareils