ownCloud, Nextcloud… : les vols de données se multiplient, activez la double authentification

Le 09 janvier à 10h24

Le 09 janvier à 10h24

Commentaires (45)

votre avatar
Koâ toutes mes données mises dans le cloude ne sont pas assez protégées par le mot de passe super sécurisé motdepasse123 mais que fait la police ?

Plus sérieusement : l'authentification forte (sans passer par un code envoiyé par email / SMS…) est nécessaire pour tous les clouds, en particulier onedrive qui pompe par défaut toutes les données utilisateur sans que les gens s'en rende compte en particulier sous Win11…
votre avatar
que fait la police ?
Bah elle se fait pirater pour manque de sécurisation aussi :mrgreen:
votre avatar
Y a un tuto de sécurisation Nextcloud by Next prévu ou pas ? (selfhosting ou selfinstallation)
Savoir si j'attends la becquée ou si j'arrête de procrastiner et me plonge dedans...
votre avatar
votre avatar
En même temps auto-héberger son NextCloud/OwnCloud, sans savoir comment le sécuriser, c'est "ambitieux" (surtout si celui-ci est exposé directement sur le net).
Comme pointé par SebGF, la doc officielle est bien fournie sur le sujet.
votre avatar
J'ai une conf qui est proche de celle d'origine du container.
Et je contrôle régulièrement les warning et sécurités pour avoir quelque chose de propre.
(Administration > overview > Security & setup warnings)

Par contre, j'ai fait abstraction de la partie authentification en laissant tout par défaut (me semble-t-il*).
Les Data stockée ne sont pas vraiment importante...

* J'ai maintenant un doute car en survolant vite fait je me rend compte que le max login attemp est à 0.
Je ne me souviens pas l'avoir personnalisé, et si il est comme ça par défaut c'est moche. Surtout que sa n'est pas mis en avant dans l'overview (contraitement à la conf mail ou il me cri dessus)


J'ai mis de coté la partie gestion mail / authentification / ...
votre avatar
Ce que je te conseille, c'est d'à minima consulter l'intégralité de leur guide de hardening, et d'implémenter toutes les mesures qui font sens dans ton cas.
Puis, tu peux passer en revue tous les paramètres, en te posant la question des implications sécurité pour chacun, et adapter en conséquence (oui, c'est chronophage et rébarbatif :-/ ).
L'ANSSI a également de très bons guides sur les mesures de cybersécurité, si tu veux un truc un peu moins ciblé sur NextCloud : https://messervices.cyber.gouv.fr/catalogue#guides?besoin=ETRE_SENSIBILISE
votre avatar
J'ai une situation similaire avec mon Nextcloud, et donc du boulot. La surveillance quand c'est pas ton job c'est pas la panacée. Je peux louper un mail de warning ou de connection depuis loin si je suis occupé (par exemple à dormir). Les outils externes à Nextcloud (fail2ban, etc...) sont aussi importants.
votre avatar
Dans le cadre d'un petit Nextcloud auto-hébergé pour ses besoins perso, avoir un fail2ban qui va automatiquement bloquer (plus ou moins longtemps) une IP qui aurait eu plusieurs échecs d'auth, c'est déjà pas mal. L'aspect automatique fait que ça sera efficace même si t'as personne derrière 24/7 à surveiller des alertes.

Mais pour de l'auto-hébergé à la maison (ou sur un VPS) le plus efficace reste de ne pas exposer le service sur internet. Les Freebox ont des serveurs OpenVPN et WireGuard intégrés, j'imagine que les concurrent aussi ? Conserver tout ça au chaud dans son LAN, et pour les accès de l'extérieur : VPN. (par contre, c'est pas parce que c'est restreint au LAN qu'il n'y a besoin d'aucune sécurisation... un device IOT corrompu qui sert de rebond et tout est foutu sinon)

Si besoin d'exposer le service sur internet (par exemple donner accès à sa photothèque Immich à la famille) :
* Renforcer au max la sécurité du serveur (guide de hardening du produit, guide de hardening de l'OS du serveur, bonnes pratiques usuelles, fail2ban, ...)
* Ne pas exposer direct sur le web, passer par un proxy, ou mieux, un WAF. Et bien sur, on bétonne bien le serveur proxy également.
* On n'ouvre que le port 443 dans la box, et on le fait bien pointer proprement vers le proxy
* Authentification forte obligatoire
* Se tenir à jour (enfin, surtout les serveurs) ! Le temps entre la publication d'une mise à jour et l'exploitation industrielle des failles patchées ne cesse de se raccourcir.
* Tout plein d'autres trucs que j'oublie
votre avatar
Je vais regarder plus en détail tout ça.

J'ai compris pk le nombre max de tentative n'est pas activé par défaut : il y a un throtlle sur les echec de connexion. C'est pas un fail2ban, mais pour mon usage et le type de data sur mon Nextcloud, c'est déjà pas trop mal.
C'est sûrement pour ça que ce n'est pas définis comme un risque, par le système de détection intégré. J'y ajouterais quand même sûrement une authentification 2 facteurs.

Tout le traffic vers mes containers passe déjà par un container nginx reverse proxy manager (faudrait que je vois si il existe une possibilité d'intégrer un liste noir d'@ip à bloquer à son niveau).
D'ailleurs sur l'outil de scan en ligne, je suis en note "A", donc ma conf proxy est propre.

En terme de MAJ, toutes les semaines les images stable se redeploies, et l'OS hôte est également mis a jour / redémarré à minima une fois par semaine.
(Il me manque un patch pour le A+ du scan en ligne, soit il n'est pas encore intégré à la derniere image officielle stable, soit mon container basculera dessus cette nuit ^^)

Tout n'est pas carré, mais la sécurité c'est un métier (et pas le mien !)
Si mes données fuite par là, pour une fois ce sera ma faute, c'est presque du spam en ce moment les mails de compromissions des grosses plateforme...
votre avatar
Une remarque sur juste le port 443, Lets encrypt a besoin de port 80 pour que le certificat soit validée.
votre avatar
Pas nécessairement.
votre avatar
Ah ? et bien tant mieux, mon Yunohost me le demande pour le renouvellement du certificat. Je regarderais ça.
votre avatar
C'est bien Yunohost, ça permet à plus de monde de self-host.

Le revers de la médaille c'est qu'après on a plein de gens qui se retrouvent à être, de fait, admin sys, mais sans en avoir forcément les compétences. Après, quand on veut monter un botnet, c'est plutôt une bonne chose 😅

A lire : https://letsencrypt.org/docs/challenge-types/ (pour faire court, le challenge HTTP-01 est uniquement possible sur le port 80, mais ce n'est pas le seul challenge possible)
votre avatar
Je ne suis pas admin système mais je voulais un auto-hébergement. Yunohost me semblait déjà assez sécurisé et relativement simple.
https://doc.yunohost.org/fr/admin/security/
Merci pour le let's !
votre avatar
Je ne doute pas que les gars qui développent la solution Yunohost savent ce qu'ils font, et que le produit est de base plutôt bien sécurisé. Ça n'empêche pas des gens, par méconnaissance, de faire ensuite n'importe quoi comme par exemple, exposer une interface d'admin sur internet, avec des mots de passe faibles, ou ne jamais faire la moindre mise à jour, et c'est du pain béni pour des acteurs malveillants.

Leur doc a l'air plutôt bien faite en tout cas.
votre avatar
Ce genre de produits, je les met sur des dédié avec un conf FW qui n’accepte que les AS voulus (en gros les FAI français et quelques IPs si nécessaires).
Je peux garantir que ça fait un ménage de dingue pour peut d'effort.
votre avatar
@gg40 je fais pareil et l'IPv6 d'écoute ne sert qu'aux ports 80 et 443. Il y a d'autres adresses très différentes pour l'administration ou autre.

@janvi
Au niveau de l'ouverture, l'intérêt d'une instance Nextcloud est justement l'ouverture vers l'extérieur.

Perso, je recommande avant tout de séparer les données internes qui ont leur place dans un NAS, d'une instance Nextcloud réservée à l'extérieur et qui ne contiendra que ce qui est nécessaire (partage de calendrier, partage de fichiers ou liens de dépôts...).

Un truc à savoir: dès que l'on met un enregistrement DNS AAAA (IPv6), on se fait magiquement scanner l'adresse en question, en plus des adresses IPv4.

Je ne comprend toujours pas pourquoi Infomaniak accepte de donner tous les enregistrements de mon domaine au lieu de bloquer les demandes non spécifiques. C'est particulièrement néfaste pour la sécurité.
votre avatar
Infomaniak accepterai encore les requêtes ANY ? (je suppose que tu parles d'un sous domaine)
votre avatar
Le truc à savoir c'est de faire le chiffrage de données par défaut des l'installation, après, c'est lourdingue.
Sinon c'est franchement out of the box, surtout si tu utilises Yunohost... Le mieux c'est une vm, des fois les MAJ sont hum, compliquées.
votre avatar
Quand on voit l'énergie dépensée pour que mes utilisateurs (Nextcloud) acceptent la double authentification 😓
votre avatar
Ça fait longtemps que j'ai pas utilisé NC, mais y'a pas moyen de forcer son usage ?
votre avatar
Pour que l'administrateur.ice force son usage sur les utilisateurices, si. C'est son rôle et sa prérogative.
To use 2FA two things must happen:
At least one 2FA provider must be enabled by the administrator.
A user must activate 2FA on their account (or) the administrator must enforce the use of 2FA.
votre avatar
Envoie leur le lien vers cette brève. :D
En plus, ça fera peut-être de nouveaux abonnés.
votre avatar
Ouais, mais tu sais bien que ce genre de problème n'arrive qu'aux autres.
votre avatar
Suffit de la rendre obligatoire, comme ça s'ils refusent de la mettre en place, ils n'ont juste plus accès...
docs.nextcloud.com Nextcloud
votre avatar
Le problème est que la double authentification n'est pas toujours applicable. C'est le cas par exemple pour des adresses administratives ou des comptes administratifs qui ont vocation à être utilisés par plusieurs personnes.

C'est un vrai problème en associations car, à ma connaissance, aucun fournisseur n'a prévu ce cas et ne permet de recevoir un code sur appareil parmi N, téléphone ou adresse courriel.

La solution des codes TOTP est par contre bien adaptée et doit fonctionner avec NextCloud mais ce ne n'est plus le choix le plus courant.
votre avatar
adresses administratives ou des comptes administratifs qui ont vocation à être utilisés par plusieurs personnes.
Ça ne devrait pas exister. Un compte = une personne et on lui attribue ensuite des droits en fonction des besoins.

Un compte, ça ne se partage pas, sinon, impossible de tracer qui accède à quoi.
Le RGPD ne peut pas bien s'appliquer avec des comptes partagés.

Pour les adresses, si tu parles de mail, c'est différent, mais là encore, il faut ensuite que des individus identifiés aient des droits d'accès à cette adresse collective.
votre avatar
Plusun, le compte générique est un antipattern de sécurité.

Les comptes de service existent, mais ils sont restreints à un usage machine to machine et doivent eux aussi avoir une authentification forte (mutual TLS, OIDC, jetons à durée de vie limitée, etc.)
votre avatar
@fred42

Il y a l'idéal et il y a la réalité des associations où dans la situation actuelle, les administrateurs, dont moi, s'épuisent déjà trop. Il ne faut pas oublier le principe de réalité.

Dans mon cas, les comptes sont associés à des groupes de gens et les données sont spécifiques à ces groupes. Aucun des utilisateur n'a à stocker quoi de ce soit de perso.

Rien que pour cette gestion, j'en suis à attaquer l'api de Nextcloud en python car l'interface normale est vite dépassée pour un nombre important (règles automatiques de quotas, activation ou désactivation...).

Donc, entre gérer 100 comptes et 600, le choix est vide fait. Mais les accès ne sont pas donnés n'importe comment pour autant. Les personnes sont formées sur les bases du RGPD avant : elles apprennent à minimiser les données personnelles stockées et à en faire l'usage défini à la collecte.

Petit ajout pour @fred42 et @SebGF

Il faut considérer également que ces comptes partagés ont pour but de remplacer les stockages non maîtrisés de données personnelles, sur des google clouds, sans aucune limitation des durées de conservation. Des données qui trop souvent se retrouvent laissées à l'abandon sans que plus personne ne soit en capacité de les effacer.

Dans une démarche d'amélioration, il faut savoir faire les choses progressivement.

Vous n'imaginez peut-être pas l'état de la gestion des données personnelles dans les associations. Le travail à mener et gigantesque et révélateur du manque cruel de compréhension de la majorité des gens concernant l'hygiène numérique.
votre avatar
Gros +1 sur les problématique des associations.

De mon côté j’utilise beaucoup les dossiers d’équipe (extension nextcloud officielle, « group folders ») pour ce besoin. Pour les agendas, je crée un utilisateur « technique », et ensuite, je partage avec le groupe qui en a besoin. Ça demande un peu de formation des utilisateurs, et c’est pénible la première fois car le client ne synchronise pas les dossiers d’équipe par défaut, mais avec de la discipline ça fait correctement le taf. Après je parle d’une toute petite association, et l’accès au nextcloud est réservé au bureau.

Sinon tu as paheko qui a une gestion de fichiers qui est vraiment dédiée à ça, mais je ne l’ai jamais mise en place / essayé, je passe par le nextcloud pour ça.
votre avatar
Tout cela demande des compétences trop élevées, non pas pour moi mais pour mes successeurs dans l'association. Rien ne permet de garantir ce savoir faire dans le temps car ne n'est pas du tout le cœur de métier de l'association. Alors j'ai mis la barre un peu moins haut et je documente copieusement avec obs studio.

L'instance Nexcloud est en infogérance pour garantir un minimum de sérieux et un générateur de mot de passe fort est utilisé pour créer les mots de passe communiqués aux utilisateurs dont un très faible nombre va le modifier. Couplé à des règles sur les caractères obligatoires et la longueur minimum, on limite les dangers.
votre avatar
L'élément que je ne comprend pas : pourquoi faire des comptes partagés dans une solution qui permet de gérer l'accès à des données de manière fine à des comptes individuels ou des groupes d'utilisateurs ?

Y'a un truc qui va pas à mes yeux dans cette gestion. J'ai beau ne pas avoir utilisé Nextcloud depuis longtemps, je sais qu'il est parfaitement capable de gérer des espaces collaboratifs multi utilisateurs. C'est un peu sa finalité de base.
Vous n'imaginez peut-être pas l'état de la gestion des données personnelles dans les associations. Le travail à mener et gigantesque et révélateur du manque cruel de compréhension de la majorité des gens concernant l'hygiène numérique.
Je me tape la même chose en entreprise. Perso je lutte pour éviter que les projets sur lesquels je bosse ne soient les prochains sur bonjourlafuite. C'est à croire que c'est un concours, voire un objectif de vie pour certains.

De mon point de vue, ça ne déresponsabilise pas le responsable du traitement des données.
votre avatar
L'élément que je ne comprend pas : pourquoi faire des comptes partagés dans une solution qui permet de gérer l'accès à des données de manière fine à des comptes individuels ou des groupes d'utilisateurs ?
Par ce que les utilisateurs en question changent chaque année (près de 50% de changement au moins), ce qui ferait trop de travail car l'interface web de Nexcloud n'est pas adaptée à la gestion d'un nombre conséquent d'utilisateurs. Il y a donc l'API mais cela crée une dette technique pour une structure qui n'est pas en mesure de l'assumer dans le temps.

C'est donc un problème de temps de gestion pour une structure qui fonctionne à 100% sur du bénévolat.
votre avatar
Il doit me manquer des notions, car je n'ai pas utilisé NC depuis longtemps. Mais j'ai vraiment l'impression de voir des contraintes liées aux choix réalisés plutôt qu'à l'outil. Pourtant, c'est lui qui propulse Murena Cloud, par exemple, donc c'est que NC doit savoir gérer de nombreux utilisateurs, ou alors ils ont dev une surcouche et que le produit est mal pensé de base. J'ai des doutes pour le second cas, en cherchant rapidos j'ai vu des posts sur leur forum qui parlent d'instance de plus de 1000 utilisateurs sans trop voir de plaintes.
votre avatar
Il ne s'agit pas d'une surcouche à mon avis mais de l'utilisation de l'api documentée de Nextcloud pour la gestion centralisée des utilisateurs, des groupes et des quotas de disque.
votre avatar
C'est bien la double authentification mais si c'est le service qui se fait pirater ça ne sert à rien. Là le problème était le manque de double authentification chez les employés du service, pas chez ses utilisateurs. Dans le cas d'un stockage personnel distant, c'est bien plus important de chiffrer les fichiers avec sa propre clé avant de les y envoyer.

Et pour les comptes des services qui ne font principalement que conserver des données personnelles nous concernant (le plus souvent nom/prénom/email/adresse/tel) sans permettre d'effectuer des actions à la fois préjudiciables à l'utilisateur et bénéficiaire à un pirate, soit une très grande majorité des services, ça ne sert à rien non plus, de toute façon la double authentification ne protègera pas ces données quand le service se fera pirater.
votre avatar
Je crois que tu as mal lu. Ce sont bien les utilisateurs qui se sont fait hacker. On parle notamment d'instances auto-hébergées.
votre avatar
OK, c'était pas très clair je trouve, par "suites d’infections malveillantes sur les appareils des employés" j'ai cru que c'était les employés des services en question, alors qu'en fait c'était les employés des entreprises utilisatrices des services.

Ce que j'ai dit reste tout de même valable. Et le chiffrement est aussi une barrière pour le cas présenté ici, car il faut voler la clé de chiffrement en plus des identifiants.
votre avatar
Si les employés se prennent un infostealer, leur clé de chiffrement a de fortes chances d'être siphonnée aussi... Donc non chiffrer ses données avant envoi vers le stockage cloud n'aurait pas eu l'impact que tu imagines dans ce cas. Par contre, en ayant la MFA en place, ça évite que le pirate (ou toute personne a qui il aura revendu les identifiants) puisse se connecter au service cloud avec les identifiants volés.
votre avatar
On ne sait pas comment les identifiants ont été volées, comment ce serait chiffré si ça l'était et qui aurait les clés, ni quelle utilisation du stockage a été faite (stockage disponible tout le temps, ou sauvegarde en cas de besoin, ça change des choses sur la disponibilité de la clé). Il est donc hasardeux de dire que la clé aurait de fortes chances d'être volée aussi. Tout comme il aurait été hasardeux de dire que c'était une protection efficace, raison pour laquelle je ne l'ai pas dit et utilisé plutôt le mot barrière. Je n'ai pas dit non plus qu'il ne fallait pas aussi mettre une double authentification.

Par contre, dans tous les cas, le chiffrement avant envoi me paraît être indispensable, même avec une clé disponible sur la machine de l'utilisateur. Car le but principal reste de protéger les données contre un accès non autorisé dans le système du fournisseur de service, avec pour éventuel bonus une barrière supplémentaire contre le vol des identifiants de l'utilisateur suivant où se trouve la clé.
votre avatar
Je n'ai pas non plus dit de ne pas chiffrer. Par exemple, tout ce que j'envoie chez Backblaze pour backup hors-site, c'est chiffré en local avant d'être envoyé dans le "nuage".

Par contre dans le cas abordé ici, il est clairement indiqué qu'il s'agit "des suites d’infections malveillantes sur les appareils des employés", type infostealers. Pour savoir comment fonctionne ce type de malware (c'est un peu mon boulot), ils dump tout ce qu'ils peuvent : gestionnaires de mots de passe intégrés aux navigateurs, scan des crypto-wallet pour récupérer les clés privées, clés PGP, clés SSH, ... Et ils sont très efficace pour ça. Il y aurait de fortes chances qu'une clé de chiffrement fuite également.

Surtout, si on parle d'un NextCloud, le chiffrement local n'est pas vraiment pratique, car l'idée est que les fichiers soient consultables via l'interface web, partageable entre les employés, donc si t'as que de la donnée chiffrée de dispo sur le serveur, avec la clé disponible uniquement pour l'utilisateur initial, bah ça sert plus à grand chose (à part comme solution de backup, mais plus de collaboration). Dans Nextcloud, tu peux facilement mettre en place du chiffrement des données au repos : les fichiers sont stockés sur le serveur, chiffrés, et la clé de chiffrement est également sur le serveur (mais tu peux avoir des modes de fonctionnement où elle est également stockée chiffrée, avec une clé dérivée du mot de passe de l'utilisateur, mais ça complexifie pas mal de choses, notamment au niveau des partages).

Ajout de dernière minute : j'ai été faire quelques recherches rapide (ça fait très longtemps que j'ai arrêté d'utiliser Nextcloud) et ils ont apparemment mis en place un système de chiffrement E2E viable pour une utilisation collaborative, faudra que j'aille creuser ça. nextcloud.com Nextcloud
votre avatar
Outre le MFA, je me demande s'il ne serait pas idéal aussi de passer par un véritable IDP pour l'authentification et ainsi éviter de gérer la base utilisateur dans OC/NC directement. Et que cet IDP risquera surement d'avoir déjà forcé le MFA.

De mémoire, NC gère l'intégration OIDC avec des tiers.
votre avatar
Je sais pas pour OIDC (mais c'est probablement également le cas), mais il y a un module SAML disponible.
votre avatar
C'est là pour OIDC :

apps.nextcloud.com Nextcloud

Pour SAML :
apps.nextcloud.com Nextcloud

ownCloud, Nextcloud… : les vols de données se multiplient, activez la double authentification

Fermer