Projets Homelab à tester ce week-end (16 janvier)
C'est à nouveau le moment : il est temps pour vous de travailler sur d'autres projets homelab ! Aujourd'hui, je me concentre sur la sécurité dans le homelab, ainsi que sur le déplacement de certaines de vos ressources des machines virtuelles vers des conteneurs de manière unique. Voici trois projets que vous pouvez essayer au homelab ce week-end.
Sommaire
Ignorez la machine virtuelle et déployez simplement Kasm Workspaces
Pourquoi faire tourner des machines virtuelles alors qu’un système d’exploitation basé sur un navigateur est plus simple ?
J'admets que j'ai une machine virtuelle de « test » sur mon serveur que je fais tourner de haut en bas chaque fois que j'ai besoin de tester quelque chose sans casser aucun autre système en cours d'exécution. C'est ainsi que j'ai toujours fonctionné, et cela a bien fonctionné pour moi depuis des années.
Cependant, lorsque j’ai découvert Kasm Workspaces, tout a changé. Kasm est un projet que je vais déployer moi-même ce week-end.
Kasm Workspaces vous propose des mini conteneurs de type machine virtuelle qui vivent dans votre navigateur (et s'exécutent sur votre serveur). Il existe plusieurs systèmes d'exploitation (principalement Linux, bien qu'il est possible d'utiliser Kasm avec des machines virtuelles Windows dans un conteneur) parmi lesquelles choisir, et vous pouvez même choisir comment elles agissent.
Pour commencer, vous pouvez avoir une session « jetable » dans laquelle vous pouvez créer un espace de travail Kasm qui existe uniquement pour cette session de navigation. Au moment où vous fermez la fenêtre, tout le système d’exploitation dans lequel vous vous trouviez a disparu. C'est idéal lorsque vous avez besoin de tester des choses sans détruire votre environnement, ou si vous devez vraiment, vraiment utiliser ce site super sommaire pour télécharger quelque chose que vous ne devriez probablement pas.
Une autre façon d'utiliser Kasm Workspaces consiste à disposer d'un bureau virtuel auquel vous pouvez accéder n'importe où via un navigateur. Il peut exécuter des logiciels comme VS Code (ou Antigravity), Audacity ou même Blender dans un navigateur Web. En réalité, il fonctionne chez vous sur votre serveur, mais vous pouvez accéder à la machine virtuelle à partir d'un navigateur Web n'importe où, ce qui facilite grandement le codage, la conception ou simplement le travail à partir de n'importe quel appareil connecté à Internet.
La configuration de sessions persistantes nécessite un peu plus de travail en activant des profils persistants et en mappant un dossier sur votre lecteur afin que Kasm sache où stocker les informations persistantes. Cependant, une fois configuré, vous êtes prêt à partir.
Protégez vos serveurs avec des listes de blocage participatives utilisant CrowdSec
Fail2ban est génial jusqu'à l'arrivée de nouveaux pirates.
Fail2ban est un incontournable de la communauté homelab pour empêcher les mauvais acteurs d'accéder à vos serveurs. Le fonctionnement de Fail2ban consiste à consulter les journaux de votre système et à interdire les adresses IP qui tentent (et échouent) de se connecter à votre système. C'est une bonne chose à mettre en place, ne vous méprenez pas, mais ce n'est que le premier niveau de sécurité.
CrowdSec fait passer Fail2ban au niveau supérieur. Si vous avez déjà utilisé Waze, CrowdSec fonctionne comme ça. Au lieu d'attendre que de mauvais acteurs tentent de s'introduire par effraction, alors en les interdisant, CrowdSec adopte une approche différente. La façon dont CrowdSec fonctionne consiste à utiliser une liste participative de mauvais acteurs et à interdire de manière préventive les adresses IP de ces mauvais acteurs avant même qu'ils ne puissent tenter de se connecter à votre serveur.
Avec ce type de technologie, CrowdSec peut prévenir un problème avant qu'il ne se produise, au lieu d'attendre que quelqu'un essaie de se frayer un chemin de force dans votre système et de le bloquer ensuite seulement.
Non seulement CrowdSec aide à prévenir les tactiques de force brute, mais il propose également des stratégies plus complexes que Fail2ban, en se concentrant sur des comportements tels que le bourrage de cartes de crédit, le grattage de robots, etc.
Une autre chose que fait CrowdSec est d'avoir un agent qui s'exécute sur un serveur principal dans votre maison, puis des videurs qui peuvent s'exécuter n'importe où ailleurs, gardant tout synchronisé. Ainsi, vous pouvez exécuter l'agent sur votre ordinateur principal et faire fonctionner un videur sur d'autres machines de la maison.
Le videur vérifie constamment auprès de l'agent, lui demandant quelles adresses IP il doit autoriser et bloquer. Lorsque l'agent détecte un nouvel acteur malveillant, il demande à tous les videurs de votre réseau de bloquer cette adresse IP, gardant ainsi tout synchronisé.
Il s'agit simplement d'un Fail2ban plus robuste, et devrait certainement être quelque chose que chaque homelabber a exécuté dans sa pile logicielle.
Verrouillez votre homelab avec Authentik
Arrêtez de jouer avec les mots de passe et déployez votre propre solution SSO.
Je ne sais pas pour vous, mais j'ai un parcelle de mots de passe à retenir dans mon homelab. Presque tous les services que j'exécute ont son propre flux de connexion, avec des noms d'utilisateur et des mots de passe uniques. Bien que je me souvienne de la plupart d'entre eux (ou que je les ai dans mon 1Password), il est parfois un peu ennuyeux de devoir se connecter à plusieurs choses consécutivement. C'est là qu'Authentik entre en jeu.
Authentik est la solution d'authentification unique interne de votre homelab. Vous placez simplement Authentik devant vos services (comme avec un proxy inverse) et Authentik gère toute votre authentification. Connectez-vous à Authentik, puis Authentik vous authentifie pour tout le reste.
Une fois connecté à Authentik et configuré devant vos services, vos services demanderont simplement à Authentik « Puis-je faire confiance à cette personne ? et Authentik répondra soit « Oui » si vous y êtes connecté, soit « Non » si vous n'y êtes pas.
Cela fonctionne bien pour les applications qui ont leurs propres pages de connexion intégrées ou pour les applications qui n'ont aucune authentification intégrée. C'est en particulier utile pour la deuxième catégorie, car une application sans authentification ne doit jamais être ouverte sur Internet via un proxy inverse.
Authentik vous permet également de configurer une authentification à deux facteurs pour un service (Authentik) au lieu d'avoir à configurer 2FA pour chaque logiciel que vous déployez.
Dans l'ensemble, Authentik rend la gestion de votre homelab une expérience plus fluide une fois que vous l'avez opérationnel, car vous n'aurez plus à vous souvenir de toutes sortes de mots de passe ni à gérer diverses formes d'authentification.
Si vous débutez avec un homelab, ces projets peuvent être un peu avancés. Bien que mon homelab soit devenu l'une des choses les plus utiles de ma maison, je n'aurais certainement pas commencé par configurer Authentik et Kasm Workspaces.
Pour commencer, j'ai dressé une liste de nombreuses leçons que j'ai apprises en dirigeant un homelab au cours des cinq dernières années afin que vous puissiez éviter certaines des mêmes erreurs que j'ai commises. Une fois que vous êtes prêt à ne pas commettre les mêmes erreurs, j'ai détaillé tous les principaux logiciels que j'utilise dans mon homelab, de Plex à Pi-hole.
