Capsicum, une séparation fine des privilèges pour UNIX

Posté par  . Modéré par tuiu pol. Licence CC By‑SA.
94
21
mar.
2011
Sécurité

Le projet Capsicum, lancé l'année dernière, tente d’adapter le modèle de sécurité par capacités (« capabilities ») aux systèmes UNIX. En deux mots, il s’agit de permettre aux applications de faire tourner certaines parties de leur code dans des « sandboxes » (bacs à sable) aux droits très restreints, gérés finement, avec la possibilité de recevoir ou de déléguer dynamiquement une partie de ces droits.

C’est une approche de la sécurité qui mise sur la flexibilité et l’intégration directe dans les applications (au contraire de politiques externes décidées par l’administrateur système, comme avec SELinux) pour respecter le Principle of Least Authority, qui recommande qu’un bout de programme donné fonctionne avec seulement les droits dont il a besoin pour accomplir sa tâche. Ainsi, les conséquences d’une faille sont réduites et les vecteurs d’attaque diminuent énormément. Par exemple, je ne veux pas que le logiciel qui lit mes fichiers PDF ait le droit de lire le contenu de mon répertoire personnel et d’envoyer des e-mails.

Capsicum introduit de nouveaux appels et objets système, qui demandent une (relativement petite) modification du noyau, ainsi qu’une bibliothèque logicielle en espace utilisateur pour utiliser ces nouveaux appels système. FreeBSD a déjà fait les modifications nécessaires, et les chercheurs ont pu facilement convertir plusieurs applications au modèle Capsicum : tcpdump, dhclient, gzip et, avec l’aide d’un développeur Google, le navigateur Web chromium.

Capsicum peut ainsi renforcer considérablement la sécurité des applications UNIX classiques, sans demander de les recoder entièrement. Reste à voir si les développeurs du monde du Libre seront convaincus par ces approches compartimentées, et prêts à les prendre en compte lors de la conception de leurs logiciels.

Sortie du langage Go en version 1.6

Posté par  . Édité par esdeem, Davy Defaud, Lucas, Benoît Sibaud, M5oul, claudex et palm123. Modéré par patrick_g. Licence CC By‑SA.
72
20
fév.
2016
Golang

Go est un langage libre créé par Rob Pike (UTF-8), Ken Thompson (Unix) et Robert Griesemer (V8) dont le but était de « régler les problèmes de Google ». Il se retrouve finalement apte à résoudre des problèmes bien plus divers.

Go est un langage compilé à typage statique, dont l’objectif est de rester le plus simple possible tout en incluant les fonctionnalités indispensables d’aujourd’hui : réseau, concurrence, Unicode, ramasse‐miettes, outils de développement…

À titre d’exemple, un serveur Web avec la bibliothèque standard se résume à quelques lignes :

package main

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

Journal Les mots de passe des premiers développeurs/utilisateurs d'UNIX, notamment celui de Ken Thompson

70
11
oct.
2019

En 2014, une ingénieure, Leah Neukirchen, trouve un fichier /etc/passwd archivé avec du vieux code source BSD et se décide de déchiffrer les mots de passe des premiers développeurs/utilisateurs d'UNIX.

À cette époque, ce fichier /etc/passwd contentait l'empreinte (hash) de chaque mot de passe des utilisateurs. Aujourd'hui, un demi-siècle après, ce fichier /etc/passwd existe toujours, mais il ne contient plus les empreintes des mots de passe depuis très longtemps.

Assez facilement, les mots de passe sont trouvés les uns (…)

Journal Plan9 pour les nuls

Posté par  (site web personnel) . Licence CC By‑SA.
70
18
fév.
2014

Plan9 pour les nuls

Je suis effaré par l'ignorance des gens d'ici quant à Plan9. Dans le récent journal qui en parle, je me trouve être le seul qui sache un peu de quoi il est question, et c'est un comble, car je n'y connais presque rien.

Alors puisque ce presque rien est toujours mieux que rien, je vous propose une rapide introduction à Plan9, et vous invite à poursuivre par vous même en lisant la documentation et en installant (…)

Portrait de Ken Thompson

Posté par  . Édité par ZeroHeure, Ysabeau 🧶 🧦, Davy Defaud et Pierre Jarillon. Modéré par Davy Defaud. Licence CC By‑SA.
59
29
sept.
2019
Culture

Jʼai récemment fait un portrait biographique en vidéo de ce cher Ken Thompson. Ken Thompson, ce nom ne dit peut‑être rien à certains et certaines dʼentre vous, mais GNU/Linux nʼexisterait simplement pas sans lui.

En effet, cʼest lui le créateur originel dʼUNICS (il lʼavait nommé comme ça, en jeu de mots par rapport à un système qui s’appelait MULTICS), et d’un grand nombre de petits outils qu’on utilise tous les jours : le Thompson Shell (qui a servi dʼinspiration au Bourne Shell), la commande grep, la possibilité de connecter des processus avec les tubes (pipes |), et plein dʼautres éléments qui sont les fondations de tous les systèmes UNIX.

Le langage Go fête ses 4 ans

Posté par  . Édité par Florent Zara, claudex, Benoît Sibaud et Bruno Michel. Modéré par patrick_g. Licence CC By‑SA.
57
13
nov.
2013
Golang

Le langage Go, parfois nommé Golang et créé principalement par Robert Griesemer, Rob Pike et Ken Thompson (des grands noms, que dis-je, des légendes du monde UNIX), chez Google, vient de fêter ses 4 ans. Le langage semble commencer à trouver des applications dans des projets de grande envergure, au delà de projets internes à Google. Pour un langage relativement jeune, c'est encourageant.

logo Go

NdM : 2 composants de LinuxFr.org sont codés en Go, img et epub.

The Go Programming Language

Posté par  . Édité par ZeroHeure et palm123. Modéré par Ontologia. Licence CC By‑SA.
56
6
déc.
2015
Golang

Ce titre me rappelle quelque chose, les noms des auteurs me rappellent quelque chose aussi. Un certain Kernighan…
Il me faut remonter assez loin dans ma mémoire, à une époque où la lecture d'un seul livre permettait de s'occuper un sacré bout de temps.

couverture

Nous avons bien là l'auteur du mythique « The C Programming Language » qui reprend la plume pour un nouveau langage. Cela attise ma curiosité, je contacte l'éditeur qui me propose un spécimen en échange de mon avis impartial. Impartialité toute relative vu les souvenirs et le respect qu'imposent les auteurs du livre et du langage !

Plan9 en GPL v2, pour les nuls

Posté par  (site web personnel, Mastodon) . Édité par palm123, ZeroHeure et tuiu pol. Modéré par Florent Zara. Licence CC By‑SA.
55
19
fév.
2014
Technologie

L'université de Berkeley en Californie a reçu l'autorisation d'Alcatel-Lucent de publier Plan9 en GPLv2. Pour rappel, Plan9 est un OS, descendant de Unix Time-Sharing System, développé chez Bell Labs, par Rob Pike, Ken Thompson, Dennis Ritchie et d'autres.

Glenda, logo de Plan9

Comme il semble que peu de monde sache ce qu'est Plan9, voici, dans la suite de la dépêche, une rapide introduction à Plan9. Nous vous invitons à poursuivre par vous même en lisant la documentation et en installant Plan9 sur votre cluster de RaspberryPi, vos Thinkpads ou vos machines virtuelles pour vous faire une idée de la bête par vous-même.

NdA : Merci à eggman et Sygne pour leurs journaux respectifs sur le sujet, sous licence CC by-sa.

Sortie d'une première version stable de Go

Posté par  (site web personnel) . Édité par Nÿco. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
48
9
avr.
2012
Golang

Go est un langage de programmation généraliste, sous licence BSD, à typage statique, disposant d'un ramasse-miettes et de facilités pour gérer la concurrence. Ses avantages sont d'être concis et expressif, de compiler très rapidement et de proposer les performances d'un langage compilé avec la souplesse d'un langage interprété.

Après deux ans et demi de développement, la première version stable du langage Go, nommée Go 1, est sortie. Elle vise à apporter de la stabilité sur les prochaines années pour les utilisateurs du langage, mais aussi pour les auteurs, qui vont ainsi pouvoir écrire des livres dont les exemples et explications continueront d'être valables bien après leur sortie. En particulier, cela implique une compatibilité garantie de tout programme écrit avec la version 1.0 vers toutes les versions 1.x.

Notons que le langage a fortement évolué depuis les premières annonces et que son positionnement a également été revu. Par exemple, Go était initialement vendu comme un langage de programmation système mais il est maintenant décrit comme un langage généraliste, ce qui correspond mieux à l'utilisation qui peut en être faite. Autre changement, Go était au départ un projet de Google mais il n'y a plus, aujourd'hui, de mention de Google sur la page d'accueil du site officiel. Cela ne veut pas dire que Google se désintéresse de Go (pour preuve, il est utilisé pour des composants critiques comme vitess pour Youtube) mais que les auteurs du langage souhaitent mettre en avant la communauté qui s'est construite autour du langage.

Des binaires pour Go 1 sont fournis sur le site officiel pour Linux, FreeBSD, Mac OS X et Windows au cas où votre distribution ne fournirait pas encore de paquets officiels.

NdM : merci à Xavier Claude pour la rédaction d'une dépêche sur le même sujet qui a été intégrée à celle-ci.

De tout, de rien, des bookmarks, du bla‐bla #44

Posté par  (site web personnel) . Édité par Davy Defaud, baud123, Nÿco, Benoît et Bruno Michel. Modéré par baud123. Licence CC By‑SA.
46
1
nov.
2012
Technologie

NdM : CrEv publiait cette série de veille technologique orientée Web dans ses journaux. Nous (modérateurs) lui avions demandé s’il souhaitait les publier en dépêches, ce qu’il a fait déjà à deux reprises. Voici donc le résultat de l’étape, CrEv a rédigé cette dépêche dans l’espace de rédaction. Merci donc à tous.

Comme à sa presque habitude, voici un petit condensé de ma veille.
Il s’agit comme souvent (mes journaux et maintenant mes dépêches) essentiellement de bookmarks, très légèrement commentés. C’est plutôt orienté développement, essentiellement côté Web et JavaScript, mais j’essaie aussi de toujours avoir deux ou trois petites choses annexes. Le but étant juste de partager et d’initier discussions, débats, avis, tousckevouvoulez.

Comme toujours, vous trouverez une liste des liens présentés en fin d’article, pour que les plus rapides puissent cliquer directement sans lire le bla‐bla qui traîne autour.

Bonne lecture !

Journal Plan9 goes GPL v2

Posté par  . Licence CC By‑SA.
45
14
fév.
2014

Petit journal pas tout à fait bookmark.

L'université de Berkeley en Californie a reçu l'autorisation d'Alcatel-Lucent de publier Plan9 en GPL v2.
- La license : http://akaros.cs.berkeley.edu/files/Plan9License
- le dépôt github : https://github.com/brho/plan9

Pour rappel, Plan9 est un OS, descendant de Unix Time-Sharing System, développé chez Bell Labs, par Rob Pike, Ken Thompson, Dennis Ritchie et d'autres.

Mes sources : Akaros (Berkeley)

Journal The Go Programming Language

Posté par  . Licence CC By‑SA.
39
6
déc.
2015
Ce journal a été promu en dépêche : The Go Programming Language.

The Go Programming Language

Alan A. A. Donovan et Brian W. Kernighan

Ce titre me rappelle quelque chose, les noms des auteurs me rappellent quelque chose aussi. Un certain Kernighan…
Il me faut remonter assez loin dans ma mémoire, à une époque où la lecture d'un seul livre permettait de s'occuper un sacré bout de temps.

Nous avons bien là l'auteur du mythique « The C Programming Language » qui reprend la plume pour un nouveau langage. Cela attise ma curiosité, je (…)

Journal Deux astéroïdes aux noms des coauteurs d'Unix

Posté par  . Licence CC By‑SA.
38
7
mar.
2012

Rob Pike a très sobrement annoncé que deux nouveaux astéroïdes viennent d'être nommés d'après les coauteurs d'Unix.
Je vous présente donc 300909 Kenthompson et 294727 Dennisritchie dont voici les données respectives:

294727 Dennisritchie:
http://ssd.jpl.nasa.gov/sbdb.cgi?ID=a0294727
300909 Kenthompson:
http://ssd.jpl.nasa.gov/sbdb.cgi?ID=a0300909

Une photographie de ce dernier:
http://walkon.hopto.org/pictures/temp-2012-02-27/html/B030.html

On s'amusera d'apprendre que la machine qui a servi à produire les données relatives à leurs orbites se nomme MPCLINUX.

Quelques mots sur cnet
http://news.cnet.com/8301-30685_3-57392126-264/two-asteroids-named-after-unix-co-creators/

Je ne sais pas pour vous, mais moi, ça me laisse songeur…

Les mots de passe des premiers développeurs‐utilisateurs d’UNIX, notamment celui de Ken Thompson

38
14
oct.
2019
Sécurité

En 2014, une ingénieure, Leah Neukirchen, trouve un fichier /etc/passwd archivé avec du vieux code source BSD et décide de déchiffrer les mots de passe des premiers développeurs‐utilisateurs d’UNIX.

Assez facilement, les mots de passe sont trouvés les uns après les autres. Je ne sais quels étaient vos premiers mots de passe, mais, personnellement, j’utilisais le même sur beaucoup de mes comptes et c’était soit des mots de la langue française faciles à taper, soit le nom de ma copine.

Ces tout premiers développeurs‐utilisateurs d’UNIX étaient‐ils plus inventifs ? À vous d’en juger, les voici en deuxième partie.

Groff sort en version 1.21

Posté par  (site web personnel) . Modéré par patrick_g.
37
17
jan.
2011
GNU
C'est le 31 décembre 2010 que Werner Lemberg, le principal mainteneur de groff, a annoncé la sortie de la version 1.21, soit près de deux ans après la sortie de la précédente version.

Pour rappel, groff est l'implémentation GNU de l'ancestral logiciel roff, interpréteur du langage de formatage de texte du même nom. Groff est généralement utilisé sur nos machines pour afficher nos pages de manuel, mais, outre la sortie en ASCII, latin1 ou UTF-8, groff peut aussi créer des fichiers HTML, xhtml, dvi, PS, ainsi que des fichiers aux formats spécifiques à certaines imprimantes.

Voici quelques-unes des améliorations apportées par cette nouvelle version:
  • Correction d'une petite faute dans tmac/hyphen.fr qui rendait impossible la césure des lignes des textes français ;
  • Ajout d'une nouvelle catégorie d'alarme nommée file pour indiquer l'absence d'un fichier appelé par mso ;
  • Amélioration du support des langues asiatiques et en particulier du japonais. C'est d'ailleurs cette amélioration importante qui a motivé Werner Lemberg à publier cette nouvelle version de groff ;
  • Création d'une nouvelle catégorie de piège (trap) actionnable lorsqu'une ligne commence par un espace, sous réserve que soit définie la macro lsm. Le saut de ligne qui advient normalement dans ce cas n'a alors pas lieu.

En seconde partie de dépêche est proposée une plus large présentation de groff et de son histoire.