-
-
Notifications
You must be signed in to change notification settings - Fork 775
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Sécurité] Màj : données d'identification en clair -> Refonte système de màj #411
Comments
Lorsque le fichier install.php est présent, le système est en mode installation. |
Bah en cas de mise à jour, faudrait occulter les infos vu que c'est une mise à jour... |
Je pense aussi que la protection devrait être intégrée au niveau de FreshRSS. Après peut-être pas besoin de s'authentifier mais simplement exécuter la mise à jour en ne demandant que les infos obligatoires qui apparaissent d'une version à l'autre ? (exemple, le nom d'utilisateur) |
Oui, demander uniquement les nouvelles informations éviterait aussi les problèmes d'utilisateurs qui changent les données de BD alors qu'ils souhaitent une mise à jour sur place #417 |
J'aimerais revoir la procédure de mise à jour. J'aimerais notamment automatiser tout ça plutôt que de devoir aller chercher le code complet à chaque fois :
Ainsi on pourrait simplifier le script d'install qui commence à devenir dur à relire ;) Et comme ce script ne sera accessible qu'à l'admin, plus de soucis ! |
Au passage, j'enlève tout le code en rapport avec des mises à jour dans install.php |
Je plussoie la proposition des mises à jour :) |
Oui, évidemment :p |
Tu peux faire un backup de la base aussi ? |
@Draky50110 > au moins les fichiers, normalement il ne devrait pas y avoir de soucis pour les màj de BDD désormais (tout au plus un ajout ou suppression de colonne). Je verrai s'il est possible de faire des dumps. Au pire tu as la fonction pour exporter les articles ;) Sinon j'ai créé une nouvelle branche pour la refonte de la fonctionnalité d'update : Pour le moment j'ai viré les références au système précédent d'update, j'ai fait quelques améliorations pour l'étape 2 et modifié le coding style… |
N'étant pas suicidaire, je préfère attendre la branche "dev" :p |
Oui faut pas encore utiliser ma branche, elle n'est pas stable du tout ^^ C'est juste histoire de suivre mon travail. De toutes façons aujourd'hui je me lance dans plein de trucs à la fois :p Pour la case à cocher je pense qu'Alkarex va s'en charger prochainement… sinon je peux le faire dans la journée ;) |
Je viens de réagir que si l'on veut mettre les fichiers à jour automatiquement, il fautque FreshRSS ait les droits d'écriture sur app/ p/ et lib/ ! >< Du coup je ne sais pas trop si on doit essayer d'automatiser ça où laisser l'utilisateur le faire à la main (sachant que le script s'occupera déjà de faire un backup, mettre à jour la BDD, faire mumuse avec les fichiers quand nécessaire, etc.) |
Bah tu peux faire un test sur les droits jute au début non ? |
- Check on update.freshrss.org for new updates - Download script - Apply script - Need translations and verifications NOTE: current script on server indicates version 0.7.3 is an update of 0.8-dev ==> IT'S ONLY FOR MY TESTS! Script just does a backup of ./data actually... See #411
Et hop, la base est posée, faudra améliorer un peu tout ça et surtout écrire le(s) scripts de mise à jour côté serveur. |
Update script must implement 4 functions: - apply_update() to perform the update (most important). Return true if all is ok, else false. - need_info_update() returns true if we need more info for update, else false. If this function always returns false, you don't need to implement following functions (but it's better to not forget) - ask_info_update() should be a HTML form to ask infos. Method must be post and action must point to _url('update', 'apply') (or leave it blank) - save_info_update() is called for POST requests (to save form from ask_info_update())
J'ai changé le nom du ticket vu que c'est parti sur la refonte du système de mise à jour. Au passage j'ai amélioré l'API de màj :) |
Par contre, maintenant, quand je remplace les fichiers, il me redemande l'ident/user lors de la mise à jour et aussi les infos MySQL. |
Il ne faut pas utiliser le système d'installation, ce sera totalement séparé ! |
Là j'ai un premier système fonctionnel (je viens de réussir à passer de la 0.8-dev vers la 0.7.3, c'est pas dans le bon sens mais c'est pour tester ;)) |
Le dépôt pour le système de màj côté serveur est dispo : https://github.com/marienfressinaud/update.freshrss.org |
Voilà, le système de mise à jour est dispo et fonctionnel ! :) Par contre, quelques trucs à savoir :
Y a besoin de retours maintenant :) |
Ha ok, parce voici ce que je fais pour mettre à jour ma dev en SSH :
C'est clair ? lol Du coup, quand je retourne sur l'instance avec Firefox, bah ça mets à jour.. en demandant les ident |
Bah là il faudra attendre au moins la 0.7.4 pour voir le système arriver. Faudra voir pour l'inclure dans la 0.8-dev bientôt. Le système sera :
|
Désormais la 0.8-dev se met à jour sur la branche de dev ;) |
@marienfressinaud Pour éviter les certificats auto-signés, voir https://www.startssl.com gratuit que j'utilise. |
@Alkarex > oui je sais, j'en ai déjà un pour mon domaine + un sous-domaine (sinon je ne pouvais pas utiliser mon FirefoxOS pour les mails et agenda). Mon problème c'est que freshrss.org se situe sur le même serveur et je ne suis pas sûr que ça soit possible de faire du "multi-certificats" avec mon multi-domaines :( |
Il faut faire un second certificat, et ensuite si tu gères l'ensemble des domaines du serveur, il y a plusieurs techniques possibles, avec ou sans SNI, par exemple avec un simple |
Bonne idée ! J'ai commencé la procédure, mais fallait que je configure le serveur mail sur le ndd freshrss.org, autant dire que ça m'a prit du temps. Je pense avoir à peu près fini mais il faut attendre que la config DNS se propage ! |
Serveur configuré ! https://update.freshrss.org/ Ça n'a pas été de la tarte mais ça semble fonctionner :) Edit : il manquant encore le paramètre SSLCertificateChainFile, c'est réglé ! |
👍 |
Du coup, c'est implémenté dans dev ? |
Non pas encore, c'est encore dans une branche à part parce que je n'ai pas tout à fait fini ! |
👍 |
Ajouté dans Je vous conseille de tester aussi pour le moment avec des données non critiques (même si un backup est fait). Signalez-moi tout problème :) |
Ah bah en voilà un premier sur mon serveur, ça me remonte " Arf ! Le serveur de mise à jour n’a pas été trouvé. [https://update.freshrss.org?v=0.8-dev] " Edit : problème de certificat ! Je regarderai plus tard… |
Avec l'ajout du système de mises à jour, il n'y a plus besoin de l'accès à la page d'installation : problème initial résolu. Pour les discussions et problèmes à propos du nouveau système de màj, je propose d'ouvrir des tickets spécifiques (ça a déjà commencé ^^). Le dernier problème que j'ai remonté vient d'une mauvaise config de mon serveur, pas de FRSS. Je ferme donc ce ticket. |
Hello.
J'ai décelé un bug, ou une faille, ou un truc qui m'interpelle en tout cas.
On peut faire une mise à jour sans être identifié !
Démarche :
On voit les infos de connex (enfin identifiant) et même les infos de connex à la base MySQL, ce qui me semble... dangereux ?
Faudrait pas s'authentifier AVANT le lancement de la mise à jour ?
The text was updated successfully, but these errors were encountered: