Framavox
Thu 19 Dec 2024 12:43PM

Sécurité de TiBillet : Formation, Audit, et Pentest

Bonjour a tous.tes !

Aujourd'hui on parle de sécurité informatique !

TiBillet est construit depuis plus de 8 ans, en mode brique par brique. On a rajouté des bout par ci par la en fonction des besoins que nous rencontrions dans nos lieux.

Aujourd'hui, à la veille de la "V1" mythique, il est peut être temps de se poser la question de :

  • Es-ce que c'est pas trop mal codé ?

    • Check des bonnes pratiques et netoyage des bloc inutiles

    • Les tests unitaires et E2E couvrent bien tout ?

  • Est on opé sur les bonnes pratiques ?

    • Pour la construction d'un commun : documentation, commentaire, code spaghetti ?

    • Règles de contribution

    • Formation aux bonnes pratiques de sécurité ?

  • Avons nos des failles béantes à corriger ?

    • Dépendances, api, etc ...

    • Carte RFID

Pour lancer ce chantier, j'ai donc commencé à discuter avec Johan Brissaud.

Voici le compte rendu de notre réunion avec sa proposition :

Salut Jonas,

Après discussions, je pense en effet que c'est un bon moment pour intervenir sur le projet avec un audit sécurité. Vous avez la V1 en objectif proche sans avoir le couteau sous la gorge. On aurait le temps de travailler la sécurité de la solution en amont pour implémenter les résultats de l'audit avant la sortie. De mon côté également, je pourrais commencer rapidement sur janvier et vous accompagner pendant le printemps.

Le projet m'intéresse pour plusieurs raisons : la solution a vraiment besoin de sécurité et auditer un système de paiement sécurisé est un défi intéressant. L'esprit de l'équipe et du projet correspond également à mes valeurs et nous avons des liens dépassant cette intervention. Au vu de tout ça, je vous propose de vous faire un prix très "modéré" pour ce type de prestation à 650 euros HT / jours me permettant de m'investir assez de jours (15 jours) pour réaliser un vrai audit en profondeur rentrant dans votre budget (10k). Je te joins mon CV en copie du mail pour témoigner que je suis en mesure de vous délivrer un travail de qualité correspondant à vos attentes.

Voici le plan que je vous propose :

- Bloc 1 : Analyse de risques - 4 jours

Livrable : document d'analyse de risque

Se déroulerait sur 4 ateliers d'une demi-journée sur fin janvier – début février 2025 en suivant la méthode EBIOS. Permet d'appréhender la sécurité dans son ensemble, envisager les différents risques et les mesures compensatoires pour les minimiser. Cela permettra également de préparer une analyse AIPD (nécessaire pour le RGPD). Cette analyse de risque sera essentielle pour des certifications futures (demandées par la plupart des normes orientées sécurité).

Cette étape permettra également de préparer la suite et sera l'occasion de formaliser et documenter certains aspects techniques de la solution (cinématiques, schéma décrivant les grands blocs fonctionnels et leurs interactions…,)

- Bloc 2 : Audit boite blanche de l'écosystème - 9 jours

Livrable : rapport d'audit de code, de tests d'intrusion et d'architecture.

Audit de code et tests d'intrusion sur un environnement préprod pour les différentes applications de l'écosystème de TiBillet (Lesspass, Fedow, LaBoutik). L'audit abordera les questions de configuration, de sécurité du code et également de la sécurité des différentes cinématiques mise en place dans la solution (paiement, raccordement de communautés…,)

- Bloc 3 : Ateliers de construction de la politique sécurité - 2 jours

La livraison de l'ensemble de la formation sera réalisée sous forme d'ateliers (1 journée entière en présentiel ?) permettant la coconstruction d'un plan d'assurance sécurité en suivant la méthode OpenSAMM. Ces ateliers seront l'occasion de restituer les résultats de l'audit, de travailler à la formalisation de la documentation sécurité et de former l'équipe aux problématiques sécurité.

Toutes ces tâches seront essentielles pour obtenir des certifications éventuelles. Elles seront un des entrants important pour l'audit et la formalisation de la documentation qui en découlera.

Voilà pour ces détails, n'hésite pas à revenir vers moi si tu as la moindre question.

Brissaud Johan - World Watch Web

A la louche donc, un devis autour de 10 000 euros.

Coté fléchage de budget, on a un budget disponible de 6860€ ( 3430€ par an sur deux an )

Resterais à trouver 3140 euro : A financer par la coopérative.

Je vous propose de rajouter vos remarques et question à la suite de ce post avant d'ouvrir le procéssus de décision par consentement.

Alors, qu'en pensez vous ?

J

Johan Wed 29 Jan 2025 2:45PM

Salut à vous,

Désolé, j'ai répondu par mail il y a 6 jours en pensant que ça allait retranscrire ma réponse ici. Je viens de constater que cela n'est pas le cas :)

Je vous proposait une réunion cette semaine mais je suis un peu sous l'eau avec une grosse échéance ce vendredi. Au vu du calendrier commun et des vacances de Jonas début février, je vous propose de faire cette réunion de planification la semaine du 10 février au jour qui vous conviendra le mieux.

J'aurais eu le temps, d'ici là de me pencher un peu sur la certification.

Bonne journée à vous !

JTC

@Johan Rolalala, pareil, je n'ai pas eu de notif mail sur ta réponse.

Faut vraiment que je me mette une routine pour regarder régulièrement ici. C'est pas encore super fluide. Mais on y arrivera, j'en suis sur :)

On est un peu charette aussi de notre coté, en plein sprint pour finaliser la mise en prod de la nouvelle UX de la Billetterie : https://lespass.demo.tibillet.org/

On a trois grosses échéances pour Mars, le Faire Festival, l'Asso nationale des tiers lieux et le réseau régional des hauts de France qui prennent TiBillet. Faut qu'on soit prêt pour dans 15 jours, on est tous a fond dessus.

Je pense qu'on va pouvoir débloquer du temps pour Mi Mars. Comment tu le sens de ton coté ?

Bon, si tu préfère, on peut aussi discuter sur Discord ou Matrix j'y suis plus souvent :)

J

Johan Mon 17 Feb 2025 5:52PM

Salut Jonas et salut à tous,

Mi-mars me convient très bien, je suis également un peu sous l'eau ces prochains temps.

Est ce qu'on ne se fixerai pas une réunion préparatoire en début de semaine du 17 mars, pour discuter du format de la prestation et de votre certification ?

Bonne soirée à vous,

JTC

@Johan Super, merci pour ta réponse !

On te bip dés qu'on sort de l'eau, promis :)

A très vite !

JTC

Poll Created Thu 3 Apr 2025 9:35AM

Premier étape : Deblocage d'un budget de 6860 € Closed Thu 10 Apr 2025 9:00AM

Outcome
by Jonas Turbeaux (Code Commun Coop / TiBillet ) Thu 10 Apr 2025 11:31AM

Proposition validée !

Je vous propose de passer à la seconde étape, la définition des livrable avec Johan et hop, on commence le taf quand il peut/veut :)

Bonjour à tous.tes !

Suite à la super réunion de rencontre entre @Johan et toute l'équipe, voici la demande de consentement pour ce chantier.

Voici le compte rendu de cette réunion : https://pad.lescommuns.org/lQ_DaZ53TImgalAtbCDRuw?view#Audit-de-S%C3%A9curit%C3%A9-avec-Johan

Pour rappel, ce budget de 6860€ est prévu dans l'AAP France 2030.

Quelle est la décision que vous devez prendre ?

Il a été décidé de lancer trois étapes, et de se positionner sur les deux premières sur ce framavox.

Je pose ici la conclusion de la réunion :

  1. Proposition de commencer sur un audit de sécurité “pratique” de Lespass car la V1 est sortie, et le code est auditable en l'état. : 3 430€

  2. Puis de continuer dans l’été / septembre sur l’audit de code de LaBoutik avec la seconde partie du budget. A condition qu'on ai bien avancé sur le chantier de refacto code et nouvelle UX avec @filaos et @Jonas Turbeaux (Code Commun Coop / TiBillet ) : 3 430 €

Le troisième point (cf lien du compte rendu plus haut) fera l'objet d'une nouvelle prise de décision car les budget seront à travailler en fonction de la réussite des deux points précédents, et surtout du cahier des charges de la certification. Nous n'avons a ce jour pas de précision sur les modalités de la nouvelle loi finance 2025 : on attend le décret d'application.

En bonus, nous avons aussi parlé du souhait de trouver un budget contributif pour faire avancer ce chantier sur le long terme

Bonux :

  • Trouver un budget contributif SECNUM pour

    • Faire monter en compétence l’équipe sur la fabrication des tests de type “industriel” (Sham, Adrienne, Nico)

    • Mettre en place des règles techniques de contribution de type CI et vérification du Typing (Kaya)

    • Continuer a venir auditer les nouveautés de code sur le long terme (Sham)

Proposition accepté pour être posée sur Framavox. On lance le processus de consentement.

Pourquoi est-ce important?

Maintenant que TiBillet est en production, la question n'est pas de savoir SI on va se faire hacker, mais QUAND. Il devient relativement urgent de lancer ce chantier

Que demandez-vous aux personnes dans cette proposition ?

De valider les 2 premiers points pour un total de 6 000€, et de valider le principe d'une recherche de financement supplémentaire pour ouvrir un budget contributif pour le travail long terme.

Si vous avez une objection, veuillez dire pourquoi et proposer un changement à la proposition qui la rend sûre.

N'oubliez pas que nous recherchons le consentement pour une décision « assez bonne » qui est « sûre à essayer », afin que nous puissions prendre une bonne décision pour notre organisation.

Results

Results Option % of points Voters
Autorisation 100.0% 7 MR JTC ACC M GL R P
Objection 0.0% 0  
Undecided 0% 2 F K

7 of 9 people have participated (77%)

GL

glen_llaci@yahoo.com Tue 8 Apr 2025 11:52AM

Bonjour @Johan.

Moi, j'ai une question en ce qui concerne le déroulement du processus de la lecture du code (l'audit). Comme tu as remarqué on est une structure différente par rapport aux entreprises classiques. On est pas mal accentué sur le partage du code et des connaissances.

Du coup, ma question est dans quelle mesure on peut suivre les étapes de la lecture du code sans piétiner sur ton travail ou que ça te fasse passer plus de temps que prévu.

J'imagine bien que ce n'est ni possible ni efficace de faire des séances où tu fais la lecture du code et on suit le processus. Mais il n'y aurait pas une possibilité qu'on puisse suivre le processus de la lecture du code sans causer du retard ou du travail supplémentaire? Une possibilité qui me vient à l'esprit, ce serait que les jours où tu fais la lecture du code, on peut prévoir une 15aine de minutes ou tu peux nous faire une résumée des choses les plus pertinentes.

J

Johan Fri 11 Apr 2025 1:44PM

Salut Glen,

Alors, dans un premier temps, je ne pense pas que ce soit très intéressant pour vous. Il s'agit pour moi d'assimiler votre code et vos pratiques, de faire mes hypothèses et d'essayer de les valider par la lecture du code. Il s'agira aussi de remonter une instance de "Lesspass" pour réaliser mes tests dessus. Voir d'automatiser des recherches.

Par contre je vais avoir besoin dans un premier temps que vous me présentiez le code pendant une reunion pour me permettre de rentrer dedans plus vite. Et donc que nous le lisions un peu ensemble au début. Nous pouvons prévoir également quelques sessions de mi-parcours également pour que je vous montre où j'en suis et qu'on discute des directions prises.

Concernant le partage du résultat de mon travail, en fin d'audit, nous allons travailler ensemble. Le but n'est pas de vous rendre une liste de constat mais que je vous les présente, qu'on les discute ensemble pour déterminer les meilleures préconisations. Et que vous vous les appropriez pour la suite.

Est ce que ça te convient avec se format ?

GL

glen_llaci@yahoo.com Sun 13 Apr 2025 1:43PM

Salut @Johan. Merci pour ton retour. Effectivement c'est très interessant ta proposition. On notte ça et on s'organise pour mettre en place tout ça.

J

Johan Mon 14 Apr 2025 9:20AM

Salut à tous, cc @Jonas Turbeaux (Code Commun Coop / TiBillet )

J'ai l'impression que le sondage semble positif pour lancer les travaux.

Du coup et si c'est OK pour vous, nous pourrions commencer le premier audit très vite. Je suis disponible les semaine du 21 et du 28 avril pour réaliser le chantier.

Si cela vous convient, nous pouvons définir une première réunion en début de semaine du 21 pour que vous me présentiez le code, le différents blocs fonctionnels et que vous me décriviez la meilleure façon pour moi de remonter une instance "lesspass" pour réaliser mes tests. La réunion sera également l'occasion de préciser le calendrier et les différentes réunions à réaliser tout au cours de l'audit.

Nous enverrons un CR en fin de réunion donc tout le monde n'a pas une obligation d'assister à celle-ci. Mais il sera nécessaire que soient présent les développeurs qui sont très actifs sur "lesspass" pour me faire passer leurs lumières.

Si cela vous convient, n'hésitez pas à me proposer les créneaux qui vous conviennent le mieux.

JTC

Plop @Johan !

Yes, la proposition a été acceptée, on peut foncer.

Mais je suis en vacance la semaine pro !

Désolé, j'aurais du te partager notre agenda plus tôt : https://nuage.tierslieux.re/apps/calendar/p/fFLrR6fBPba4wJzE

Sinon d'ici la, tu as tout dans la doc' pour monter ton instance.

Tu peux aussi te caller avec @Kaya ou @filaos sur Discord si tu veux de l'aide sur cette étape.

Et ensuite, je me suis dis que ça serait quand même plus cool pour toi si je réalisait d'abord un gros nettoyage de code. Beaucoup de lignes depuis la beta sont desactivées depuis la mise en prod...

On se calle sur Discord pour la suite ?