YunoHost 3.4 testing / Call for feedback

Edit: updated changelog with 3.4.1 items

Hello everyone !

We just released a new testing version for YunoHost and would be happy to receive feedback before releasing it as a stable version :yum:

This release includes various highlights :sparkles: :

  • YunoHost will now ask confirmation if you attempt to install apps with questionable quality (experimental, low-level or third-party). This change is made to clarify to users what can be expected of an app and to avoid inadvertently breaking your system with bad-quality apps - and encourage even more packagers to improve the quality of their apps ;
  • the SSH configuration has been hardened and should now be handled by YunoHost. A migration has to be ran manually after the upgrade for this change to take effect. Note that after applying this migration you will have to use the admin user (instead of root) when connecting through SSH. There’s a high chance that you will encounter this spooky warning and will have to remove the old fingerprint in your ssh clients ;
  • HTTP2 has been enabled in nginx configuration, which is likely to make browsing faster (though we do not have quantified info about that :stuck_out_tongue_winking_eye: ) ;
  • some other security improvements / fixes (in particular to protect against some CSRF attacks) ;
  • a few important bugs were fixed - and namely the infamous “infinite pacman” (at least it should happen much less often) ;

Thanks to all contributors (Aleks, A. Pierré, ButterflyOfFire, Bram, irina11y, Josué, J. Meggyeshazi, Maniack Crudelis, M. Martin, P. Bourré, P. Joelson, Quenti, Sylkevicious, T. Hill, anubis, aleiyer, chateau, frju365, gdayon, liberodark, ljf, randomstuff, nqb, wilPoly) ! :heart:

Detailed changelog

:rainbow: Highlights

:hammer_and_wrench: Misc fixes / improvements

How to participate to the beta-testing :construction_worker_woman: :construction_worker_man:

:warning: Do not do this on a critical server !

In the command line, you can launch this command to switch to testing :

curl https://install.yunohost.org/switchToTesting | bash

(if you are familiar with bash scripting, you might want to read what this does before blindly running the command)

After this command, you should see that you are running YunoHost 3.4.0.

What to test ? :space_invader: :telescope:

Here are a few specific items for which tests and feedback would be quite important ! If you tweaked nginx’s conf manually, make sure to update / regen the conf with yunohost service regen-conf nginx --force.

  • The SSH migration is actually made of two migrations : the first is automatic and the second is manual. Make sure that the first ran correctly then run the second one. Reconnect through SSH. Report anything that you find troublesome (either bugs or bad UX).
  • Check that every app you have still behave correctly.
  • Try to install apps that you know are low or bad quality, via the webadmin or the command line, and let us know if you find that the UX could be improved.
  • Try to use yunohost user ssh commands as explained in this documentation and validate that it works as expected (e.g. allow a user to connect through SSH and validate that this indeed works).
  • Perform a few usual things on your server such as creating a user, installing an app, 

7 Likes

[FR] Bonjour Ă  tous !

Nous venons de publier une nouvelle version de test pour YunoHost.
Nous serions heureux de recevoir vos commentaires avant de le publier sous forme de version stable: :grin:

Cette version inclut divers points importants :sparkles: :

  • YunoHost vous demandera maintenant de confirmer si vous essayez d’installer des applications avec une qualitĂ© douteuse (expĂ©rimentale, de bas niveau ou tierce). Cette modification a pour but de clarifier aux utilisateurs ce que l’on peut attendre d’une application et d’éviter de casser votre systĂšme par inadvertance avec des applications de mauvaise qualitĂ© - et d’encourager encore plus de fournisseurs Ă  amĂ©liorer la qualitĂ© de leurs applications :wink:
    * la configuration SSH a Ă©tĂ© durcie et devrait maintenant ĂȘtre gĂ©rĂ©e par YunoHost. Une migration doit ĂȘtre exĂ©cutĂ©e manuellement aprĂšs la mise Ă  niveau pour que cette modification soit prise en compte. Notez qu’aprĂšs l’application de cette migration, vous devrez utiliser l’utilisateur admin (au lieu de root) lors de la connexion via SSH. Il y a de fortes chances que vous rencontriez cet avertissement fantasmagorique 6 et que vous deviez supprimer l’empreinte digitale ancienne de vos clients ssh;
  • HTTP2 a Ă©tĂ© activĂ© dans la configuration nginx, ce qui rendra probablement la navigation plus rapide (bien que nous n’ayons pas d’informations quantifiĂ©es Ă  ce sujet :stuck_out_tongue_winking_eye: .
    * Quelques améliorations / corrections en matiÚre de sécurité (notamment pour se protéger contre certaines attaques CSRF);
    * Quelques bugs importants ont été corrigés - et notamment le fameux «pacman infini» (au moins, cela devrait arriver beaucoup moins souvent);

Merci à tous les contributeurs (Aleks, A. Pierré, ButterflyOfFire, Bram, irina11y, Josué, Maniack Crudelis, P. Joelson, Quenti, Sylkevicious, T. Hill, chùteau, frju365, gdayon, liberodark, ljf, randomstuff, nqb, wilPoly) ! :heart: :
Changelog détaillé :rainbow: :

CHANGELOG notoires:

  • [enh] Demander confirmation lors de l’installation d’applications expĂ©rimentales ou de qualitĂ© mĂ©diocre (Yunohost n ° 598, Yunohost-admin n ° 218)
  • [Fix] Durcir et normaliser la configuration sshd (Yunohost N ° 518 3, Yunohost N ° 590 2)
  • [fix] ProtĂ©ger contre le CSRF (Moulinette n ° 171, Moulinette n ° 174)
  • [enh] Activer HTTP2 dans les configurations nginx (Yunohost # 580 2)
  • [correctif] Corrige quelques problĂšmes avec pacman fonctionnant sans arrĂȘt (erreurs 500 non gĂ©rĂ©es correctement) (Yunohost-admin #220, Moulinette #180)
  • [i18n] AmĂ©liorer les traductions en arabe, occitan, italien, espagnol et suĂ©dois

:hammer_and_wrench: Corrections / améliorations diverses

  • [enh] Affiche la date lisible par l’homme et clarifie la gestion du fuseau horaire (Yunohost # 552, Yunohost-admin # 216, Moulinette # 184)
    * [enh] Ajout d’une option permettant de purger les donnĂ©es de l’utilisateur lors de sa suppression du panneau d’administration (Yunohost-admin # 221)
    * [enh] Supprimez Ă©galement / var / mail / directory lors de la suppression utilisateur (avec l’option --purge) (Yunohost # 602)
  • [fix] Ne pas exĂ©cuter les vĂ©rifications initiales Ă  chaque fois que la page d’accueil affichĂ©e (Yunohost-admin n ° 217)
  • [correctif] Messages au niveau DEBUG n’apparaissant pas dans les actions effectuĂ©es via l’API (Yunohost # 603)
  • [Fix] Ajouter libpam-ldapd comme dĂ©pendance pour pouvoir se connecter via SSH avec des utilisateurs LDAP (Yunohost # 587)
  • [enh] Ajoutez un hook post_cert_update Ă  chaque mise Ă  jour du certificat (Yunohost # 586)
  • [enh] Mettez Ă  jour les courbes ECDH recommandĂ©es par Mozilla, maintenant que nous sommes sur un tronçon (Yunohost # 579)
  • [enh] Utiliser more_set_headers dans nginx config + corrige les problĂšmes de traversĂ©e de chemin (Yunohost # 564)
  • [enh] Autoriser Ă  ne pas Ă©chouer lors de la sauvegarde et de la restauration de fichiers non obligatoires (Yunohost # 576 1)
  • [Fix] N’utilisez plus de fichier ini sĂ©parĂ© pour les pools php (Yunohost # 548)
  • [enh] AmĂ©liorer le support UPnP (Yunohost # 542)
    * [Fix] GĂ©nĂ©rer correctement les clĂ©s DKIM pour les nouveaux domaines lorsqu’ils sont ajoutĂ©s (Yunohost / 0445aed)
  • [enh] Basculez vers la regex PCRE pour les rĂšgles dans conf.json (SSOwat # 102)
  • [enh] Simplifier la gestion des erreurs (Yunohost N ° 574, Moulinette N ° 180)
  • Divers correctifs et amĂ©liorations techniques (Yunohost N ° 601, Yunohost N ° 600, Yunohost N ° 593, Yunohost N ° 595, Moulinette N ° 187, Moulinette N ° 182, Moulinette N ° 181, Moulinette N ° 185 1)

Comment participer au bĂȘta-test :construction_worker_woman: :construction_worker_man:

:warning: ne faites pas cela sur un serveur de production!

En ligne de commande, vous pouvez lancer cette commande pour passer aux tests:

curl https://install.yunohost.org/switchToTesting | bash

(Si vous connaissez le script bash, vous voudrez peut-ĂȘtre lire ce que cela fait avant d’exĂ©cuter aveuglĂ©ment la commande)

AprĂšs cette commande, vous devriez voir que vous utilisez YunoHost 3.4.0.
Qu’est ce que je teste? :space_invader:

Voici quelques éléments spécifiques pour lesquels des tests et des commentaires seraient trÚs importants!
Si vous avez modifié manuellement la configuration de nginx, assurez-vous de la mettre à jour / régénérer avec =

yunohost service regen-conf nginx --force .

  • La migration SSH est en rĂ©alitĂ© composĂ©e de deux migrations: la premiĂšre est automatique et la seconde est manuelle. Assurez-vous que le premier a fonctionnĂ© correctement puis exĂ©cutez le second. Reconnectez-vous via SSH. Signalez tout ce que vous trouvez gĂȘnant (bugs ou mauvais UX).
  • VĂ©rifiez que chaque application que vous avez toujours se comporte correctement.
  • Essayez d’installer des applications dont la qualitĂ© est mauvaise ou trĂšs mauvaise, via l’administration Web ou la ligne de commande, et dites-nous si vous pensez que l’UX pourrait ĂȘtre amĂ©liorĂ©e.
  • Essayez d’utiliser les commandes de l’utilisateur SSH comme expliquĂ© dans ce document.:

yunohost user ssh

  • Tester les usages principaux sur votre serveur Ă  savoir la crĂ©ation d’utilisateurs, installer des applications connues

4 Likes

Hello,

La documentation diffÚre légÚrement entre la version française et anglaise :wink:

1 Like

Bonjour,
J’ai activĂ© l’authentification SSH Ă  deux facteurs. Est ce que le fait que la configuration SSH a Ă©tĂ© durcie aura un impact?

Oui,

le mécanisme de migration te demandera si tu acceptes que ta configuration SSH soit écrasée. Si tu souhaites garder ta configuration actuelle, il suffit normalement de skipper la migration (par contre tu ne beneficieras pas des évolutions de la configuration)

L’autre solution est d’appliquer la migration, puis de remodifier à la main le fichier /etc/ssh/sshd_config

Bonjour,

Je voudrais avoir plus d’informations pour tester la version 3.4.

Je suis intĂ©ressĂ© pour faire des tests Ă  partir de ma config actuelle (afin d’avoir de la donnĂ©e et une config existante) mais je ne veux pas passer mon serveur de production en test, avez-vous une procĂ©dure complĂ©mentaire ou de la doc Ă  ce sujet ?

Comment testez-vous de votre cÎté ?

Il ne semble pas avoir de nouvelles phrases Ă  traduire pour cette nouvelles version sur https://translate.yunohost.org. Un soucis quelque part ?

Hello merci pour tout le boulot que vous faites !

Bonne année à tous

1 Like

Bonjour,

S’il vous plait pourriez vous corriger le message d’erreur dit erreur serveur inatendu (0 erreur).
Visible sur plex ou onlyoffice alors que en debug y a aucune erreur etc


Test effectué sur la version 3.4.0 !

Bien Cordialement

Bonjour,
Il me semble que la protection CSRF est un peu trop efficace, il devient impossible de se servir de l’API :

curl -k -d “password=pass” --dump-header headers https://127.0.0.1/yunohost/api/login

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
    <head>
        <title>Error: 403 Forbidden</title>
        <style type="text/css">
          html {background-color: #eee; font-family: sans;}
          body {background-color: #fff; border: 1px solid #ddd;
                padding: 15px; margin: 15px;}
          pre {background-color: #eee; border: 1px solid #ddd; padding: 5px;}
        </style>
    </head>
    <body>
        <h1>Error: 403 Forbidden</h1>
        <p>Sorry, the requested URL <tt>&#039;http://127.0.0.1/login&#039;</tt>
           caused an error:</p>
        <pre>CSRF protection</pre>
    </body>
</html>

Salut,

est-ce que tu peux retenter un ajoutant -H "X-Requested-With: customscript" ?

\o/
curl -k -H “X-Requested-With: customscript” -d “password=pass” https://127.0.0.1/yunohost/api/login
→ ConnectĂ©
Du coup, juste mettre YunoHost ‱ index à jour. Merci !

1 Like

Hello, je n’arrive pas à mettre à jour Yunohost depuis la 3.3.3 ?
Voici le log :

[root@monserveur.fr:~# yunohost tools update
Traceback (most recent call last):
  File "/usr/bin/yunohost", line 213, in <module>
    timeout=opts.timeout,
  File "/usr/lib/python2.7/dist-packages/moulinette/__init__.py", line 136, in cli
    moulinette.run(args, output_as=output_as, password=password, timeout=timeout)
  File "/usr/lib/python2.7/dist-packages/moulinette/interfaces/cli.py", line 390, in run
    ret = self.actionsmap.process(args, timeout=timeout)
  File "/usr/lib/python2.7/dist-packages/moulinette/actionsmap.py", line 519, in process
    return func(**arguments)
  File "/usr/lib/moulinette/yunohost/tools.py", line 467, in tools_update
    if not cache.update():
  File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 466, in update
    raise FetchFailedException()
apt.cache.FetchFailedException

Si tu fais apt-get update, qu’est-ce que ça raconte ?

root@monserveur:~# apt-get update
Ign:1 http://debian.mirrors.ovh.net/debian stretch InRelease
Hit:2 http://security.debian.org stretch/updates InRelease
Get:3 http://debian.mirrors.ovh.net/debian stretch-updates InRelease [91.0 kB]
Get:4 http://debian.mirrors.ovh.net/debian stretch Release [118 kB]                                   
Hit:5 http://forge.yunohost.org/debian stretch InRelease                                                       
Hit:7 https://packages.sury.org/php stretch InRelease                           
Hit:9 https://deb.nodesource.com/node_8.x stretch InRelease
Hit:10 https://download.docker.com/linux/debian stretch InRelease
Err:6 https://dl.yarnpkg.com/debian stable InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4F77679369475BAA
Fetched 209 kB in 1s (199 kB/s)
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://dl.yarnpkg.com/debian stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4F77679369475BAA
W: Failed to fetch https://dl.yarnpkg.com/debian/dists/stable/InRelease  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4F77679369475BAA
W: Some index files failed to download. They have been ignored, or old ones used instead.

Une erreur bizarre, déjà remontée sur un autre fil

Visiblement une app (je ne sais pas laquelle) a ajouté comme repo de logiciel dl.yarnpkg.com et maintenant ce repo pose probleme 


Tu peux faire grep -nr yarnpkg /etc/apt/sources.list.d pour trouver quel fichier est responsable, et eventuellement commenter la ligne 


1 Like

Ça a parfaitement fonctionnĂ©, merci pour ton aide (encore une fois) trĂšs efficace !

J’ai aussi eu ce soucis il y a quelques temps, mais n’ayant pas voulu retirer yarn, j’ai fait ça :

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -

Ça m’a remis la clef de yarn et ça a marchĂ©.
Quelques temps aprĂšs j’ai Ă  nouveau eu le soucis, mĂȘme manip, et depuis ça va bien.

1 Like

Note: i have done migration 6&7 on one of my server but i don’t test the 8 migration (because i wanted to keep my server listend on an other port)

I notice this strange sentence in French:
“Pour lancer la migration 8 ssh_conf_managed_by_yunohost_step2, vous devez accepter cette clause de non-responsabilitĂ©â€

“non-responsabilitĂ©â€ seems imply in other case YunoHost project is accountable. I think no.