20 Feb 2020, 11:11

Retour sur les 20 ans du FOSDEM

Retour les 20 ans du FOSDEM

FOSDEM

Le FOSDEM qu’est ce que c’est ?

Avant tout, pour ceux qui ne connaitraient pas le FOSDEM, revenons sur son histoire.

Créé en 2000 par un petit groupe de personnes, cet événement a pour but de réunir les développeurs Open Source Européens, d’où sont premier nom Open source Software Developers' European Meeting. Les éditions suivantes ajouteront la notion de logiciel libre, ce qui donnera le FOSDEM.

Il se déroule traditionnellement le premier week-end de février au Campus de l’Université Libre de Bruxelles. Il rassemble un nombre conséquent de personnes, plus de 8 000 cette année.

Cet événement est ouvert à tous, dans le sens où il est gratuit et il n’y a pas d’inscription nécessaire, vous pouvez venir et partir comme vous le souhaitez.

C’est là que vous devez vous demander quelles entreprises organisent un événement aussi important, et surprise, il s’agit d’un évènement géré par une organisation bénévole! Le financement repose sur les donations, la vente d’accessoires (t-shirt, etc.) mais surtout grâce à des sponsors dont la liste est disponible sur le site. On retrouve parmi cette liste de belles références même si la présence de Google en principal sponsor fait grincer des dents quelques libristes.

Durant les deux jours, vous pourrez suivre des centaines de conférences réparties par thématiques dans différentes salles appelées Devroom, mais aussi des discussions ouvertes et différents stands où il est possible d’échanger avec de nombreuses associations et entreprises.

Mon ressenti sur cette 20ème édition

Avant tout, il s’agit du premier FOSDEM où j’ai pu me rendre physiquement. Je ne pourrai donc pas comparer l’ambiance par rapport aux années précédentes.

L’évènement est tout d’abord impressionnant par plusieurs aspects, le nombre de personnes (+ de 8 000), mais aussi le nombre de Devrooms (35 réparties sur le campus). On pourrait craindre que cela ne joue sur la qualité de l’organisation, mais il n’en est rien. Les organisateurs du FOSDEM ont réussi à garder cet évènement aux proportions extraordinaires très bien organisé et agréable dans l’ensemble.

Le grand nombre de thèmes abordés dans les différentes Devrooms permettent de ravir tous les goûts. Bien qu’il arrive de ne pas pouvoir se rendre à la conférence désirée faute de place, ce qui je dois bien l’avouer est quelque peu frustrant, on trouve rapidement d’autres sujets tout aussi intéressants. On peut aussi faire un petit tour sur les différents stands en attendant la prochaine séance.

Car oui, vous vous en doutez avec tout ce monde, il arrive selon les sujets et les salles de ne pas avoir de places. Mais ce point est très bien traité : devant chaque entrée il y a un système d’affiche qui permettent de savoir s’il est possible d’entrer ou non.

De plus grâce à l'application FOSDEM, qui est le compagnon indispensable durant le week-end, vous pouvez facilement pister les conférences, être averti de leurs débuts, mais surtout voir s’il reste des places dans la Devroom de votre choix sans traverser le campus. Vous pouvez également consulter la carte.

Capture d'ecran de l'application

En ce qui concerne le contenu des conférences que j’ai pu voir, j’y revienderai dans une deuxième partie en détail. Mais globalement, c’est très positif. A savoir que les conférences sont uniquement en anglais mais cela reste très compréhensible.

Bien sûr le FOSDEM ce n’est pas que des conférences. N’ayez d’ailleurs pas peur d’en manquer : elles sont toutes enregistrées. J’ai pu durant ce week-end faire le tour de tous les stands proposés. Il y a pas mal de variété, ils sont regroupés par thèmes dans les différents bâtiments. Au-dela des nombreux autocollants, t-shirts et autres, c’est surtout l’occasion de rencontrer les différents membres des communautés Open source (comme par exemple Mattermost, Gitlab, Jenkins, Postgres, Debian, Pine64 etc…).

Je dois avouer qu’il est très intéressant de pouvoir échanger de manière très directe avec des mainteneurs ou responsables de projets open source. Le seul petit bémol serait la place des stands, en effet ils sont dans les couloirs ou les salles devant les amphithéâtres, or elles sont assez rapidement saturées dans certains cas comme par exemple celui de Pine64 qui a été bondé tout le week-end :

Le FOSDEM c’est aussi l’occasion de croiser d’anciens, ou peut-être de futurs collègues au détour de couloirs ce qui est toujours un moment sympa, surtout que Belgique oblige, il s’accompagne souvent d’une petite bière.

Si on passe du côté des informations pratiques, quelques conseils et informations: Réservez vite votre hôtel, ils sont rapidement pleins au vu du nombre de personnes faisant le déplacement. Personnellement je m’y suis rendu en voiture ce qui m’a permis de m’éloigner de Bruxelles pour trouver plus facilement un hôtel. Si vous êtes en voiture, un parking est disponible dans le campus, mais attention les places sont limitées, globalement après 9h cette année toutes les places étaient occupées.

Retours sur quelques conférences (Devroom dans le language FOSDEM)

Je vous propose donc de revenir sur quelques conférences que j’ai suivies en direct. Dans chaque point, vous avez possibilité de les regarder ainsi que toutes les autres conférences en vous rendant sur l’archive vidéo : https://video.fosdem.org/2020/, malheureusement elles sont triées par salle, je vous invite donc à d’abord consulter la liste des conférences par thématique pour trouver la salle correspondante sur ce lien : https://fosdem.org/2020/schedule/

Salle principale

[Containers] “Podman - The powerful container multi-tool”

  • Lien vers la redifusion : par ici
  • Avis : Petite présentation de Podman, qui même si elle est relativement courte et ne rentre pas dans les détails permet de découvrir les concepts de l’outil. La petite démonstration donne clairement envie de jouer avec ce nouvel outil. Il est d’ailleurs assez intéressant de voir que dans la plus part des conférences, ils abordaient les conteneurs en parlant de Podman par défaut. Le modèle très contestable pour l’open source et l’émergence de nouvelles solutions ont sûrement eu raison de Docker.

[Community and ethics] “Freedom and AI : Can Free Software include ethical AI systems ?”

  • Lien vers la rediffusion : par ici
  • Avis : À l’heure ou l’IA prenrds une place grandissante dans notre vie, on nous propose de prendre un peu de recule pour trouver comment le libre peut l’aider à devenir plus éthiques. Il s’agit d’une conférence très inspirante et qui apporte beaucoup de questionnement tout en dessinant des axes d’amélioration de l’IA en utilisant les concepts du logiciel libre. À l’heure où une voiture autonome peut choisir de vous tuer ou non, je pense que ce type de réflexion est un passage vital au développement d’une IA plus saine.

[Containers and Security] “How Containers and Kubernetes re-defined the GNU/Linux Operating System”

  • Lien vers la rediffusion : par ici
  • Avis : Si vous aimez l’histoire de l’informatique cette conférence est faite pour vous. On repasse en revue les différentes évolutions des systèmes GNU/Linux ces dernières années. Passant de l’omniprésence de la machine physique aux containers en passant par les machines virtuelles et le cloud.

[Testing and automation] “Releasing software with GitOps”

  • Lien vers la rediffusion : par ici
  • Avis : Quand un logiciel devient complexe, le releasing de celui-ci peut très rapidement devenir lourd et nécessiter une grande énergie. Open Stack est passé par là, des cycles de releasing, complexes et chronophages. Dans cette conférence ils nous présentent donc leurs retours sur le passage à GitOps pour le releasing. Passant en revue les étapes de la compilation à l’annonce officielle de la release, tout a été automatisé au maximum.

[Security] “Using SELinux with container runtimes”

  • Lien vers la rediffusion : par ici
  • Avis : Vous connaissez surement SELinux, le fameux module de sécurité du kernel Linux. Pour beaucoup, moi y compris son évocation vous fait plus penser aux heures passées à essayer de configurer correctement des ACLs. Alors quand on vous parle de combiner le monde des containers et SELinux, vous avez surement un peu peur. Mais cette conférence vous permets de découvrir comment combiner container et SELinux, presque sans douleur grâce à un générateur de règle se basant sur l’analyse du conteneur. Je ne m’étais jamais posé la question de la combinaison SELinux plus containers, mais cet outil Udica me donne clairement envie de tester le combot.

[Internet of things] “How many engineers does it take to change an IOT light bulb”

  • Lien vers la rediffusion : Pas encore disponible
  • Avis : J’ai commencé la journée par cette mini présentation de quelques minutes, remettant en perspective l’absurdité que l’IoT à souvent tendance à devenir. Commençant par un extrait de “The Big Bang Theory” où ils testent des périphériques IoT, on passe sur un Tweet de Internet of Shit dévoilant l'architecture démesurée nécessaire pour allumer une ampoule. Avant de finir sur un petit concours nous invitant à trouver le nombre d’ingénieurs nécessaires pour mettre en place cette architecture (si vous avez la réponse, je suis preneur. j’ai malheureusement loupé la réponse).

[Community] “Applying Open Culture practices across distributed teams”

  • Lien vers la rediffusion : par ici
  • Avis : Je dois avouer être toujours impressionné par l’organisation et l’efficacité des gros projets open source, tout en étant répartie d’un coin à l’autre du monde. Donc j’étais curieux d’avoir un retour sur les ingrédients nécessaires à la mise en place de cette culture, dans un contexte différent. Cette présentation reprend principes et astuces pour tirer le meilleur des équipes réparties dans des lieux différents tout en relevant les pièges dans lesquels il est facile de tomber.

[Community] “Organizing open source for cities”

  • Lien vers la rediffusion : Pas encore disponible
  • Avis : L’année dernière je me suis rendu à l’évènement LeHack et j’ai notamment pu entendre une conférence très intéressante sur un test de pénétration à l’échelle d’une véritable ville connectée. Cela m’a, au-delà des problématiques de sécurité, fait réaliser que la ville connectée n’est pas une problématique future, mais bien actuelle. Ici, on nous présente donc les bénéfices que l’open source peut apporter aux villes connectées, c’est d’ailleurs intéressant de voir que Paris est d’ailleurs beaucoup citée. Encore une fois, l’open source à beaucoup a apporter dans cette problématique et je vous invite à regarder cette présentation qui nous concerne tous à une certaine échelle.

[Decentralized internet and privacy] “RFC 1984”

  • Lien vers la rediffusion : par ici
  • Avis : Quand vous êtes, comme moi, attaché à votre vie privée, vous aurez au moins une fois été diagnostiqué paranoïaque par l’un de vos proches. Parfois, il est difficile d’expliquer les dangers de cela et parfois on doute même de notre propre point de vue. Cette conférence dont le nom rappelle le fameux roman de George Orwell évoque très justement et très bien la situation, les précédents et les risques qu’apporte la diminution de la vie privée. Je ne vous en dis pas plus, car il s’agit surement de la conférence que j’ai le plus apprécié du week-end, je vous la recommande chaudement.

[Databases] “MySQL goes to 8”

  • Lien vers la rediffusion : par ici
  • Avis : On retourne sur une conférence plus technique nous présentant toutes les nouveautés apportées par MySQL 8. Parmi les nouveautées qui m’ont le plus marqué on note: la possibilité de passer MySQL 8 en base de données orientée document, les nombreuses améliorations sur les paramètres par défaut pour le rendre le plus sécurisé possible, et le nouveau MySQL Shell qui a l’air très moderne et flexible. Bref si MySQL vous intéresse, faites le tour de la version 8 avec cette présentation.

[Freedom] “Why the GPL is great for business”

  • Lien vers la rediffusion : par ici
  • Avis : Qui dit Logiciel libre et ouvert dit licence, parmi lesquels ont retrouve notamment la GPL. Dans cette présentation, aborde une question souvent complexe, mais vitale : comment faire de l’argent dans le monde de open source. Elle repasse sur les différents modèles économiques tout en abordant leurs points forts et leurs points faibles. Prouvant ainsi que des modèles existent et qu’ils fonctionnent avec des entreprises.

[Real time communications] “Nextcloud talk”

  • Lien vers la rediffusion : Pas encore disponible
  • Avis : Souvent, quand on parle de faire une réunion à distance ou de passer un appel vidéo le grand publique pense à Skype. Mais Skype est un logiciel fermé qui, même si cela est en voie d’amélioration, n’aime pas vraiment GNU/Linux. Des alternatives open source existes déjà, mais ici Nextcloud nous propose de découvrir leurs systèmes totalement intégrés à Nextcloud offrant des appels à plusieurs avec accès à un environnement collaboratif en ligne. Je dois avouer avoir été plus que surpris par l’axe collaboratif de l’outil qui me semble encore plus prometteur que les outils déjà existants. Si vous chercher une solution de réunion axée collaborative efficace, je vous invite à vous renseigner sur Nextcloud Talk.

[Community devroom] “Free software in education”

  • Lien vers la rediffusion : par ici
  • Avis : Si vous me connaissez, vous savez que pour moi l’éducation et la transmission de savoir est une cause importante à mes yeux. Sur la scène, l’association Teckids qui travaille à apporter le logiciel libre dans l’éducation. Elle parle notamment des difficultés rencontrées faces aux GAFAMs qui disposent de budgets importants sur le secteur de l’éducation.

Article long, mais je souhaitais vous faire un retour assez complet pour cet évènement qui est très important. En espérant vous avoir donné envie d’y aller l’année prochaine ;)

15 Jan 2020, 13:14

Un gestionnaire de mot de passe pour les gouverner tous.

Toute personne utilisant un ordinateur, téléphone ou autres a et utilise des mots de passe au quotidien pour sécuriser ses accès. Aujourd’hui avec la multiplication de ceux-ci et de leurs complexités, il est très souvent devenu indispensable d’utiliser un gestionnaire de mots de passe ; ou d’utiliser le même mot de passe partout et de perdre tous ses comptes en même temps, ce que je ne recommande pas bien sûr.

Et là c’est l’embarras du choix, LastPass, DashLane, KeePass et j’en passe. Personnellement et dans le cadre de mon travail, j’utilise [Pass] depuis plusieurs années. Combiné à plusieurs outils, je pense que c’est un système très intéressant pour les utilisateurs avancés. J’ai aujourd’hui une configuration que je trouve efficace et qui me donne un niveau de sécurité plutôt bon. Je vous partage donc ce que j’ai appris de cet outil et mes configurations. ;)

Hand with key.

Simple et efficace, ça Pass !

Alors globalement qu’est-ce que Pass apporte ? Tout d’abord, un peu de contexte, j’utilise au quotidien un environnement Debian et j’aime utiliser au maximum de protocoles et outils standards pour des raisons d’ouverture et d’inter-opérabilité. C’est ça que j’apprécie dans Pass, c’est un gestionnaire de mots de passe développé dans l’idéologie KISS (Keep.It.Simple.as.Stupid). Pass ne réinvente pas la roue et se base tout simplement sur le PGP pour chiffrer les mots de passe. Ceux-ci sont stockés dans ~/.password-store.

Disponible nativement dans les dépôts Debian (et dans les dépots des principales distributions), il s’installe facilement avec la commande apt.

De base l’outil fonctionne uniquement à l’aide d’une interface en ligne de commande. Bien qu’efficace elle pourrait paraitre austère à certains. Mais c’est là qu’on touche à une grande qualité de Pass, il existe de nombreux modules permettant d’intégrer une interface graphique, d’exporter ses mots de passe, de connecter Pass à son navigateur à l’aide d’extensions disponibles ici). Je vous conseille d’ailleurs passff si vous utilisez Firefox.

Pour l’installation, comme évoqué plus haut, rien de plus simple :

sudo apt update
sudo apt install pass

Pass utilisant une clé PGP, pour en créer une si vous n’en avez pas vous pouvez utiliser la commande suivante:
Exemple d’options: RSA, 2048, not expire, votre@mail.com

gpg --gen-key

Ensuite pour initialiser votre repository :

pass init votre@mail.com

Voilà pass est installé ! Voici quelques commandes de base :

Voir son arborescence de mot de passe :

pass

Générer un nouveau mot de passe : pass generate

Astuce: Ajoutez PASSWORD_STORE_GENERATED_LENGTH=32 dans votre environnement pour définir la longueurs des mots de passe qu’il génère.

Copier un mot de passe:

pass -c monMotDePasse

Centraliser, versionner ? Git !

Bon c’est bien beau mais si vous avez suivi, mes mots de passe sont juste des fichiers chiffrés avec PGP placés dans ~/.password-store. Comme je l’avais précisé c’est l’idéologie KISS, faire une chose simple mais bien.

Quand on utilise des mots de passe au quotidien, deux fonctions vont très rapidement nous manquer: comment versionner et comment partager ses mots de passe. Il existe un outil standard qui répond très bien à ces deux besoins : Git ! Ce qui tombe plutôt bien vu que Pass a décidé de faire simple.

Pass implémente directement Git et ses commandes. Il suffit de placer la commande pass devant. Dans notre exemple, nous allons donc initialiser le dépôt Git. Il n’est pas nécessaire d’être dans le répertoire:

pass git init

Ensuite on définit le répertoire distant :

pass git remote add origin git@votreReposGit:/votreProjet

Important: Mettez les dans un répertoire privé. Même si les mots de passe sont entièrement chiffrés, vos arborescences peuvent aider d’éventuels attaquants.

Pour finir il ne reste qu’à push :

pass git push

Voilà vos mots de passe sont versionnés et synchronisés !

Aller plus loins avec la YubiKey

Donc on a nos mots de passe chiffrés, synchronisés et versionnés. On commence donc à avoir un gestionnaire de mot de passe très efficace. Néanmoins on peut encore améliorer un peu la sécurité. En effet, même si celle-ci est protégée par une pass-phrase, la clé PGP est sur le même périphérique que vos mots de passe.

Deux choix s’offrent à nous, stocker les mots de passe sur un périphérique séparé ou stocker la clé sur un périphérique séparé. J’ai choisi la clé pour des questions de simplicité, en effet, la solution existe déjà. J’ai choisi YubiKey, elle est assez connue et sert principalement à faire de l’authentification à double facteur. Elle permet aussi la fonctionnalité de smartcard GPG !

YubiKey5NFC

Comment ça marche ?

La clé stocke vos clés privées PGP. Lors de l’utilisation de la clé privée par l’agent pour déchiffrer vos mots de passe, celui-ci va aller chercher la clé privée dans le magasin de la YubiKey. Sans elle, il n’y a pas de clé privée sur le PC.

Pour conclure, il existe d’autres solutions sur le marché mais utilisant la YubiKey 5 NFC également pour la double authentification, j’ai choisi de rester sur celle-ci. Je n’ai pas eu de soucis de compatibilité ni de difficulté à la faire fonctionner.

Pour savoir comment déplacer votre secret sur votre clé et comment sécuriser celle-ci je vous conseille ce très bon article de NextInpact : Clefs GPG : comment les stocker et les utiliser via une clef USB OpenPGP Card ?

Attention: Il faut bien penser à sauvegarder votre clé privée de préférence hors ligne en cas de perte de votre clé YubiKey.

Conclusion

La configuration de Pass, bien qu’un peu plus exigeante que d’autres alternatives grand public, est très personnalisable et assez facile après seulement quelques minutes de manipulation. Je dois bien avouer il y a quelques années, avoir eu des réticences à confier tous mes mots de passe à un gestionnaire, mais l’utilisation de grands standard et le choix de toutes les solutions de chiffrement et de stockage / synchronisation, m’ont clairement convaincu de lui faire confiance ce qui est à mon sens le plus important pour un gestionnaire de mot de passe.

Austère au premier regard, on l’apprécie très vite pour sa flexibilité, son efficacité et son utilisation de standard. Il est pour moi, comme Vim ou Firefox un outil indispensable.

Pour les utilisateurs d'AWS, vous pouvez utiliser Pass en backend d'aws-vault, en précisant --backend=pass ou avec la variable d’environnement AWS_VAULT_BACKEND=pass