YunoHost 3.4 release / Sortie de YunoHost 3.4

:gb: English version

Hello everyone!

We’re happy to release a new stable version: version 3.4 :partying_face:!

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 such apps, and to avoid inadvertently breaking your system with bad-quality apps. This should also 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! You might also encounter this kind of spooky warning and will have to remove the old cryptographic fingerprint in your ssh clients;
  • HTTP2 has been enabled in nginx configurations, 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, as well as various smaller ones. Namely, the infamous “infinite pacman” bug should happen much less often;

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

:scroll: Detailed changelog

:rainbow: Highlights

:hammer_and_wrench: Misc fixes / improvements

UI,UX
Core, security
  • [enh] Update spectre meltdown checker (YunoHost#620)
  • [fix] Add libpam-ldapd as dependency to be able to login through SSH with LDAP users (Yunohost#587)
  • [enh] Update ECDH curves recommended by Mozilla, now that we are on stretch (Yunohost#579)
  • [enh] Use more_set_headers in nginx config + fixes for path traversal issues (Yunohost#564)
  • [fix] Explicit dependance to iptables (YunoHost/1667ba1)
  • [fix] Correctly generate DKIM keys for new domains when they are added (Yunohost/0445aed)
  • [enh] Handle apps hosted on GitLab properly (YunoHost#615)
  • [enh] Simplify error management (Yunohost#574, Moulinette#180)
  • [fix] Several issues with bootprompt (YunoHost#609)
  • [fix] Set owner of archives folder to ‘admin’ so that backup archives can be copied out of the server with the admin user (YunoHost#613)
  • [fix] Propagate --no-checks cert-install option to renew crontab (YunoHost#610)
Helpers, app packaging
  • [enh] Add systemd log handling in yunohost service add (YunoHost#624)
  • [enh] Allow to not fail on backup and restore for non-mandatory files (Yunohost#576)
  • [fix] Deprecate the use of separate ini file for php apps (Yunohost#548, Yunohost#627)
  • [enh] Switch to PCRE regex for rules in conf.json (SSOwat#102)
  • [fix] Fix the way change_url updates the domain/path (YunoHost#608, YunoHost#626)
  • [enh] Add reload and restart actions to yunohost service command (YunoHost#611)
  • [enh] Add post_cert_update hook each time certificate is updated (Yunohost#586)
Misc technical fixes and improvements

Yunohost#601, Yunohost#600, Yunohost#593, Yunohost#595, Moulinette#187, Moulinette#182, Moulinette#181, Moulinette#185, YunoHost#607, YunoHost#616, YunoHost#628, YunoHost#632, YunoHost/969577b, YunoHost/51712f9

:arrow_up: How to upgrade

From the web admin

  • Go to “Update system”
  • Then hit the “Update” button in the “System” block.

Or from the command line

$ apt-get update
$ apt-get dist-upgrade

:newspaper: Misc news about the project

This release is a significant step forward, yet the flow of pull request does not stop! There are still quite a lot of importants features and improvements to come, not to mention more technical stuff like the coming release of Debian Buster in a few months :wink:.

In terms of organization, we are still finalizing the bank account opening to finaly open a stable donation mechanism. We are also still attempting to obtain funding to pay for some specific development, via the Support Self-Hosting association :money_mouth_face:.

Finally, a poll was opened to better understand why and how you use YunoHost in everyday life! It would help us if you could take a few minutes to answer :blush: : [Poll] What do you use YunoHost for?


:fr: Version française

Salut tout le monde !

Nous sommes heureux d’annoncer une nouvelle version stable, la version 3.4 :partying_face: !

Cette version intègre plusieurs changements importants :sparkles: :

  • Désormais, YunoHost demandera confirmation si vous essayez d’installer des applications de qualité douteuse (expérimentale, de bas niveau ou packagées par des tiers). Ce changement est là pour clarifier le fait que de telles applications peuvent être incomplètes et peuvent casser votre système. En outre, cela devrait encourager encore un peu plus les packageurs à améliorer la qualité de leurs applications ;
  • la configuration SSH a été durcie et devrait maintenant être gérée de manière standardisée par YunoHost. Une migration doit être exécutée manuellement après la mise à niveau pour que cette modification prenne effet. Notez qu’après avoir appliqué cette migration, vous devrez utiliser l’utilisateur admin (au lieu de root) lors de la connexion via SSH ! Il est également possible que vous rencontriez un avertissement qui fait peur et qu’il vous faille supprimer l’ancienne empreinte cryptographique de vos clients ssh ;
  • HTTP2 a été activé dans les configurations nginx, ce qui est susceptible de rendre la navigation plus rapide (bien que nous n’ayons pas d’informations quantifiées à ce sujet :stuck_out_tongue_winking_eye: ) ;
  • quelques autres améliorations et correctifs de sécurité (en particulier pour se protéger contre certaines attaques de type CSRF) ;
  • plusieurs bugs importants ont été corrigés, ainsi que de nombreux autres, plus petits. En particulier, le célèbre bug du “pacman infini” devrait se produire beaucoup moins souvent… ;

Merci à tous les contributeur.ice.s (Aleks, A. Garaialde, A. Pierré, ButterflyOfFire, Bram, irina11y, Josué, J. Meggyeshazi, kay0u, Maniack Crudelis, M. Martin, P. Joelson, Quenti, Sylkevicious, T. Hill, anubis, aleiyer, chateau, frju365, gdayon, liberodark, ljf, randomstuff, nqb, WilPoly) ! :heart:

:scroll: Details des changements

:rainbow: Changements majeurs

  • [enh] Demande de confirmation lors de l’installation d’applications expérimentales ou de faible qualité (Yunohost#598,Yunohost-admin#218)
  • [fix] Amélioration et standardisation de la configuration sshd (Yunohost#518,Yunohost#590)
  • [enh] Protection contre les CSRF (Moulinette#171, Moulinette#174)
  • [enh] Activation de HTTP2 dans les configurations nginx (Yunohost#580, Yunohost#618)
  • [fix] Problème du pacman qui tourne à l’infini (les erreurs 500 n’étaient pas gérées correctement) (Yunohost-admin#220,Moulinette#180)
  • [i18n] Amélioration des traductions pour l’arabe, le basque, l’occitan, l’italien, l’espagnol, le hongrois, l’espéranto, l’allemand, le chinois (mandarin) et le suédois.

:hammer_and_wrench: Correctifs et améliorations diverses

UI,UX
  • [enh] Affichage de dates compréhensibles par des humains, et clarification de la gestion des fuseaux horaire (Yunohost#552,Yunohost-admin#216,Moulinette#184))
  • [enh] Ajout d’une option pour purger les données de l’utilisateur lors de leur suppression via la webadmin (Yunohost-admin#221)
  • [enh] Supprimer également le répertoire /var/mail/username lors de la suppression d’un utilisateur (avec l’option --purge) (Yunohost#602))
  • [fix] Ne pas relancer les vérifications initiales à chaque fois que la page d’accueil est affichée (Yunohost-admin#217)
  • [fix] Les essages de niveau DEBUG n’apparaissaient pas dans les logs quand les actions sont effectuées via l’API (Yunohost#603)
  • [enh] Ajouter des boutons “selectionner tout/rien” sur les pages de création et de restauration de sauvegardes de l’administrateur web (YunoHost-admin#224)
  • [fix] “Erreur 500” sur ssowat après modification du mot de passe utilisateur (SSOwat#114)
  • [fix] Meilleure gestion de l’erreur super cryptique “error 0” (YunoHost-Admin/4884bff)
    *[i18n] Changements d’orthotypographie (YunoHost#612,YunoHost-admin#223,Moulinette#190)
Core, sécurité
  • [enh] Mise à jour du script de diagnostique pour Spectre/Meltdown (YunoHost#620)
  • [fix] Ajout de libpam-ldapd comme dépendance pour pouvoir se connecter en SSH avec les utilisateurs LDAP (Yunohost#587)
  • [enh] Mise à jour des courbes ECDH telles que recommandées par Mozilla, maintenant que nous sommes en stretch (Yunohost#579)
  • [enh] Utilisation de more_set_headers dans les configurations de nginx + corrections pour les problèmes de path traversal (Yunohost#564)
  • [fix] Dépendance explicite à iptables (YunoHost/1667ba1)
  • [fix] Générer les clés DKIM pour les nouveaux domaines lorsqu’ils sont ajoutés (Yunohost/0445aed)
  • [enh] Gestion des applications hébergées sur GitLab (YunoHost#615)
  • [enh] Simplification de la gestion des erreurs (Yunohost#574,Moulinette#180)
  • [fix] Plusieurs problèmes avec le bootprompt (YunoHost#609)
  • [fix] Changement de propriétaire du dossier archives en ‘admin’ pour que les archives de sauvegarde puissent être copiées depuis le serveur avec l’utilisateur admin (YunoHost#613).
  • [enh] Propagation de l’option --no-checks sur le cron de renouvellement de certificat (YunoHost#610)
Helpers, app packaging
  • [enh] Ajout de la gestion des journaux systend via la commande yunohost add (YunoHost#624)
  • [enh] Choisir le shell de connexion lors de la création d’utilisateurs avec ynh_system_user_create (YunoHost#455,YunoHost#629)
  • [fix] Permettre de ne pas échouer lors de la sauvegarde et de la restauration de fichiers non obligatoires (Yunohost#576)
  • [fix] Déconseiller l’utilisation d’un fichier php-fpm ini séparé pour les applications php (Yunohost#548,Yunohost#627)
  • [enh] Passage aux regex PCRE pour les règles du fichier conf.json (SSOwat#102)
  • [fix] Correction de la façon dont change_url met à jour le domaine/chemin (YunoHost#608,YunoHost#626))
  • [enh] Ajouter des actions de restart et reload à la commande `yunohost service’ (YunoHost#611)
  • [enh] Ajout d’un hook post_cert_update à chaque mise à jour du certificat (Yunohost#586)
Autres corrections et améliorations techniques

Yunohost#601, Yunohost#600, Yunohost#593, Yunohost#595, Moulinette#187, Moulinette#182, Moulinette#181, Moulinette#185, YunoHost#607, YunoHost#616, YunoHost#628, YunoHost#632, YunoHost/969577b, YunoHost/51712f9

:arrow_up: Comment mettre à jour

Depuis la webadmin

  • Aller dans “Mettre à jour le système”
  • Puis cliquez sur “Mettre à jour” dans le bloc “Système”.

Ou à partir de la ligne de commande

$ apt-get update
$ apt-get dist-upgrade

:newspaper: Autres nouvelles du projet

Cette version est un grand pas en avant, et pourtant le flux de pull requests ne diminue pas ! Il y a encore beaucoup de fonctionnalités et d’améliorations importantes en préparation, sans parler de choses plus techniques comme la publication prochaine de Debian Buster dans quelques mois :wink:.

En termes d’organisation du projet, nous sommes encore en train de finaliser l’ouverture d’un compte bancaire pour finalement réussir à mettre en place un mécanisme stable de réception des dons. Nous essayons aussi d’obtenir des subventions pour financer certains développements, via l’association Support Self-Hosting :money_mouth_face:.

Et pour finir, nous avons ouvert un sondage pour connaître un peu mieux les besoins auquels YunoHost réponds dans votre quotidien ! Cela nous aiderait si vous pouviez prendre quelques minutes pour répondre :blush: : [Poll] What do you use YunoHost for?

Thanks for your work :tada:

I just upgraded one raspberry without troubles :slight_smile:

I have two questions :

  • A new line added to /etc/ssh/sshd_config (Banner /etc/issue.net) is printing OS server version in every ssh connexion attempt, which was not the case before.
    I tend to think that this kind of information could help attackers, but maybe there is a good reason to print that ?

  • In the web admin, I have now an error message regarding Meltdown check :

Unable to check for meltdown vulnerability: Command output for failed meltdown check: 'We’re missing some kernel info (see -v), accuracy might be reduced We’re missing some kernel info (see -v), accuracy might be reduced [{“NAME”:“MELTDOWN”,“CVE”:“CVE-2017-5754”,“VULNERABLE”:false,“INFOS”:“your CPU vendor reported your CPU model as not vulnerable”}] ’

Something wrong happened when trying to diagnose Meltdown vunerability, exception: No JSON object could be decoded

Is it normal ?

That’s a good question. I don’t really know about what’s recommended. Though I really doubt that by itself it “help attackers”. Like … yeah it leaks some info about the distro / hardware, but if this info is enough for an attacker to compromise your system, I doubt that the issue lies in the banner being displayed :/. Not to mention that this looks like nothing compared to the fact that, currently, you can know the Yunohost version just by going to ip.of.server/yunohost/admin (or there’s an API route for that)

Interestingly, some website recommend to setup a spooky warning for attackers, c.f. : HowTo: Set a Warning Message (Banner) in SSH - ShellHacks

Yes indeed. That’s not something to worry too much about (the message in fact says your hardware aint vulnerable). It just complains about missing some kernel info which might lead to diagnosis innacuracy … and turns out YunoHost’s code doesn’t handle the parsing of the whole thing properly. Anyway, I pushed a fix and will release it with a few others :wink:

Edit : released 3.4.2.1

On YunoHost 3.3, if you open a SSH session with the -v, you already see this information:

debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4p1 Debian-10+deb9u4

Hi thanks for the update

during the update I got this:


(…)
Processing triggers for initramfs-tools (0.130) …
Setting up ssowat (3.4.2) …
Session closed.


after a reboot I get now:

apt-get dist-upgrade
E: dpkg was interrupted, you must manually run ‘dpkg --configure -a’ to correct the problem.

Can you help THANKS

Ok

worked

Release is available for docker ! Don’t hesitate to give me comebacks :slight_smile:

Congratulations on the release team :slight_smile: . Upgraded my server to the lastest without issue. Huge thank you for all your work :heart:

Maybe it’s been discussed before, but have you guys thought about accepting donations from users via Liberapay or something?

Yes, this has been a recurring topic for more than a year now I think :wink: We are still in the process of finishing to bank account creation to have a true and long-term donation system (obviously it sounds like we’re loosing money in the meantime, but we’re volunteer and this whole bureacratic process is long and boring so that takes time :sweat_smile:)

Nice, look forward to seeing what you come up with. :sweat_smile:

I’ve been donating via liberapay the past few month, does that mean you don’t get our liberapay’s donations at the moment? :open_mouth:

Thanks for the continued hard work of all the team ! :hugs:

:question: How is the change of SSH port managed ? If I touch the config, will it be preserved or squashed in future updates ? (Maybe a diff message would be nice ?)

We get them don’t worry, but also : thx a lot :heart:

Merci beaucoup pour toutes ces supers avancées :slight_smile:
Concernant le point “Amélioration et standardisation de la configuration sshd” : y a-t-il un risque que cela casse quelque chose lors de l’upgrade si on a personnalisé en amont la connexion SSH en suivant https://yunohost.org/#/security_fr (authentification par clé & modification du port SSH) ? Merci d’avance pour le retour !!

Salut,

Les changements apportés à la conf n’arriverons qu’après lancement manuel (ou ‘skip’) de la migration, donc tu peux dans tous les cas mettre à jour ton serveur quand même.

Le ‘disclaimer’ de la migration t’indiquera les changements importants, notamment si il y a un retour au port par défaut. Dans ce cas, il faut que le port 22 puisse être accessible … A part ça, tu devrais pouvoir te logger en admin (avec le mot de passe correspondant).

Ensuite, tu peux re-changer le port dans la conf si tu le souhaites, ou bien avant tout ça de skip la migration pour garder ta conf en l’état. Dans ces deux cas, si le fichier n’est pas conforme à la recommendation de yunohost, il sera considéré comme “modifié manuellement” et donc non mis à jour.

J’espère que ça réponds à la question :wink:

Bonjour @Aleks,

Suite à la migration 3.4, je ne pouvais plus me connecter avec ma clef ssh en tant que root ou admin. Pour restaurer l’accès, j’ai dû copier le .ssh/authorized_keys2 de l’utilisateur root vers admin

Voir ce post pour les commandes utilisées:

Super @Aleks pour les explications :slightly_smiling_face:.
Avec ça et tes retours ci-dessus @Gofannon, ça devrait le faire.
Merci à vous !

Very great update :smiley:

Bonjour tout le monde !

Merci pour cette MàJ. Bémol, même après la migration, des fichiers sont toujours la propriété de Root, et je ne peux y accéder. Comme des logs, par exemple.

Est-ce normal ? :slight_smile: