Introduction

Lors de mon dernier travail sur Cockpit, je me suis rendu compte que ce dernier reposait beaucoup sur systemd. En effet, en essayant l'interface Web de Cockpit, je me suis rendu compte qu'on pouvait ajouter pas mal de renseignements sur la machine via systemd. Vu la quantité d'informations disponibles, un article s'imposait pour présenter l'ensemble des modifications de mon système.

De même, ayant adopté systemd, il m'a semblé plus intéressant d'essayer de gérer la configuration de mes machines en utilisant les mécanismes systemd qui semblent maintenant assez bien éprouvés.

Bon, je sais que systemd est un sujet encore épineux en 2017 mais, je crois qu'en utilisant ses mécanismes de configuration le plus possible, on arrive à une méthode de configuration un peu plus universelle. En effet, sous réserve que d'autres distributions reposent sur les services systemd présentés dans cet article, un administrateur système qui changerait d'environnement serait moins perdu (il y a de grandes différences entre un système RedHat et un système Debian) et, de fait, serait beaucoup plus efficace.

Mais voyons plutôt ce que nous pouvons faire avec systemd.

L'ensemble de ce qui suit a été réalisé sur plusieurs machines sous Debian Stable (Stretch au moment de la rédaction de cet article).

Informations sur la machine via /etc/machine-info

hostnamectl est une commande systemd qui permet de customiser plusieurs éléments:

  • l'emplacement physique de la machine
  • l'environnement de la machine (production/dev/test/etc).
  • le type de machine (chassis).
  • Un nom élégant.
  • l'icône de la machine (dont le nom est au format XDG).

Ces informations sont stockées dans le fichier /etc/machine-info. On peut également les modifier avec hostnamectl.

Gestion du temps via systemd-timesyncd

J'utilisais depuis des temps immémoriaux l'antique ntpdate pour synchroniser l'heure de mon serveur public. Attention, cette option est ultra importante car mon serveur public n'a pas d'horloge temps réel indépendante. Donc, dès qu'il boote, il lui faut récupérer l'heure via le réseau, histoire d'avoir les bonnes dates dans les logs.

Mais avec systemd, il y a un outil pour faire ça: timedatectl. Si je peux virer un paquet de mon système, autant le faire non ? Par ailleurs, la documentation de timedatectl indique que ce dernier stocke la date et l'heure sur disque ce qui permet de reprendre à une date moins vieille que epoch lors du reboot de la machine.

La configuration de timedatectl est assez simple, vous devez simplement renseigner le fichier /etc/systemd/timesyncd.conf avec la bonne liste de serveurs, dans le cadre d'une machine à configuration statique.

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See timesyncd.conf(5) for details.

[Time]
NTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org

Dans le cas, d'une machine servie par DHCPv4, je vous conseille de ne pas configurer ce fichier mais d'utiliser la directive UseNTP dans la configuration du service networkd et de servir la liste des serveurs NTP via votre serveur DHCP: votre configuration sera alors centralisée correctement.

Ensuite, n'oubliez pas de supprimer le paquet ntpdate, ce qui supprime aussi l'unité systemd associée. Enfin, vous devrez activer le service systemd-timesyncd.service tout en ayant pris soin de recharger le démon systemd.

Gestion des interfaces réseaux via systemd-networkd

Bon ça fait des années que j'utilise le système ifup de Debian qui marche assez bien finalement. Donc pour moi, NetworkManager est un peu "overkill". Néanmoins, systemd présente un mécanisme intéressant pour la gestion des interfaces réseau: il s'agit de systemd-networkd.

Globalement la logique est un peu la même que celle de ifup:

  • On définit un fichier .network de définition d'un périphérique réseau.
  • On y indique les différentes options disponibles dedans.
  • Au démarrage de la bécane, systemd se charge "d'allumer" les différents périphériques réseau.

Voici quelques fichiers que j'utilise au boulot et à la maison, pour vous montrer différentes utilisations possibles et que networkd sait être versatile...

Connexion de l'interface filaire ethernet de base via DHCP

Dans ce qui suit, l'interface réseau ethernet se nomme eno1. Pour savoir ce que vous avez, un simple ip link vous donnera la liste des interfaces repérées par le noyau.

Vous devez créer un fichier se terminant par .network dans le répertoire /etc/systemd/network/ (ex: /etc/systemd/network/ethernet.network) et contenant les lignes à suivre:

[Match]
Name=eno1

[Network]
Description="Primary Ethernet card"
DHCP=yes

Comme vous le voyez, c'est très simple ! Le principe est d'inscrire une directive de match qui permettra de repérerer la carte réseau concernée par le fichier .network. Puis, on indique qu'on souhaite utiliser le DHCP.

Connexion de l'interface filaire ethernet de base via DHCP avec IPv6

Dans le cas qui suit, on souhaite récupérer une adresse IPv4 via DHCP mais utiliser les mécanismes IPv6 d'allocation automatique d'adresses.

[Match]
Name=eno1

[Network]
Description="Primary Ethernet card"
DHCP=ipv4
LinkLocalAddressing=ipv6
IPv6AcceptRA=true

[DHCP]
UseDNS=true
UseDomains=true
UseNTP=true
UseRoutes=true
UseTimezone=true
ClientIdentifier=mac

Pour la directive DHCP, on souhaite:

  • Configurer le DNS via DHCP.
  • Configurer le domaine par défaut via DHCP.
  • Configurer les serveurs NTP utilisés par DHCP.
  • L'authentification DHCP se fera par adresse mac.

Connexion de l'interface filaire ethernet de base via DHCP filtrant

Au bureau, j'ai un serveur DHCP filtrant sur les adresses MAC et qui s'attend à avoir des machines Windows. Pour cela, on va indiquer qu'on souhaite identifier le client DHCP via l'adresse MAC de la carte réseau et on va ajouter un identifiant de vendeur qui aura pour contenu MSFT 5.0 (un truc qui dit que c'est un MS-Windows):

[Match]
Name=eno1

[Network]
Description="Primary Ethernet card"
DHCP=ipv4
LinkLocalAddressing=no

[DHCP]
UseDNS=true
ClientIdentifier=mac
VendorClassIdentifier="MSFT 5.0"

Connexion Wifi avec WPA

C'est la connexion classique sur une borne wifi. Ici, il y a une petite astuce: nous allons utiliser wpa_supplicant (le classique) et créer une "fausse" unité systemd pour indiquer à systemd-networkd qu'il faut utiliser wpa_supplicant.

D'abord, la configuration de la carte réseau Wifi (wlp1s0 chez moi) dans /etc/systemd/network/wlp1s0.network:

[Match]
Name=wlp1s0

[Network]
Description="Primary WiFi card"
DHCP=ipv4
LinkLocalAddressing=ipv6
IPv6PrivacyExtensions=true
IPv6AcceptRA=true

[DHCP]
UseDNS=true
UseNTP=true
UseDomains=true
ClientIdentifier=mac

Dans cette configuration, on configure IPv4 par DHCP, IPv6 par les mécanismes d'annonce de routeur et, bien sûr, on active les extensions de vie privée sur IPv6. Rien que du classique.

Ensuite, il vous faut un fichier de configuration pour wpa_supplicant, nommé de la bonne manière, c'est-à-dire en tenant compte du nom de l'interface. Dans notre cas, ce sera /etc/wpa_supplicant/wpa_supplicant-wlp1s0.conf:

ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=1
fast_reauth=1

network={
    ssid="Foobar1"
    psk="password1"
    priority=1
}
network={
    ssid="Foobar2"
    psk="password2"
    priority=2
}

Enfin, il reste à créer une "fausse" unité systemd et à l'activer:

# systemctl enable wpa_supplicant@wlp1s0.service
# systemctl start wpa_supplicant@wlp1s0.service

Normalement, ça devrait bien fonctionner...

Connexion filaire statique avec une route supplémentaire

Pour la maison, j'ai une bécane qui sert de pont "Wifi" pour le réseau 192.168.1.0. Voici la configuration spécifique de sa carte ethernet:

[Match]
Name=eno1

[Network]
Description="Primary Ethernet card"
DHCP=no
LinkLocalAddressing=no
IPForward=ipv4

[Address]
Address=192.168.1.7/24
Broadcast=192.168.1.255

Bien entendu, vous devez utiliser un mécanisme de forwarding IPv4 via nftables pour que ça fonctionne complètement (mais ça, c'est hors-sujet pour aujourd'hui).

Création d'un pont pour des machines virtuelles sur DHCP filtrant

Au boulot, j'ai besoin d'avoir un pont ethernet pour mes machines virtuelles sous KVM. Pour faire simple, j'utilise un pont via networkd. Mais il y a un peu de magie dans l'histoire: n'oublions pas que mon serveur DHCP est filtrant sur l'adresse MAC. Du coup, je suis obligé d'affecter l'adresse MAC de la carte réseau ethernet au pont et de mettre une fausse adresse MAC pour la carte réseau. C'est chiant mais sinon, ça ne fonctionne pas du tout !

Vous devez créer 3 fichiers:

  • Un fichier de périphérique réseau virtuel pour le pont (br0.netdev).
  • Un fichier de configuration réseau pour le pont (br0.network).
  • Un fichier qui va inscrire la carte ethernet physique dans le pont.

Contenu de /etc/systemd/network/br0.netdev:

[NetDev]
Description="Network Bridge for KVM"
Name=br0
Kind=bridge

Contenu de /etc/systemd/network/br0.network:

[Match]
Name=br0

[Link]
MACAddress=88:51:fc:4e:8a:91

[Network]
Description="Network configuration for Bridge"
DHCP=ipv4
LinkLocalAddressing=no

[DHCP]
UseDNS=true
UseMTU=true
UseDomains=true
ClientIdentifier=mac
VendorClassIdentifier="MSFT 5.0"

Contenu de /etc/systemd/network/ethernet-slave.network:

[Match]
Name=eno1

[Link]
MACAddress=88:51:fc:4e:8a:92

[Network]
Description="Primary Ethernet card (bridged)"
Bridge=br0

Ensuite, relancez le service:

# systemctl restart systemd-networkd.service

Un peu de ménage

Une fois que votre configuration est effective, vous pouvez supprimer les anciens paquets (oui, je sais, ça fait bizarre de supprimer un paquet aussi essentiel que ifupdown mais, vous n'en avez plus besoin):

# apt purge isc-dhcp-client isc-dhcp-common bridge-utils ifupdown
# apt autoremove

Gestion du résolveur DNS via systemd-resolved

Bon, c'est une opération assez simple qui consiste simplement à activer le service systemd-resolved et à remplacer le fichier /etc/resolv.conf par un lien symbolique vers le fichier maintenu par systemd:

# systemctl enable systemd-resolved.service
# systemctl start systemd-resolved.service
# ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

Une fois opérationnel, le service se charge de gérer la résolution de noms. Plus besoin de gérer le resolv.conf à la main ou via ifupdown.

Gestion des logs

Après quelques mois de fonctionnement correct, je me suis résolu à passer à journald en totalité. En effet, je trouve que ce dernier, qui est installé si vous utilisez systemd remplit bien son rôle. En maitrisant les commandes de consultation, on arrive finalement à s'en sortir assez facilement.

J'en ai donc profité pour configurer son stockage permanent et virer les résidus de syslog. Voici le contenu de mon fichier /etc/systemd/journald.conf:

[Journal]
Storage=persistent
SystemMaxUse=200M
MaxFileSec=1month
ForwardToSyslog=no

Suivi de systemctl restart systemd-journald. Pour virer rsyslog:

# apt purge rsyslog

Ça fait toujours un paquet en moins à gérer.

Abandonner le traditionnel cron

Oui, systemd gère un peu l'équivalent de cron via les "timers". C'est une approche qui me séduit depuis le début même si, à l'usage, une simple crontab est plus simple à gérer. Car dans le cas de systemd, vous aurez deux choses à faire:

  • créer un service à lancer.
  • créer un timer pour le service.

Néanmoins, d'un point de vue de sysadmin, cela fait sens car de toute manière, le script que vous lancez par le démon cron doit bien se situer quelquepart. Avec systemd, vous avez un peu de travail supplémentaire mais vous pouvez lire assez facilement l'emplacement du service/script. Ce référencement est quasiment obligatoire (il est indiqué dans la définition du service), c'est donc plus beaucoup plus propre, aucun risque de se demander où est situé le script à lancer.

Néanmoins, se débarrasser de cron n'est pas chose aisée. En effet, certains paquets appellent explicitement cron ou au moins le paquet cron-daemon. Mais, bonne nouvelle, il reste un subterfuge: il existe un "cron like" basé sur systemd: systemd-cron. Ce paquet installe le paquet virtuel cron-daemon.

Donc, un simple:

# apt install --no-install-recommends systemd-cron

fera l'affaire. Bon, vous me direz: quel est l'intérêt de remplacer cron par un autre paquet ? Moi, je vous répondrais que c'est pour la beauté du geste !

Conclusions

En fin de l'année 2017, systemd a bien progressé. Il fait beaucoup de choses de facto. Ce n'est pas parfait, notamment pour cron mais c'est surtout lié à la manière d'empaqueter les logiciels sous Debian.

Dans mon objectif de réduire le nombre de paquets à administrer sur une machine aux capacités limitées, systemd remplit parfaitement son rôle. Je ne peux que vous recommander de l'utiliser. Certes parfois, vous allez rencontrer des bugs car tout n'est pas parfait. Mais je trouve que le concept d'un système de configuration déclaratif est quand même beaucoup plus clair qu'un système mélangeant code Shell et fichier de conf.

Par ailleurs, et pour relancer une énième polémique, je trouve que systemd est finalement assez KISS et correspond bien à la philosophie Unix qui implique d'utiliser des outils dédiés pour chaque action. Car, c'est bien ce qu'on retrouve dans systemd: les informations sur la machine se gèrent avec hostnamectl, le réseau avec networkd, la gestion du temps avec timesynd, la gestion de la résolution DNS avec resolved. Systemd propose donc bien pleins d'outils dédiés pour chaque action d'administration système.

Dans tous les cas, pour moi, il n'y a plus de débats possibles: mon serveur public démarre bien plus vite et sans accroc depuis que j'utilise systemd. Auparavant, j'avais toujours mon service dovecot qui ne fonctionnait pas (simplement parcequ'il s'activait au mauvais moment par rapport à l'état de configuration de la carte réseau). J'ai passé des journées entières pour débugguer cette situation sans jamais y parvenir. La migration systemd a tout simplement réglé mon problème après quelques heures de recherche dans les logs.

Posted ven. 17 nov. 2017 20:21:35 Tags:

Introduction

Bon, vous le savez, nous vivons dans un monde où la surveillance des communications devient quasiment totale. Différents acteurs comme la Stasi (la sécurité de l'État) ou encore Google ou Facebook veulent absolument savoir ce que vous vous racontez entre-vous sous couvert de différents motifs.

Alors que nombre de pays ont instauré depuis très longtemps le secret de la correspondance, il vous faudra recourrir à des mesures techniques plus complexes pour assurer que moins de personnes ne lisent vos précieux courriers électroniques.

L'informatique a depuis longtemps réglé ce problème en utilisant le chiffrement asymétrique. Néanmoins ce dernier a l'inconvénient de ne pas être si trivial à employer.

Et si finalement, ce n'était plus si complexe que ça ? Comment faire pour chiffrer et signer facilement ses courriers électroniques avec un minimum de sécurité ?

La réponse (en fait une des nombreuses réponses) se trouve dans l'extension Enigma de Roundcube. Je présente dans cet article, la manière dont j'ai pu le déployer sur mon serveur Debian Stretch.

Principes d'Enigma

Je ne vais pas revenir sur le fonctionnement du chiffrement asymétrique; c'est un pré-requis à la lecture de cet article.

Ce qui est plus important à retenir, c'est qu'Enigma vous propose de stocker vos clefs GPG privées et publiques directement sur le serveur qui héberge Roundcube. De cette manière, vous disposez d'un moyen simple pour toujours avoir votre clef sous la main, lorsque vous souhaitez l'utiliser pour votre courrier électronique.

Enigma n'est qu'une encapsulation de GnuPg. Son fonctionnement permet de transférer tout ce qui est sensible à l'environnment de GnuPg (en version 2.1 sous Debian Stretch) qui est fait pour ça.

A mon sens, cela permet de faire de ces fonctions de chiffrement/signature quelquechose de simple à utiliser au quotidien plutôt qu'un truc de crypto-anarchiste.

Sachez que si vous importez votre clef privée avec un mot de passe de protection, Enigma vous demandera de renseigner ce mot de passe dès qu'il en aura besoin. Votre clef privée est donc potentiellement à l'abri d'un vol immédiat (mais d'un crackage par force brute ou dictionnaire).

Installation des paquets

Pour faire simple, il vous faut installer au moins le paquet roundcube-plugins. Ce paquet suggère d'utiliser php-crypt-gpg. Néanmoins, ce paquet n'est pas diponible dans Debian Stretch, la version stable de Debian au moment de la rédaction de cet article. Ce paquet est indispensable pour faire fonctionner le plugin Enigma.

Vous pourriez tout simplement attendre que la prochaine version stable de Debian entre en production mais voilà, vous avez lu mon introduction et vous avez décidé de protéger un peu plus vos communications. Comment faire ?

Bon, par bonheur, le paquet php-crypt-gpg est disponible dans Debian Buster, la version testing de Debian. De plus, dans sa version actuellement disponible, il peut parfaitement s'installer dans Debian stable. Donc, un simple téléchargment suivi d'une installation manuelle suffit à rendre le plugin opérationnel:

# apt install --no-install-recommends gnupg2 php-console-commandline
# wget http://ftp.fr.debian.org/debian/pool/main/p/php-crypt-gpg/php-crypt-gpg_1.6.0-1_all.deb
# dpkg -i php-crypt-gpg_1.6.0-1_all.deb  

Oui, vous allez me dire que j'aurais pu utiliser l'apt-pinning. Mais, vous le savez, j'administre mes machines personnelles sur mon temps libre qui est ultra compté. Je vais au plus court et j'assume totalement...

Configuration

Voilà, vous avez tout ce qu'il faut pour activer Enigma. Reste encore à le configurer correctement. Voyons comment faire en détails.

Vous devez d'abord ajouter le plugin Enigma dans la liste des plugins autorisés. La liste est disponible dans le fichier /etc/roundcube/config.inc.php:

// List of active plugins (in plugins/ directory)                                                                                                                       
$config['plugins'] = array(
'archive',
'calendar',
'carddav',
'emoticons',
'managesieve',
'zipdownload',
'enigma'
);

Le principe d'Enigma est de stocker votre clef privée (et publique) sur le serveur qui héberge Roundcube, de manière à pouvoir signer et déchiffrer à volonté. Enigma vous impose de déclarer un répertoire pour stocker les clefs. Nous allons utiliser le répertoire /var/local/enigma. Attention, ce répertoire doit être accessible en écriture à l'utilisateur de Roundcube, c'est à dire www-data:

# mkdir -p /var/local/enigma
# chown www-data:www-data /var/local/enigma

Enfin, vous devez simplement configurer le plugin en rédigeant son fichier de configuration dédié, situé dans /etc/roundcube/plugins/enigma/config.inc.php. Ce fichier permet d'imposer certains paramètres à tous les utilisateurs de votre instance Roundcube (oui, un webmail, c'est fait généralement pour plusieurs comptes). En voici un exemple commenté.

<?php
// Enigma Plugin options
// --------------------

// Le pilote utilisé pour PGP
$config['enigma_pgp_driver'] = 'gnupg';

// Le pilote utilisé pour le contenu S/MIME
$config['enigma_smime_driver'] = 'phpssl';

// Activer le debug dans les journaux
$config['enigma_debug'] = false;

// Répertoire de stockage des clefs (privées et publiques) 
$config['enigma_pgp_homedir'] = '/var/local/enigma';

// Emplacement du binaire gpg (auto-détecté par défaut)
$config['enigma_pgp_binary'] = '';

// Emplacement de gpg-agent (auto-détecté par défaut)
$config['enigma_pgp_agent'] = '';

// Activer la vérification des signatures par défaut
$config['enigma_signatures'] = true;

// Activer le déchiffrement des messages
$config['enigma_decryption'] = true;

// Autoriser le chiffrement et la signature
$config['enigma_encryption'] = true;

// Activer la signature par défaut
$config['enigma_sign_all'] = false;

// Activer le chiffrement des messages par défaut
$config['enigma_encrypt_all'] = false;

// Activer l'envoi de la clef publique dans chaque courriel
$config['enigma_attach_pubkey'] = true;

// Durée par défaut de stockage des mots de passe de clefs privées (en
// minutes). 0 indique que le mot de passe est stocké pendant toute la
// session. 
$config['enigma_password_time'] = 5;

// Interdire la génération de clef privée sur le serveur
$config['enigma_keygen_server'] = false;

// Forcer la configuration de certains paramètres
// (Rien dans notre cas)
$config['enigma_options_lock'] = array();

Avec ces éléments, Enigma est prêt à fonctionner.

Utilisation

Ok, Enigma est prêt, il ne reste qu'à le remplir avec vos clefs. Pour cela, vous devez les extraires au format asc par exemple à l'aide de la commande gpg. N'oubliez pas qu'il faut la clef privée et la clef publique:

$ gpg --armor --export-secret-keys my_account@example.com > privkey.asc
$ gpg --armor --export my_account@example.com > pubkey.asc

Ensuite, ouvrez Roundcube et allez dans la page des paramètres, dans l'onglet Préférences: la section "Chiffrement" doit apparaître:

Préférences Enigma

Vous devriez retrouver tous vos paramètres du fichier de configuration. Néanmoins, en fonction des options de verrou, certains paramètres ne peuvent pas forcément être modifiés ici.

Ensuite, vous devez importer au moins une clef privée et une clef publique (vous pouvez faire les deux en même temps). Pour cela, rendez-vous toujours dans l'onglet "Clés GPG" et cliquez sur le bouton "Importer" situé en haut à gauche:

Import des clefs

Choisissez les fichiers .asc précédemment générés et le tour est joué. Vous devriez voir une référence dans la liste des clefs. Cliquer sur cette référence affichera une page complète d'information sur la dite clef.

Passons maintenant aux opérations de chiffrement et de signature. Composez un nouveau courriel et vous devriez voir apparaître une nouvelle option de sécurité avec un cadenas:

Options de chiffrement/signature des messages

Lorsque vous cochez l'option, joindre ma clef publique, elle sera systématiquement envoyée en pièce-jointe de votre message. Chez moi, elle est cochée par défaut, de manière à ce que les gens puissent la récupérer à moindre frais.

Conclusions

Finalement, l'installation du plugin est assez simple. La méthode que je propose pose quand même un certain problème, principalement au niveau de la sécurité sur la maintenance du paquet php-crypt-gpg. Ne l'oubliez pas !

Néanmoins, le plugin est fonctionnel et il vous permettra de signer vos courriels et de déchiffrer ce que vos correspondant équipés d'une solution de chiffrement asymétrique auront envoyé et ce, de manière assez simple, dès que vous aurez accès à votre instance Roundcube.

Cela vous donnera enfin l'impression de rejoindre une communauté de gens sérieux avec la sécurité de leurs communications. L'étape d'après consiste à convertir tous vos correspondants à utiliser le chiffrement asymétrique pour leur correspondance. Ce n'est pas gagné mais pas impossible !

Posted sam. 18 nov. 2017 08:34:23 Tags:

Introduction

Comme au mois d'octobre, je continue mon périple littéraire pour cette année et pour le mois de novembre, j'ai enfin pris le temps d'ajouter un Jack London à ma collection politique. En effet, j'avais déjà lu le "Peuple de l'Âbime" il y a quelques années qui est un reportage journalistique engagé sur les "pauvres" dans l'Angleterre industrielle du début du 20ème siècle. Cette fois, je me suis rabattu sur "Le talon de fer", un ouvrage de fiction politico-économique d'un grand intérêt (enfin, pour moi).

L'histoire

Pour faire un "pitch" rapide, le livre est en fait le journal de bord d'Avis Everhard, de sa recontre avec son futur mari Ernest Everhard jusqu'à sa disparition accidentelle, dans la lutte contre l'organisation du Talon de Fer.

Il raconte, de manière fictionnelle, la montée du socialisme dans l'amérique du début du 20ème siècle, en présentant la montée en puissance d'Ernest Everhard, un leader socialiste et en décrivant la lutte politique puis révolutionnaire qui s'en suit.

Au début, le couple se rencontre lors d'une soirée mondaine où le père d'Avis a invité des personnes de bonne compagnie et un invité à part, Ernest Everhard, un ancien ouvrier devenu philosophe socialiste. Dès le premier chapitre, ce dernier démontre que le système politico-économique réduit des hordes de personnes pauvres à une précarité dangereuse dont ils ne peuvent se sortir vivants. Un a un, il démonte les arguments de ses opposants et prédit l'arrivée d'une révolution socialiste, seul moyen de changer le cours des choses.

Car le système capitaliste exposé dans le livre est un capitalisme débridé, comme à notre époque mais sans aucune forme de protection sociale. Il a également la particularité d'être organisé autour d'une oligarchie concentrée autour de quelques trusts emblématiques (chemins de fer, charbon, métallurgie, etc). Cette oligarchie, dénommée Talon de Fer par Jack London s'est donné l'objectif de soumettre la majorité de la population pour en tirer un bénéfice intéressant pour cette petite caste. London, via la voix d'Everhard présente les choses de manière assez crue: le Talon de Fer n'a aucune considération de ses esclaves et pour ces derniers, la survie passe forcément par la rébellion, il n'y a pas d'autre alternative entre la mort et la lutte.

Everhard prédit une révolution socialiste pour renverser les trusts et établir un système qui empêchera toute possibilité de reconcentration du pouvoir et des moyens dans une forme oligarchique.

Petit à petit, les prédictions d'Everhard se réalisent: le Talon de Fer s'organise, mine petit à petit les lois, créé une milice dédiée, traite avec la classe moyenne pour affaiblir encore plus les prolétaires (ceux qui ne possèdent que leur force de travail pour toute richesse, c'est à dire, ceux qui n'ont rien et qui doivent bosser pour ne pas crever de faim).

Le père d'Avis et un évêque, connaissance de la famille, sont attirés par les théories socialistes et tentent de les appliquer mais ils se rendent compte qu'ils sont exclus de plus en plus de la classe dominante. L'évêque finit ainsi à l'asile et le père d'Avis disparaît mytérieusement

Enfin, la révolution éclate lorsque les élections qui ont fait gagner des sièges aux socialistes et aux ruraux (les Grangers) sont annulées: on les empêche tout simplement de siéger. Un attentat préparé par le Talon de Fer éclate au Congrès et les socialistes sont accusés. S'en suit une répression sévère, dans le sang avec un affrontement immense où de nombreuses personnes meurent.

Très vite, la contre-attaque s'organise. Avis se cache, Ernest est mis en prison puis libéré par ses compagnons. S'en suit une scène apocalyptique à Chicago qui est le siège d'une tentative de révolution socialiste durement matée à coup de mitrailleuse par le Talon de Fer.

Le livre se termine de manière abrupte. La dernière note mentionne qu'il s'agit des dernières lignes d'Avis Everhard avant sa disparition fortuite. Ses dernières lignes répetent sa confiance dans la lutte contre le Talon de Fer et son système capitaliste et dans le triomphe irrémédiable du socialisme.

Quelques réflexions

Le livre est franchement bien rédigé. Pendant très longtemps, j'ai cru qu'il s'agissait d'un reportage politique du début du 20ème siècle, contemporain de la fin de vie de Jack London. En effet, tout avait l'air de décrire la montée du socialisme aux États-Unis vers 1912-1916 (oui, je ne maîtrise pas bien l'histoire de ce pays à cette époque cible). Ce n'est qu'à un moment où l'action de rébellion véritable a été lancée que j'ai enfin compris que ce n'était que de la fiction. C'est dire si le récit de London est précis.

Dans le début de sa vie d'adulte, London adhère au parti socialiste et, dans ce livre, il reprend quelques-unes de ses théories déjà esquissées dans le Peuple de l'âbime, à savoir que l'état de pauvreté profond d'un grand nombre de personnes est en fait orchestré par le système politico-économique, dans l'intérêt de quelques-uns. Mais cette fois, plutôt que de simplement dénoncer, London propose un projet de révolution voire tente même de démontrer que cette révolution est incontournable. En effet, dans cette époque, il n'y a aucune loi sociale. Un ouvrier qui a un accident du travail est simplement renvoyé car non opérationnel. Il finit par mourrir de faim, à l'écart de la société, y compris des autres prolétaires tant ces derniers n'ont pas le temps d'avoir une vie sociale. Les enfants sont également incorporés au travail de manière assez radicale et crue.

Les prolétaires ne possèdent rien et vivent de manière misérable. Tout accident ou erreur de leur part est durement sanctionné par la mort de faim qui survient assez vite.

L'hypothèse de London dans le livre est que le système capitaliste tend à concentrer la richesse aux mains d'une oligarchie qui s'accapare tout: l'argent, le pouvoir; et dont l'objectif est la domination totale. Mais il y a une différence avec ce qui s'est réellement passé dans l'histoire économique des États-Unis d'Amérique. En effet, il y a eu une grosse loi anti-trusts. Alors que dans le livre de London, le mal prend justement racine dans les trusts qui finissent par bloquer tout le système politique qui pourrait nuire à leur survie. Ce n'est pas le cas (enfin, pas trop) dans notre société actuelle qui a su, un minimum, déconcentrer le pouvoir de quelques grosses firmes. Évidemment, si on suit la théorie de London, on peut presque dire que le fait d'accorder un pouvoir fort aux trusts est quasiment la source de tout le mal économique.

Ce qui a aussi attiré mon attention, c'est l'ironie de l'Histoire. En effet, Everhard présente le système socialiste comme le seul idéal capable de renverser le capitalisme et de faire en sorte qu'il ne puisse nuire à nouveau, en proposant un système politique complet, fondé sur une société sans classe. Pourtant, si on compare avec l'Histoire réelle, on ne peut qu'être choqué de constater que les systèmes socialistes ou communistes que nous avons connus étaient, pour la majorité d'entre-eux, des oligarchies sévères, constituées de quelques membres qui avaient le pouvoir et les richesses (les datchas, les Volga Gaz, etc.). Je suis sûr que London aurait répondu en disant que ces oligarchies ne sont pas socialistes mais qu'il s'agit de la dernière tentative de survie du Talon de Fer: prendre la forme d'une révolution socialiste pour ne pas mourrir tout en conservant l'oligarchie dans les faits, mais pas dans les principes.

A un moment du passage du livre, Everhard explique comment le Talon de Fer organise la famine pour mieux se débarrasser des prolétaires et de la classe moyenne, en cours de rébellion. Là encore, si on regarde l'Histoire, on se rend compte que les communistes russes et chinois ont utilisé les mêmes méthodes: les grandes famines de 1936 en sont la meilleure illustration; ce qui est assez paradoxal... Bon, de toute manière, si vous croyez que le communisme c'est ce qui s'est passé de 1917 à 1991 en URSS, dites-vous bien que vous vous trompez. Le communisme, c'est juste la propriété commune des moyens de production. Pas d'oligarchie, de concentration de pouvoir, d'autoritarisme, de goulag, de privation de libertés là dedans. Il n'y a qu'à voir ce qui se passe du côté des Kibboutz israéliens pour s'en convaincre...

Néanmoins, ce que dénonce London et qu'il utilise comme argument imparable pour annoncer l'évènement du socialisme et finalement bien ce qui a été compris et incorporé au système capitaliste, sans doute pour assurer sa survie. En effet, aujourd'hui, il existe une protection sociale, certes toujours remise en question mais bien présente. C'est la principale différence entre le système que décrit London qui est, effectivement invivable pour la majorité du peuple, et le monde de 2017 sur la Terre. C'est cet ajout de socialisme dans un système économique tranchant, dur, inégal mais finalement assez stable, difficile à bousculer qui fait toute la différence; qui amène à un monde à peu près vivable pour la majorité. Bon attention, ce n'est pas parce que quelquechose est stable que c'est forcément une bonne chose (vous pouvez rester stable, dans une flaque de merde, sans pouvoir vous en sortir. C'est stable: vous avez tendance à rester au même endroit, mais c'est aussi la merde !) !

Ma réflexion finale, à la lumière du monde que décrit London, sera de dire que tant que le système capitaliste conservera une bonne part sociale, il ne trouvera guère de système alternatif, il saura conserver un intérêt de la majorité pauvre, privée de pouvoir. Espérons que les politiques n'oublient jamais cet élément sinon, l'horreur du Talon de Fer ne saurait que se reproduire. A partir de maintenant, je désignerai par "Talon de Fer", cette forme de capitalisme sauvage, débridé, complètement non adapté à la survie d'un grand groupe humain sur cette planète !

Conclusions

Le livre se lit très facilement et il est bien écrit. Il dispose de nombreuses notes de bas de page (que j'ai consultées). Ces notes apportent une véritable impression de réalité historique au récit. En effet, la manière dont elles sont rédigées laisse penser qu'elles sont des résumés de situations qui se sont réellement déroulées dans les faits. Néanmoins, vers la moitié du livre, on se rend compte qu'il n'en est rien. Je vous conseille de toutes les lires, on se dirait dans Wikipédia.

Par ailleurs, en homme du monde occidental capitaliste "triomphant", je n'ai pas vraiment eu accès à de la fiction socialiste de cette nature dans ma jeunesse. C'est très frais de lire un livre où on tente de démontrer que la lutte des classes a une véritable explication, une origine sérieuse. Le récit permet d'imaginer un autre monde, bien différent de celui que nous avons l'habitude de cotoyer. Ainsi, c'est une histoire bien disruptive, à mi chemin entre la fiction et une réalité possible. Mais j'aimerais que cette réalité ne prenne jamais forme !

Bon, encore un livre, un mois et mon projet de lire au moins un livre par mois pour l'année 2017 sera rempli et achevé. Je dois donc terminer au moins le livre "Un animal doué de raison" de Robert Merle. Souhaitez-moi bon courage camarades...

Posted sam. 18 nov. 2017 17:23:39 Tags:

Introduction

Depuis la rédaction de mon article sur Enigma, je suis toujours tenté d'aller plus loin avec GnuPG. En effet, une fois qu'on a pris le temps de créer un trousseau de clefs, on a toujours envie de le garnir d'un maximum de clefs différentes, histoire de pouvoir ouvrir le plus de portes possibles sans se prendre la tête.

Dans le monde de l'informatique, c'est pareil. En ce qui me concerne, je tape le plus souvent une phrase de passe lorsque je lance des commandes via ssh. Mais, plutôt que d'avoir un trousseau GPG d'un côté et des clefs privées/publiques pour SSH, ne peut-on pas tout faire avec un seul outil ?

Après quelques recherches, il semble que c'est possible depuis peu. En effet, on peut gérer l'authentification SSH par clef en utilisant GnuPG. Voici comment j'y suis parvenu en utilisant GnuPG en version 2.1, sous Debian Stretch.

Comprendre ce qu'on fait, c'est mieux

Avant de se lancer, il faut toujours prendre le temps de comprendre ce qu'on fait plutôt que de suivre bêtement une suite de commandes. Ça prend plus de temps mais vous deviendrez un meilleur administrateur système en suivant cette voie.

Je ne vais pas rentrer dans la théorie du chiffrement asymétrique mais juste faire quelques rappels sur le fonctionnement de GPG et de SSH.

Commençons par SSH... SSh permet de se connecter de manière sécurisée à une machine distante qui dispose d'un serveur SSH en écoute sur un port précis (le 22 par défaut). Si SSH permet d'ouvrir une session en utilisant un login/mot de passe, il encourage surtout l'authentification par clefs privée/publique. En règle générale, la clef privée est protégée par une phrase de passe (un long mot de passe).

SSH dispose d'ailleurs d'un agent qui gère ces clefs privées/publiques. En effet, si on utilise souvent SSH, on doit taper sans cesse la phrase de passe de la clef privée. L'agent SSH permet de disposer d'une espèce de cache sécurisé de phrase de passe. Cela évite de taper tout le temps la phrase de passe, le tout, avec une méthode sécurisée sur le poste de travail.

En ce qui concerne GPG, il existe également un agent (gpg-agent). Son rôle est de gérer une espèce de cache de clefs (privées et publiques) pour éviter de vous demander de taper votre mot de passe de clef privée sans arrêt. Il permet aussi de transmettre les clefs publiques à d'autres programmes (comme ssh par exemple). Finalement l'agent GPG fait presque la même chose que l'agent SSH sauf que chacun des programmes dispose de son jeu de clefs à lui, avec ses formats spécifiques.

Enfin, comme l'agent GPG a besoin que vous tapiez votre mot de passe de clef privée de temps en temps, il existe un programme qui permet de saisir ce mot de passe (ou cette phrase de passe bien souvent). Ce programme se nomme pinentry et peut être servi par plusieurs binaires selon l'environnement. En effet, si vous avez une session une session Gnome, vous aurez droit à une belle fenêtre adaptée au style de ce gestionnaire de bureau. En revanche, si vous êtes sur un terminal pur, il vous faudra un pinentry capable de s'afficher sur un terminal (pinentry-curses ou pinentry-tty). Pour ma part, comme j'utilise i3-wm et beaucoup de Qt (grâce à QGIS), j'utilise pinentry-qt4.

Création d'une sous-clef pour l'authentification SSH

Bon, le premier truc à faire, c'est de générer une sous-clef (subkey) dédiée à la fonction d'autorisation. En effet, SSH n'accepte pas n'importe quel type de clef et l'agent GPG non plus.

Voici quelles sont les étapes à suivre. Ce n'est pas très compliqué, il suffit d'utiliser la fonction --edit-key de gpg avec l'option --expert qui seule donne accès à la création de clef d'authentification:

gpg --edit-key --expert mon_compte
gpg (GnuPG) 2.1.18; Copyright (C) 2017 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.


La clef secrète est disponible.

sec  rsa4096/1234567890123456
     créé : 2017-07-22  expire : 2018-07-22  utilisation : SC
     confiance : ultime        validité : ultime
ssb  rsa4096/1234567890123456
     créé : 2017-07-22  expire : 2018-07-22  utilisation : E
ssb  rsa2048/1234567890123456
     créé : 2017-07-22  expire : 2018-07-22  utilisation : S
ssb  rsa2048/1234567890123456
     créé : 2017-07-22  expire : 2018-07-22  utilisation : E
[  ultime ] (1). mon_compte

gpg> addkey
Sélectionnez le type de clef désiré :
   (3) DSA (signature seule)
   (4) RSA (signature seule)
   (5) Elgamal (chiffrement seul)
   (6) RSA (chiffrement seul)
   (7) DSA (indiquez vous-même les capacités)
   (8) RSA (indiquez vous-même les capacités)
  (10) ECC (signature seule)
  (11) ECC (indiquez vous-même les capacités)
  (12) ECC (chiffrement seul)
  (13) Clef existante
Quel est votre choix ? 8

Actions possibles pour une clef RSA : Signer Chiffrer Authentifier 
Actions actuellement permises : Signer Chiffrer 

   (S) Inverser la capacité de signature
   (C) Inverser la capacité de chiffrement
   (A) Inverser la capacité d'authentification
   (Q) Terminé

Quel est votre choix ? A
...
Quel est votre choix ? C
...
Quel est votre choix ? S

Actions possibles pour une clef RSA : Signer Chiffrer Authentifier 
Actions actuellement permises : Authentifier 

   (S) Inverser la capacité de signature
   (C) Inverser la capacité de chiffrement
   (A) Inverser la capacité d'authentification
   (Q) Terminé

Quel est votre choix ? Q
les clefs RSA peuvent faire une taille comprise entre 1024 et
4096 bits.
Quelle taille de clef désirez-vous ? (2048) 4096
La taille demandée est 4096 bits
Veuillez indiquer le temps pendant lequel cette clef devrait être
valable.
         0 = la clef n'expire pas
      <n>  = la clef expire dans n jours
      <n>w = la clef expire dans n semaines
      <n>m = la clef expire dans n mois
      <n>y = la clef expire dans n ans
Pendant combien de temps la clef est-elle valable ? (0)
La clef n'expire pas du tout
Est-ce correct ? (o/N) o
Faut-il vraiment la créer ? (o/N) o
...

Vous disposez maintenant d'une clef GnuPG pour l'authentification. Reste à pouvoir l'utiliser correctement dans SSH...

Substitution de ssh-agent par gpg-agent

Depuis quelques versions maintenant, l'agent de gestion des passphrases de GnuPG (v2 pour rappel) peut servir d'agent SSH en lieu et place de celui fourni avec OpenSSH.

Sur un système moderne comme Debian Stretch, il faut juste le configurer dans le fichier de configuration de l'agent GPG pour lui indiquer l'option enable-ssh-support dans son fichier de configuration. Ce dernier se nomme ~/.gnupg/gpg-agent.conf. S'il n'existe pas, vous devrez le créer et lui ajouter une ligne avec enable-ssh-support.

Ensuite, il faut juste recharger l'agent GPG. Néanmoins, il faut également désactiver l'agent SSH. Ce n'est pas une mince affaire parce qu'il est géré par systemd. Le moyen le plus simple et le plus efficace consiste à fermer et rouvrir la session graphique. En effet, l'unité systemd qui gère l'agent SSH se lance uniquement lors de l'ouverture d'une session graphique.

Bien entendu, si vous avez du temps et que vous souhaitez personnaliser un peu plus le comportement de l'agent GPG, je vous conseille de lire la documentation de ce dernier via man gpg-agent.

Modification du fichier sshcontrol

Pour que l'agent GPG transmette bien des clefs d'authentification à ssh, il faut encore lui indiquer quelle clef utiliser. En effet, si vous avez un trousseau GnuPG étoffé, vous ne voudrez sans doute pas autoriser toutes les clefs à être utilisées par ssh. L'agent GPG dispose d'un fichier dédié dans ~/.gnupg/sshcontrol.

Nous allons donc simplement indiquer notre clef d'authentification que nous avons créé auparavant dans ce fichier. Mais attention, ce dernier exige non pas un uid de clef mais un keygrip. Vous pouvez l'obtenir à l'aide de l'option --with-keygrip:

gpg --list-public-keys --with-keygrip mon_compte
/home/mon_compte/.gnupg/pubring.gpg
-------------------------------
pub   rsa4096/879357560768796E 2017-07-22 [SC] [expire : 2018-07-22]
      1C848291661BD7E20B873A27879357560768796E
      Keygrip = 1801833AA0573C2372AD196729C6B004A4BF891B
uid                [  ultime ] mon_compte <mon_compte@example.com>
sub   rsa4096/792D62F3336393FA 2017-07-22 [E] [expire : 2018-07-22]
      Keygrip = F8894EEFCF321067DA881E2AC471C9BACF0B8067
sub   rsa2048/A44D23DA9C451C04 2017-07-22 [S] [expire : 2018-07-22]
      Keygrip = 8582CAA7B033E8B775809BA05ED37B3463CB0F30
sub   rsa2048/B040BDF79DB1058C 2017-07-22 [E] [expire : 2018-07-22]
      Keygrip = 60B08365121D1B34E911C9EA8138946DB1FE8FCA
sub   rsa4096/519BE81D08A417C7 2017-11-11 [A] [expire : 2018-07-22]
      Keygrip = EB994608FCAB196BF0D79602D3A04F043F5DEE9F

Dans mon cas, la sous-clef utilisée est la dernière (elle a l'option [A] pour authentification). Son keygrip est EB994608FCAB196BF0D79602D3A04F043F5DEE9F. Vous avez juste à renseigner cette valeur dans le fichier ~/.gnupg/sshcontrol avec votre éditeur de texte préféré ou une redirection shell.

Pour vérifier que ça fonctionne, la commande ssh-add -l doit maintenant indiquer la clef d'authentification rentrée en amont.

Export de la sous-clef dans les clefs autorisées de SSH

Maintenant que tout est configuré sur la machine qui va se connecter à distance, il faut quand même indiquer à la machine d'en face quelle clef publique doit être acceptée. Dans le temps, il fallait utiliser un programme tiers de la suite monkeysphere mais, depuis GnuPG 2.1, il existe une commande d'export qui permet de le faire assez simplement. Il s'agit de l'option --export-ssh-key. Elle exporte une clef publique au format accepté par SSH. Il n'y a qu'à l'utiliser de la manière suivante:

gpg --export-ssh-key mon_compte >> ~/.ssh/authorized_keys

Par défaut, cette commande exporte la première clef d'authentification au format SSH, directement prêt à être intégrée dans un fichier d'autorisation SSH.

Pour exporter la clef à distance, vous pouvez simplement utiliser la commande ssh dédiée: ssh-copy-id mon_compte@machine_distante. En effet, cette commande utilise le résultat de ssh-add pour envoyer les clefs à distance. Comme ssh-add utilise maintenant GnuPG, il n'y a pas de problème pour l'utiliser.

Que faire si ça plante ?

Déjà, vous devez voir si l'agent SSH est toujours actif. Si c'est le cas, c'est mauvais signe, vous devez trouver le moyen de le gicler. Le plus simple est de lancer une commande du type set | grep SSH. Elle doit vous retourner uniquement la variable SSH_AUTH_SOCK qui contient la socket de l'agent SSH. Ce denier doit être l'agent GPG. C'est facilement reconnaissable dans le contenu de la variable qui doit afficher un truc avec gpg-agent.ssh.

Autre point qui peut poser problème: il manque une sous-clef privée d'authentification ou une clef d'authentification est inutilisable. Ça m'est arrivé assez facilement en exportant une sous-clef d'authentification en oubliant d'incorporer la sous-clef privée. Après l'import dans un autre trousseau sur une autre machine, la commande gpg --list-secret-keys m'indiquait une sous-clefs inutilisable (ssb#). J'ai du procéder à une exportation complète en utilisant l'option --export-secret-subkeys de GnuPG.

Autre symptôme lié au point précédent: si ssh-add -l n'affiche rien ou un message d'erreur, je vous conseille de jeter un coup d'oeil à votre journal système utilisateur (via journalctl --user -xe) pour voir si vous avez des erreurs concernant une clef manquante dans le fichier sshcontrol. En effet, pour le keygrip d'une clef situé dans le fichier sshcontrol soit pris en compte, il faut absolument qu'il y ait le fichier correspondant dans ~/.gnupg/private-keys-v1.d/. Si ce n'est pas le cas, vous avez sans doute un problème avec une sous-clef privée.

Conclusions

Avec cette recette, vous pouvez enfin vous passer des clefs SSH classiques et de son agent. Ce mode de gestion unifié qui passe par GnuPG vous permettra de renforcer le rôle de cette solution de chiffrement qui se révèle finalement assez complète.

De plus, cela vous encouragera à avoir GnuPG un peu partout sur vos machines et à vous organiser pour gérer votre trousseau au mieux.

Prochaine étape ? Peut-être utiliser une clef de sécurité ou une carte OpenPGP pour gérer le trousseau. Ou encore mettre en place Pass qui utilise nativement GnuPG pour sécuriser les autres mots de passe...

Posted lun. 20 nov. 2017 22:05:30 Tags:

Introduction

Dans mes résolutions de 2017, il y a marqué "Écouter l'intégralité d'un artiste musical par mois"... Pour le mois de novembre ce sera le duo des Carpenters.

Oui, je sais, c'est sans doute une référence trop polie, trop sobre par rapport aux goûts des années 2010 mais, ça fait bien longtemps que je souhaite pouvoir les écouter dans leur intégralité.

Ticket to Ride (1969)

Tout commence par l'année 1969, vous savez celle où les Muscle-Cars américains sont au top de leurs performances, l'époque d'Easy-Rider, du rock contestaire, des hippies, tout ça !

Mais 1969, c'est également l'année où sort le premier album studio des Carpenters, duo formé par Richard Carpenter, le frère ainé, à la composition et aux claviers et Karen Carpenter, la soeur cadette, à la voix si troublante. Loin du rock, loin de la soul, c'est un album bien gentillet qui sort en cette année de rupture pour l'amérique triomphante.

Car dès ce premier album, le style doux et un tantinet neutre des Carpenters s'affirme. Pas de cris, pas de guitare criarde, pas de sons trop forts ou de bruits mécaniques. Juste une douceur parfois trop polie. Néanmoins, la sauce marche car cet album représente un bon début.

A vrai dire, la première piste ressemble à un cantique religieux ("Invocation"). C'est très déstabilisant pour un départ. Si vous n'avez aucune connaissance de ce que les Carpenters ont produit, vous pouvez très bien avoir la tentation de balancer l'album à la poubelle. Pourtant, cette première piste a le mérite de poser ce qui fait la force du duo: la voix de Karen, si douce, si tendre et si posée, si claire.

La deuxième piste s'inspire un peu de ce que peuvent produire les Beattles à l'époque (ils sont au sommet de leur carrière). Elle emprunte un peu de ses codes à certaines pistes des Beach Boys aussi. Car en effet, les Beach Boys sont également bien connus à l'époque. Souvent les introductions de voix ressemblent beaucoup aux phrasés des Beach Boys avec leur décalage harmonieux. Les Carpenters arrivent également à le faire à eux deux et ils en abusent souvent dans de nombreuses pistes de cet album. C'était le signe d'une époque.

Mais c'est bien "Somday" qui marque le plus cet album. On y trouve une certaine forme de sérénité, de calme, de rythme doux, sous forme d'une ballade légère qui agrémente les vocalises de Karen Carpenter. Elle se révèle d'ailleurs bien mature pour son âge (elle n'a que 19 ans), au moins dans son expression vocale. J'aime beaucoup cette interprétation tantôt grave, tantôt plus haut perchée.

Pour autant, tout n'est pas si bien organisé sur cet album. Le morceau "Ticket to Ride" est d'ailleurs une pâle copie de ce que les Beattles ont fait. Bon, vous savez ce que je pense des reprises. C'est d'ailleurs bizarre d'avoir nommé l'album avec ce titre...

Une piste comme "Don't be afraid" sonne comme les Beach Boys mais fait un peu un aplat pas terrible non plus.

Non, à mon sens, l'autre piste d'intérêt de l'album se nomme "Eve". Elle se fait encore plus douce et plus solennelle (et donc mélancolique) que les autres. Vous savez que j'aime ce genre de mélodie même si cette piste me semble porteuse d'espoir et pleins de points positifs.

Pour résumer rapidement, ce premier album, un peu trop grave et chaste à mon goût forme quand même un ensemble organisé et qui s'écoute assez bien finalement. Il y a même quelques pistes vraiment au dessus du lot même si la forme religieuse est trop présente. Un bon début vraisemblablement...

Close to You (1970)

Ah, si vous ne devez retenir qu'une seule chanson des Carpenters, c'est bien "Close to You". C'est sans doute leur morceau le plus emblèmatique.

Pourtant l'album commence aussi avec un hit: "We've only just begun". Douce, calme comme une mer d'huile; tout y respire le bonheur, la paix. Cette chanson reprend également la forme courante de ce que les Carpenters vont produire pendant près d'une décénnie. Je vous la recommande.

Autre chanson d'intérêt, la piste 3 "Maybe it's you" qui repose aussi sur une recette éprouvée: une introduction simple qui démarre tendrement, des paroles bienveillantes, un crescendo qui se termine par un duo vocal d'harmoniques, le tout servi par une mélodie simple qui se termine par un final très instrumenté, fleuron d'instruments à cordes en concert triste.

Bon parfois, certaines pistes s'essayent à autre chose et on retrouve des ensembles assez moyens qui reprennent les codent de la musique country par exemple comme dans "Reason to believe". La reprise de "Help" des Beattles est également une merde, disons-le clairement !

Par la suite, on retrouve "Close to You", un monument à elle seule dont je vous conseille l'écoute. La voix de Karen fait vraiment la différence sur cette piste, le refrain en harmoniques, l'introduction simple au piano jouent également pour beaucoup.

La piste qui suit, "Baby it's you" commence plutôt mal mais son refrain est mélodiquement une excellence. Rien que pour ça, ça vaut le coup d'écouter l'album. D'ailleurs la piste "Crescent Moon" en reprend les mêmes codes et du coup, on peut bien l'écouter aussi.

Au final, grâce à sa paire de tubes, ce deuxième album des Carpenters est une vraie réussite. Leur style s'est enfin relaché de l'aspect religieux et même si on reste dans quelquechose d'hyper-consensuel, les mélodies valent leur lot d'écoute.

Carpenters (1971)

Un an après "Close to You" sort un album qui sera encore plus une réussite pour les Carpenters. En effet, l'album éponyme du groupe est également un bon arrangement, un album à garder dans un coin pour plus tard...

La première piste, "Rainy Days and Mondays", toujours très douce, présente un refrain assez mélodieux. Je finis par croire que c'est ça la force des Carpenters: si la musique reste gentillette, le refrain est toujours entraînant et on a plaisir à le chanter. Il marque ainsi les esprits ce qui permet d'apprécier le contenu de nombreuses pistes.

Si la deuxième piste "Saturday" est décidément trop niaise et mielleuse, les 4 prochains morceaux sont franchement des tubes. En effet, "Let Me be the One", "Hideway" et surtout "For All We Know" et "Superstar" sortent du lot. Ils fonctionnent tous sur la recette du super refrain... et ça marche assez bien. La voix de Karen Carpenter nous transporte véritablement dans un monde rassurant. En écoutant ces pistes au bureau, je me sentais vraiment apaisé et calme. Tout respirait l'amour, la volupté, la bienveillance. C'est sans doute ça la force des Carpenters...

Pour résumer, cet album est encore meilleur que le précédent qui était déjà très bon. Que va-t-il se passer sur les autres ?

A Song for You (1972)

Toujours à un rythme effréné, les Carpenters sortent un album après un an de travaux. Comme sur les autres albums, on prend ce qui marche et on réutilise les bonnes vieilles recettes.

Du coup, l'album est lui aussi plutôt une réussite, d'ailleurs bien introduit par "A Song For You". Toujours un refrain percutant, une mélodie douce, une voix grave mais tendre, agrémentée cette fois d'une touche nostalgique de saxophone.

Comme il s'agit d'un bon album, autant aller à l'essentiel: les meilleures pistes:

  • "Hurting Each Others": elle démarre très doucement mais le refrain prend une cause percutante, dynamique.
  • "It's Going To Take Some Time" se lance assez maladroitement avec quelques note de piano pas terrible mais, on retrouve toujours ce refrain typique.
  • "Goodby To Love", sans doute la meilleure piste de l'album est proche de la perfection d'un "Close to You" (sans l'atteindre). L'introduction est directement très bonne et bien entendu le refrain, simple, nous emporte encore plus loin. Vient enfin l'apothéose, à la guitare électrique; suprenante mais harmonieuse.
  • "Bless The Beasts and Children", toujours pour son refrain criant mais si délicat.

Encore un bon album, un de plus... Mais à la fin, ils finissent par tous plus ou moins se ressembler. Ça peut devenir lassant en faisant une écoute intégrale. Pour autant, pris séparément, ces albums sont très bons...

Now and Then (1973)

Encore une année de plus et un nouvel album. C'est sans doute le plus connu de tous car il abrite deux des trois chansons les plus connues du duo: "Sing" et "Yesterday Once More".

"Sing" qui ouvre l'album est également un monument des Carpenters abusant de la même recette: une introduction simple, un zeste de piano, une mélodie entraînante, la voix de Karen, si claire et un refrain qui tue. Parfois, on s'approche du miracle avec ces ingrédients simples. Tout ça pour la gloire de la chanson...

Plus triste mais plus glamour et jazzy, "This Masquerade" s'écoute plutôt bien après "Sing". Ce rythme un peu différent fait du bien à l'album, une espèce de respiration.

"Heather" est un morceau complètement musical (pas de paroles) plutôt bien arrangé et qui met en avant Richard Carpenter.

En attendant, "Jambalaya" est une pure merde, une masquarade sans intérêt. Franchement, si vous vous attardez dessus, vous finirez par jeter l'album par la fenêtre, ce qui serait dommage.

On arrive enfin à la grande piste: "Yesterday Once More" ! Je suis sûr que vous avez entendu ces Chalalalas ! Claude François en a fait une reprise assez mémorable (qui ne vaut pas l'originale bien sûr mais qui mérite une certaine forme de respect honorable). Avec un brin de nostalgie, les Carpenters signent une grande musique si percutante. Moi, j'aime beaucoup...

En revanche fuyez "Fun, Fun, Fun", une reprise des Beach Boys franchement nulle. En 1973, ça fait presque 10 ans qu'elle est sortie. Même punition pour "Da Doo Ron Ron" qui fait pitié.

Les pistes qui viennent en revanche, marquent le début d'un truc pas terrible: elles sont courtes, beaucoup plus rythmées et les arrangements sont franchement niais au possible. C'est une partie que j'évite comme la peste: ça pourrait me transformer en bisounours !

A la fois le meilleur comme le pire, voilà ce qui pourrait caractériser "Now and Then"... Le début de la chute ?

Horizon (1975)

"Horizon" est sans doute l'album le plus doux produit par les Carpenters. Si vous avez besoin de tendresse et d'affection, je vous le conseille. il prend même parfois des accents jazz très bien faits.

La piste d'introduction "Aurora" fait écho à la piste finale "Eventide". Elles empaquètent l'album pendant 1:33 chacune et annoncent la teneur de l'album: la quiétude.

La deuxième piste, intitulée "Only Yesterday" dispose d'une bonne introduction même si j'apprécie moins son refrain trop country à mon goût. Mais ça reste une bonne chanson.

Je suis désolé mais j'ai déjà entendu "Desperados" chez d'autres groupes (oui, j'ai écoute le groupe The Eagles, je l'avoue) et cette chanson me va mal... "Please Mr Postman" est, on doit bien l'avouer, un monument de niaiseries qui ont vécues... et qui sont devenues rances.

En revanche, j'ai pleinement apprécié "I Can Dream Can't I?". Elle est tellement jazz qu'on aurait pu faire chanter Frank Sinatra dessus sans que ça choque le moins du monde. J'adore ce style et c'est bien dommage que les Carpenters ne se soient pas davantage penchés sur ce registre. Cette voix si claire était sans doute un moyen d'interpréter de bonnes chansons, classiques et classieuses.

"Solitaire" est franchement une excellente piste bien servie par une introduction à la douceur infinie. Le refrain, franc et entier, vous emporte vers les cieux d'un seul battement de cil.

Pour "Happy", le seul truc qui me chiffonne, c'est justement le refrain qui est trop puissant et qui fait tâche dans l'album qui nous a habitué à plus de sérénité.

Toutes les autres pistes sont plutôt d'intérêt et au final, je trouve cet album d'une assez bonne qualité. Il est plus en douceur d'une manière générale et ça va bien au duo.

A Kind of Hush (1976)

Disons-le tout net, l'album commence de manière assez moyenne: la chanson éponyme "A Kind Of Hush" est un mix entre le générique de Benny Hill et un ersatz de synthétiseurs, mélangé avec un zeste de musique country. L'ensemble n'est pas si mal que ça mais j'avoue que je déteste le refrain qui est trop entraînant, trop simpliste.

Heureusement, la deuxième piste, "You", rattrape tout. Elle est une pure production des Carpenters, dans les canons que j'ai décrit plus haut. Toujours le même refrain qui tue, propulsé en amont par une poussée lyrique de Karen Carpenter. Non, vraiment cette piste est sans doute la meilleure de l'album.

L'autre piste d'intérêt de cet album se nomme "I Need To Be in Love", réalisation ultra-classique, dans la lignée des albums précédents. "One more time" et "I have you", un peu en retrait, restent de bons exemples de douceur, avec un soupçon de trop de miel, encore une fois. "I can't smile without you" s'en sort un peu mieux, voire même plutôt bien, si on prend le temps de la savourer.

Mais, pour le reste, c'est plutôt la déception. En effet, les Carpenters essayent tant bien que mal de changer de registre et ça ne se passe pas très bien. Trop de rythme, trop de niaiseries, trop de miel, des rythmes qui ne leur vont pas bien.

Pour résumer, je ne sais pas si c'est l'impression de déjà vu (entendu plutôt), mais cet album commence à me lasser sérieusement. Globalement, je le trouve en dessous des autres. Serait-ce le début de la fin ?

Passage (1977)

Encore une année, un album pour le duo. Quand on sait qu'ils font également des concerts en parallèle, c'est un peu épuisant non ?

A la fin, ça finit par laisser des traces. En effet, "Passage" est un album avec moins de pistes que sur les albums précédents, il n'y en a que 8.

Cet album esquisse un très léger changement dans la politique de production des Carpenters. La recette traditionnelle reçoit en effet un peu d'épices, notamment au niveau des rythmes et des instruments. De ce fait, au final l'album est moins bon, malheureusement.

Les 3 premières pistes font un peu illusions surtout la bien nommée "I just Fall in Love Again". En effet, cette dernière aurait pu intégrer l'album "Now and Then" car elle comporte tout ce qui fait le style Carpenters: de la douceur, une introduction douce et un refrain explosif. C'est la meilleure piste de l'album, à n'en pas douter.

Mais le reste s'avère moins savoureux. La reprise de "Don't Cry For Me Argentina" en est une illustration assez criante. Commencée comme un atelier lyrique, elle fait pâle figure lorsque Karen pose sa voix. Le mélange ne prend tout simplement pas. Pour les autres pistes, le rythme est trop rapide, la voix trop aigue, la mélodie trop entêtante, trop simpliste.

Pour résumer, "Passage" est un album moins bon que les précédents. On sent une certaine baisse de la qualité dans le duo depuis quelques années. Ils arrivent toujours à sortir des tubes mais il manque sans doute une forme de génie créatif perdu quelquepart.

Christmas Portrait (1978)

Bon, vous savez ce que je pense des albums de noël: c'est généralement de l'excrément, un truc tellement mielleux et niais que ça colle aux doigts et ça finit par coller aux oreilles et à les boucher.

Tradition oblige, ce n'est pas mieux pour les Carpenters. Oubliez-donc cet album, ne l'achetez pas sauf pour faire chier vos invités du 25 décembre !

Made in America (1981)

C'est le dernier album studio de la fratrie Carpenters. En effet, Karen Carpenter meure à l'âge de 33 ans, des suites d'une anorexie chronique. Elle était descendue à un poids trop faible pour survivre.

Que peut-donc donner un groupe, qui a démarré dans les années 70 en faisant de la musique des années 50 dans les années 80 et leur sound system bien particulier ?

Hé bien, le moins qu'on puisse se dire c'est que les Carpenters restent fidèles à leur crédo. Après plus de 10 ans de carrière et de très bonnes ventes d'albums, le groupe a trouvé son public. Donc pourquoi changer ?

Ainsi "Made in America" commence par la piste gentille de "Those Good Old Dreams". Calme, dans la lignée pure du style du duo. Sans aucune accroche des années 80 ou d'un autre courant musical.

Pourtant, même dans une bulle, impossible de ne pas s'inspirer de l'ambiance existante. C'est finalement une pointe de synthétiseur qu'on retrouve sur "(Want You) Back In My Life Again" qui nous met la puce à l'oreille. Les choeurs et les voix d'accompagnement s'inspire aussi de ce qui se fait à l'époque. On retrouve aussi ce style sur "Touch Me" avec un solo de saxophone so eighties. Mais c'est tout ce qu'on trouvera comme concession musicale.

Le reste, c'est du pur Carpenters... Mais que donne-t-il, ce dernier album du duo ? Dans l'ensemble, je le qualifierais d'intéressant. Il ne contient pas vraiment de tube ou de hit mais quelques pistes d'intérêt. D'une manière générale, il n'y a d'ailleurs pas grand chose à jeter. Toutes les pistes ont leur intérêt, en dehors de la niaise "BEachwood 4-5789".

J'ai même apprécié "Because We Are in Love (The Weddin Song)" pour sa pureté. Je peux encore citer "Strenght of a woman" qui me fait penser à Whitney Houston dans son expression ou encore "I Believe You", plus solennelle.

Je m'attendais à pire. En général, les derniers albums qui précedent la mort d'un membre du groupe sont plutôt mauvais car la mort est souvent causée par une maladie ou la prise de drogues. Mais là, ce n'est pas le cas.

Ce que je retiendrai des Carpenters

Quand j'étais plus jeune, je pensais que les Carpenters était un groupe des années 50-60. J'étais loin d'imaginer qu'on pouvait adopter un style aussi consensuel pendant les années 70, années soul, années rebelles, années funk.

J'ai finalement pas mal d'admiration pour leur production, dans son ensemble. Dès le premier album, le ton est donné. On sait qu'il sera simple, poli, calme et gentillet. Mais, une fois ce premier constat passé et en tendant un peu l'oreille, on trouve des choses intéressantes. Je me suis surpris plusieurs fois à siffler les airs de quelques morceaux entêtants comme "Sing" ou "For All We Know".

Néanmoins, il me reste un certain malaise à exprimer. En effet, il m'est arrivé de me sentir mal après avoir écouté les dix albums à la suite. Sans doute trop de douceur, de molesse, de miel finissent par engourdir mon encéphale. Pour autant, ce n'était pas un problème de nostalgie ou de mélancolie comme j'ai pu en rencontrer chez d'autres interprètes... C'est sans doute ce que je retiendrai des Carpenters: on peut écouter un album de temps en temps mais avec parcimonie.

Au final, un bon double best-of des familles devrait suffir le plus souvent à faire le tour du duo ces artistes. Mais ça valait bien le coup de vérifier en écoutant toute leur production.

Encore un mois d'écoute pour cette année 2017. Je me suis prévu l'écoute de Stevie Wonder et de ses presques 25 albums studio: ça va faire mal parce que ça va être long... mais ça va me faire du bien à écouter, je le sais d'avance !

Posted mar. 28 nov. 2017 21:09:25 Tags: