diff --git a/TP-https.md b/TP-https.md index d477447398553f58e7a9beec147c7b3bc3ea7d66..124efdafadad2869d394626250a7c81d55c98b57 100644 --- a/TP-https.md +++ b/TP-https.md @@ -70,6 +70,8 @@ Pour détruire la machine virtuelle (au prochain `vagrant up` il faudra recharge vagrant destroy ``` +A noter que le répertoire ``/vagrant/`` permet d'écrire des fichiers sur le disque local qui est en dehors de la machine virtuelle. + ### Installation du serveur Apache2 et opensssl @@ -85,7 +87,7 @@ sudo apt-get -y install apache2 ``` -#### Vérification que la machine fonctione +#### Vérification que la machine fonctionne Pour cela il faut ouvrir dans un navigateur la page `http://0.0.0.0:8080` car le port 8080 a été défini dans la configuration du fichier `Vagrantfile`. Il s'agit de la page intitulée "Apache2 Debian Default Page". @@ -97,6 +99,9 @@ En changeant le fichier `/var/www/html/index.html` vous pouvez vérifier que cel </html> ``` +Vérifions que le port https (8443) est bien inactif en accédant à la page suivante `https://0.0.0.0:8443` + + # Installation d'openssl Ajouter la ligne de commande suivante à votre script afin d'installe `openssl`. @@ -118,17 +123,33 @@ une clef privée ``/etc/ssl/private/ssl-cert-snakeoil.key`` +Question 1 : Enregistrer cette clef et ce certificat, puis reintialiser le système. Qu'observez vous avec les nouveaux fichiers? + +Question 2 : La commande ci-dessou permet de mieux comprendre ce qui se passe sur le certificat. Quel est le problème avec les deux certificats obtenus? + +```bash +openssl x509 -text -in ssl-cert-snakeoil.pem +``` + + +Question 3 : La commande suivante permet de regénérer ce certificat et cette clef. ```bash sudo make-ssl-cert generate-default-snakeoil --force-overwrite ``` -Question 1 : Pourquoi est-il important de faire cette commande ? -Question 2: Regarder le contenu du fichier -`/usr/sbin/make-ssl-cert` pour déterminer les paramètres utiliser pour générer les +Question 4 : Pourquoi est-il important de faire cette commande ? +Question 5 : Regarder le contenu du fichier +`/usr/sbin/make-ssl-cert` pour déterminer les paramètres utilisés pour générer la clef et le certificat. + + + +# Configuration d'Apache2 + +La commande suivant active le module ssl d'Apache2 ```bash sudo a2enmod ssl @@ -138,3 +159,13 @@ sudo a2enmod ssl sudo a2ensite default-ssl sudo systemctl reload apache2.service ``` + +Qu'observez-vous sur le site `http://0.0.0.0:8443/` + + +Bad Request + +Your browser sent a request that this server could not understand. +Reason: You're speaking plain HTTP to an SSL-enabled server port. +Instead use the HTTPS scheme to access this URL, please. +Apache/2.4.10 (Debian) Server at 127.0.1.1 Port 443 diff --git a/provision1.sh b/provision1.sh index f02f985f71728f93272e3545a74c3110f1aa0da5..16e08304f1d5335e4aed3559300e0fafda146d0e 100644 --- a/provision1.sh +++ b/provision1.sh @@ -1,5 +1,14 @@ # STEP 0 -sudo apt-get update +#sudo apt-get update # STEP 1 - install d'apache sudo apt-get -y install apache2 + +# Generation clef +sudo make-ssl-cert generate-default-snakeoil --force-overwrite + +# +sudo a2enmod ssl + +sudo a2ensite default-ssl +sudo systemctl reload apache2.service