Accueil
» Comment faire
»
Comment obtenir la note A+ en matière de sécurité pour Nextcloud ?
Comment obtenir la note A+ en matière de sécurité pour Nextcloud ?
Votre site Nextcloud peut fonctionner normalement et obtenir malgré tout une mauvaise note lors d'une analyse de sécurité externe. Les causes fréquentes incluent une version de serveur obsolète ou en fin de vie, l'absence d'en-tête HSTS ou un proxy inverse qui masque le protocole HTTPS à Nextcloud. Commencez par mettre à jour Nextcloud, activez le protocole HTTPS au niveau du serveur web public, configurez la confiance du proxy de manière restrictive et supprimez les avertissements affichés par la page d'administration de Nextcloud.
Il n'existe pas de norme « A+ » universelle. L'analyse de sécurité officielle de Nextcloud évalue un serveur Nextcloud accessible publiquement en se basant sur les avis de sécurité connus et les contrôles de renforcement qu'elle peut effectuer de l'extérieur ; SSL Labs évalue la configuration TLS. Toute note doit être considérée comme un résultat ponctuel, et non comme une preuve de la sécurité du serveur ou une garantie contre les vulnérabilités inconnues.
1. Identifiez le scanner et mettez à jour le serveur
Notez quel outil d'analyse a attribué la note avant de modifier les paramètres. L'analyse officielle de Nextcloud signale les vulnérabilités connues, les versions obsolètes et les problèmes de sécurité visibles. Une note concernant uniquement le protocole TLS peut provenir de SSL Labs. Corrigez les avertissements de l'outil d'analyse que vous utilisez, puis relancez la même analyse ; les critères varient selon les services.
Dans les paramètres d'administration de Nextcloud, vérifiez la version du serveur et les éventuels avertissements de sécurité ou de configuration. Mettez à niveau vers une version prise en charge de Nextcloud et installez ses correctifs de sécurité les plus récents avant de modifier les en-têtes. Une ancienne version peut rester vulnérable même si un scanner d'en-têtes lui attribue la note maximale (A+). Si aucune mise à niveau n'est disponible pour votre package d'installation, suivez la procédure de mise à niveau recommandée plutôt que de remplacer les fichiers manuellement.
2. Exiger le protocole HTTPS et ajouter HSTS
Servez l'URL publique de Nextcloud via HTTPS avec un certificat valide et redirigez le trafic HTTP non chiffré vers HTTPS. Le guide de sécurisation de Nextcloud recommande l'utilisation de HTTPS sur les serveurs de production. Ajoutez ensuite le protocole HSTS (HTTP Strict Transport Security) sur le serveur ou le proxy qui envoie la réponse HTTPS publique. L'avertissement d'administration de Nextcloud préconise une Strict-Transport-Securitydurée de vie maximale (max-age) d'au moins 15 552 000 secondes.
Pour Nginx, ajoutez une directive comme celle-ci au bloc du serveur TLS actif, en remplaçant le nom d'hôte et en conservant le reste de votre configuration Nextcloud valide :
Configurez HSTS sur le bloc serveur HTTPS qui envoie les réponses aux visiteurs publics.
N'utilisez includeSubDomainscette option que si chaque sous-domaine est également accessible via HTTPS. N'ajoutez pas cette option preloadà la légère : les listes de préchargement des navigateurs peuvent mettre des mois à supprimer un domaine après sa soumission. Si un proxy inverse gère TLS, configurez HSTS sur ce proxy public ; le configurer uniquement sur un serveur Nextcloud interne risque de ne pas modifier l'en-tête détecté par l'analyseur.
Nextcloud envoie déjà des en-têtes de base tels que X-Content-Type-Options` <header>`, X-Frame-Options`<header>`, Referrer-Policy`<header>` et ` X-Robots-Tag<header>` dans un environnement par défaut. Évitez d'ajouter des versions dupliquées ou conflictuelles avant d'avoir vérifié la réponse. L'exemple de configuration Nginx de Nextcloud montre comment servir ces en-têtes depuis Nginx.
3. Configurer un proxy inverse sans faire confiance à tous les clients
Si un proxy inverse est placé devant Nextcloud, indiquez uniquement son adresse IP réelle ou la plage d'adresses de son réseau privé trusted_proxies. Nextcloud utilise les en-têtes IP client transférés uniquement pour les proxys de confiance ; faire confiance à des adresses incorrectes peut permettre aux clients d'usurper leur adresse IP apparente et de contourner les contrôles d'accès ou les journaux.
Par exemple, si le proxy de terminaison TLS se trouve en réalité à 10.0.0.10, fusionnez les entrées correspondantes dans le $CONFIGtableau existant dans config/config.php:
Ces entrées ne sont que des exemples. Utilisez l'adresse IP réelle du proxy et intégrez-la à la configuration Nextcloud existante.
Configurez overwriteprotocolcette option httpslorsque la connexion TLS se termine au niveau du proxy et que Nextcloud détecte la connexion HTTP interne comme une connexion HTTP publique. Si votre proxy utilise un en-tête d'adresse IP transférée non standard, configurez- forwarded_for_headersle pour qu'il corresponde exactement. N'utilisez pas une plage d'adresses IP de confiance trop large 0.0.0.0/0. Après avoir modifié le fichier, vérifiez la configuration fusionnée et testez la connexion, le partage et les liens générés.
4. Supprimez les avertissements Nextcloud restants.
Ouvrez les paramètres d'administration et consultez la section Vue d'ensemble ou Sécurité et les avertissements de configuration. Traitez l'avertissement affiché plutôt que d'appliquer des directives de renforcement de la sécurité non pertinentes dans le seul but d'obtenir une meilleure note.
HSTS manquant : vérifiez la réponse du point de terminaison HTTPS public, en particulier lorsqu’un proxy ou un équilibreur de charge termine le protocole TLS.
Le serveur semble utiliser HTTP : vérifiez que HTTPS est configuré en périphérie et, si nécessaire, défini overwriteprotocolpour la configuration du proxy de confiance.
Mode débogage activé : à debugdésactiver en production ; à activer uniquement pour un dépannage ciblé, puis à désactiver à nouveau.
Avertissement concernant le proxy ou l'adresse IP du client : vérifiez l'adresse source réelle du proxy et l'en-tête de transfert avant de modifier les paramètres du proxy de confiance.
Version vulnérable ou en fin de vie connue : mettez à jour Nextcloud et les packages serveur concernés via leur procédure de mise à niveau prise en charge.
Ne restreignez les actions d'administration que allowed_admin_rangessi les administrateurs disposent de plages d'adresses IP de gestion stables et connues. Une plage erronée peut masquer les fonctions d'administration aux administrateurs légitimes. Le guide de renforcement de la sécurité de Nextcloud recommande également de désactiver la compression HTTP pour atténuer les risques de violation de données (BREACH). Vérifiez la configuration de votre serveur web ou de votre proxy pour savoir si la compression est activée pour les pages authentifiées.
5. Vérifiez la réaction du public et relancez les analyses.
Vérifiez ce qu'un client externe reçoit réellement, et pas seulement ce que contient le fichier de configuration :
curl -I https://cloud.example.com
Vérifiez que la réponse inclut un en-tête HSTS avec la valeur max-age prévue et que les en-têtes de sécurité de base de Nextcloud sont présents. Les outils de développement de votre navigateur peuvent afficher ces mêmes en-têtes de réponse. Si les valeurs diffèrent de votre configuration, examinez le terminateur TLS, le proxy et les emplacements Nginx mis en cache ou imbriqués.
Examinez les en-têtes renvoyés par l'URL HTTPS publique ; une ligne de configuration seule ne permet pas de confirmer ce que reçoivent les visiteurs.
Ensuite, exécutez l' analyse de sécurité officielle de Nextcloud sur le nom d'hôte public, puis vérifiez à nouveau les paramètres d'administration. Utilisez Qualys SSL Labs si vous avez besoin d'une évaluation TLS et de détails supplémentaires. L'analyse officielle nécessite un nom d'hôte Nextcloud accessible ; elle ne peut pas évaluer une instance privée depuis Internet.
Après vos modifications, effectuez une analyse officielle du nom d'hôte public ; son score correspond à un instantané, et non à une garantie de sécurité.
Si la note reste inférieure à A+, utilisez le rapport d'anomalie pour identifier la couche responsable. Corrigez les problèmes un par un, vérifiez que Nextcloud fonctionne toujours via son URL publique, puis effectuez une nouvelle analyse. Une note A+ indique une configuration correcte, mais les correctifs, les sauvegardes, les contrôles d'accès et la surveillance continue restent indispensables après une analyse réussie.