Déploiement et Sécurisation - jclaerhout/Projet_Web_III_2023 GitHub Wiki
Déploiement
Choix du serveur d'hébergement
Après quelques recherche sur les meilleurs solutions d'hébergement d'application web, la solution qui couvre le mieux nos besoin est le service Vercel.
Pourquoi?
- Gratuit
- Facile à mettre en place
- Se gère avec GitHub
Technique de déploiement
Application
Voici un screenshot de notre dashboard Vercel.
Après avoir créé un compte, il a simplement fallu crée un projet ou l'on à pu déployé notre frontend et notre backend.
Voici comment l'ajout de projet se passe :
Il suffit de lier son compte Github à son compte Vercel pour avoir accés à tout nos projet.
Ensuite il faut simplement nommé le projet et donné le directory racine.
La branche 'main' est déployé par défaut mais il est possible de changer cela dans les paramètres du projet.
L'on a effectué ces opérations pour le frontend et pour le backend et notre projet été en ligne!
Le code est déployé/mis à jour lorsqu'il y a un nouveau commit sur la branche déployée.
Base de donnée
Au départ nous utilisions une base de données MariaDb, mais nous nous sommes vite rendu compte que ça nous poserait problème pour le déploiement. En effet, les plus connu propose souvent des hébergement pour PostgreSQL, Mysql et d'autre mais rarement MariaDb. Nous avons donc décidé de passer sur une base de données Mysql.
Ensuite nous avons essayé AWS mais sans succès et nous somme tombé sur le service de google 'Google cloud SQL'.
Il a fallu créer notre instance de base de données Mysql.
Voici l'aperçu général de notre instance :
Dans l'onglet 'base de donnés', nous avons créer notre base de données 'dev3'. Vous pouvez retrouver le script SQL de création de notre base de données ici
Ensuite, nous avons créer des utilisateurs.
Et pour finir, nous avons suivi les étapes de connexion à la db grace à l'IP publique.
A ce stade, notre application et notre base de données sont bien hébergées et opérationnelles ici : Photo Pro
Sécurisation
Analyse de la sécurité
Biens à protéger
- Le code
- la DB
- et le serveur
Risques
- Code
Erreurs de programmation
Données privés visibles
Accès aux pages privées
Attaque par force brute
- Base de données
Attaque par injection
Fuite de données
Suppression de données
- Serveur
Déni de service
Contre-mesures
Le code de chacun est vérifié par tous les étudiants du groupe afin d'éviter les erreurs. De plus, nous avons utilisé ESLint afin d'avoir des notifications d'erreurs ou dangers.
La base de données est hébergée sur Google cloud, un service d'hébergement mondial et fiable. Le service proposé assure un protection physique, des pare-feu et des mesures contre le DDOS. Pour la connexion il propose un service de connexion à doubles facteurs.
Le serveur choisit est Vercel, un site fiable et sécurisé qui prend en charge les certificats SSL/TLS. Le site propose aussi une identification à deux facteurs.
Suivi de la sécurisation
Vercel propose une page de monitoring pour notre serveur.
Bilan de la sécurisation
En utilisant Vercel et Google cloud SQL, notre application est sécurisée car ce sont deux service qui mettent fort l'accent la dessus.
Sécurité chez Vercel : Security-Vercel
Sécurité chez Google cloud SQL : Security-Google-cloud-sql