[OBSOLETE] Installer soi-même un NAS qui respecte votre vie privée avec Nextcloud

Bonjour à tous, suite à un commentaire de Pierre dans [color=#1E90FF]l’article sur One Drive[/color], je souhaite faire partager mon expérience sur l’installation d’un NAS qui respecte votre vie privée.

Ca n’est pas difficile en soi, mais c’est long et complexe. J’ai donc choisi de faire ce tuto en 5 parties :

Table des matières :
Pourquoi ce choix éthique alors que des services privés compétents le proposent ?
Choix du matériel et avantages
Coût total des investissements
Choix du logiciel et avantages
Installation

[hr]
Pourquoi ce choix éthique alors que des services privés compétents le proposent ?

Eh bien, l’idée m’est venue à la suite des [color=#1E90FF]scandales Wikileaks[/color] datant de ces derniers mois où l’on apprend que les entreprises (NAS, Cloud, Messagerie, Système d’exploitation, Smart TV, etc.) utilisent vos données à des fins commerciales ou de renseignement, où l’on apprend également que le Big data devient une méthode de plus en plus convoitée par les entreprises afin d’établir votre profil et mieux vous inciter à la consommation. Il y a évidemment débat. Certains n’ont « rien à cacher », et acceptent de sacrifier leurs données privées au profit d’un certain confort d’installation, ou de maintenance. D’autres n’ont « rien à se reprocher », mais préfèrent ne pas voir leur intimité exploitée par ces sociétés.

En ce qui me concerne, je ferais l’analogie d’une famille qui part en vacance : elle emmène avec elle la CB, les informations de comptes bancaires, la TV, l’électroménager, etc., mais laisse à la maison ses photos de vie de famille, ses carnets d’adresses, des souvenirs qui lui sont chères, les fiches de paies, des identifiants de connexion, et autres. Accepterait-elle de laisser la porte d’entrée grande ouverte durant toutes les vacances ? A vous de voir.

Aujourd’hui, un vendeur peut se faire doublement de l’argent : en vous vendant un produit grâce à vos propres données privées qu’il a pu vendre également à un tiers.
Sachant qu’il m’était impossible de bénéficier d’un service privé si je ne cochais pas la cache « j’accepte les conditions générales… », j’ai décidé de prendre les devants en construisant mon propre NAS. Et ce, en étant un véritable noob.
[hr]

Choix du matériel et avantages :

Je me suis rabattu sur :

  • l’Asus VivoPC vc62b-b002 (Celeron 2957U / 1.4 GHz) :

    -> 2 emplacements de disques durs 2,5 pouces
    -> 4 x USB 3.1 Gen 1
    -> 2 x USB 2.0
    -> 1 x RJ45 LAN Gigabit
    -> 1 x Kensington Lock
    -> 1 x Optical S/PDIF out
    -> Bluetooth 4.0,
    -> Wifi 802.11a/b/g/n/ac
    -> 1 x Display port
    -> 1 x HDMI

  • 1 disque dur SSD 2,5" Crucial - CT1050MX300SSD1 - 1 To

  • 1 disque dur HDD 2.5" Western Digital Red - 1 To : 16 Mo SATA 6Gb/s (WD10JFCX - bulk)

  • 1 barrette de mémoire Crucial CT102464BF160B : 8GB RAM DDR3L 1600 MT/s (PC3L-12800) SODIMM 204-Pin

Le choix de l’Asus VivoPC en Celeron est justifié par son rapport puissance de calcul/silence. On peut monter facilement les 2 disques durs avec le système “Dual bay” d’Asus. Il est aussi économique en énergie. Enfin, il est compact pour un PC disposant de 2 baies et on peut le connecter à un moniteur/clavier/souris si besoin.
Le choix des disques durs est justifié par le fait d’avoir 2 technologies différentes pour minimiser la probabilité de griller les disques en même temps.
[hr]

Coût total des investissements :

Environ 600€. A noter que pour un NAS, il n’est pas nécessaire d’avoir un foudre de guerre, on peut même utiliser un Raspberry Pi et des cartes micro SD si on est ric-rac au niveau budget. En ce qui me concerne, j’ai préféré anticiper les potentielles évolutions futures et avoir un système très fluide et réactif, mais on peut s’en sortir pour 3 fois moins cher.
[hr]

Choix du logiciel et avantages :

Il suffit d’installer un Linux (Ubuntu pour ma part car c’est celui que je connais le mieux, mais je conseille vivement Open Media Vault, un linux open-source spécialement conçu pour les NAS). Ces systèmes d’exploitation vont vous permettre d’y installer un logiciel ergonomique pour la gestion de vos données : Nextcloud.

Nextcloud est une sorte de Dropbox/Google Dive/One Drive, libre et très facile d’emploi qui utilise le stockage de votre NAS pour héberger vos données. Si vous tapez “Nextcloud” sur Internet, vous tomberez probablement sur son ancêtre “Owncloud”, qui est une version non-libre.

J’ai choisi Nextcloud pour les raisons suivantes :

  • Il est open-source et respecte votre vie privée (aucune donnée n’est collectée).
  • Il est multi plateformes (PC : Windows, Mac, Linux ; Smartphone : iOS, Android). On peut donc synchroniser ses données depuis n’importe quel appareil.
  • On peut y synchroniser ses fichiers de tous formats, ses contacts, son agenda, etc.
  • On peut y crypter ses données, et évidemment, il est possible de mettre un mot de passe sur son smartphone pour éviter qu’un autre accède à vos données si vous perdez votre appareil.
  • Il possède des [color=#1E90FF]applications[/color] permettant divers choses (client messagerie, une sorte de Skype open-source où les données transitent en P2P, un flux RSS, un gestionnaire de mots de passes open-source, un lecteur audio, etc.)
    [hr]

Installation :

1. Choix du RAID et système d’exploitation :

J’ai décidé d’opter pour le RAID 1 (dit en « miroir »). En gros, les deux disques se copient l’un l’autre. Ainsi, si un disque dur contenant mes données grille, j’ai la possibilité d’accéder à mes données sur le disque miroir, le temps de remplacer le disque défaillant par un neuf. Ensuite, le disque miroir se synchronise avec le nouveau disque pour rétablir toutes vos données en double.
Pour cela j’ai décidé [color=#1E90FF]d’installer Ubuntu[/color].

Ensuite, j’ai suivi [color=#1E90FF]ce tutoriel[/color] pour monter les disques en RAID 1, cependant j’attire votre attention sur le fait qu’il n’est plus à jour et que quelques commandes m’ont données un mal de crâne pour les résoudre.
Je vous ai donc trouvé un [color=#1E90FF]autre tutoriel[/color] qui semble plus fiable et plus clair.

REMARQUE : Il y a aussi la possibilité [color=#1E90FF]d’installer Open Media Vault[/color], bien mieux pour gérer la configuration du RAID qu’Ubuntu.

2. Installation de Nextcloud :

Si vous avez choisi Ubuntu, il faut alors installer Nextcloud en suivant [color=#1E90FF]ce tutoriel[/color].

REMARQUE : si vous avez opté pour l’installation d’Open Media Vault, il suffit de suivre [color=#1E90FF]ce tutoriel[/color] d’installation de Nextcloud. Je recommande cette méthode plutôt que celle que j’ai suivi avec Ubuntu, car il y a une communauté qui confirme la facilité d’installation et qui est prête à aider en cas de besoin.

3. Configuration des ports et du HTTPS :

Pour accéder à vos données de partout, et ce de manière sécurisée, il faut rediriger les ports.
On peut par exemple diriger les ports 443 vers 443 en TCP sur son router. Puis on doit ouvrir un Terminal sur Ubuntu et taper :

a2enmod ssl a2ensite default-ssl service apache2 reload

Puis, il faut [color=#1E90FF]suivre ce tuto[/color] pour ajouter au fichier php un domaine de confiance (sinon il est impossible d’accéder aux données).

Enfin, il est meilleur de rediriger tous les trafics non cryptés vers l’HTTPS en suivant [color=#1E90FF]ce lien vidéo[/color] (entre 5:00 et 9:00, et n’ayez pas peur de l’allemand, il suffit de suivre les lignes de code et normalement tout se passe bien) et en remplaçant “cloud.nextcloud.com” par son adresse IP publique.

Voilà ! Fastidieux mais très précieux, la vie privée n’a pas de prix.

J’espère que cela vous sera utile. Si vous avez un moyen d’améliorer ce tuto, surtout en proposant des moyens d’installations plus faciles, n’hésitez pas à poster.

hello prog-amateur

Je me suis inscrit ici pour introduire une petite touche de réalisme, en espérant toutefois ne pas doucher ton enthousiasme.
On dirait tout à fait moi, il y a bientot 3 ans : [TUTO]Owncloud,mon installation et utilisation/android

Aujourd’hui, j’ai bien un NAS, mais une machine du commerce, et j’ai arrêté de m’occuper d’owncloud ( au moment où ça devenait nextcloud ).
Je me permets donc quelques conseils et remarques pour que cette installation ne soit pas qu’un feu de paille vite retombé.

[list=1]
[*]Gestion des contacts :

Il faut soulever le problème de l’importation des contacts existants : il y a 3 ans, c’était une vraie galère. J’espère qu’actuellement, c’est plus facile.

Installation sous android : C’est pas natif, il faut installer un logiciel tier qui va lire et écrire les contacts sur le serveur au format CARDDAV. Même remarque avec les évènements du calendrier ( format CALDAV ).
Le logiciel “davdroid” sous android a apparemment bien évolué, mais il y a des restrictions d’utilisation.

Restriction d’utilisation : La synchronisation des contacts sera opérationnelle, mais uniquement pour tous les champs “de base” qu’on peut imaginer pour les contacts : nom, prenom, téléphones, adresse mail, photo (quand on a de la chance. Sinon, les photos peuvent disparaitre de façon aléatoires ).

Ce qui ne marche pas : tout ce qui est particulier au smartphone utilisé : Au mieux, les options spécifiques seront opérationnelles, mais non remontées vers le serveur, au pire ça sera grisé, ça va bugger.

  • sonnerie spécifique ( LG G2 / LG G4 ) : en local seulement / plus récemment : option grisée si le contact n’est pas natif google.
  • allumer la LED avec une couleur spécifique quand le contact appelle ( LG G2 / G4 ) : en local seulement / plus récemment : option grisée si le contact n’est pas natif google.
  • rajouter le contact comme favoris dans le slide du galaxy S7 Edge ( je parle du panneau coulissant depuis le bord droit de l’écran, qui affiche quelques contacts favoris ) : BUGGé : on rajoute le contact, et ça n’est pas mémorisé. Quand on rappelle le slide, il est à nouveau vide…
    .

[*]Gestion des fichiers :

Nextcloud ne permet que le protocole webdav : Les fichiers sont donc “encapsulés” par nextcloud et non visibles sur un PC windows autrement que par l’interface du navigateur==> galère pour travailler depuis windows.

D’ailleurs, il n’est pas conseillé de se ménager un autre type d’accès aux fichiers en mode “brut”, par exemple via samba… (en tout cas, c’était comme ça sous owncloud… )

Sous android, on peut utiliser ES File explorer (gratuit ) , ou Foldersync(payant) : ce dernier permet des choses intéressantes en webdav, comme par exemple de mettre en place des sauvegardes noctures des photos / médias whatsapp créés dans la journée.
.

[*]Maintenance :

la mise à niveau d’une version de nextcloud vers la suivante n’est pas forcément une sinécure. ça c’est peut-etre amélioré, mais du temps de owncloud, j’ai rencontré:

  • le serveur owncloud qui ne démarrait plus, tous les “plugins” désactivés ( cette problématique a disparu avec nextcloud je crois )
  • la base de donnée vidée et remise à zéro.
  • d’autres menus problèmes qui faisaient que chaque MAJ était une épreuve pour moi.
    .

[*]visibilité :

Quand on commence à partager des photos avec des amis /collègues, le certificat autosigné devient un vrai problème quand les personnes en question n’ont pas de culture informatique. Il faut donc absolument une entrée DNS pour avoir une URL, et un certificat associé à cette URL.
Et tant qu’à faire, autant ne pas reproduire mon erreur : pas d’URL liée à un FAI comme toto.dl.free.fr, parce que le jour du changement de fournisseur d’accès, il faut revoir la config. Conseil perso : un nom de domaine dédié à ce service nextcloud.
[/list]

Aujourd’hui et depuis 6 mois environ, mes contacts sont retournés chez google, car c’était le dernier point fonctionnel qui me faisait conserver owncloud, et les restrictions évoquées plus haut devenaient trop contraignantes, et j’ai arrêté owncloud qui tournait sur une VM fedora hébergée sur mon NAS.

J’avais déjà basculé toutes mes données “fichiers” en natif dans le NAS , avec l’avantage de rendre ces données visibles

  • en webdav
  • en ftps
  • via l’interface d’administration du NAS
  • en smb

malgré tout, je regrette quelques fonctionnalités :

  • mise en commun des contacts et des evenements du calendrier
  • liaison des dates d’anniversaire des contacts avec le calendrier ( évenement “anniversaire” généré automatiquement par owncloud)
  • l’idée de ne rien avoir chez google. D’un autre coté, google est surement capable de simuler ma liste de contacts juste en construisant la liste de tous les contacts ( qui eux sont chez google ) et où je suis présent.

En tout cas, tient nous au courant de la 2eme partie de ton installation, celle qui implique le reste de ton environnement :slight_smile:

Salut sksbir, et désolé de ma réponse tardive. J’ai bien lu ton message auparavant, mais je n’avais pas eu le temps de revenir là-dessus.

Les seules choses dont je peux te confirmer sont les suivantes :

  1. Nextcloud est un fork apparu lorsque que certains membres d’Owncloud ont voulu que ce dernier devienne de plus en plus commercial (en gros, risque de vendre les données, obligations de résultats vis-à-vis d’actionnaires). Un des fondateurs d’Owncloud aidé par d’autres anciens membres ont donc poursuivi leur travail open-source en fondant Nextcloud, entièrement libre, par les gens, pour les gens. Depuis la version 6 d’Owncloud, de l’eau a coulé sous les ponts, et on en est à la version 12 de Nextcloud, très bien pensé et beaucoup plus fiable.
  2. J’ai pu donc facilement importer mes contacts Google via vcf sur mon Nexcloud.
  3. Le nom, prénom, photo, téléphone(s), anniversaire, groupe, notes, adresse, etc. y sont synchronisés sans problème, dans les deux sens (smartphone->serveur Nexcloud, ou serveur Nextcloud->smartphone) avec Davdroid en arrière-plan (une fois que tu y informes l’adresse de ton serveur, tu n’as plus rien à y toucher).

Pour le reste des questions, je n’ai pas essayé du coup impossible d’y répondre, mais l’interface depuis le navigateur est très ergonomique.

Enfin, une petite surprise que je concocte en ce moment : il y a peut-être moyen de se faire un projet ultra facilement (pas de programmation) et pour bien moins cher que mon tuto. J’essaie de mettre ça en place et j’espère vous mettre à jour le tuto.