Securisation - SaigoNoo/GetTheBeer GitHub Wiki

Résumé coaching 9

ANALYSE DE SECURITE
+ Le groupe a effectué et documenté sur le wiki une analyse de sécurité correcte, en identifiant les biens à protéger et en estimant les menaces et les risques associés.
+ Le groupe a identifié des contre-mesures adéquates pour l'ensemble des menaces identifiées.  
+ Le groupe connait et documente les limites de son travail de sécurisation (risques résiduels, …)
+ Le groupe a réfléchi au suivi des aspects sécurité du projet tout au long du cycle de vie du projet
+ Un diagramme de flux de données est attendu
	
SECURISATION	
+ Le groupe a mis en place les éléments de sécurité demandés dans le cadre du cours. Le groupe justifie et implémente correctement les mesures de sécurité au niveau du serveur (Utilisation https, version à jour / patchée, réflexion sur le hardening du serveur -par ex : pas d’autre port ouvert-, gestion des connexions et sessions, disponibilité, …), au niveau logiciel ( Librairies / Framework utilisés à jour, XSS, SQLi,gestion/stockage des mots de passe, ... ) et de la DB ( Inaccessible de l’extérieur, permissions / rôles définis adéquatement, backup, …)
	
VALIDATION DE LA SECURITE
+ Les étudiants ont utilisé des outils extérieurs pour valider la sécurisation de leur site, et présentent les résultats sur le wiki
+ Les étudiants ont compris, interprété et pris en compte les retours donnés par les outils extérieurs et corrigé les failles de sécurité éventuellement identifiées
	
ASPECTS LEGAUX	
+ Le wiki présente les contraintes légales auquel est soumis le site web (notamment RGPD)
+ Le wiki présente ce qui a été mis en place, ou aurait dû être mis en place, pour respecter le prescrit légal (traitement des données, backup, …)

1. Analyse de la sécurité

1.1 Biens à protéger

  • La base de donnée n'est pas manipulable autrement que via SSH et les méthodes de la backend, qui tournent derrière un proxy_reverse
  • Les connexions BACKEND + FRONTEND tournent sur HTTPS OBLIGATOIRE avec certificats Let's Encrypt
  • Le serveur est armé d'un fail2ban
  • Le serveur est configuré avec ufw (pare-feu limité par ports)

1.2 Risques

  • Serveur accessible via SSH si attaquant connait mot de passe (même si sécurité fail2ban)
  • Injection SQL

1.3 Contre-mesures

  • Fail2ban + ufw + proxy_reverse pour sécuriser communications
  • Impossibilité d'insérer dans la backend du SQL car uniquement appel de fonctions & procédures possibles

1.4 Suivi de la sécurisation

  • Que dire...

1.5 Diagramme de flux de données

  • Communication simple: base de donnée <-> backend <-> frontend (le frontend ne communiquera jamais avec la base de donnée lui meme)

3. Validation de la sécurité

  • Vérification dans Wireshark si les logins sont affichés en clairs: tout est haché et chiffré
  • Les mots de passe coté BDD sont hachés et ont un salt, donc meme lecture en BDD ne donne pas mot de passe

4. Cadre légal

4.1 Contraintes légales

[Présentation des contraintes légales s'appliquant à votre application]

4.2 Mise en oeuvre de ces contraintes

[Explication de ce qui a été mis en place pour respecter le cadre légal dans le cadre de ce projet]

5. Bilan et Limites

[D'après vous, est-ce que la sécurisation mise en place est suffisante? Pourquoi? Quelles sont les limites ? Et les améliorations à envisager ?]