3
Bonjour,
Deux paquets tlp et tuned sont installés sur le système via des patterns et une mise à jour les met en conflit, car on ne peut pas utiliser les deux en même temps. J'ai choisi de désinstaller tuned, le fil correspondant sur le forum anglais indiquant que tlp était mieux pour un portable et tuned pour un serveur (https://forums.opensuse.org/t/tlp-conflict-with-tuned/175203/13)
zypper dup
Chargement des données du dépôt...
Lecture des paquets installés...
Avertissement : Vous êtes sur le point d'exécuter une mise à niveau de distribution avec tous les dépôts activés. Assurez-vous que
ces dépôts sont compatibles avant de continuer. Reportez-vous à 'man zypper' pour obtenir plus d'informations sur cette commande.
Calcul de la mise à niveau de la distribution...
Problème : 1: l'élément tlp-1.6.1-2.1.noarch à installer est en conflit avec 'tuned' fourni par l'élément tuned-2.22.1.2+git.86ac9
77-3.1.noarch installé
Solution 1 : désinstallation de tlp-1.6.1-1.3.noarch
Solution 2 : désinstallation de tuned-2.22.1.2+git.86ac977-3.1.noarch
Solution 3 : conserver l'élément tlp-1.6.1-1.3.noarch obsolète
Choisir une des solutions ci-dessus en tapant son numéro ou bien annuler en tapant 'a' [1/2/3/a/d/?] (a): 2
6
Dirk Müller, un des responsable sécurité chez SUSE, revient sur la découverte de la porte dérobée XZ et sa gestion.
source : https://news.opensuse.org/2024/04/12/learn-from-the-xz-backdoor/
traduction automatique en ligne ci-dessous en deux messages car l'article est trop long pour un seul
Ce que nous devons retenir de la porte dérobée XZ
12. avril 2024 | Dirk Müller | CC-BY-SA-3.0
Beaucoup de choses ont été écrites sur la porte dérobée XZ ces dernières semaines, il est donc temps de regarder vers l'avenir. Avant de le faire, nous partageons plus de détails sur ce qui s'est passé concernant openSUSE. Pour un aperçu de la manière dont cela a affecté les utilisateurs d'openSUSE, veuillez vous référer au message précédent [on en a parlé sur le forum ici et là ] .
Dans les coulisses
Quelques jours avant la divulgation publique de la porte dérobée XZ, l'équipe de sécurité des produits SUSE a eu un indice selon lequel il y avait quelque chose d'étrange dans les versions XZ 5.6.x. Je suis l'employé de SUSE et le packager openSUSE qui mettait à jour et incluait cette version dans openSUSE Tumbleweed, je me suis donc impliqué assez tôt. À ce moment-là, aucun contexte ni aucune information partagée lors de la divulgation publique initiale n’étaient disponibles. Cependant, cet indice était toute l’information dont nous avions besoin. Cela a changé notre façon de considérer un projet open source central et établi. Sans cela, les petites différences étranges dans l'étape de « configuration » du système de construction auraient été facilement ignorées.
Un jour avant la divulgation, jeudi soir, la sécurité des produits SUSE a reçu un rapport plus long et détaillé d'Andres Freund via la liste de divulgation de sécurité des distributions partagées. La liste de distribution est une liste de diffusion cryptée où les distributeurs collaborent et se coordonnent sur la divulgation de problèmes de sécurité. Ce rapport a apporté de nouvelles connaissances selon lesquelles la porte dérobée XZ ciblait spécifiquement OpenSSH, qui est l'une des parties réseau de presque tous les systèmes Linux. Cela a encore accru notre niveau de menace d'être une porte dérobée d'accès à distance et nous a également amené à élargir nos efforts de communication prévus.
L'équipe de sécurité SUSE et moi avons commencé à analyser. La sécurité des produits SUSE est membre de divers forums de sécurité privés, comme la liste des distributions et CERT VINCE et autres, qui nous permettent de coordonner les correctifs entre les fournisseurs de logiciels et de préparer les mises à jour aux dates de divulgation. Avec les premières informations indiquant qu'il y avait quelque chose de suspect, il était relativement facile de trouver des éléments plus suspects sans ordre particulier :
- openSUSE et SUSE suivent les signatures d'artefacts de publication avec un trousseau de signatures fiables. Nous avons remarqué que la clé avec laquelle les artefacts étaient signés avait changé il y a quelque temps, nous avons donc dû mettre à jour notre trousseau de confiance pour le projet XZ. Nous avons vérifié qu'il y a eu un transfert de responsabilité entre le responsable et que le nouveau responsable a un accès direct aux validations ainsi que la possibilité de signer les versions et de les publier. Le réseau de confiance de cette nouvelle clé de signature n'était pas bien connecté, ce qui aurait pu déclencher une alerte, mais elle était signée par le précédent mainteneur et cela nous suffisait.
- En regardant l'historique des commits, il y a eu une vague de commits entre la dernière version bêta 5.5 et la version 5.6.0 dans un court laps de temps par ce nouveau responsable ; ne vient pas via une Pull Request et aucun examen ou discussion évident à ce sujet. C’était immédiatement préoccupant. Normalement, les projets ne font pas cela juste avant une nouvelle version majeure. L'examen de chaque validation a immédiatement montré que des fichiers de test étranges étaient validés et mis à jour dans la version 5.6.1, et qui n'avaient pas de mises à jour correspondantes dans le cadre de test ou dans le code du projet, ils étaient donc « inutilisés ». Normalement, les fichiers de test sont validés avec un correctif de code dans la même validation, ou avec une référence à un problème antérieur, ou à une validation abordée par le scénario de test. Pour un responsable expérimenté d’un projet en amont, cela semblait être un gros oubli. Les messages de validation étaient en quelque sorte plausibles mais n'avaient pas vraiment de sens, surtout si l'on compare les (petites) différences entre 5.6.0 et 5.6.1.
Une enquête plus approfondie a permis de trouver le « étape zéro » intégré dans le système de construction et, grâce à cela, nous avons pu franchir les couches de dissimulation pour démêler les deuxième et troisième étapes. En quelques minutes, il nous est apparu clairement que des efforts très importants avaient été consacrés à son développement. Ce n’était pas le travail d’un seul développeur par un dimanche après-midi pluvieux. En outre, la deuxième étape a laissé entendre qu'il s'agissait d'une porte dérobée spécifiquement destinée à des environnements spécifiques, aux builds de packages Debian ou RPM utilisant GCC et glibc. Un utilisateur normal construisant à partir des sources, soit à partir de l'archive tar détournée, soit à partir de git n'aurait jamais été affecté. Cela a sonné l’alarme. Ainsi, avant d’aller plus loin dans l’ingénierie inverse, nous avons évalué l’impact.
Depuis un certain temps, openSUSE n'utilise pas XZ pour la compression de nos packages RPM de distribution ; nous sommes passés à Zstd il y a quelque temps. Cependant, XZ est très largement utilisé dans la distribution, entre autres pour décompresser les sources de notre compilateur GCC que nous utilisons pour construire tout le reste de la distribution. Nous avons vérifié et constaté que la version potentiellement malveillante de XZ était utilisée pour créer notre compilateur actif openSUSE GCC, qui est utilisé dans toutes les autres versions de la distribution. Le pire des cas auquel penser ici est que le déballage des sources de construction du compilateur GCC a été modifié par le XZ malveillant et que nous avons un compilateur système qui n'est plus digne de confiance. Bien que nous ayons des vérifications de signature sur les sources (et que nous ayons sécurisé des copies de chaque entrée de source que nous avons utilisée n'importe où dans un magasin de confiance), nous ne vérifions pas si les sources décompressées sont réellement les sources dont la signature a été vérifiée avant le déballage.
Ainsi, même sans plus d’informations sur la porte dérobée, nous avons compris que l’impact dans le pire des cas pourrait être désastreux. Nous avons donc commencé à identifier les projets, produits et distributions concernés. Heureusement, cette liste s’est avérée assez restreinte. Une équipe ad hoc a été constituée pour gérer la suppression de la porte dérobée.
Suppression initiale de la porte dérobée pour nos utilisateurs
openSUSE Tumbleweed fournit un canal de mise à jour d'urgence que nous pouvons utiliser pour récupérer des régressions fatales dans les instantanés Tumbleweed réguliers. Ces phénomènes sont extrêmement rares grâce à notre pipeline de tests automatisés, mais ils surviennent. Nous avons injecté une rétrogradation de XZ dans ce canal de mise à jour d'urgence et avons commencé à créer une version intermédiaire d'instantané openSUSE dans laquelle la mise à jour malveillante de XZ a été supprimée. Cependant, en raison de la nature inconnue de la porte dérobée obscurcie, nous avions prévu la pire hypothèse. Nous avons commencé à collecter le nombre de packages qui ont été construits et publiés avec la construction du compilateur GCC suspect dans l'environnement de construction. C'était une très longue liste. De plus, comprendre l’inversion du code objet malveillant de la porte dérobée dans Ghidra nous prendrait encore quelques heures. Après une courte synchronisation, nous avons décidé d'opter pour la voie sûre et de jeter tous les paquets construits avec XZ/GCC potentiellement malveillants et avons commencé à les reconstruire tous avec uniquement les paquets provenant d'une sauvegarde sécurisée, pour restaurer l'intégrité de notre distribution le plus rapidement possible. openSUSE teste régulièrement ce « mode bootstrap » dans le cadre du développement de notre distribution et s'appuie sur l'automatisation de la reconstruction fournie par l' Open Build Service , ce n'était donc pas beaucoup de travail humain. C'était juste beaucoup de charge pour notre cluster de build. Nous avons attendu quelques heures devant nous, ce qui a permis une analyse plus approfondie de la porte dérobée.
Analyse de la porte dérobée
L’analyse du code objet s’est avérée prendre beaucoup de temps. Même si la deuxième étape qui vérifiait les bonnes conditions de build (s'agit-il d'une version de distribution, dispose-t-elle de l'environnement de compilateur attendu, etc.) était facile à décoder et nous a aidé à comprendre l'impact potentiel, au départ, nous ne savions pas vraiment quoi. le code objet obscurci qui a été injecté lors de la construction fonctionnait.
En utilisant Ghidra, nous avons pu récupérer du code C quelque peu lisible à partir du code machine injecté, nous avons donc commencé à essayer de déchiffrer le puzzle. Repérer le point d'entrée dans la _get_cpuid fonction qui faisait partie de la gestion IFUNC a été l'une des premières découvertes. Le simple fait de rechercher cette combinaison de mots sur Google a conduit à une discussion en amont, à la désactivation d'ifunc dans le projet oss fuzz et à un rapport de bug intéressant dans la communauté Fedora où des problèmes de Valgrind ont été signalés avec XZ 5.6.0 et apparemment, l'amont les corrigeait en mettant à jour. des choses sans rapport, y compris « les fichiers de test » dans le référentiel. Il y avait non seulement des commits dans le dépôt, mais aussi une communication trompeuse autour du problème directement lié à ces commits, ce qui montrait évident que nous ne trouvions pas un accident malheureux provoqué par un responsable innocent qui aurait pu être piraté, mais une action planifiée de la part du responsable actuel. responsable en amont. Juste au cas où les sonnettes d'alarme ne seraient pas déjà assez fortes, cela a doublé leur niveau sonore.
Préparation à la divulgation publique
En combinant tout ce que nous avons appris jusqu’à présent, le tableau est devenu plus clair. Quelqu'un avait passé des années de préparation à préparer le terrain, à se bâtir une bonne réputation de mainteneur, à reprendre le projet, puis à choisir un moment qui était une fenêtre critique pour plusieurs projets de distribution et également au milieu du Nouvel An lunaire. comme d'autres jours fériés pour publier une nouvelle version avec de nouvelles fonctionnalités et une porte dérobée obscurcie qui a été bien conçue pour cibler uniquement des distributions spécifiques, à savoir celles utilisant GCC, Binutils, Glibc avec RPM ou les processus de construction Debian sur x86_64.
En gardant tout cela à l’esprit, nous avons réalisé que ce sujet allait faire l’objet d’une grande couverture publique. Cela fera la une des journaux pendant des jours, voire des semaines. Nous avons donc lancé un nouveau chantier pour nous y préparer avec les équipes de communication.
Divulgation publique
Au moment de la divulgation publique, tous les axes de travail étaient déjà terminés. Nous avons identifié la liste des produits concernés et avons déjà publié toutes les mises à jour pour tous les produits concernés. La communication était prête à être mise en ligne et envoyée aux parties concernées. Tout cela a été possible parce que de nombreuses personnes se sont surpassées, ont mis tout le reste de côté pour réagir en temps opportun et avec beaucoup d'engagement pour s'assurer que nous n'avons rien manqué ou négligé ; tout cela alors qu'un long week-end férié avait déjà commencé. Félicitations à tous ceux qui ont travaillé 24 heures sur 24 pour préparer cela.
Héros de l'histoire
Si rien de pire ne s'est produit, c'est uniquement grâce à Andres Freund, un développeur de la communauté PostgreSQL, qui n'a pas ignoré une étrange régression des performances des connexions SSH sur son installation instable Debian récemment mise à niveau. Un autre témoignage selon lequel ne pas abandonner quelque chose que tout le monde aurait probablement ignoré au cours des mois ou des années à venir est ce qui fait d'un héros un héros.
Toutefois, s’appuyer sur des héros n’est pas une stratégie durable et fiable. Donc, pour l’avenir, nous devons tous tirer les leçons de ce qui s’est passé et devenir une grande équipe de petits héros.
La photo sur cet article a été prise par Matthias Pastwa et utilisée sous CC-BY-ND 2.0 DEED
7
openSUSE annonce un changement de format du fond d'écran par défaut qui passe de jpeg à png afin d'utiliser la même chose que SUSE. Le changement aura lieu lors d'une mise à jour, il est conseillé de se déconnecter de sa session puis de se reconnecter si on utilise le fond d'écran par défaut d'openSUSE. Il est prévu de proposer de nouveaux fonds d'écran à la suite de ce changement.
source : https://news.opensuse.org/2024/04/09/common-wallpaper-path/
Traduction fr automatique en ligne ci-dessous
Le fond d'écran par défaut a un chemin commun entre openSUSE et SUSE
9. avril 2024 | Lubos Kocman | CC-BY-SA-3.0
Nous utiliserons désormais png pour le fond d'écran par défaut défini sur openSUSE Tumbleweed et les prochaines versions d'openSUSE Leap et Leap Micro .
La raison de cette décision est l'unification des fonds d'écran avec SUSE Linux Enterprise via un lien symbolique de compatibilité, car le format devait être le même. SLES et SLED utilisent PNG depuis le dernier changement de nom dans SLE 15 Service Pack 3 et openSUSE utilise JPG jusqu'à présent.
L'utilisation d'un chemin de fond d'écran par défaut commun permet aux applications utilisant un fond d'écran ou une marque système similaire d'être réexécutées sur SLES et openSUSE sans avoir besoin d'être reconstruites.
Le petit prix pour l'utilisation du format sans perte est une légère augmentation de la taille, cependant, nous utilisons optipng, donc elle se situe dans les unités de mégaoctets pour toutes les résolutions de fonds d'écran combinées.
ls -la /usr/share/wallpapers/openSUSEdefault/contents/images/1600x1200.png -rw-r--r-- 1 root root 417791 Apr 5 13:14 /usr/share/wallpapers/openSUSEdefault/contents/images/1600x1200.png
ls -la /usr/share/wallpapers/SLEdefault/contents/images/1600x1200.png -rw-r--r-- 1 root root 417791 Apr 5 13:14 /usr/share/wallpapers/SLEdefault/contents/images/1600x1200.png
ls -la /usr/share/wallpapers/SLEdefault lrwxrwxrwx 1 root root 15 Apr 5 13:15 /usr/share/wallpapers/SLEdefault -> openSUSEdefault
Nous avons également fourni une nouvelle icône apple-touch , qui faisait partie des logos de la distribution SUSE Linux Enterprise et qui manquait du côté openSUSE.
Puisqu'il s'agit en fait d'un changement de fond d'écran par défaut, nous recommandons aux utilisateurs qui utilisent le fond d'écran par défaut de se déconnecter et de se connecter pour éviter tout problème. Veuillez vous assurer que le système a pu relire
/usr/share/wallpapers/openSUSE-default-static.xml
La bonne nouvelle à ce sujet est que nous prévoyons de proposer une nouvelle collection de fonds d'écran pour openSUSE Leap 16 ainsi que pour openSUSE Tumbleweed, qui n'a pas vu de changement de fond d'écran depuis un certain temps ; considérez-le simplement comme un joli petit exercice d’incendie.
9
On a parlé de cette faille ici. Je remets ci-dessous mon message :
Bonjour,
j’ai eu une notification rouge hier m’invitant à mettre à jour avec l’indication mise à jour de sécurité. Au moins les notifs sur plasma 6 fonctionnent.
C’est digne d’un film d’espionnage cette histoire. Le développeur Jian Tan (JiaT75 sur github) de code malicieux a préparé son coup depuis plusieurs années d'après ce que j'ai lu sur le net sur ce sujet. Tout d’abord en s’incrustant dans le projet et en évinçant le dev d’origine qui n’allait pas bien.
Et ensuite en insérant des bugs pour forcer la mise à jour, avec des comptes créés pour l’occasion par des gens ou lui pour faire pression et faire ces majs.
C’est un paquet intégré à systemd, on ne peut pas s’en passer, du moins l’utilisatrice lambda que je suis.
Il semble que si on n’utilise pas ssh, c’est moins inquiétant. Par contre la fin de l’annonce indique bien que si on l’utilise, il faut refaire une installation fraîche, le système (et les clés) risquant d’être compromis.
D’après certains, il pourrait y avoir d’autres « découvertes » dans le code. Le dev de code malicieux ayant pris la main depuis 2022 au moins…
Pour vérifier que vous avez la mise à jour avec les paquets corrigés :
zypper se -is xz liblzma
Chargement des données du dépôt...
Lecture des paquets installés...
S | Name | Type | Version | Arch | Repository
--+--------------------+--------+-----------------------+--------+-------------------------------
i | liblzma5 | paquet | 5.6.1.revertto5.4-3.2 | x86_64 | Dépôt principal de mise à jour
i | liblzma5-x86-64-v3 | paquet | 5.6.1.revertto5.4-3.2 | x86_64 | Dépôt principal de mise à jour
i | xz | paquet | 5.6.1.revertto5.4-3.2 | x86_64 | Dépôt principal de mise à jour
i | xz-lang | paquet | 5.6.1.revertto5.4-3.2 | noarch | Dépôt principal de mise à jour
Notez le "reverto" qui indique le correctif.
Pour regarder si ssh est actif sur votre système (vous avez pu cocher lors de l'installation pour que ça le soit, même si vous ne l'avez pas utilisé. Il semble que le service est activé par défaut sur Aeon)
sudo systemctl status sshd
Chez moi j'ai :
○ sshd.service - OpenSSH Daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled; preset: disabled)
Active: inactive (dead)
qui indique que le service est désactivé (ouf !)
Rappel : il faut mettre à jour puis redémarrer
10
Bonjour à tous,
Cette annonce a été faite dans la mailing list Factory.
Actuellement, nous avons la version 1.14.68-1.4 de zypper sur notre TW, mais prochainement arrivera avec une mise à jour vers la version 1.14.70, une nouvelle option
sudo dup --remove-orphaned
qui permettra de supprimer les paquets orphelins inutiles, c'est-à-dire les paquets qui ne sont plus reliés à un dépôt (qui n'existent plus dans les dépôts que vous utilisez) et qui ne sont pas des dépendances d'autres paquets installés sur le système.
Attention à cette commande, il est tout à fait possible que des paquets soient installés sur votre système sans être reliés à un dépôt, par exemple des paquets téléchargés et installés "à la main" pour faire fonctionner une imprimante ou un scanner ! Dans ce cas, ils sont orphelins et considérés comme inutiles car ils ne sont des dépendances d'autres paquets. Dans ce cas, il faudra protéger ces paquets pour éviter une suppression, via YaST ou avec la commande :
sudo zypper al nom-paquet-a-conserver
Dans le fil, il est indiqué, alternativement, la possibilité de créer un dépôt local pour que ces paquets ne soient plus considérés orphelins :
En root, créer un répertoire local
mkdir /LocalRepo
zypper ar -f /LocalRepo LocalRepo
Mettre dedans les fichiers .rpm et ils ne seront plus considérés comme orphelins.
La commande utilisateur
zypper packages --orphaned
montre sur mon PC trois paquets orphelins
S | Repository | Name | Version | Arch
--+------------+------------------------+----------------+-------
i | @System | libabsl2301_0_0 | 20230125.3-3.1 | x86_64
i | @System | libprotobuf-lite22_5_0 | 22.5-4.1 | x86_64
i | @System | libprotobuf22_5_0 | 22.5-4.1 | x86_64