R14. Sécurité - PastoriLucas/Dev.Web GitHub Wiki

Risques :

Sécurité des données

  • Ne pas laisser les mots de passe en clair.
  • Ne pas donner accès en modification aux tables qui ne peuvent pas être accessible par les utilisateurs.

Sécurité de l'infrastructure

  • Sécurisation des requêtes http :
  • Serveur :
    • Uniquement les services nécessaires.
    • Protection : Firewall.

Sécurité de l'application

  • attaques par injection.
  • Authentification :
    • Mots de passes trop faibles (minimum 1 majuscule, 1 minuscule, 1 chiffre et 1 caractère spécial).
    • Mots de passes transmis / stockés en clair.

Solutions :

Sécurité des données

  • Les Mots de passe ont été hachés de telle manière a ce que personne ne puis accéder à ceux-ci sans en être le propriétaire.
  • Notre page admin est protégée par un système de connexion au compte admin qui lui-même est protégé contre les injections SQl

Sécurité de l'infrastructure

  • Mise en place de Https avec des certificats valides associés a notre nom de domaine grâce a "CertBot" (Let's Encrypt) à la fois pour notre serveur back-end et pour notre front-end.

  • Seul les ports utiles à notre applications on été ouverts sur le vps dans le cadre de notre projet :

    • Port 80 : Nginx projetant Angular.
    • Port 8888 : Nodejs en HTTPS.

    D'autres ports sont ouverts sur notre vps mais ceux-ci doivent le rester dans le cadre de notre projet Admin Réseaux

Sécurité de l'application

  • Nous avons regroupé les valeurs en un tableau avant de les insérer dans les requêtes de telle manière a ce que celles-ci soit inspectées par pgAdmin. En cas de valeurs essayant de nuire à la base de données PGadmin se charge de les modifier pour qu'elles n'aient pas d'impact. (queries paramétrés)

  • Pour éviter les mots de passe trop faible nous forçons les utilisateurs à utiliser des mots de passe contenant au moins :

    • Une majuscule
    • Une minuscule
    • Un chiffre
    • Un caractère spécial (@$.!%*#?&)
    • entre 8 et 50 caractères

    Si ces conditions ne sont pas remplies le formulaire d'inscription ne s'enregistre pas dans la base de données.