S'auto-héberger
... Mon retour d'expérience !

Commençons par le début...

L'auto-hébergement, qu'est-ce que c'est ?

L'auto-hébergement est une pratique consistant à héberger ses services Internet personnels sur ses propres machines, chez soi. Il s'oppose à l'utilisation de services d'hébergements chez un prestataire.
Souvent pratiqué par les entreprises, l'auto-hébergement intéresse également les particuliers pour diverses raisons. Il permet notamment d'avoir le contrôle et la responsabilité de ses propres données.

Source : Wikipédia.

N'en déplaise à beaucoup de ses détracteurs, de part l'abaissement du niveau technique nécessaire, peu à peu l'auto-hébergement se démocratise. Certaines distribution Gnu/Linux (telle Yunohost qui est dérivée de Debian) offrant désormais des solutions clés en mains, ou presque. Ainsi, l'auto-hébergement que j'ai mis en place en 2004 pour la première version d'SVTux n'a rien à voir avec celle d'aujourd'hui !

Pour quels bénéfices ? Et quelles contraintes ? Quels enjeux ?

Auto-héberger ses données (et donc avoir ses propres serveurs physiques) est souvent perçu par le débutant comme complexe techniquement, autrement dit comme une contrainte forte. En parallèle, le débutant aura tendance à minimiser son intérêt, souvent en sous estimant l'importance de la confidentialité de ses données personnelles. Et puis il faut le rappeler, s'auto-héberger, c'est devenir responsable de la sécurité de ses données (autrement dit, en cas de problème, on est seul responsable...). Cependant, dès lors qu'on explique les enjeux de se dégoogliser, les regards changent : qui accepterait que tout son courrier papier soit systématiquement lu et analysé ? Qui accepterait de confier les clés de son appartement à des inconnus ? ... Et pourtant aujourd'hui, utiliser les outils gratuits des GAFAM revient bien à cela !

Faisons donc le point et commençons par les bénéfices :

Mais il y a bien entendu des contraintes, pour ne pas dire des points de blocage :

Mais les enjeux sont forts car il s'agit rien de moins que de :

Mon retour personnel

Commençons par le début, voici l'état de ma dégooglisation, autrement mon niveau d'auto-hébergement : voir le tableau.

Retrouver son autonomie numérique peut apparaître complexe au débutant mais au fond, en y réfléchissant, pour débuter vos essais vous n'avez besoin que de deux choses élémentaires : (1) savoir installer un système d'exploitation sur un ordinateur et (2) avoir un ordinateur disponible.

Pour débuter vos essais, au niveau matériel, un vieil ordinateur peu performant (ou un Raspberry pi) suffira largement. Mais pour la mise en production sur le long terme, il vous faudra avoir une réflexion plus aboutie, en particulier via le questionnement suivant :

  1. De quel puissance et espace de stockage aurez-vous besoin ?
  2. Quel sera votre budget matériel ? Électrique ?
  3. Quel temps êtes-vous prêt à y consacrer ?

Une fois votre cahier des charges personnel établi, il ne vous reste plus qu'à vous lancer...

Passons donc ensemble au « comment on fait » :

Enfin, retrouvez également ma blacklist d'outils et logiciels par ici...

On le voit ici, il n'y a pas de recette miracle : l'autohébergement impliquera sans doute pour vous (comme cela l'a été pour moi), une montée en compétence. Et à mon avis, c'est une bonne chose !

Et la sécurité dans tout cela ?

Nous touchons ici à une question primordiale à laquelle tout hébergeur est confronté : comment sécuriser nos services ? Autant vous le dire de suite, il n'y a pas de recette miracle non plus sur ce sujet ! Mais il est possible, à mon avis, de dégager quelques règles fondamentales au travers desquelles il ne faut pas passer.

En premier lieu, lorsqu'on aborde cette question, il convient d'avoir en tête les quelques points et éléments de réponses suivants :

Mon cas personnel : pour ma part, j'utilise l'autohébergement avec pour objectif principal de protéger et contrôler personnellement mes données de l'ensemble des acteurs extérieurs à l'exception des règles en vigueurs en France. Autrement dit, je considère que par défaut, ma vie est, et doit rester, privée et que seul les forces de l'ordre sont en droit de les contrôler sur demande précise et argumentée. Ma position est assez atypique en ce sens que je ne suis pas heurté par la nécessité de réguler et/ou contrôler l'Internet, sous condition du respect de la loi et de mon espace privé.

Voici donc quelques règles élémentaire qu'on ne peut que recommander :

  1. Maintenir scrupuleusement l'ensemble du serveur à jour (système d'exploitation, services...), ne faire aucune exception, jamais.
  2. Rester vigilant quant aux permissions associés à chaque fichiers/dossiers, ne faire aucune exception !
  3. Réduire au strict minimum les services installés (réduction de la surface d'attaque),
  4. Faire des sauvegardes aussi souvent que possible, sur différents supports... (et les automatiser dans la mesure du possible),
  5. Utiliser/configurer un parefeu et n'autoriser que les ports nécessaires (celui de Yunohost est déjà plutôt bien configuré),
  6. Utiliser des mots de passe complexes,
  7. Utiliser HTTPS (jamais de connexion avec mot de passe en HTTP !),
  8. Utiliser une clé plutôt qu'un mot de passe pour se connecter en SSH, refuser les connexions root,
  9. Dans la mesure du possible, limiter la connexion SSH aux seules machines du réseau personnel,
  10. Mettre en place le HIPS Fail2ban (pour limiter les attaques par force brutes), déjà opérationnel dans le cas de Yunohost
  11. Utiliser un onduleur pour votre infrastructure afin d'en assurer une relative continuité de fonctionnement.

Dernier point : ne faites aucune confiance à votre box ! Sauf si vous en avez la maîtrise totale, donc si vous l'avez installé, configuré... vous même avec un firmware totalement libre (OpenWRT, PFsense...). En effet, par définition, vous n'avez aucunement la main sur la box de votre FAI. Vous devez donc les considérer comme non sûres, sans exceptions. Une solution intermédiaire, si vous ne pouvez vous passer de la box du FAI, reste de placer immédiatement derrière lui un routeur parefeu digne de confiance (IPfire, PFsense, OpenWRT...).

On a déjà ainsi une bonne base.

Pour ma part, avec le temps, le nombre de visiteurs augmentant, j'ai eu le droit à quelques tentatives de piratages, ce qui m'a conduit à aller plus loin pour renforcer la sécurité :

Après une année de ce régime sécuritaire, force est de constater que, pour le moment, les mesures prises semblent efficaces (qui dit « sécurité », impose la prudence quant on parle de compromission...).

Petites mises à jour d'été :

Quels matériels pour tout cela ?

Voilà une questions qui n'est pas simple. Si certains d'entre nous préféreront sans doute un Raspberry 3 ou 4 (j'ai d'ailleurs commencé avec Yunohost avec un simple Raspberry B), je me suis orienté, mes besoins grandissants, vers une infrastructure plus polyvalente et performante :

Remarque : notez que j'ai fait un choix un peu extrême (et donc non obligatoire/nécessaire pour la plupart d'entre vous) en autohébergeant tous mes services (DNS, messageries, ...). Et dernier point, mes machines accessibles de l'extérieur ne sont jamais virtualisées.

Pour conclure...

L'autohébergement se démocratise, c'est indiscutable. Mais si sa mise en place est devenu aussi simple que d'installer une distribution Gnu/Linux, en assurer son entretien et sa sécurité reste un challenge qui n'est pas à la portée du premier venu. Autrement dit, les débuts étaient simples quand l'usage restait confidentiel, mais avec le succès on devient plus facilement une cible, ce qui m'a valu de devenir une "petite" cible : attaques par force brute de certaines interfaces, nombreux scans de ports, tentative de connexion ssh, non-respect des règles d'usages de la plateforme par les utilisateurs,... Sans oublier les inévitables problèmes matériels : pannes de disques durs, coupure électrique... Mais rien de grave au final ! Sans doute parce que je garde un œil quotidien sur l'infra et que je respecte scrupuleusement les règles ci-dessus.

Retrouvez l'ensemble de mes recommandations et astuce sur le portail dédié à la sécurité > cliquez ici !