Son domaine dans les nuages
DÚs lors qu'on y pose un pied, on se sent observé. On entends les forces inimaginables, les démons, les esprits, les dieux qui régissent ce monde et on constate avec horreur qu'eux aussi peuvent nous entendre.
Depuis que jâai lâargent pour en louer un, jâai toujours eu un serveur Ă mon nom. Dâabord ce quâon appelle des machines virtuelles, de petits systĂšmes qui coexistent sur un serveur plus gros, puis un serveur dĂ©diĂ©. Câest Ă dire un ordinateur, un vrai, branchĂ© Ă internet, quelque part dans un datacenter Ă Roubaix et allumĂ© 24 heures sur 24.
Avoir un serveur, câest un privilĂ©ge. Ca tâouvre tout un tas de possibilitĂ©s que tu nâavais mĂȘme pas imaginĂ©. Au dĂ©but, tu en veux un pour hĂ©berger un serveur Minecraft pour toi et tes copains. Puis ensuite, tu hĂ©berges un site internet, puis des services, comme un cloud personnel. Tu peux mĂȘme au bout dâun moment, comme ça a Ă©tĂ© mon cas, ĂȘtre pris dâambitions Ă©tranges sans aucune raison. Tu installes pleins de services que tu nâutilises pas. Tu invites tes amis ou ta famille a les utiliser.
Jâai considĂ©rĂ© que cette nouvelle annĂ©e 2024 Ă©tait le bon moment pour rĂ©installer mon serveur. Je loue un Kimsufi KS-4, une machine mise Ă disposition par la marque du mĂȘme nom, une filiale de OVH qui est le grand gĂ©ant europĂ©en de lâhĂ©begerment, chez qui je loue aussi des noms de domaines.
Les Kimsufi, en tout cas Ă lâĂ©poque oĂč jâai cherchĂ©, Ă©taient rĂ©putĂ©s pour ĂȘtre des serveurs dĂ©diĂ©s relativement accessibles. En gĂ©nĂ©ral, les serveurs dĂ©diĂ©s (ou machines âbare metalâ comme on les appelles, câest Ă dire oĂč tu loues littĂ©ralement un ordinateur) sont plutĂŽt chers et louĂ©s par des grosses entreprises. Les particuliers, les gens dans mon cas, louent en gĂ©nĂ©ral plutĂŽt des VPS, câest Ă dire grossiĂšrement, un ordinateur Ă©mulĂ© par un autre ordinateur.
Le processeur, les 2 to dâhĂ©bergement et les 16 go de RAM de ce KS-4 sont bien suffisants, mĂȘme beaucoup plus que ça, pour lâusage que jâen fais. En fait, mon serveur nâutilise mĂȘme pas 1% de ses capacitĂ©s la grande majoritĂ© du temps, mais ce nâest pas vraiment surprenant dans le monde de lâhĂ©bergement.
Avant de le rĂ©installer, mon serveur servait principalement Ă hĂ©berger un cloud que jâutilise quotidiennement, quelques sites internets et des serveurs de jeux pour Minecraft et Project Zomboid. Ceci Ă©tant dit, comme câest souvent le cas chez les amateurs, il a commencĂ© Ă devenir un peu bordĂ©lique et Ă en quelque sorte pourir et plus je nĂ©gligeais ma machine, moins je comprenais ce qui sây passe et moins jâavais envie de me pencher sur le problĂšme et pire ça devenait.
En soi câest pas forcĂ©ment trĂšs grave. Il y a Ă©normement de machines abandonnĂ©s et beaucoup dans un Ă©tat bien pire que la mienne. Mais il y a aussi pas mal de gens qui passent leur temps Ă chercher ce genre de serveurs vulnĂ©rables et sans surveillances pour y poser leurs mineurs de cryptos ou les intĂ©grer Ă leur botnet. Comme je prĂ©fĂšre Ă©viter dâĂȘtre confrontĂ© Ă ce genre de problĂšmes, jâen suis arrivĂ© Ă la conclusion quâil Ă©tait probablement plus sage de rĂ©installer.
Cette ambition tâamĂšne naturellement Ă te former. La grande majoritĂ© des serveurs se manipulent Ă distance Ă travers un terminal, un invitĂ© de commande. Rien que se connecter Ă son serveur est dĂ©jĂ une expĂ©rience pour le nĂ©ophyte. Tu es dĂ©jĂ bombardĂ© de termes barbares comme SSH ou FTP. Tu dĂ©couvres les protocoles, les langues de lâinternet mondial. Si ce nâest pas dĂ©jĂ fais, tu apprends aussi Ă utiliser Linux. Tu dĂ©couvres les permissions, systemd et tout un tas dâautres concepts qui au dĂ©but te semblent impossiblement complexe et que tu te surprends Ă comprendre au fur et Ă mesure que tu commences Ă les apprĂ©hender.
Tu dĂ©couvres aussi des nouvelles angoisses. Parmi les premiĂšres expĂ©riences marquantes, on trouve la premiĂšre fois que tu consultes les logs - le journal - de son fail2ban, un logiciel âvideur de boiteâ qui dis qui a le droit de se connecter ou pas, en gros. Ce quâon observe Ă ce moment lĂ , câest que notre serveur est en permanence victime de milliers de tentatives de connexions, de piratage, dâattaques. On apprends lâexistence de cette guerre dans les cieux qui se jouent sans que personne ne le remarque. On entends les hordes de drones pilotĂ©s par des gouvernements, par des organisations criminelles ou simplement par des petits rigolos qui viennent se cogner Ă notre porte, qui tentent de sâinfiltrer dans chaque recoin. Et on sait quâils finiront par trouver une faille.
Pour cette rĂ©installation, jâai eu envie de mâintĂ©resser au sujet de la virtualisation. Si vous vous souvenez bien, jâĂ©voquais plus tĂŽt une distinction entre les serveurs dĂ©diĂ©s dits âbare metalâ et les VPS, les serveurs virtuels. Ducoup voilĂ , lâavantage de louer un serveur dĂ©diĂ©, câest quâon peut y utiliser la mĂȘme technologie utilisĂ©s par les hĂ©bergeurs pour y crĂ©er ses propres serveurs virtuels.
Jâai Ă©tĂ© inspirĂ© par Wolfgang, un youtuber plutĂŽt cool qui lui aussi aime bien rĂ©installer son serveurs tous les 6 mois. Il fait notamment la dĂ©mo dâun logiciel quâon appelle Proxmox, un hyperviseur, câest Ă dire un logiciel qui sert Ă crĂ©er des serveurs virtuels.
Si vous ĂȘtes nĂ©ophyte, ça ne vous parle peut-ĂȘtre pas, mais la virtualisation est probablement lâun des sujet les plus intimidants et difficile Ă aborder quâon peut rencontrer dans une aventure dâauto-hĂ©bergement comme la mienne.
Si je considĂšre que lâauto-hĂ©bergement, câest Ă dire le fait dâavoir un serveur et dây hĂ©berger les services quâon utilise, comme quelque chose dâassez accessible Ă nâimporte qui pour peu quâon soit un peu motivĂ©, je trouve la question de la virtualisation beaucoup plus intimidante. Câest un sujet trĂšs technique. Alors jâai fais beaucoup de recherches.
Alors que je posais mes questions au moteur de recherche de la maniĂšre habituelle quand je rencontre un problĂšme, jâai Ă©tĂ© surpris de constater que soit je ne trouvais pas de rĂ©ponses, soit quâelles Ă©taient trop complexes Ă comprendre pour moi, soit quâelles Ă©taient carrĂ©ment contradictoires.
Ă ce moment lĂ jâai failli abandonnĂ©, mais jâavais toute la soirĂ©e devant moi et lâenvie absolument injustifiĂ©e de persevĂ©rer et comprendre dans quel pĂ©trin je mâĂ©tais fourrĂ©. Donc je me suis lancĂ© Ă corps perdu dans ce projet, jusquâau bout de la nuit.
A la maniĂšre de Neo dans la matrice, on aperçoit briĂšvement Internet tel quâil est rĂ©ellement. Un vortex de flux incessants, un trou noir, un espace infiniment dense oĂč la distance ne signifie rien. Tout le monde y est interconnectĂ©. DĂšs lors quâon y pose un pied, on se sent observĂ©. On entends les forces inimaginables, les dĂ©mons, les esprits, les dieux qui rĂ©gissent ce monde et on constate avec horreur quâeux aussi peuvent nous entendre.
Depuis le panneau dâadministration de mon serveur, je demande une rĂ©installation. Alors que la modale me demande mon systĂšme dâexploitation, je selectionne Proxmox 8 et jâattends quelques minutes.
Je fini par recevoir un mail qui me donne les identifiants pour me connecter Ă mon serveur depuis mon terminal ainsi que le lien vers lâinterface dâadministration accessible par navigateur.
Je sais que dĂšs quâun serveur est en ligne, il est immĂ©diatement pris dâassaut par des lĂ©gions de bots qui vont lui tater les ports. Alors jâajoute une rĂšgle dans mon pare-feu qui bloque tout les paquets qui ne viennent pas de chez moi.
Si vous faites ça, vĂ©rifiez que vous autorisez au moins le monde extĂ©rieur Ă vous pinger, sinon vous allez recevoir un joli message de votre hĂ©bergeur qui vous informera quâil va intervenir sur votre machine - parce que de leur point de vue, une machine qui ne rĂ©ponds plus au ping, câest quâelle est en panne, Ă raison.
Ensuite, jâai dĂ©sactivĂ© les connexions en SSH par mot de passe. Pour la faire court, câest une Ă©tape plutĂŽt standard de sĂ©curisation dâun serveur. PlutĂŽt que de sâidentifier avec un mot de passe, on utilise un systĂšme de clĂ© secrĂšte. En gros on tĂ©lĂ©charge sur le serveur la premiĂšre moitiĂ© dâune clĂ©, une clĂ© dite publique, qui si elle est mise en lien avec lâautre moitiĂ© de la clĂ©, câest Ă dire la clĂ© privĂ© bien au chaud sur votre ordinateur, permet dâassurer Ă coup sĂ»r que câest bien vous qui ĂȘtes en train de vous connecter Ă votre serveur.
Lâauthentication par clĂ© secrĂšte Ă le mĂ©rite dâĂȘtre relativement inviolable (en tout cas, virtuellement immunisĂ©e contre les techniques habituelles).
Comme mon hĂ©bergeur ne me fournit quâune seule adresse IP, jâai crĂ©e un rĂ©seau interne depuis lâinterface dâadministration de Proxmox. Si on peut comparer une adresse IP Ă une adresse postale (15 rue des lilasâŠ), alors crĂ©er un rĂ©seau interne, câest un peu comme crĂ©er des numĂ©ros dâappartement pour un immeuble (11 rue des peupliers, appartement 3). Câest une Ă©tape obligĂ© dĂšs lors quâon a plus de machines quâon Ă dâadresses Ă distribuer.
Cela dit, exactement comme pour La Poste, il y a de grandes chance que le livreur se contente de crier et dâattendre dans le hall dâentrĂ©e. Pour poursuivre cette mĂ©taphore, la personne qui va venir rĂ©pondre au livreur et amener le paquet Ă lâappartement qui doit le recevoir, câest ce quâon appelle un routeur.
Sur un serveur comme le miens, câest le pare-feu de la machine hĂŽte qui fait office de routeur. Ce nâest pas une configuration trĂšs professionnelle, mais pour mon cas relativement simple, câest suffisant.
Ă ce moment lĂ , jâai dĂ©jĂ pratiquement terminĂ© la mise en place de mon serveur. Il manque deux Ă©lĂšments essentiels, un VPN et un serveur web.
Le but du VPN va ĂȘtre de crĂ©er un tunnel sĂ©curisĂ© entre mon rĂ©seau local, celui de mon ordinateur personnel et le rĂ©seau interne de mon serveur, ce qui me permet de travailler dessus sans avoir Ă ouvrir les ports de mon serveur. Câest quelque chose que jâai essayĂ© pour la premiĂšre fois Ă ce moment lĂ et jâai appris que des outils comme PiVPN rendait la mise en place de ce type de configuration vraiment simple. Jâai simplement eu Ă crĂ©er une machine virtuelle et y Ă©crire quelques commandes pour le mettre en place.
En ce qui concerne le serveur web, son but est de servir de reverse proxy. GrossiĂšrement, je vais envoyer tout les petits paquets internet que je reçois dans ce machin qui va ensuite le renvoyer vers une autre machine qui doit la recevoir (ah si câest pour cloud.machin.net je lâenvoi Ă la machine 102, ah si câest pour wiki.machin;net je lâenvoi Ă la machine 104). Si vous suivez, câest un peu comme un routeur, mais uniquement pour le trafic web.
No matter where you go, everyoneâs connected.
Publication originale : 2024-01-11 (sous le nom "Mon royaume dans les nuages")