• Aucun résultat trouvé

Security Web

N/A
N/A
Protected

Academic year: 2022

Partager "Security Web"

Copied!
4
0
0

Texte intégral

(1)

Security Web

2020/2021

P.Lafourcade

TP5 HTTP to HTTPS

L’objectif est de configurer pas ` a pas un site en https.

L’objectif n’´etant pas le design de page web, nous supposons que les pages sont stock´ees dans le r´epertoire /var/www/html/index.html .

VDN.

Nous allons utiliser vdn . La documentation est disponible

1

:

https://opale.u-clermont1.fr/info/wiki/doku.php?id=public:vdn:guide&#utilisation Dans le compte rendu vous noterez toutes les instructions que vous avez tap´ees et les r´esultats obtenus une fois connect´es.

Pour copier un fichier de votre session vdn vous devez dans une fenˆetre ssh sur debian-1 utilisez la commande scp [email protected]:file . afin de copier le fichier file dans la racine de debian-1.

Dans l’autre sens vdn-scp file root@debian-1:. pour copier le fichier file sur debian-1.

Faire vdn-halt debian-1 pour arrˆeter proprement vdn.

Pr´ eliminaires.

Connectez vous en ssh `a l’IUT sur tokyo .

Scannez les machines allum´ees ˜gudavala/bin/iut-scan Connectez `a une machine par ssh de puis tokyo .

Lancer la commande vdn-tmux pour avoir 4 fenˆetres

2

.

La commande wget https://sancy.iut-clermont.uca.fr/˜lafourcade/vdn-start-secure-1 vous permet de r´ecup´erer le fichier vdn-start-secure-1

Faire chmod 755 vdn-start-secure-1 Lancer la commande ./vdn-start-secure-1

Connectez-vous `a debian-1 en tant que root avec la commande vdn-ssh root@debian-1 Si besoin pouvouvez vous connectez `a debian-1 en tant que test avec la commande vdn-ssh test@debian-1

En mode texte Se connecter en ssh `a l’IUT sur ssh.iut-clermont.uca.fr, puis scanner les machines allum´ees avec iut-scan et vous connecter en ssh `a l’une d’entre elles. Pour partager votre ´ecran avec l’enseignant faire iut-tmux -a palafour

Lancer vdn-start -t debian-1

Puis lancer dans un autre terminal le script baseConfigSecure-1 avec la commande vdn-scripts

que vous aller t´el´echarger https://sancy.iut-clermont.uca.fr/˜lafourcade/SECWEB/baseConfigSecure-1 cette commande prend un peu de temps.

Puis se connecter `a la machine debian-1 il faut faire vdn-ssh root@debian-1

En mode grahique avec X2GO ou Guacamaol Connectez-vous `a l’IUT avec https://

guacamole.iut-clermont.uca.fr/#/ ou avec X2GO. Puis tapez ssh -X localhost . Pour partager votre ´ecran avec l’enseignant faire iut-vnc -a palafour

Ensuite lancer VDN avec la commande ˜vdn/vdn/bin/vdn puis ouvrir le r´eseau secure1 et d´emarrer la machine debian-1, lancer le script baseConfigSecure-1 et se connecter en tant que root.

1login : sesame / password : 2019

2vdn-tmux -rpour arretertmux.

1

(2)

erification du fonctionnement de la machine.

V´erifier avec la commande systemctl status apache2 l’´etat du serveur apache2 , si be- soin l’arreter avec la commande systemctl stop apache2 ou le d´emarer avec la commande systemctl start apache2 .

Normalement vous avez acc`es `a la page /var/www/html/index.html grˆace au navigateur en ligne de commande links http://127.0.0.1:80

En changeant le fichier /var/www/html/index.html vous pouvez v´erifier que cela fonctione, en le rempla¸cant par ces quelques lignes.

<html>

It works!

</html>

V´erifions que le port https (443) est bien inactif en acc´edant `a la page suivante : links https://127.0.0.1:443

Exercise 1 (Cr´ eation des certificats auto-sign´ es (3 points)) Par d´efault openssl fournit un certificat.

/etc/ssl/certs/ssl-cert-snakeoil.pem De plus, openssl fournit aussi une clef priv´ee.

/etc/ssl/private/ssl-cert-snakeoil.key Utilisez la commande suivante pour en savoir plus.

openssl rsa -noout -text -check -in /etc/ssl/private/ssl-cert-snakeoil.key 1. (1 point) La commande ci-dessous permet de lire ce certificat. Quelles sont les principales

caracr´eristiques de ce certificat? Quelle est sa date de p´eremption ? openssl x509 -text -in /etc/ssl/certs/ssl-cert-snakeoil.pem

2. La commande suivante permet de reg´en´erer ce certificat et cette clef. Avant de les reg´en´erer sauvegarder les anciens. Comparer les deux versions (1 point). Dans combien de jours le nouveau certificat perime-t-il ?

make-ssl-cert generate-default-snakeoil --force-overwrite

Rajouter cette ligne dans le fichier /etc/hosts avant de lancer la commande sinon cela ne fonctionnera pas.

10.0.2.15 debian-1

3. (1 point) Ouvrir le contenu du fichier /usr/sbin/make-ssl-cert et d´eterminer les param`etres utilis´es pour g´en´erer la clef et le certificat. Modifier ce fichier pour que le certificat g´en´erer ne soit valable que 10 jours.

Exercise 2 (Configuration d’apache2 pour activer https (3 points)) Pour les fichiers de configuration d’ apache2 lisez les fichiers suivants :

/etc/apache2/ports.conf (port 443)

/etc/apache2/sites-available/default-ssl.conf (port 80) /etc/apache2/sites-available/000-default.conf

La commande a2enmod ssl active le module ssl d’Apache2 a2 = apache2, en = enable, mod = module, ce qui est ´equivalent `a

ln -s /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-enabled/000-default.conf La commande suivante active le virtual host a2ensite default-ssl

Elle est ´equivalente aux deux commandes suivantes:

ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ssl.conf ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled/ssl.load La commande suivante relance le serveur Apache2

service apache2 reload ou bien

sudo service apache2 restart

1. (1 point) Qu’observez-vous sur le site http://0.0.0.0:443 ? Est-ce normal ? 2. (1 point) Observer ce site en https ?

2

(3)

3. (1 point) Verifier quels protocoles sont accept´es grˆace au script testssl.sh qui est dans le home de debian-1 .

Exercise 3 (Rediriger http vers https (4 points))

Nous allons utiliser le mode mod_rewrite afin de redirigier les pages http en https

3

(lire la docu- mentation apache peut aider).

Ne pas oublier de recharger le service avec la commande suivante apr`es chaque changement de configuration d’apache : service apache2 reload

Il faut tout d’abord activer le mode rewrite avec la commande suivante:

a2enmod rewrite

Ensuite il faut modifier le fichier 000-default.conf afin d’activier RewriteEngine, de mettre un condition avec RewriteCond et d’ajouter une r`egle de r´e´ecriture avec RewriteRule

V´erifier que cela fonctionne, en visitant http://127.0.0.1 avec links Exercise 4 (Mettre en place TLS 1.3 (3 points))

1. Tester ces commandes afin de v´erifier que ces sites soient bien en TLS1.2 et TLS1.3.

openssl s_client -proxy 193.49.118.36:8080 -connect www.google.com -tls1_2 openssl s_client -proxy 193.49.118.36:8080 -connect www.google.com -tls1_3 openssl s_client -proxy 193.49.118.36:8080 -connect ayesh.me:443 -tls1_3 2. Ouvrir ce fichier : etc/apache2/mods-available/ssl.conf

Enlever les anciennes versions de TLS : all -SSLv2 -SSLv3 .

3. V´erifier que votre site 127.0.0.1 est bien en TLSv1.2 avec le script testssl.sh ensuite enlever aussi ces versions TLSv1 et TLSv1.1 et v´erifier encore une fois.

4. Maintenant mettre TLS 1.3 est par d´efaut SSLProtocol -all +TLSv1.3 +TLSv1.2 V´erifier que cela fonctionne avec openssl et pas avec testssl.sh .

5. Jouez avec les param´etres cryptographiques et v´erifier que cela focntionne.

SSLOpenSSLConfCmd Ciphersuites TLS_CHACHA20_POLY1305_SHA256:

TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384 SSLOpenSSLConfCmd Curves X25519:sect571r1:secp521r1:secp384r1

SSLOpenSSLConfCmd Curves X25519:secp521r1:secp384r1:prime256v1

ATTENTION. Faire un service apache2 restart entre chaque manipulation.

Exercise 5 (https en g´ erant la cryptographie avec openssl (7 points))

Objectif : Ajouter un certificat racine dans votre navigateur et placer une autorit´e interm´ediaire dans votre site pour que l’acc`es `a vos pages web soient consid´er´ees comme sˆures.

1. (1 point) G´en´erer avec openssl une clef RSA de 4096-bits qui servira de root CA (Certifi- cate Auhtority), choisir comme nom de fichier cert/rootca.key en indiquant comme CN (Common Name) www.rootdom.com

2. (1 point) Cr´eer avec la commande openssl req -new -x509 -key cert/rootca.key un certificat X.509 auto-sign´e pour root CA, le r´esultat sera plac´e dans le fichier cert/rootca.crt . 3. (2 points) Cr´eer un CA interm´ediaire pour cela :

• Commencer par cr´eer une clef de 4096-bits qui sera stock´ee dans le fichier : cert/inter.key

• G´en´erer un certificat X.509 pour ce subordinate CA dans le fichier cert/inter.csr en indiquant comme CN (Common Name) www.mydom.com en utilisant la clef inter.key

• Faire signer ce certificat par le root CA.

openssl x509 -req -in cert/inter.csr -CA cert/rootca.crt -CAkey cert/rootca.key -set_serial 01 -out cert/inter.crt

• Exporter les certificats PKCS12 dans cert/inter.p12

openssl pkcs12 -export -out cert/inter.p12 -inkey cert/inter.key -in cert/inter.crt -chain -CAfile cert/rootca.crt

• Exporter `a partir du ceftificat inter.p12 le certificat et la clef au format PEM dans cert/my.crt.pem et cert/my.key.pem .

openssl pkcs12 -in cert/inter.p12 -out cert/my.key.pem -nocerts -nodes

3https://httpd.apache.org/docs/2.4/fr/mod/mod_rewrite.html

3

(4)

openssl pkcs12 -in cert/inter.p12 -out cert/my.crt.pem -clcerts -nokeys 4. (1 point) Copier la clef au format pem dans le r´epertoire /etc/ssl/private/ et le certificat

dans le r´epertoire /etc/ssl/certs/

5. (1 point) Mettre `a jour le fichier default-ssl.conf en changeant les noms des fichiers de la clef et du certificat, c’est-`a-dire mettre les nouveaux `a la place de sneakoil .

6. (1 point) Importer rootca.crt dans votre navigateur comme certificat d’autorit´e, pour links faire les commandes suivnates :

export SSL_CERT_DIR=$PWD/cert

export SSL_CERT_FILE=$PWD/cert/rootca.crt

Relancer apache2 et ajouter dans /etc/hosts la ligne suivante 10.0.2.15 debian-1 www.mydom.com

V´erifier que cela fonctionne en allant sur https://www.mydom.com:443 Pourquoi cela fonctionne-t-il avec http://www.mydom.com/

4

Références

Documents relatifs

PowerPC and the PowerPC logo are registered trademarks, and PowerPC 603, PowerPC 603e, PowerPC 604, and PowerPC 604e are trademarks of International Business Machines Corporation

[r]

f&gt;5 ' et le 1 lie lijjiirciit dans cos textes qu’en leur (|ualilé de seiiii- vovelles, et tous les sons se classent, soit avec les consonnes, soit avec les asjiirations, sans

Dans l’optique d’impliquer dans son nouveau plan de développement stratégique (Energies 2020) l’ensemble de ses collaborateurs, Attijariwafa bank a réalisé, en

A notre avis, les états financiers consolidés cités au premier paragraphe ci-dessus donnent, dans tous leurs aspects significatifs, une image fidèle de la

Charges à repartir sur plusieurs exercices 0,00 0,00.. Immobilisation en recherche et développement

b) En déduire le nombre minimum de planches nécessaires à la construction du mur ABCD, puis le nombre minimum de planches nécessaires à la construction des deux murs

On suppose que le d´ e est calibr´ e de telle mani` ere que la probabilit´ e d’obtenir ` a l’issue d’un lancer l’un quelconque des entiers n de l’intervalle [1,2010] est la