[{"data":1,"prerenderedAt":29},["ShallowReactive",2],{"doc-fr-securiser-vps-linux-2026":3},{"path":4,"slug":5,"title":6,"description":7,"category":8,"subcategory":9,"icon":10,"date":11,"author":12,"order":13,"image":14,"tags":15,"keywords":20,"docGroup":26,"docGroupIcon":26,"link_en":27,"bodyHtml":28},"\u002Fdocs\u002Ffr\u002Fvps\u002Fvps-linux\u002Fsecuriser-vps-linux-2026","securiser-vps-linux-2026","Comment sécuriser son VPS Linux ? (Guide 2026)","Sécurisez votre VPS Linux Winheberg, mise à jour système, authentification par clé SSH, pare-feu et CrowdSec, quelle que soit votre distribution.","vps","vps-linux","tabler:file-text","2026-07-24","Winheberg",2,"\u002Fstatics\u002Fimages\u002Fdocs\u002Ffr\u002Fvps-linux\u002Fsecuriser-vps-linux-2026.webp",[8,16,17,18,19],"sécurité","ssh","crowdsec","firewall",[21,22,23,24,25],"sécuriser vps linux","clé ssh ed25519","ufw firewalld iptables","crowdsec vps","guide sécurité vps 2026","","\u002Fen\u002Fdocs\u002Fvps-linux\u002Fsecure-linux-vps-2026","\u003Ch2>Contexte\u003C\u002Fh2>\n\u003Cp>Vous venez de louer un \u003Cstrong>VPS Linux\u003C\u002Fstrong> chez Winheberg et vous voulez le protéger correctement ? Bonne nouvelle, quelques étapes simples suffisent à bloquer la grande majorité des attaques automatisées qui ciblent les serveurs exposés sur Internet.\u003C\u002Fp>\n\u003Cp>Ce guide pas à pas est conçu pour les débutants. Chaque commande est expliquée, et vous comprendrez pourquoi chaque étape est importante. Il couvre toutes les distributions que nous proposons, à savoir Debian 11\u002F12\u002F13, Ubuntu 23.10\u002F24.04\u002F25.04, AlmaLinux 9\u002F10, Rocky Linux 9\u002F10, Fedora 41\u002F42 et Alpine Linux 3.22.\u003C\u002Fp>\n\u003Ch2>Pourquoi sécuriser son VPS Linux ?\u003C\u002Fh2>\n\u003Cp>Dès qu&#39;un VPS est mis en ligne, il devient une cible. Des milliers de bots scannent Internet en permanence à la recherche de serveurs mal configurés. En quelques heures seulement, votre serveur peut subir différents types d&#39;attaques.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Des \u003Cstrong>tentatives de connexion SSH par force brute\u003C\u002Fstrong> où des bots testent des milliers de mots de passe\u003C\u002Fli>\n\u003Cli>Des \u003Cstrong>scans de ports\u003C\u002Fstrong> pour détecter des services vulnérables\u003C\u002Fli>\n\u003Cli>Des \u003Cstrong>exploitations de failles\u003C\u002Fstrong> sur des logiciels non mis à jour\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Un VPS compromis peut être utilisé pour envoyer du spam, miner de la cryptomonnaie ou participer à des attaques DDoS, souvent sans que vous vous en rendiez compte.\u003C\u002Fp>\n\u003Cdiv class=\"markdown-alert markdown-alert-important\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"\u002F>\u003Cpath d=\"M12 8v4\"\u002F>\u003Cpath d=\"M12 16h.01\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>Suivez ce guide dès la première connexion à votre VPS, avant même d&#39;y installer vos services.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2>Prérequis\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>Un \u003Cstrong>VPS Linux\u003C\u002Fstrong> Winheberg en service\u003C\u002Fli>\n\u003Cli>Un accès root en SSH à votre serveur\u003C\u002Fli>\n\u003Cli>Un PC local pour générer une paire de clés SSH\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>1. Mettre à jour le système\u003C\u002Fh2>\n\u003Cp>La toute première étape consiste à mettre à jour l&#39;ensemble des paquets installés. Cela permet de corriger les failles de sécurité connues et d&#39;avoir les dernières versions stables des logiciels.\u003C\u002Fp>\n\u003Ch3>Connectez-vous à votre VPS en SSH\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">ssh root@VOTRE_IP_VPS\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cdiv class=\"markdown-alert markdown-alert-note\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cline x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\u002F>\u003Cline x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>L&#39;adresse IP de votre serveur vous a été communiquée dans le mail de livraison envoyé au moment de la commande, ou dans la section IP Address de votre espace client. Remplacez \u003Ccode>VOTRE_IP_VPS\u003C\u002Fcode> par cette adresse (par exemple \u003Ccode>ssh root@82.153.202.xx\u003C\u002Fcode>).\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch3>Lancez la mise à jour\u003C\u002Fh3>\n\u003Cdiv class=\"md-tabs\" data-md-tabs>\u003Cdiv class=\"md-tabs__nav\" role=\"tablist\">\u003Cbutton type=\"button\" role=\"tab\" class=\"md-tabs__btn md-tabs__btn--active\" data-md-tab=\"0\" aria-selected=\"true\">Debian et Ubuntu\u003C\u002Fbutton>\u003Cbutton type=\"button\" role=\"tab\" class=\"md-tabs__btn\" data-md-tab=\"1\" aria-selected=\"false\">AlmaLinux, Rocky Linux et Fedora\u003C\u002Fbutton>\u003Cbutton type=\"button\" role=\"tab\" class=\"md-tabs__btn\" data-md-tab=\"2\" aria-selected=\"false\">Alpine Linux\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cdiv class=\"md-tabs__body\">\u003Cdiv role=\"tabpanel\" class=\"md-tab__panel md-tab__panel--active\" data-md-panel=\"0\">\u003Cpre>\u003Ccode class=\"language-bash\">apt update &amp;&amp; apt dist-upgrade -y\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cdiv class=\"markdown-alert markdown-alert-tip\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 16v-4\"\u002F>\u003Cpath d=\"M12 8h.01\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>Pourquoi \u003Ccode>dist-upgrade\u003C\u002Fcode> et pas \u003Ccode>upgrade\u003C\u002Fcode> ? La commande \u003Ccode>apt upgrade\u003C\u002Fcode> peut bloquer certaines mises à jour critiques (notamment celles du noyau Linux ou de paquets avec de nouvelles dépendances). \u003Ccode>apt dist-upgrade\u003C\u002Fcode> (ou son équivalent \u003Ccode>apt full-upgrade\u003C\u002Fcode>) est plus complet et applique toutes les mises à jour de sécurité sans exception. C&#39;est la commande recommandée pour un serveur.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cdiv role=\"tabpanel\" class=\"md-tab__panel\" data-md-panel=\"1\" hidden>\u003Cpre>\u003Ccode class=\"language-bash\">dnf upgrade --refresh -y\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>L&#39;option \u003Ccode>--refresh\u003C\u002Fcode> force le rafraîchissement des métadonnées des dépôts avant d&#39;appliquer les mises à jour, pour être sûr de ne rien manquer.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003Cdiv role=\"tabpanel\" class=\"md-tab__panel\" data-md-panel=\"2\" hidden>\u003Cpre>\u003Ccode class=\"language-bash\">apk update &amp;&amp; apk upgrade\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cdiv class=\"markdown-alert markdown-alert-tip\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 16v-4\"\u002F>\u003Cpath d=\"M12 8h.01\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>Prenez l&#39;habitude de lancer cette commande chaque semaine pour garder votre VPS à jour.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2>2. Sécuriser l&#39;accès SSH\u003C\u002Fh2>\n\u003Cp>SSH est la porte d&#39;entrée principale de votre VPS. C&#39;est aussi la cible n°1 des attaques. Voici les bonnes pratiques à appliquer.\u003C\u002Fp>\n\u003Ch3>❌ Pourquoi changer le port SSH ne sert à rien\u003C\u002Fh3>\n\u003Cp>Beaucoup de tutoriels recommandent de changer le port SSH par défaut (22) vers un autre port (par exemple 2222). C&#39;est une fausse bonne idée.\u003C\u002Fp>\n\u003Cp>Il s&#39;agit de « sécurité par obscurité », vous cachez le service au lieu de le protéger réellement. Un scanner moderne comme \u003Ccode>nmap\u003C\u002Fcode> ou \u003Ccode>masscan\u003C\u002Fcode> trouvera votre nouveau port en quelques secondes. Au final, ce changement va surtout compliquer votre administration (vous devez préciser le port à chaque connexion), casser certains outils qui supposent le port 22 par défaut, et vous donner un faux sentiment de sécurité.\u003C\u002Fp>\n\u003Cp>Gardez le port 22 et appliquez plutôt les vraies protections ci-dessous.\u003C\u002Fp>\n\u003Ch3>2.1 Mettre en place l&#39;authentification par clé SSH\u003C\u002Fh3>\n\u003Cp>L&#39;authentification par clé est beaucoup plus sûre qu&#39;un mot de passe. Une clé privée est quasiment impossible à deviner par force brute, contrairement à un mot de passe qui peut être attaqué pendant des jours.\u003C\u002Fp>\n\u003Cdiv class=\"markdown-alert markdown-alert-note\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cline x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\u002F>\u003Cline x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>« Quasiment impossible » avec les ordinateurs actuels. Avec l&#39;arrivée de l&#39;informatique quantique, certains algorithmes cryptographiques classiques (comme RSA) pourraient devenir vulnérables dans le futur. C&#39;est pourquoi on recommande aujourd&#39;hui les clés \u003Cstrong>Ed25519\u003C\u002Fstrong> (utilisée dans ce guide), plus robustes et déjà mieux préparées à l&#39;ère post-quantique.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cp>Cette étape est identique quelle que soit la distribution de votre VPS, puisqu&#39;elle se déroule principalement sur votre PC local.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Sur votre PC local\u003C\u002Fstrong> (pas sur le VPS), générez une paire de clés.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">ssh-keygen -t ed25519 -C &quot;votre_email@exemple.com&quot;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Appuyez sur Entrée pour accepter l&#39;emplacement par défaut, puis définissez une \u003Cstrong>passphrase\u003C\u002Fstrong> (mot de passe protégeant la clé).\u003C\u002Fp>\n\u003Cp>Copiez ensuite la clé publique sur votre VPS.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">ssh-copy-id root@VOTRE_IP_VPS\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Testez la connexion.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">ssh root@VOTRE_IP_VPS\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Si vous vous connectez sans demander de mot de passe (juste la passphrase de la clé), tout fonctionne.\u003C\u002Fp>\n\u003Ch3>2.2 Désactiver la connexion par mot de passe\u003C\u002Fh3>\n\u003Cp>Maintenant que la connexion par clé fonctionne, désactivez la connexion par mot de passe pour bloquer définitivement les attaques par force brute.\u003C\u002Fp>\n\u003Cp>Ouvrez le fichier de configuration SSH, identique sur toutes les distributions.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">nano \u002Fetc\u002Fssh\u002Fsshd_config\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Modifiez (ou ajoutez) les lignes suivantes.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>PermitRootLogin prohibit-password\nPasswordAuthentication no\nPubkeyAuthentication yes\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>L&#39;option \u003Ccode>PermitRootLogin prohibit-password\u003C\u002Fcode> autorise root uniquement par clé SSH, jamais par mot de passe. \u003Ccode>PasswordAuthentication no\u003C\u002Fcode> désactive complètement l&#39;authentification par mot de passe, et \u003Ccode>PubkeyAuthentication yes\u003C\u002Fcode> autorise la connexion par clé.\u003C\u002Fp>\n\u003Cp>Sauvegardez (\u003Ccode>Ctrl+O\u003C\u002Fcode>, \u003Ccode>Entrée\u003C\u002Fcode>, \u003Ccode>Ctrl+X\u003C\u002Fcode>), puis redémarrez le service SSH. Le nom du service diffère selon la distribution.\u003C\u002Fp>\n\u003Cdiv class=\"md-tabs\" data-md-tabs>\u003Cdiv class=\"md-tabs__nav\" role=\"tablist\">\u003Cbutton type=\"button\" role=\"tab\" class=\"md-tabs__btn md-tabs__btn--active\" data-md-tab=\"0\" aria-selected=\"true\">Debian et Ubuntu\u003C\u002Fbutton>\u003Cbutton type=\"button\" role=\"tab\" class=\"md-tabs__btn\" data-md-tab=\"1\" aria-selected=\"false\">AlmaLinux, Rocky Linux et Fedora\u003C\u002Fbutton>\u003Cbutton type=\"button\" role=\"tab\" class=\"md-tabs__btn\" data-md-tab=\"2\" aria-selected=\"false\">Alpine Linux\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cdiv class=\"md-tabs__body\">\u003Cdiv role=\"tabpanel\" class=\"md-tab__panel md-tab__panel--active\" data-md-panel=\"0\">\u003Cpre>\u003Ccode class=\"language-bash\">systemctl restart ssh\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fdiv>\u003Cdiv role=\"tabpanel\" class=\"md-tab__panel\" data-md-panel=\"1\" hidden>\u003Cpre>\u003Ccode class=\"language-bash\">systemctl restart sshd\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fdiv>\u003Cdiv role=\"tabpanel\" class=\"md-tab__panel\" data-md-panel=\"2\" hidden>\u003Cpre>\u003Ccode class=\"language-bash\">rc-service sshd restart\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cdiv class=\"markdown-alert markdown-alert-warning\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\u002F>\u003Cline x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\u002F>\u003Cline x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>Ne fermez pas votre session actuelle avant d&#39;avoir testé la nouvelle configuration dans un autre terminal. Si quelque chose ne va pas, vous pourriez vous retrouver bloqué hors du serveur.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2>3. Installer un pare-feu\u003C\u002Fh2>\n\u003Cp>Le pare-feu à utiliser dépend de votre distribution.\u003C\u002Fp>\n\u003Cdiv class=\"md-tabs\" data-md-tabs>\u003Cdiv class=\"md-tabs__nav\" role=\"tablist\">\u003Cbutton type=\"button\" role=\"tab\" class=\"md-tabs__btn md-tabs__btn--active\" data-md-tab=\"0\" aria-selected=\"true\">UFW (Debian, Ubuntu)\u003C\u002Fbutton>\u003Cbutton type=\"button\" role=\"tab\" class=\"md-tabs__btn\" data-md-tab=\"1\" aria-selected=\"false\">firewalld (AlmaLinux, Rocky, Fedora)\u003C\u002Fbutton>\u003Cbutton type=\"button\" role=\"tab\" class=\"md-tabs__btn\" data-md-tab=\"2\" aria-selected=\"false\">iptables (Alpine)\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cdiv class=\"md-tabs__body\">\u003Cdiv role=\"tabpanel\" class=\"md-tab__panel md-tab__panel--active\" data-md-panel=\"0\">\u003Cp>UFW (\u003Cem>Uncomplicated Firewall\u003C\u002Fem>) est un pare-feu simple à utiliser qui permet de n&#39;autoriser que les ports nécessaires sur votre serveur.\u003C\u002Fp>\n\u003Ch3>Installer UFW\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">apt install ufw -y\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Autoriser SSH (étape critique)\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Avant toute autre commande UFW\u003C\u002Fstrong>, autorisez SSH. Si vous oubliez cette étape et activez le pare-feu, vous serez immédiatement déconnecté de votre VPS sans possibilité d&#39;y revenir.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">ufw allow OpenSSH\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Définir les règles de base\u003C\u002Fh3>\n\u003Cp>Maintenant que SSH est autorisé, vous pouvez bloquer tout le trafic entrant par défaut et autoriser le trafic sortant.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">ufw default deny incoming\nufw default allow outgoing\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>La règle \u003Ccode>default deny incoming\u003C\u002Fcode> bloque tout ce qui entre, sauf les exceptions que vous avez définies (comme SSH). La règle \u003Ccode>default allow outgoing\u003C\u002Fcode> permet à votre serveur de continuer à communiquer vers l&#39;extérieur (mises à jour, requêtes web, etc.).\u003C\u002Fp>\n\u003Ch3>Autoriser d&#39;autres services (si besoin)\u003C\u002Fh3>\n\u003Cp>Si vous hébergez un site web, ouvrez les ports HTTP et HTTPS.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">ufw allow 80\u002Ftcp\nufw allow 443\u002Ftcp\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Activer le pare-feu\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">ufw enable\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Vérifiez ensuite que tout est en ordre.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">ufw status verbose\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Vous devriez voir vos règles listées avec le statut \u003Ccode>active\u003C\u002Fcode>.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003Cdiv role=\"tabpanel\" class=\"md-tab__panel\" data-md-panel=\"1\" hidden>\u003Cp>firewalld est le pare-feu par défaut sur l&#39;écosystème Red Hat. Contrairement à UFW, il bloque déjà tout le trafic entrant non explicitement autorisé dans sa zone par défaut, il n&#39;y a donc pas de règle &quot;deny incoming&quot; à ajouter séparément.\u003C\u002Fp>\n\u003Ch3>Vérifier que firewalld est actif\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">systemctl status firewalld\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Sur AlmaLinux, Rocky et Fedora, firewalld est généralement actif par défaut. S&#39;il ne l&#39;est pas, démarrez-le et activez-le au démarrage.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">systemctl enable --now firewalld\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Autoriser SSH (étape critique)\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Avant toute autre commande\u003C\u002Fstrong>, assurez-vous que SSH est bien autorisé. C&#39;est le cas par défaut sur la zone \u003Ccode>public\u003C\u002Fcode>, mais vérifiez tout de même.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">firewall-cmd --permanent --add-service=ssh\nfirewall-cmd --reload\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Autoriser d&#39;autres services (si besoin)\u003C\u002Fh3>\n\u003Cp>Si vous hébergez un site web, ouvrez les ports HTTP et HTTPS.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">firewall-cmd --permanent --add-service=http\nfirewall-cmd --permanent --add-service=https\nfirewall-cmd --reload\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Vérifier les règles actives\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">firewall-cmd --list-all\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Vous devriez voir les services autorisés listés dans la zone active.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003Cdiv role=\"tabpanel\" class=\"md-tab__panel\" data-md-panel=\"2\" hidden>\u003Cp>Alpine n&#39;inclut pas UFW ni firewalld, la protection par pare-feu passe donc par \u003Ccode>iptables\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch3>Installer iptables\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">apk add iptables\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Autoriser le loopback, les connexions établies et SSH (étape critique)\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Avant d&#39;appliquer une politique de blocage par défaut\u003C\u002Fstrong>, autorisez explicitement SSH, sous peine de vous retrouver bloqué hors du serveur.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">iptables -A INPUT -i lo -j ACCEPT\niptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\niptables -A INPUT -p tcp --dport 22 -j ACCEPT\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Autoriser d&#39;autres services (si besoin)\u003C\u002Fh3>\n\u003Cp>Si vous hébergez un site web, ouvrez les ports HTTP et HTTPS.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">iptables -A INPUT -p tcp --dport 80 -j ACCEPT\niptables -A INPUT -p tcp --dport 443 -j ACCEPT\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Bloquer le reste du trafic entrant par défaut\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">iptables -P INPUT DROP\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Rendre les règles persistantes\u003C\u002Fh3>\n\u003Cp>Par défaut, les règles iptables sont perdues au redémarrage.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\u002Fetc\u002Finit.d\u002Fiptables save\nrc-update add iptables\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Vérifier les règles actives\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">iptables -L INPUT -n -v --line-numbers\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2>4. Installer CrowdSec pour bloquer les attaques\u003C\u002Fh2>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.crowdsec.net\u002F\">CrowdSec\u003C\u002Fa> est une alternative moderne à Fail2Ban. Il analyse les logs en temps réel pour détecter les comportements malveillants (tentatives de brute force, scans, etc.) et bloque automatiquement les IP suspectes.\u003C\u002Fp>\n\u003Cp>Sa particularité, c&#39;est que CrowdSec partage les IP malveillantes avec une communauté mondiale, ce qui permet de bloquer des attaquants avant même qu&#39;ils n&#39;attaquent votre serveur.\u003C\u002Fp>\n\u003Cdiv class=\"markdown-alert markdown-alert-note\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cline x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\u002F>\u003Cline x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>Sur Alpine, CrowdSec ne dispose pas du même niveau de support que sur les autres distributions. L&#39;assistant d&#39;installation automatique ne fonctionne pas (il suppose systemd, absent sur Alpine avec OpenRC), et les paquets ne sont disponibles que dans le dépôt \u003Ccode>edge\u002Ftesting\u003C\u002Fcode>, pas dans les dépôts stables. Une installation manuelle est possible mais dépasse le cadre de ce guide. Sur Alpine, le pare-feu iptables mis en place à l&#39;étape précédente reste votre principale protection.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cdiv class=\"md-tabs\" data-md-tabs>\u003Cdiv class=\"md-tabs__nav\" role=\"tablist\">\u003Cbutton type=\"button\" role=\"tab\" class=\"md-tabs__btn md-tabs__btn--active\" data-md-tab=\"0\" aria-selected=\"true\">Debian et Ubuntu\u003C\u002Fbutton>\u003Cbutton type=\"button\" role=\"tab\" class=\"md-tabs__btn\" data-md-tab=\"1\" aria-selected=\"false\">AlmaLinux, Rocky Linux et Fedora\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cdiv class=\"md-tabs__body\">\u003Cdiv role=\"tabpanel\" class=\"md-tab__panel md-tab__panel--active\" data-md-panel=\"0\">\u003Ch3>Installer CrowdSec\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">curl -s https:\u002F\u002Finstall.crowdsec.net | sh\napt install crowdsec -y\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>L&#39;installateur détecte automatiquement les services à surveiller (dont SSH) et configure les collections nécessaires.\u003C\u002Fp>\n\u003Ch3>Vérifier l&#39;installation\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">systemctl status crowdsec\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Vous devriez voir \u003Ccode>active (running)\u003C\u002Fcode> en vert.\u003C\u002Fp>\n\u003Cp>Pour voir les scénarios de détection actifs, lancez la commande suivante.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">cscli collections list\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Installer le bouncer\u003C\u002Fh3>\n\u003Cp>CrowdSec détecte les menaces, mais il a besoin d&#39;un bouncer pour les bloquer activement.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">apt install crowdsec-firewall-bouncer-iptables -y\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Le bouncer s&#39;enregistre automatiquement auprès de CrowdSec. Vérifiez ensuite qu&#39;il est bien actif.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">systemctl status crowdsec-firewall-bouncer\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fdiv>\u003Cdiv role=\"tabpanel\" class=\"md-tab__panel\" data-md-panel=\"1\" hidden>\u003Ch3>Installer CrowdSec\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">curl -s https:\u002F\u002Fpackagecloud.io\u002Finstall\u002Frepositories\u002Fcrowdsec\u002Fcrowdsec\u002Fscript.rpm.sh | bash\ndnf install crowdsec -y\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cdiv class=\"markdown-alert markdown-alert-note\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cline x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\u002F>\u003Cline x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>Si l&#39;installation du dépôt échoue en réclamant \u003Ccode>pygpgme\u003C\u002Fcode>, ce paquet n&#39;est plus packagé sur les versions récentes d&#39;AlmaLinux et Rocky. Consultez la documentation officielle CrowdSec pour la méthode d&#39;installation manuelle du dépôt sur votre version exacte.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch3>Vérifier l&#39;installation\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">systemctl status crowdsec\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Vous devriez voir \u003Ccode>active (running)\u003C\u002Fcode> en vert.\u003C\u002Fp>\n\u003Cp>Pour voir les scénarios de détection actifs, lancez la commande suivante.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">cscli collections list\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Installer le bouncer\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">dnf install crowdsec-firewall-bouncer-iptables -y\nsystemctl enable --now crowdsec-firewall-bouncer\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Vérifiez ensuite qu&#39;il est bien actif.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">systemctl status crowdsec-firewall-bouncer\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch3>Tester et surveiller CrowdSec\u003C\u002Fh3>\n\u003Cp>Pour lister les décisions en cours (IP bloquées), utilisez cette commande.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">cscli decisions list\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Pour consulter les alertes (tentatives détectées), lancez celle-ci.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">cscli alerts list\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cdiv class=\"markdown-alert markdown-alert-tip\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 16v-4\"\u002F>\u003Cpath d=\"M12 8h.01\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>Créez un compte gratuit sur \u003Ca href=\"https:\u002F\u002Fapp.crowdsec.net\">app.crowdsec.net\u003C\u002Fa> pour visualiser vos alertes dans une interface web et bénéficier de la blocklist communautaire, qui bloque préventivement les IP signalées comme malveillantes par d&#39;autres utilisateurs.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2>Récapitulatif des bons réflexes\u003C\u002Fh2>\n\u003Cp>Après avoir suivi ce guide, votre VPS est protégé contre la majorité des attaques courantes. Pour garder ce niveau de sécurité dans le temps, gardez en tête ces quelques habitudes.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Mettre à jour le système régulièrement\u003C\u002Fli>\n\u003Cli>Utiliser uniquement l&#39;authentification par clé SSH\u003C\u002Fli>\n\u003Cli>Garder votre pare-feu activé et n&#39;ouvrir que les ports réellement nécessaires\u003C\u002Fli>\n\u003Cli>Vérifier les logs CrowdSec de temps en temps (\u003Ccode>cscli alerts list\u003C\u002Fcode>), sur les distributions où il est installé\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Besoin d&#39;aide ?\u003C\u002Fh2>\n\u003Cp>Si vous rencontrez un problème lors de la sécurisation de votre VPS, notre équipe est là. Ouvrez un ticket dans le département \u003Cstrong>Technique\u003C\u002Fstrong> depuis votre espace client et renseignez le champ \u003Cstrong>Produit lié\u003C\u002Fstrong> avec le VPS concerné.\u003C\u002Fp>\n\u003Cp>Vous avez maintenant un VPS Linux sécurisé et prêt à héberger vos projets en toute tranquillité 🔒\u003C\u002Fp>\n",1788993139661]