Closed
cerdic
wants to merge 27 commits from refacor_auth_spip_alter
into 4.1
pull from: refacor_auth_spip_alter
merge into: spip:4.1
spip:1.8
spip:1.9.1
spip:1.9.2
spip:2.0
spip:2.1
spip:3.0
spip:3.1
spip:3.2
spip:4.0
spip:4.1
spip:4.2
spip:boutons-danger
spip:coquille_doc
spip:debug_ecrire_fichier
spip:dev-sortable
spip:dev/autoloader
spip:dev/hasard_fixe
spip:dev/instituer_ergo
spip:dev/issue_4626_menu_squelettes
spip:dev/issue_5447_exporter_csv
spip:dev_infos_image
spip:fix/valider_url_distante
spip:fix_issue_5454
spip:fix_modifier_login
spip:issue_4101
spip:issue_4678
spip:issue_4705
spip:issue_4717
spip:issue_4836
spip:issue_4946
spip:issue_5258
spip:issue_5344
spip:issue_5427_bis
spip:issue_5483_find_script_jquery
spip:issue_5487_info_maj
spip:master
Reviewers
Request review
No reviewers
Labels
Amélioration, nouvelle fonctionnalité APIs authentification base de données bug
Ca ne fonctionne pas code généré compilo css divers documentation doublon
Ce ticket est un doublon ergonomie espace privé filtres et balises formulaires Inscription installation invalide
Ticket invalide javascript langues LDAP plugin PostgreSQL refusé
Ignoré, c'est comme Ca... sécurité traduction
Apply labels
Clear labels
accessibilité
amélioration
Amélioration, nouvelle fonctionnalité APIs authentification base de données bug
Ca ne fonctionne pas code généré compilo css divers documentation doublon
Ce ticket est un doublon ergonomie espace privé filtres et balises formulaires Inscription installation invalide
Ticket invalide javascript langues LDAP plugin PostgreSQL refusé
Ignoré, c'est comme Ca... sécurité traduction
No Label
accessibilité
amélioration
APIs
authentification
base de données
bug
code généré
compilo
css
divers
documentation
doublon
ergonomie
espace privé
filtres et balises
formulaires
Inscription
installation
invalide
javascript
langues
LDAP
plugin
PostgreSQL
refusé
sécurité
traduction
Milestone
Set milestone
Clear milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
Assign users
Clear assignees
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
This pull request currently doesn't have any dependencies.
Reference in new issue
There is no content yet.
Delete Branch 'refacor_auth_spip_alter'
Deleting a branch is permanent. It CANNOT be undone. Continue?
No
Yes
Directement inspiré du plugin chiffrer de g0uz https://git.spip.net/spip-contrib-extensions/chiffrer avec en plus:
C'est a priori bon a tester (et on fera un merge plutot qu'un rebase amha)
J'ai ajouté la prise en charge des cles lors de l'installation pour notamment gérer le cas où on a perdu le fichier config/cle.php et permettre de le restaurer en demandant à un webmestre existant de faire la procedure d'install (avec son mot de passe).
A noter que j'ai également modifié spip-cli pour la commande de modif des mots de passe pour qu'elle puisse marcher avec toutes les versions de SPIP
2f86ad5c76
Enfin, je pense qu'il faut ajouter une commande spip-cli pour forcer un raz des authentifications, ce qui revient à
config/cles.php
backup_cles
sur tous les auteurs despip_auteurs
C'est un cas extrême qui invalide tous les mots de passe en base, mais qui peut être utile si on a perdu les clé et que tous les webmestres ont perdu leur mot de passe...
2cb44c0ba
et3405ff77e
Sur une install neuve, on a la creation des cles a l'etape 3B, lorsqu'on créé le premier webmestre, et il a automatiquement un backup des cles qui lui est assigné. On a donc immédiatement un webmestre avec une copie chiffrée des clés.
En prévision de #5056 je vais peut être déplacer ecrire/chiffrer/* dans ecrire/src/Chiffrer/ sous le namespace Spip\Chiffrer directement (au lieu de Spip\Core\Chiffrer)
J’pense qu’on est bon là dessus.
Afin de prévenir la compromission du SPIP (RCE) lors d'un accès non autorisé à la DB il est nécessaire de protéger certaines données, notamment le champ cooki_oubli (utilisé pour les "token utilisateurs") :
Proposition :
158feda047/ecrire/action/inscrire_auteur.php (L354)
158feda047/ecrire/action/inscrire_auteur.php (L373)
L'attaque suivante n'est plus réalisable :
J’ai réarrangé les commits et squashé / fixup certains pour en diminuer pas mal le nombre. La nouvelle PR est là #5064
Reviewers