Articles de l'auteur

Modularité de l'authentification sous OpenBSD

Magazine
Marque
GNU/Linux Magazine
Numéro
275
Mois de parution
mai 2025
Spécialité(s)
Résumé

Si vous êtes coutumier de GNU/Linux, ou même de FreeBSD, vous connaissez sans doute PAM. Il ne s'agit pas du diminutif de Pamela (Rose ?), mais des Pluggable Authentication Modules, permettant de varier les contraintes d'authentification en fonction des services (login, SSH, su, etc.) et des besoins. Ce mécanisme, doublé d'une API, hérité de Sun Microsystems n'existe pas sous OpenBSD et est remplacé par le classique système de classes, et entre autres, leurs configurations via /etc/login.conf...

aStrA : vers de vraies chaînes de caractères en C !

Magazine
Marque
GNU/Linux Magazine
Numéro
275
Mois de parution
mai 2025
Spécialité(s)
Résumé

Qu’est-ce qui caractérise un langage de haut niveau ? On peut dire que celui-ci doit au moins gérer les chaînes de caractères facilement et sans aucun risque. BASIC le faisait il y a soixante ans. N’importe quel langage courant le fait actuellement. Pourtant, le précédent article a démont(r)é [1] que le C n’en fait pas partie, surtout à cause des fonctions printf(3) et assimilées : elles procurent une illusion d’aisance qui s’effondre vite et c’est un vrai nid à failles. Nous avons suggéré quelques solutions que nous allons mettre en œuvre ici, grâce notamment au format des chaînes alignées [2] étendu avec des attributs, d’où le nom aStrA. Cela demande un peu de bricolage pour les réaliser en C, mais c’est un premier pas en avant, une base qui ne demande qu’à évoluer.

Rocket : construisez une API REST en Rust

Magazine
Marque
GNU/Linux Magazine
Numéro
275
Mois de parution
mai 2025
Spécialité(s)
Résumé

Rapidité de traitement, fiabilité, sécurité, robustesse… Il y a de nombreuses raisons de choisir Rust comme langage pour développer une application en ligne. Mais quel framework choisir ? Nous vous proposons aujourd’hui d’examiner Rocket, un framework qui concilie ces qualités avec simplicité et rapidité de développement.

PCI passthrough sous FreeBSD avec bhyve

Magazine
Marque
GNU/Linux Magazine
Numéro
274
Mois de parution
mars 2025
Spécialité(s)
Résumé

Dans un précédent article [1] nous avons exploré la possibilité, sous GNU/Linux, de créer des machines virtuelles capables d'accéder à du matériel PCI/PCIe dans le but, entre autres, de faciliter le développement de pilotes de périphériques OpenBSD. Ce type de fonctionnalités n'est pas spécifique à QEMU/KVM et il est temps de voir comment cela se passe de l'autre côté de l'univers Unix open source, avec FreeBSD.

printf(3) : ras la pile !

Magazine
Marque
GNU/Linux Magazine
Numéro
274
Mois de parution
mars 2025
Spécialité(s)
Résumé

Je rêve d’un jour où la sécurité ne sera plus une option. J’ai donc commencé à mettre au point le modèle CDI [1] [2] : une architecture Harvard modifiée qui dédie un troisième espace d'adressage indépendant pour la pile de contrôle. Ce n'est pas la solution à tous les problèmes, mais ça y contribue beaucoup ! Pour preuve, un exploit récent divulgué à pwn2own [3] aurait facilement été stoppé par ce mécanisme. Mais cet exploit me sidère par son vecteur d'attaque que j’ignorais jusque-là : l'incontournable printf(3). Quand votre librairie standard inclut l’équivalent d’une machine de Turing, pour dynamiquement parser ou afficher du texte, ce n'est plus de l’idiosyncrasie mais de l'idiotie.

Java, votre prochain langage de script ?

Magazine
Marque
GNU/Linux Magazine
Numéro
274
Mois de parution
mars 2025
Spécialité(s)
Résumé

Java est un langage de programmation très connu et largement utilisé pour des applications côté serveur, des applications mobiles ou des clients lourds. Ce qui est sans doute moins connu, c’est qu’il est aussi possible de l’utiliser comme un langage de script, avec certaines limitations que nous allons voir.

Développez des API rapides avec le framework FastAPI

Magazine
Marque
GNU/Linux Magazine
Numéro
274
Mois de parution
mars 2025
Spécialité(s)
Résumé

Il y a plusieurs années, j'ai commencé à travailler dans le monde du DevOps. Une grande partie de ce domaine implique le développement, et j'ai eu l'occasion de travailler sur divers projets utilisant des technologies comme .NET, Java Spring Boot et Python. Bien que chaque technologie ait ses mérites, c'est le Python qui a vraiment attiré mon attention en raison de sa puissance, tant pour le développement que pour l'administration système. Cependant, un projet en particulier a grandement influencé ma décision de me concentrer davantage sur le développement Python. Ce projet utilisait le framework FastAPI, qui m'a motivé à explorer davantage ses capacités. Aujourd'hui, je souhaite partager avec vous la puissance et la simplicité de ce framework pour développer des API performantes et pertinentes.