TP6 : Sécurisation du service web public - PasRP-Theo/Admin-II GitHub Wiki

TP6 : Sécurisation du service web public

Noms des auteurs : .................................... Date de réalisation : ....................................

2. Sécurisation serveur

Documentez et faites le point ici sur l'état de sécurisation de votre serveur.

3. Sécurisation des données

3.1. Isolation de la base de données

  • Documentez ici les modifications effectuées sur votre infrastructure pour isoler la base de données.
  • Etablissez une procédure de validation de l'isolation de la base de données.

3.2. Configuration d'un utilisateur non privilégié

  • Documentez les modifications effectuées
  • Proposez une procédure de validation du fait que le serveur web ne peut pas effectuer d'opération dangereuse sur la DB.

3.3. Backup de la DB

  • Documentez la procédure de backup de votre base de données.
  • Si vous avez réalisé le bonus proposé, documentez-le et prouvez son fonctionnement.

3.4. Logs de la DB

  • Documentez brièvement comment accéder aux logs de la DB.

4. Sécurisation des communications avec HTTPS

4.1. HTTPS via un certificat auto-signé

4.1.1. Génération du certificat auto-signé avec OpenSSL

  • Montrez par un screenshot la mise en place de votre certificat auto-signé.

{: .question }

Que pense votre navigateur du certificat utilisé ? Pourquoi ? Expliquez la problématique qui est ici mise en évidence.

4.1.2. Configuration de Nginx en HTTPS pour le virtualhost www

  • Documentez la configuration en HTTPS de nginx. Montrez via des screenshots bien choisi qu'elle est fonctionnelle.

4.2. Obtention d'un certificat Let's Encrypt pour le site www

Documentez et prouvez la mise en place du certificat let's Encrypt sur vos virtuals hosts.

{: .question}

  1. Examinez les logs dans le fichier /var/log/letsencrypt/letsencrypt.log - Trouvez les trois challenges ACME proposés par let's encrypt, et le token utilisé - Trouvez la configuration nginx temporaire utilisée par certbot pour répondre au challenge - Quelle est l'URL où se trouve le token sur votre serveur nginx? - Voyez-vous le certificat reçu? De combien de parties se compose-t-il? - Où sont stockés les fichiers du certificat et de la clé privée générées par certbot?
  2. Vérifiez votre configuration nginx: qu'est ce qui a changé?
  3. Vérifiez si votre site web possède à présent un certificat signé par Let's Encrypt et s'il est accepté par votre navigateur
  4. Examinez le certificat reçu avec l'outil OpenSSL, et identifiez les champs indiquant la signature du CA.
  5. Vérifiez également le statut HTTPS du second Virtual Host : blog.lx-y.ephec-ti.be. Que se passe-t-il? Comment pouvez-vous corriger ça ?

4.3. Obtention manuelle d'un certificat pour le domaine

Si vous avez réalisé l'obtention d'un certificat wildcard, documentez la procédure et prouvez qu'elle fonctionne sur votre domaine (par ex. via des screenshots).