{"id":20124,"date":"2026-07-29T11:49:51","date_gmt":"2026-07-29T09:49:51","guid":{"rendered":"https:\/\/webhosting.de\/redis-security-offene-ports-absichern-cache-server-fortgeschritten\/"},"modified":"2026-07-29T11:49:51","modified_gmt":"2026-07-29T09:49:51","slug":"redis-securite-securiser-les-ports-ouverts-serveur-de-cache-avance","status":"publish","type":"post","link":"https:\/\/webhosting.de\/fr\/redis-security-offene-ports-absichern-cache-server-fortgeschritten\/","title":{"rendered":"S\u00e9curit\u00e9 Redis : \u00e9viter les ports ouverts et les instances non prot\u00e9g\u00e9es"},"content":{"rendered":"<p>Les ports ouverts et les instances non prot\u00e9g\u00e9es constituent les points d'entr\u00e9e les plus courants lorsqu'il s'agit de <strong>s\u00e9curit\u00e9 Redis<\/strong> Je vais vous montrer clairement comment fermer des ports, s\u00e9curiser des instances et r\u00e9duire consid\u00e9rablement le risque en apportant quelques modifications au fichier redis.conf.<\/p>\n\n<h2>Points centraux<\/h2>\n\n<p>Pour que tu puisses te lancer rapidement, je r\u00e9sume ici les points essentiels et je classe par ordre de priorit\u00e9 les actions \u00e0 mener en premier lieu. J'aborde les erreurs de configuration courantes qui entra\u00eenent des ports ouverts et je te propose des param\u00e8tres concrets pour un environnement de production s\u00e9curis\u00e9. Je mise \u00e9galement sur l'authentification, le chiffrement et des restrictions r\u00e9seau strictes afin que les attaques restent sans effet. Les points cl\u00e9s suivants constituent ton plan de d\u00e9marrage rapide, avant que je n'aborde plus en d\u00e9tail les d\u00e9tails et les exemples.<\/p>\n<ul>\n  <li><strong>R\u00e9seau<\/strong> Isoler : ne jamais exposer Redis au public, acc\u00e8s r\u00e9serv\u00e9 aux r\u00e9seaux priv\u00e9s.<\/li>\n  <li><strong>Configuration<\/strong> Renforcer la s\u00e9curit\u00e9 : configurer correctement les param\u00e8tres \u00ab bind \u00bb, \u00ab protected-mode \u00bb, \u00ab Ports \u00bb et les commandes de renommage.<\/li>\n  <li><strong>Auth<\/strong> imposer : requirepass et ACL pour une gestion fine des droits.<\/li>\n  <li><strong>Cryptage<\/strong> Activer : TLS pour le transport, chiffrement au niveau du syst\u00e8me d'exploitation pour la persistance.<\/li>\n  <li><strong>Suivi<\/strong> &amp; Mises \u00e0 jour : journaux, alertes, sauvegardes, installation r\u00e9guli\u00e8re des nouvelles versions.<\/li>\n<\/ul>\n<p>Je donne la priorit\u00e9 \u00e0 la r\u00e9solution des points en suspens <strong>Ports<\/strong>, puis l'authentification, et enfin le chiffrement. Je m'occupe ensuite de la journalisation, des sauvegardes et des mises \u00e0 jour, afin que les mesures de s\u00e9curit\u00e9 soient efficaces \u00e0 long terme. Cela permet de limiter la surface d'attaque et de garder le contr\u00f4le de l'instance.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/07\/sicherheit-serverraum-3241.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Ports ouverts : risques et vecteurs d'attaque courants<\/h2>\n\n<p>Un port standard ouvert (6379) agit comme un panneau indiquant \u201e \u00c0 v\u00e9rifier ici \u201c. Les pirates effectuent des analyses automatis\u00e9es sur Internet et testent les ports non prot\u00e9g\u00e9s <strong>Instances<\/strong> en quelques secondes. Sans authentification, ils peuvent lire des donn\u00e9es, d\u00e9finir des cl\u00e9s ou charger des modules. Dans la pratique, cela entra\u00eene souvent une fuite de donn\u00e9es ou le lancement d'op\u00e9rations de minage de cryptomonnaies. J'\u00e9limine ce risque en limitant strictement l'accessibilit\u00e9 et en n'autorisant que les adresses sources d\u00e9finies.<\/p>\n\n<h2>D\u00e9connecter le r\u00e9seau et configurer correctement les liaisons<\/h2>\n\n<p>Je connecte Redis <strong>localhost<\/strong> ou vers une adresse IP priv\u00e9e au sein du sous-r\u00e9seau interne. L'architecture r\u00e9seau emp\u00eache ainsi que le service ne soit directement connect\u00e9 \u00e0 l'Internet public. Dans les configurations distribu\u00e9es, je regroupe les n\u0153uds dans un VLAN ou un VPC priv\u00e9 et je ne permets l\u2019acc\u00e8s que via un VPN ou des connexions de peering internes. Ainsi, chaque paquet reste confin\u00e9 \u00e0 des segments contr\u00f4l\u00e9s. Cette simple s\u00e9paration r\u00e9duit consid\u00e9rablement le risque.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/07\/redis_security_meeting_9786.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Configuration dans redis.conf : bind, port, protected-mode<\/h2>\n\n<p>Je commence \u00e0 la <strong>redis.conf<\/strong>, car quelques lignes suffisent souvent \u00e0 faire toute la diff\u00e9rence. Avec \u00ab bind 127.0.0.1 \u00bb ou \u00ab bind 127.0.0.1 10.0.x.y \u00bb, je limite les interfaces. Je modifie le port par d\u00e9faut afin de compliquer les analyses triviales, et je laisse l\u2019option \u00ab protected-mode yes \u00bb activ\u00e9e. De plus, je renomme ou d\u00e9sactive les commandes dangereuses. Le tableau suivant m\u2019aide \u00e0 \u00e9viter les erreurs de configuration courantes.<\/p>\n\n<table>\n  <thead>\n    <tr>\n      <th><strong>R\u00e9glage<\/strong><\/th>\n      <th><strong>Risque en cas de mauvaise configuration<\/strong><\/th>\n      <th><strong>Action recommand\u00e9e<\/strong><\/th>\n      <th><strong>Exemple<\/strong><\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>lier<\/td>\n      <td>Public <strong>Accessibilit\u00e9<\/strong> pour chaque h\u00f4te<\/td>\n      <td>Se connecter uniquement \u00e0 localhost\/adresse IP priv\u00e9e<\/td>\n      <td>liaison 127.0.0.1 10.0.1.50<\/td>\n    <\/tr>\n    <tr>\n      <td>port<\/td>\n      <td>Num\u00e9risation facile vers <strong>6379<\/strong><\/td>\n      <td>D\u00e9finir un port alternatif<\/td>\n      <td>port 6389<\/td>\n    <\/tr>\n    <tr>\n      <td>mode prot\u00e9g\u00e9<\/td>\n      <td>Acc\u00e8s illimit\u00e9 en cas de <strong>IP<\/strong><\/td>\n      <td>Laisser actif<\/td>\n      <td>mode prot\u00e9g\u00e9 : oui<\/td>\n    <\/tr>\n    <tr>\n      <td>commande de renommage<\/td>\n      <td>Abus plus grave <strong>Commandes<\/strong><\/td>\n      <td>Changer de nom ou mettre hors service<\/td>\n      <td>rename-command CONFIG \u201e \u201c<\/td>\n    <\/tr>\n    <tr>\n      <td>tls-port\/port<\/td>\n      <td>Texte en clair-<strong>Trafic<\/strong> accessible<\/td>\n      <td>Utiliser uniquement le port TLS<\/td>\n      <td>port TLS 6379 \/ port 0<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\n<p>Pour en savoir plus sur les erreurs de configuration, je vous renvoie \u00e0 cet aper\u00e7u sur <a href=\"https:\/\/webhosting.de\/fr\/configuration-de-securite-erreurs-dhebergement-eviter-configuration\/\">\u00c9viter les erreurs de configuration<\/a>. J'ajoute \u00e9galement des commentaires au fichier pour le rendre plus compr\u00e9hensible, afin que les audits ult\u00e9rieurs soient plus rapides. Une configuration soign\u00e9e permet de gagner du temps et d'\u00e9viter les pannes. De petites mesures de s\u00e9curisation ont ici un impact consid\u00e9rable. Cela en vaut imm\u00e9diatement la peine.<\/p>\n\n<h2>Utiliser syst\u00e9matiquement l'authentification et les listes de contr\u00f4le d'acc\u00e8s (ACL)<\/h2>\n\n<p>Je mise sur une forte <strong>Authentification<\/strong> toujours, m\u00eame sur les r\u00e9seaux internes. Avec `requirepass`, j'impose la proc\u00e9dure d'authentification, et je change r\u00e9guli\u00e8rement les mots de passe. Depuis Redis 6, je m\u2019appuie sur les listes de contr\u00f4le d\u2019acc\u00e8s (ACL) : cela me permet de cr\u00e9er des utilisateurs, de n\u2019autoriser que les commandes n\u00e9cessaires et de restreindre les espaces de cl\u00e9s. Cela permet de s\u00e9parer clairement les acc\u00e8s \u00e0 la production, \u00e0 l\u2019administration et \u00e0 l\u2019analyse. Moins de droits signifie moins de d\u00e9g\u00e2ts en cas d\u2019incident.<\/p>\n\n<h2>Neutraliser les commandes dangereuses<\/h2>\n\n<p>De nombreuses attaques sont lanc\u00e9es via de puissants <strong>Commandes<\/strong> telles que CONFIG, MODULE LOAD ou SLAVEOF\/REPLICAOF. Je prive les utilisateurs standard de l'acc\u00e8s via les ACL et je d\u00e9sactive les commandes sensibles \u00e0 l'aide de la commande \u00ab rename-command \u00bb, en les d\u00e9finissant sur une cha\u00eene vide. Cela me permet d'\u00e9liminer des vecteurs d'attaque entiers. Lorsque j'ai r\u00e9ellement besoin de certaines fonctions, je les documente et je les r\u00e9serve aux comptes administrateurs. L'instance reste ainsi g\u00e9rable et s\u00e9curis\u00e9e.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/07\/redis-security-offene-ports-2948.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Activer le chiffrement de transport avec TLS<\/h2>\n\n<p>J'active le protocole TLS pour que personne ne puisse <strong>Trafic<\/strong> peut les lire ou les modifier. Dans la configuration, je d\u00e9finis le param\u00e8tre `tls-port`, je d\u00e9sactive le port en clair avec `port 0` et j'enregistre le certificat, la cl\u00e9 et l'autorit\u00e9 de certification (CA). En option, je v\u00e9rifie les certificats clients afin de l\u00e9gitimer davantage les acc\u00e8s des machines. Les clients modernes prennent en charge le protocole TLS sans grande difficult\u00e9. Toutes les connexions s'effectuent alors via un canal s\u00e9curis\u00e9.<\/p>\n\n<h2>Rendre impossible le d\u00e9cryptage des donn\u00e9es au repos<\/h2>\n\n<p>Pour les fichiers de persistance, j'utilise <strong>Cryptage<\/strong> du syst\u00e8me de fichiers. Les fichiers RDB et AOF sont alors prot\u00e9g\u00e9s sur le disque, m\u00eame si quelqu'un parvient \u00e0 lire le contenu du stockage. Je crypte en outre les valeurs sensibles au niveau de l'application avant de les transmettre \u00e0 Redis. Je n'ai ainsi pas besoin de stocker de donn\u00e9es en clair dans le cache. Cela r\u00e9duit le risque en cas de vol ou de sauvegardes mal effectu\u00e9es.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/07\/RedisSecurityOffice1234.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>La s\u00e9curit\u00e9 des r\u00e9seaux et les pare-feu dans la pratique<\/h2>\n\n<p>J'active le pare-feu de l'h\u00f4te et je laisse le Redis-<strong>Port<\/strong> uniquement pour des plages d'adresses IP d\u00e9finies. Dans le cloud, je compl\u00e8te cela par des groupes de s\u00e9curit\u00e9 qui d\u00e9finissent pr\u00e9cis\u00e9ment les protocoles, les ports et les r\u00e9seaux sources. De plus, j'effectue r\u00e9guli\u00e8rement des analyses de ports afin de d\u00e9tecter les ouvertures oubli\u00e9es. Je d\u00e9sactive les services inutiles afin qu'aucun port fant\u00f4me ne reste ouvert. Tu trouveras ici un guide pratique : <a href=\"https:\/\/webhosting.de\/fr\/serveur-firewall-configurations-hosting-boost-securite\/\">Configurations de pare-feu<\/a>.<\/p>\n\n<h2>Int\u00e9grer la surveillance, la journalisation et les mises \u00e0 jour<\/h2>\n\n<p>J'analyse les journaux Redis de mani\u00e8re centralis\u00e9e et je configure <strong>Alertes<\/strong> je surveille les tentatives de connexion infructueuses ou les commandes suspectes. Je d\u00e9tecte rapidement les anomalies en gardant un \u0153il sur des indicateurs tels que le nombre de connexions, le nombre de commandes par seconde ou les latences. Je planifie r\u00e9guli\u00e8rement des sauvegardes et je teste la restauration. J'installe rapidement les mises \u00e0 jour de s\u00e9curit\u00e9, car elles comblent souvent des failles critiques. De plus, je v\u00e9rifie les configurations \u00e0 intervalles r\u00e9guliers et je documente les \u00e9carts.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/07\/RedisSecurityDesks_1234.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>R\u00f4les, droits et proc\u00e9dures op\u00e9rationnelles<\/h2>\n\n<p>Je lance Redis avec un <strong>Utilisateur du service<\/strong> sans droits root, afin qu'une intrusion n'affecte pas l'ensemble du syst\u00e8me. Je s\u00e9pare strictement les r\u00f4les : les administrateurs, les d\u00e9veloppeurs et les op\u00e9rateurs ne disposent que des droits dont ils ont besoin. Les comptes d'application sont g\u00e9r\u00e9s dans des profils ACL distincts et ne voient que leurs pr\u00e9fixes de cl\u00e9. Je documente les modifications de mani\u00e8re tra\u00e7able afin de faciliter les audits. Ce cadre permet de maintenir l'ordre et de r\u00e9duire le risque d'erreurs de manipulation.<\/p>\n\n<h2>Choisir en toute s\u00e9curit\u00e9 des environnements h\u00e9berg\u00e9s<\/h2>\n\n<p>Pour les offres g\u00e9r\u00e9es, je v\u00e9rifie si la protection par pare-feu, <strong>Isolation du r\u00e9seau<\/strong>, le TLS et les ACL sont activ\u00e9s par d\u00e9faut. Je veille \u00e9galement \u00e0 ce que les mises \u00e0 jour soient r\u00e9guli\u00e8res et \u00e0 ce que la surveillance soit fiable. Ceux qui ont besoin de plus de performances et de contr\u00f4le devraient envisager des options telles que <a href=\"https:\/\/webhosting.de\/fr\/redis-partage-vs-dedie-performances-securite-cacheboost\/\">Redis partag\u00e9 ou d\u00e9di\u00e9<\/a> \u00e0 prendre en compte. Une plateforme adapt\u00e9e r\u00e9duit la charge de travail et comble les lacunes habituelles. Cela permet de rester concentr\u00e9 sur l'application et les donn\u00e9es.<\/p>\n\n<h2>Exploiter la r\u00e9plication, les clusters et Sentinel en toute s\u00e9curit\u00e9<\/h2>\n\n<p>Je s\u00e9curise la r\u00e9plication et la communication au sein du cluster avec autant de rigueur que les acc\u00e8s des clients. Cela inclut l'authentification, le chiffrement et la notification correcte des points de terminaison.<\/p>\n<ul>\n  <li>R\u00e9plication : Je mets <strong>replica-read-only yes<\/strong>, afin que les r\u00e9pliques n'autorisent pas les acc\u00e8s en \u00e9criture. Pour l'authentification, je configure <strong>masteruser<\/strong> et <strong>masterauth<\/strong> sur les r\u00e9pliques et j'utilise pour cela des utilisateurs ACL d\u00e9di\u00e9s disposant de droits minimaux.<\/li>\n  <li>Donn\u00e9es obsol\u00e8tes : Avec <strong>replica-serve-stale-data non<\/strong> J'emp\u00eache ainsi une r\u00e9plique isol\u00e9e de fournir des donn\u00e9es obsol\u00e8tes. Cela garantit l'int\u00e9grit\u00e9 des donn\u00e9es et r\u00e9duit la surface d'attaque au sein des partitions.<\/li>\n  <li>Cluster : J'active <strong>tls-cluster oui<\/strong>, afin que le Gossip-Bus fonctionne en mode crypt\u00e9. De plus, je configure <strong>ip-d'annonce-du-cluster<\/strong>, <strong>port-d'annonce-du-cluster<\/strong> et <strong>port-de-bus-d'annonce-de-cluster<\/strong> vers des adresses\/ports internes. Cela permet d'\u00e9viter que les n\u0153uds ne diffusent leurs adresses IP publiques.<\/li>\n  <li>Sentinel : Sentinel ne fonctionne lui aussi que sur des r\u00e9seaux priv\u00e9s. Pour les ma\u00eetres surveill\u00e9s, j'utilise <strong>sentinel auth-user<\/strong> et <strong>sentinel auth-pass<\/strong>. Je ne rends pas l'interface d'administration accessible depuis l'ext\u00e9rieur et n'autorise que certaines plages d'adresses IP d'op\u00e9rateurs.<\/li>\n  <li>Disponibilit\u00e9 contre s\u00e9curit\u00e9 : je proc\u00e8de \u00e0 l'\u00e9talonnage <strong>min-r\u00e9pliques-\u00e0-\u00e9crire<\/strong> et <strong>min-replicas-max-lag<\/strong>, afin que les acc\u00e8s en \u00e9criture soient limit\u00e9s avec prudence en cas de panne partielle. Il s'agit certes avant tout d'une mesure de protection de la coh\u00e9rence, mais cela permet \u00e9galement d'\u00e9viter les abus en cas de d\u00e9faillances r\u00e9seau.<\/li>\n<\/ul>\n\n<h2>Protection contre les attaques DoS et protection des ressources dans la configuration<\/h2>\n\n<p>Outre l'authentification et les restrictions r\u00e9seau, je renforce la s\u00e9curit\u00e9 de Redis contre la surcharge et les attaques par saturation de m\u00e9moire. Le service reste ainsi stable, m\u00eame lorsque des clients se comportent de mani\u00e8re d\u00e9fectueuse ou malveillante.<\/p>\n<ul>\n  <li><strong>maxclients<\/strong>: Je limite le nombre de connexions simultan\u00e9es \u00e0 une valeur r\u00e9aliste, en pr\u00e9voyant une marge de s\u00e9curit\u00e9. Cela permet d'\u00e9viter que le syst\u00e8me ne soit satur\u00e9 par un afflux massif de connexions.<\/li>\n  <li><strong>limite-de-tampon-de-sortie-client<\/strong>: Pour <em>normal<\/em>, <em>pubsub<\/em> et <em>r\u00e9plique<\/em> Je fixe des limites strictes. Cela permet d'\u00e9viter une augmentation incontr\u00f4l\u00e9e de l'espace de stockage due \u00e0 des utilisateurs peu actifs.<\/li>\n  <li><strong>d\u00e9lai d'attente<\/strong> et <strong>tcp-keepalive<\/strong>: Je d\u00e9connecte automatiquement les connexions inactives afin qu'aucune connexion \u00ab zombie \u00bb ne monopolise les ressources.<\/li>\n  <li><strong>seuil-de-surveillance-de-latence<\/strong> et <strong>slowlog<\/strong>: J'active des points de mesure afin de d\u00e9tecter rapidement les sch\u00e9mas d'abus (par exemple, les scans KEYS). Les alertes signalant des dur\u00e9es d'ex\u00e9cution de commandes anormalement longues facilitent la d\u00e9tection pr\u00e9coce.<\/li>\n  <li><strong>maxmemory<\/strong> et Politique : je mets en place une <em>maxmemory<\/em>- une limite et une politique d'\u00e9viction adapt\u00e9e. Il ne s'agit pas d'une fonctionnalit\u00e9 de s\u00e9curit\u00e9 en soi, mais cela prot\u00e8ge l'environnement global contre les situations de m\u00e9moire insuffisante (OOM) et les red\u00e9marrages d'urgence.<\/li>\n<\/ul>\n\n<h2>Conception ACL : des mod\u00e8les pratiques et un rangement s\u00e9curis\u00e9<\/h2>\n\n<p>Je consid\u00e8re que les ACL sont simples, reproductibles et pouvant faire l'objet d'un contr\u00f4le de version. Je ne me contente pas de d\u00e9finir les r\u00e8gles au moment de l'ex\u00e9cution, mais je les enregistre \u00e9galement dans un fichier auquel j'attribue des droits d'acc\u00e8s restrictifs.<\/p>\n<ul>\n  <li><strong>Base<\/strong>: Je d\u00e9sactive l'utilisateur par d\u00e9faut (<em>user default off<\/em>). Pour les applications, je cr\u00e9e des utilisateurs d\u00e9di\u00e9s qui ne disposent que des cat\u00e9gories de commandes r\u00e9ellement n\u00e9cessaires (<em>+@lire<\/em>, <em>+@write<\/em>, <em>-@dangerous<\/em>).<\/li>\n  <li><strong>Port\u00e9es<\/strong>: Je limite les zones cl\u00e9s \u00e0 l'aide de pr\u00e9fixes, par exemple :. <em>~app:*<\/em>. Ainsi, une application ne peut pas acc\u00e9der par inadvertance \u00e0 des espaces de noms externes.<\/li>\n  <li><strong>Exemple<\/strong>: <em>application utilisateur sur &gt;S3cur3P@ss ~app:* +@read +@write -@dangerous -config -module -eval -evalsha<\/em> et un compte administrateur distinct avec <em>+@tous<\/em>, qui n'est accessible que via des h\u00f4tes Bastion.<\/li>\n  <li><strong>Persistance<\/strong>: J'utilise <em>aclfile \/etc\/redis\/users.acl<\/em> et j'attribue au fichier les droits 600. J'enregistre les modifications avec <em>ACL SAVE<\/em> et je les consigne dans le journal des modifications.<\/li>\n  <li><strong>Rotation<\/strong>: Je change r\u00e9guli\u00e8rement mes mots de passe et j'attribue des num\u00e9ros de version aux modifications apport\u00e9es aux listes de contr\u00f4le d'acc\u00e8s (ACL) afin de pouvoir revenir rapidement \u00e0 une version ant\u00e9rieure en cas d'incident.<\/li>\n<\/ul>\n\n<h2>V\u00e9rifier les scripts et les modules<\/h2>\n\n<p>Je r\u00e9duis la surface d'attaque de <strong>Scripts Lua<\/strong> et <strong>Modules<\/strong> sans compromis. Les fonctionnalit\u00e9s superflues sont supprim\u00e9es, et les commandes dangereuses sont interdites aux utilisateurs de l'application.<\/p>\n<ul>\n  <li><strong>EVAL uniquement si n\u00e9cessaire<\/strong>: Je retire l'acc\u00e8s aux utilisateurs non administrateurs \u00e0 <em>EVAL<\/em> et <em>EVALSHA<\/em>. Sinon, les scripts s'ex\u00e9cutent avec les droits de l'utilisateur qui les lance et peuvent d\u00e9placer d'\u00e9normes quantit\u00e9s de donn\u00e9es.<\/li>\n  <li><strong>Limites de Lua<\/strong>: Avec <em>lua-time-limit<\/em> j'emp\u00eache ainsi les scripts d\u00e9fectueux de bloquer le serveur pendant longtemps. Au besoin, j'interromps l'ex\u00e9cution avec <em>SCRIPT KILL<\/em> \u00e0 partir de<\/li>\n  <li><strong>Durcissement des modules<\/strong>: <em>CHARGEMENT DES MODULES<\/em> Je le d\u00e9sactive via <em>commande de renommage<\/em> ou ne l'autoriser qu'aux administrateurs. Je charge les modules exclusivement au d\u00e9marrage \u00e0 partir d'un chemin d'acc\u00e8s fiable et en lecture seule.<\/li>\n  <li><strong>Cat\u00e9gories dangereuses<\/strong>: Au lieu de bloquer des commandes individuelles, j'utilise <em>-@dangerous<\/em> des groupes de risques entiers (par exemple DEBUG, CONFIG, MODULE, SHUTDOWN). C'est clair et fiable.<\/li>\n<\/ul>\n\n<h2>Mettre en place en toute s\u00e9curit\u00e9 l'exploitation des conteneurs et de Kubernetes<\/h2>\n\n<p>Les m\u00eames principes s'appliquent aux conteneurs et \u00e0 Kubernetes, compl\u00e9t\u00e9s par des contr\u00f4les au niveau de la plateforme. J'emp\u00eache toute exposition publique, je limite au minimum les droits d'acc\u00e8s et je r\u00e9gule les chemins d'acc\u00e8s aux donn\u00e9es.<\/p>\n<ul>\n  <li><strong>Politiques r\u00e9seau<\/strong>: Je n'autorise le trafic de pod \u00e0 pod qu'entre les espaces de noms\/d\u00e9ploiements partag\u00e9s. Les services Redis fonctionnent en interne ; aucun NodePort\/LoadBalancer n'est expos\u00e9 sur Internet.<\/li>\n  <li><strong>S\u00e9curit\u00e9 des pods<\/strong>: Redis est en cours d'ex\u00e9cution <em>runAsNonRoot<\/em>, avec <em>readOnlyRootFilesystem<\/em> et des capacit\u00e9s Linux minimales. J'active les profils Seccomp\/AppArmor et je d\u00e9finis des limites de ressources.<\/li>\n  <li><strong>Secrets<\/strong>: Les mots de passe et les certificats sont enregistr\u00e9s sous forme de <em>Secret<\/em>- Volume avec des droits d'acc\u00e8s restreints : il n'appara\u00eet ni dans l'image du conteneur ni dans les journaux. La rotation est automatis\u00e9e.<\/li>\n  <li><strong>Volumes<\/strong>: Je s\u00e9pare clairement les donn\u00e9es et la configuration. Seul le volume de donn\u00e9es est accessible en \u00e9criture ; les points de montage de configuration restent en lecture seule.<\/li>\n  <li><strong>Disponibilit\u00e9\/Pr\u00e9paration<\/strong>: J'authentifie les Health Checks (par exemple via un utilisateur ACL disposant de droits en lecture seule) afin d'\u00e9viter que les sondes ne deviennent des portes d\u00e9rob\u00e9es.<\/li>\n<\/ul>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/07\/sicherer-serverraum-8392.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Automatisation, sandboxing Systemd et d\u00e9ploiement s\u00e9curis\u00e9<\/h2>\n\n<p>J'int\u00e8gre la s\u00e9curit\u00e9 dans l'automatisation afin que chaque instance soit d\u00e9ploy\u00e9e de mani\u00e8re identique et s\u00e9curis\u00e9e. Les \u00e9carts sont alors imm\u00e9diatement d\u00e9tect\u00e9s.<\/p>\n<ul>\n  <li><strong>Mod\u00e8les<\/strong>: <em>redis.conf<\/em>, le fichier ACL et l'unit\u00e9 Systemd sont g\u00e9r\u00e9s par version dans le code. Avant chaque d\u00e9ploiement, je v\u00e9rifie automatiquement bind, les ports, le TLS et les ACL.<\/li>\n  <li><strong>Renforcement de la s\u00e9curit\u00e9 de Systemd<\/strong>: Dans cette unit\u00e9, j'active <em>NoNewPrivileges=yes<\/em>, <em>PrivateTmp=yes<\/em>, <em>ProtectSystem=strict<\/em>, <em>ProtectHome=oui<\/em> et mets <em>UMask=027<\/em>. Cela permet de limiter efficacement l'acc\u00e8s aux fichiers et les droits d'ex\u00e9cution.<\/li>\n  <li><strong>Portails CICD<\/strong>: Les pipelines s'interrompent lorsqu'un port est expos\u00e9 publiquement, que des certificats manquent ou que des commandes \u00e0 risque n'ont pas \u00e9t\u00e9 renomm\u00e9es. C'est ainsi que j'\u00e9vite les r\u00e9gressions.<\/li>\n  <li><strong>Images et paquets<\/strong>: Je proc\u00e8de \u00e0 l'analyse des images de conteneurs et des paquets du syst\u00e8me d'exploitation afin de d\u00e9tecter d'\u00e9ventuelles vuln\u00e9rabilit\u00e9s. Je d\u00e9ploie les mises \u00e0 jour de mani\u00e8re \u00e9chelonn\u00e9e, tout en mesurant les indicateurs de performance et les marges d'erreur.<\/li>\n<\/ul>\n\n<h2>Pr\u00e9paration aux incidents : plan d'intervention structur\u00e9<\/h2>\n\n<p>Je pr\u00e9vois les situations d'urgence avant qu'elles ne surviennent. Cela me permet de r\u00e9agir rapidement, de limiter les d\u00e9g\u00e2ts et de r\u00e9tablir le bon fonctionnement de l'entreprise dans les r\u00e8gles de l'art.<\/p>\n<ul>\n  <li><strong>endiguer<\/strong>: Je bloque imm\u00e9diatement les chemins d'acc\u00e8s au r\u00e9seau (groupes de s\u00e9curit\u00e9, pare-feu), j'interromps l'exposition publique et je g\u00e8le les instances suspectes afin de pr\u00e9server les preuves.<\/li>\n  <li><strong>Identifier<\/strong>: Avec <em>INFO clients<\/em>, <em>LISTE DES ACL<\/em>, <em>R\u00d4LE<\/em>, <em>CONFIG GET<\/em> et <em>LISTE DES MODULES<\/em> Je v\u00e9rifie l'\u00e9tat, les utilisateurs actifs, la r\u00e9plication et les modules charg\u00e9s.<\/li>\n  <li><strong>Rotation des identifiants<\/strong>: Je d\u00e9finis de nouveaux mots de passe\/cl\u00e9s ACL, je bloque les utilisateurs suspects (<em>ACL SETUSER utilisateur d\u00e9sactiv\u00e9<\/em>) et je retire les droits jusqu'\u00e0 ce que la situation soit clarifi\u00e9e.<\/li>\n  <li><strong>Nettoyage<\/strong>: J'identifie les espaces de cl\u00e9s non autoris\u00e9s \u00e0 l'aide d'une strat\u00e9gie de pr\u00e9fixe, je supprime les modules malveillants hors ligne et je compare la configuration \u00e0 l'\u00e9tat th\u00e9orique.<\/li>\n  <li><strong>Restauration<\/strong>: Je proc\u00e8de \u00e0 la restauration \u00e0 partir de sauvegardes v\u00e9rifi\u00e9es, j'applique les mises \u00e0 jour et je d\u00e9ploie des configurations s\u00e9curis\u00e9es. Cette \u00e9tape est suivie d'une analyse r\u00e9trospective accompagn\u00e9e de mesures claires.<\/li>\n<\/ul>\n\n<h2>Mise en \u0153uvre pratique : liste de contr\u00f4le sous forme de texte<\/h2>\n\n<p>Je commence par effectuer une analyse \u00e0 la recherche de ports ouverts <strong>Ports<\/strong> et je restreins imm\u00e9diatement l'acc\u00e8s d\u00e8s que le port 6379 est accessible au public. Ensuite, je connecte Redis \u00e0 localhost ou \u00e0 une adresse IP priv\u00e9e et je configure le pare-feu de l'h\u00f4te ainsi que celui du cloud. \u00c0 l'\u00e9tape suivante, j'active \u00ab requirepass \u00bb, je proc\u00e8de \u00e0 la rotation du mot de passe et je configure des listes de contr\u00f4le d'acc\u00e8s (ACL) pour les utilisateurs et les charges de travail. Ensuite, je d\u00e9sactive ou renomme les commandes sensibles, j\u2019active le protocole TLS et je d\u00e9sactive le port en clair. Pour finir, je mets en place la journalisation, les alertes, les sauvegardes, les mises \u00e0 jour r\u00e9guli\u00e8res et les v\u00e9rifications r\u00e9currentes de la configuration.<\/p>\n\n<h2>En bref<\/h2>\n\n<p>Redis reste s\u00e9curis\u00e9 si je <strong>Surface d'attaque<\/strong> Je maintiens la taille du syst\u00e8me \u00e0 un niveau r\u00e9duit, je limite les acc\u00e8s et je crypte les communications. La combinaison d'une isolation r\u00e9seau, d'une authentification forte et de droits de commande restrictifs permet de contrer efficacement les attaques courantes. Le protocole TLS me permet de s\u00e9curiser le transport, tandis que le chiffrement au niveau du syst\u00e8me d\u2019exploitation assure la persistance. La surveillance, les sauvegardes et les mises \u00e0 jour garantissent le bon fonctionnement au quotidien. En appliquant ces mesures de mani\u00e8re rigoureuse, on \u00e9vite les ports ouverts, on prot\u00e8ge les donn\u00e9es sensibles et on garde un contr\u00f4le fiable sur les instances.<\/p>","protected":false},"excerpt":{"rendered":"<p>Ce guide sur la s\u00e9curit\u00e9 de Redis vous explique comment \u00e9viter les ports ouverts et les instances non prot\u00e9g\u00e9es, gr\u00e2ce \u00e0 des pare-feu, \u00e0 l'authentification Redis, aux listes de contr\u00f4le d'acc\u00e8s (ACL), au protocole TLS et \u00e0 la surveillance.<\/p>","protected":false},"author":1,"featured_media":20117,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[794],"tags":[],"class_list":["post-20124","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sicherheit-computer_und_internet"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"litespeed-optimize-size":null,"litespeed-optimize-set":null,"_elementor_source_image_hash":null,"_wp_attachment_image_alt":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"surfer_file_name":null,"surfer_file_original_url":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"rank_math_title":null,"inline_featured_image":null,"_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"_yoast_wpseo_linkdex":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_trp_translated_slug_en_us":null,"_wp_desired_post_slug":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_eael_widget_elements":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"137","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"rank_math_internal_links_processed":"1","_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"redis security","rank_math_og_content_image":null,"_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"20117","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/posts\/20124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/comments?post=20124"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/posts\/20124\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/media\/20117"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/media?parent=20124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/categories?post=20124"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/fr\/wp-json\/wp\/v2\/tags?post=20124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}