Accueil
» Comment faire
»
Corrigez les erreurs de preuve WOPI en vérifiant les clés, la découverte et les URL.
Corrigez les erreurs de preuve WOPI en vérifiant les clés, la découverte et les URL.
Lorsqu'un hôte WOPI signale « Échec de la validation de la preuve » ou « Preuve WOPI invalide », vérifiez d'abord quel système a enregistré le rejet. Si l'hôte de stockage rejette la requête signée de Collabora, vérifiez la paire de clés de preuve et la réponse de découverte avant de modifier les listes blanches des hôtes WOPI ou de désactiver les vérifications de preuve. Pour les installations de paquets, Collabora génère généralement la paire de clés ; pour les déploiements Docker, Kubernetes et multi-répliques, la paire doit être fournie et conservée de manière cohérente.
Identifiez le contrôle défaillant avant de changer les clés
La validation de preuve WOPI utilise une requête signée et la clé publique annoncée par le client WOPI dans ses métadonnées de découverte. Elle est indépendante de la liste des hôtes WOPI de confiance de Collabora, de la validation du certificat TLS et de la vérification du jeton d'accès de l'hôte de stockage. La régénération de clé peut s'avérer utile lorsque la clé privée est manquante ou ne correspond pas à la clé publique annoncée, mais elle peut engendrer une nouvelle incohérence si une seule réplique est modifiée ou si un hôte conserve des données de découverte en cache.
Un message d'invalidité côté hôte indique en premier lieu la découverte de la clé, la construction de la signature ou l'heure de la requête.
Preuves dans le journal
Zone probable à vérifier
Le serveur de stockage indique « Preuve WOPI invalide » lors de la réception d'une requête CheckFileInfo ou d'une autre requête WOPI.
La clé de preuve de Collabora, les données de découverte de l'hôte, la reconstruction de l'URL ou l'horodatage
Collabora indique « Hôte WOPI non autorisé » ou « Aucun hôte WOPI acceptable ».
La liste blanche des hôtes WOPI / la configuration du domaine, et non la clé de preuve
Jeton invalide, expiré ou accès refusé sans preuve d'erreur
Jeton d'accès émis par l'hôte, autorisations ou expiration du jeton
Vérifiez une requête ayant échoué dans les journaux de Collabora et de l'hôte de stockage ; un indicateur de chargement du navigateur ne suffit pas à identifier un échec de clé de preuve.
Choisissez la réparation adaptée au déploiement
Commencez par l'option la moins perturbatrice. Lors d'une installation par paquet, vérifiez d'abord les fichiers clés existants et les journaux de service ; la documentation Collabora actuelle indique que les installations par paquet RPM et Debian génèrent automatiquement une paire de clés WOPI. Si ces fichiers sont présents et stables, leur renouvellement est généralement inutile.
Collabora utilise une clé de preuve privée et publie sa clé publique correspondante via la découverte WOPI.
Déploiement
Action recommandée
Compromis
Serveur géré par un seul paquet
Conservez la paire de clés générée ; réparez les autorisations ou régénérez-les uniquement si elles sont manquantes ou incompatibles.
Modifications minimes, mais vérifiez la version de votre paquet et les chemins configurés.
Conteneur Docker unique
Générez une paire une seule fois et montez-la de manière permanente dans le conteneur.
Nécessite un volume persistant et un accès en lecture correct pour coolwsd
Kubernetes ou plusieurs répliques
Montez une paire de clés/secrets partagée dans chaque instance Collabora
Signatures cohérentes entre les répliques ; la rotation doit également mettre à jour la vue de découverte de l’hôte.
L'URL de l'hôte a été modifiée derrière un proxy
Vérifiez le schéma public, l'hôte, le chemin et la chaîne de requête utilisés pour la validation de la signature.
Plus complexe que la rotation de clés, mais évite les changements d'identifiants inutiles.
Le manuel de Collabora 24.04 indique que l'image Docker publique ne contient pas de paire de clés de preuve ; il est donc recommandé d'en générer une et de la monter de manière permanente. Le graphique Helm officiel prend en charge les secrets de clé de preuve. Il est fortement déconseillé de générer une paire distincte pour chaque réplique, car l'équilibrage de charge peut entraîner des pannes intermittentes.
Vérifiez et réparez la paire de clés en toute sécurité.
Trouvez les chemins d'accès aux clés configurés. Sur l'hôte Collabora ou dans le conteneur, examinez les coolwsd.xmlparamètres du chemin d'accès à la clé de preuve et vérifiez que la clé privée et la clé publique sont bien présentes. Elles se trouvent généralement sous `/etc/keys` /etc/coolwsd/, mais l'organisation des packages et des conteneurs peut varier. Ne collez jamais la clé privée dans les journaux, les tickets ou le chat.
Vérifiez que les clés correspondent. Pour les chemins par défaut courants, comparez les empreintes sans afficher la clé privée : `<chemin_par_défaut>` sudo openssl pkey -in /etc/coolwsd/proof_key -pubout -outform DER | sha256sumet openssl pkey -pubin -in /etc/coolwsd/proof_key.pub -outform DER | sha256sum`<chemin_par_défaut>`. Les hachages obtenus doivent correspondre. Si vos chemins diffèrent, remplacez-les par les chemins réellement configurés. Si la clé privée est illisible, corrigez son propriétaire et ses permissions conformément au modèle de sécurité du service ; ne la rendez pas accessible à tous.
Régénérez la paire de clés uniquement lorsque cela est nécessaire. Si la clé privée est manquante ou si la paire ne correspond pas, utilisez sudo coolconfig generate-proof-keyl'utilitaire d'installation. Pour Docker, générez la paire dans un emplacement persistant approprié, puis montez les deux fichiers à l'endroit où Collabora les attend et assurez-vous que le processus coolwsd peut lire la clé privée. Sur une plateforme gérée, utilisez le mécanisme de gestion des secrets plutôt que de modifier manuellement un pod en cours d'exécution.
Assurez la cohérence de toutes les instances. Pour les réplicas, déployez la même paire de clés sur chaque instance et redémarrez ou déployez Collabora afin qu'il puisse lire les fichiers. Ensuite, actualisez ou récupérez la découverte WOPI sur l'hôte de stockage à l'aide du mécanisme pris en charge par cet hôte. Une rotation de clé modifie la clé publique ; les caches ou un autre réplica utilisant encore l'ancienne clé peuvent assurer la continuité de service en cas de panne.
Les répliques doivent partager une seule paire de clés de preuve persistante afin que chaque instance signe les requêtes de manière cohérente.
Lorsque la clé correspond mais que la validation de la preuve échoue toujours
Vérifiez la synchronisation horaire sur les deux systèmes. Les requêtes de preuve WOPI incluent un horodatage ; un hôte peut rejeter un horodatage ancien ou hors plage horaire. Assurez-vous que le service NTP ou le service de temps de la plateforme fonctionne correctement et que les serveurs renvoient des heures UTC cohérentes. Ne désactivez pas les contrôles d'horodatage pour contourner un problème d'horloge.
Ensuite, examinez l'URL publique utilisée par l'hôte pour reconstituer la requête signée. La preuve est liée à l'URL de la requête, y compris aux paramètres de requête pertinents, et la spécification WOPI exige que la représentation URL utilisée pour la validation corresponde à la forme signée. Un proxy inverse terminant le HTTPS peut faire en sorte que l'application voie une URL HTTP interne, même si Collabora a signé l'URL HTTPS publique. Configurez les en-têtes de proxy de confiance et les paramètres d'URL externes de l'application conformément aux recommandations officielles de l'hôte WOPI ; ne modifiez pas la logique de preuve et ne supprimez pas les paramètres de requête.
Si la validation échoue uniquement après une rotation de clé, actualisez la découverte et vérifiez que toutes les répliques Collabora exposent la même clé publique. Si seules les requêtes acheminées via un proxy ou une réplique échouent, comparez les journaux et la configuration de ce chemin plutôt que de procéder à une nouvelle rotation de clé. La désactivation de la validation peut affaiblir un contrôle de sécurité et ne doit pas être utilisée comme solution de contournement en production.
Vérifier la réparation
Récupérez le point de terminaison de découverte Collabora depuis le réseau de l'hôte de stockage et confirmez qu'il renvoie les métadonnées de clé de preuve actuelles.
Ouvrez un document de test et vérifiez que le serveur de stockage accepte la requête CheckFileInfo et les requêtes de documents suivantes sans erreur de preuve d'invalidité.
Répétez l'opération pour chaque route proxy ou réplique, puis vérifiez que la paire de clés reste montée après un redémarrage du conteneur ou un remplacement de pod.
Confirmez la réparation en ouvrant un document et en vérifiant que l'hôte accepte ses requêtes WOPI.
L'ouverture réussie d'un document vérifie uniquement ce chemin ; répétez la vérification pour chaque hôte WOPI et route proxy que vous utilisez.