Ceci est une partie du script de la release Ex0044 du programme CPU, diffusé le Jeudi 1/12 à 11h. Plus d'infos sur le site de l'émission. logo de l'émission CPU

Bonjour à toi, Enfant du Futur Immédiat, toi qui télécharge plein de trucs sur internet et qui après se plaint de se retrouver avec plein de malwares qui pourrissent ta bécane.

Dans internet, il y a réseaux, et dans une typologie de réseaux, il y a les clients, c'est à dire toi avec ton ordinateur ou ton smartphone et des serveurs qui sont d'autres ordinateurs généralement nichés dans des datacenters. Bon, je schématise, mais commencez pas à me prendre la tête avec les détails sinon les gamins vont fuir.

Tout est dans cette relation client/serveur. Et parmi ces serveurs, il y a ceux qui sont totalement accessoires, et des serveurs qui sont vraiment important. S'ils sont compromis, tout internet tremble.
Par exemple, il y a les serveurs d'infrastructure, comme ceux gérant les noms de domaines, les DNS. Il y a les serveurs de services, du type Google, et il y a le serveurs qui distribuent des logiciels, comme ceux de Microsoft, d'Apple ou les distributeurs de système Linux.
Si un de ces serveurs sont compromis, ce sont des centaines de millions d'ordinateurs de part le monde qui pourraient être compromis.

Quand tu construis un logiciel qui devient important pour des millions d'utilisateurs, administrer un serveur devient donc une responsabilité qui est bien plus importante que celle du projet qu'il héberge : il peut faire tomber une infrastructure, tolère le moins de pannes possibles et demande une bonne rigueur de gestion pour son suivi.

Tout le problème, c'est de se rendre compte quand ta responsabilité te dépasse, quand le projet que tu héberges est devenu si important que tu ne peux plus te permettre du tout d'avoir le moindre souci sur les serveurs. Et là, il te faut une équipe de durs, de tatoués, d'administrateurs systèmes. Ce genre de gus dans un garage à ne pas avoir la main qui tremble quand il faut faire un reboot après une mise à jour. Le genre de personnes qui te disent NON si tu veux installer un serveur d'e-mails là où tu mets aussi ta base de données, ceux qui te retournent une claque si tu veux installer le wordpress du petit neveu sur ton serveur en production.

Oui, l'administrateur système de ton réseau peut sembler dur, mais il est à la racine de a sécurité.

C'est pour ça qu'on l'appelle root

Et root peut parfois se montrer gentil, laisser des privilèges et s'occuper de tout le reste et parfois faire feu de tout bois.

Alors oui, normalement, on peut facilement devenir root sur son ordinateur, et donc choisir qui deviendra root à ta place sur un serveur est une relation de confiance qui se noue dans la durée. Vous derrière , vous noterez que je n'ai pas dit relations BDSM, à cette heure-ci, il y a des enfants qui nous écoutent.

Mais revenons à nos gros serveurs et nos tests de pénétrations. Gérer une flotte de serveurs n'est pas simple, même si nous avons des outils de gestions qui simplifient la tache : la virtualisation d'infrastructure sur le cloud, la containerisation d'application via Docker ou encore les scripts d'administration de flotte tel Ansible.

Il y a aussi les gestions de mise à jour, les montées en version de logiciels, tout cela peut être fait d'une manière plus ou moins stable en fonction de l'existant. Et bien évidemment, il y a le rapport risques/bénéfices, l'équilibre subtil où le gain est tellement minime par rapport à l'investissement pour le petit chouia de sécurité en plus, qu'il peut compromettre l'équilibre du projet qu'il héberge.

Enfant du Futur Immédiat, un root se montre d'un bois solide mais flexible à la fois. C'est lui qui fait que l'arbre ne flanche pas complètement quand le sol se dérobe. Et crois-moi qu'une telle situation peut arriver à n'importe quel moment. Il faut tenter de l'éviter, et se préparer à y être confronté. Déléguer root sur son serveur si important, c'est s'assurer de meilleures nuits de sommeil.