-
Notifications
You must be signed in to change notification settings - Fork 2
Sécurité du projet
La sécurité de notre application repose sur des outil externe qui ont leurs propre sécurité et RGPD, nous le savons nous dépendons de leurs sécurité pour nos utilisateurs. Cela représente un risque externe que nous ne pouvons pas contrôler, dans le cas où la sécurité de cet outil vient à être compromise.
Nous utilisons pour l'authentification des utilisateurs sur notre application, l'outil Auth0 qui gère l'intégralité des compte utilisateurs. Cet outils dispose de plusieurs certifications, tels que :
- SOC 2 type 2
- ISO 27001 & 27018
Comme ils sont bien au fait que beaucoup d'organisation dépendent de leurs sécurité, ils ont mis en place beaucoup de rempart afin d'éviter le drame. Ils ont par exemple mis en place des programmes journaliers et hebdomadaires afin de scanner si il y a une vulnérabilité quelque part. De même que à tout les 6mois ils organisent des tests d'intrustion tiers, et à chaques nouvelle fonctionnalité, ils organisent des test d'intrusion end to end. Ils ont aussi mis en place en interne un programme de Whitehat qui va investiger afin de détecter une faille de sécurité et ainsi la corriger.
Ils assurent aussi que les RGPD sont respectées et que les données des utilisateurs sont correctement collectées, stockées et documentées (selon les termes de la RGPD)
Firebase est notre outil de base de donnée. comme pour Auth0, nous dépendons de leurs sécurité et si une attaque a lieu, cela aura des répercussions sur nos utilisateurs. Mais cet outil est assez sécurisé car dans un premier temps, Firebase fait partie de la famille de Google, un géant qui met les moyens de terme de securité. De plus, tout les services de Firebase disposent de plusieurs certifications
- SOC 1, 2 et 3
- ISO 27001
- ISO 27017, ISO 27018 pour les services clouds.
De plus, nous pouvons écrire nos propres règles de sécurités si nous le désirons, c'est une fonctionnalité que à mis en place Firebase afin d'avoir plus de liberté pour sécuriser notre base de donnée (surtout pour une sécurité interne).
Malheureusement, dans notre repo nous avons un fichier avec plusieurs clé qui permettent de se connecter à des services indispensables pour notre application, mais qui serait dangereux à laisser aux mains de tout le monde. Mais nous avons une solution simple, nous allons donc le mettre dans notre .gitignore ainsi il ne sera pas publique (et nous devrions le changer puisque qu'il est disponible dans les anciennes version de notre git)
Nous n'utilisons pas de site internet, notre application ne possède pas de serveur donc nous ne pouvons pas mettre en place un certificat SSL
Pour ce qui est du chiffrement des communication, nous communiquons avec 2 plateformes. La database et le service Auth0. Auth0 chiffre automatiquement ses communications, par le biais de JWT (JSON Web Token) qui sécurise la transmissions de donné chiffrés entre le package Auth0 et ses serveurs. Pour ce qui est de Firebase (notre DB) nous chiffrons les communications grace au protocole HTTPS, qui permet de sécuriser la transmissions de donnée entre le clientside et la database.
Comme nous utilisons Auth0 qui nous permet d'éviter la gestion de compte et de mot de passe, nous n'avons pas de sécurisation de mot de passe, et de fait pas de hashage. Mais, Auth0 hash tout ses mots de passe, comme il est inscrit dans leurs documentation sur leurs sécurité. Ils ne transmettent rien en claire, tout est hashed via Bcrypt.
Voir section RGPD
Voici le rapport complet de notre sécurité : Rapport