Lanceur Produits Bitnami Documentationimaxe CLI Blog Contact
Cache memcachedcachesasltlshardened

Memcached Hardened

Memcached durci et prêt pour la production : SASL obligatoire, pare-feu par défaut et mises à jour de sécurité non surveillées.

Régions
32 AWS
Dernière version
v2.0
Memcached
1.6
Architecture
arm64
Lynis
100/100
SASL + TLS
de série
Tarif
0.008 USD/h · 60 USD/an
Niveau de détail

Description #

Imaxe Hardened Memcached est une AMI de Memcached durcie et prête pour la production, pensée comme remplaçante directe de « Memcached packaged by Bitnami ». Elle installe Memcached avec les paquets standard d’Ubuntu — apt, systemd et chemins FHS, sans arborescences monolithiques dans /opt ni superviseurs propriétaires — sur la base durcie d’imaxe.

Deux différences de sécurité d’usine par rapport au produit de Bitnami : l’authentification SASL est activée (et non désactivée), avec un mot de passe unique par instance, et le trafic réseau est chiffré avec TLS, avec un certificat généré lui aussi sur chaque instance. Comme le seul mécanisme SASL de memcached est PLAIN, sans TLS le mot de passe circulerait en clair — ici, c’est impossible.

Le reste est la base durcie d’imaxe : pare-feu en refus par défaut, SSH renforcé, AppArmor en mode enforce, audit avec auditd, intégrité des fichiers avec AIDE, détection de rootkits avec rkhunter, antivirus ClamAV et protection anti force brute avec fail2ban. Le tout vérifié à chaque publication par un audit Lynis dont vous pouvez lire le rapport complet plus bas.

Guide rapide : opérationnel en 5 minutes #

Tout ce qu’il vous faut pour passer de zéro à un cache durci en production.

Le plus rapide : le lanceur

Pas besoin de vous battre avec la console AWS. Le lanceur d’imaxe est un formulaire guidé qui vous demande l’essentiel — région, type d’instance, réseau et accès SSH — et génère un template CloudFormation qui déploie l’AMI déjà configurée. Il vous évite les erreurs classiques du lancement manuel (mauvaise architecture, groupe de sécurité trop ouvert, keypair non assignée) et laisse toute la pile sous votre contrôle, dans votre propre compte.

Si vous préférez le faire à la main, le chemin long tient en cinq étapes :

ÉtapeActionTemps
1Abonnez-vous et lancez l’AMI — n’importe quelle instance arm64 (Graviton) ; t4g.medium est celle recommandée. 7 jours d’essai gratuit inclus.AWS Marketplace → EC2~2 min
2Ouvrez le port 22 dans le groupe de sécurité, restreint à votre IP ou CIDR. Le 11211 est fermé à dessein : n’ouvrez-le qu’au CIDR de votre VPC si votre application vit sur une autre machine.Console EC21 min
3Lisez l’identifiant SASL — il se trouve dans la console système (System Log d’EC2) ou, en SSH, avec sudo imaxe memcached credentials. Au premier démarrage, le mot de passe est l’instance-id.Console EC2 ou SSH1 min
4Connectez votre client avec TLS + SASL : utilisateur memcached, le mot de passe de l’instance et le port 11211. Le certificat est auto-signé : dites à votre client de faire confiance à /etc/memcached/tls/server.crt.Votre application~1 min
5C’est prêt — la taille du cache est déjà ajustée à l’instance. Explorez l’état avec imaxe memcached status.L’instance
C'est tout

Pas d’assistant de configuration ni d’étapes obligatoires ensuite : l’image sort durcie et dimensionnée d’usine. Le reste de cette page est optionnel. Si quelque chose coince, allez directement au dépannage.

Caractéristiques #

Tout ce que l’image inclut, regroupé entre ce qui est standard et ce qui est de notre cru.

Général

  • Memcached 1.6 issu des paquets officiels d’Ubuntu 26.04 LTS (resolute, arm64), géré avec systemd — sans arborescences dans /opt ni scripts propriétaires.
  • Base Ubuntu mise à jour à chaque build, avec les correctifs de sécurité automatiques (unattended-upgrades) activés.
  • Pare-feu ufw en refus par défaut : seuls le 22 (SSH) et le 11211 (memcached) sont autorisés localement ; le groupe de sécurité du Marketplace n’expose que le 22.
  • SSH durci : pas de root, pas de mots de passe, clé publique uniquement, cryptographie moderne (ed25519, chacha20-poly1305, kex post-quantique sntrup761x25519).
  • AppArmor avec des profils supplémentaires installés, tous en mode enforce.
  • Noyau durci via sysctl, montages avec noexec,nosuid,nodev, /proc avec hidepid=2.
  • Audit complet avec auditd, intégrité avec AIDE et debsums, anti-malware avec rkhunter et ClamAV, fail2ban intégré à ufw.

Spécificités

  • SASL obligatoire d’usine : utilisateur memcached avec un mot de passe unique par instance (l’instance-id au premier démarrage), affiché dans la console système EC2 — là où le cherchent ceux qui viennent de Bitnami. Rien n’est figé dans l’AMI : chaque instance étrenne son identifiant.
  • TLS de série sur le port 11211 (minimum TLS 1.2) : certificat auto-signé émis sur chaque instance — clé EC P-256, instance-id comme CN, IP et noms de l’instance comme SAN — avant le démarrage du service. Vous pouvez installer le vôtre.
  • Port 11212 en clair uniquement sur loopback, pour les outils du système (memcstat et compagnie ne parlent pas TLS). Il exige toujours SASL et n’est pas accessible de l’extérieur.
  • UDP désactivé explicitement (-U 0) : le protocole UDP de memcached est le vecteur classique d’amplification DDoS.
  • Tuning automatique à chaque démarrage : imaxe memcached optimize recalcule la mémoire du cache, les connexions et les threads avec le CPU et la RAM réels — arrêtez l’instance, changez le type, redémarrez, et le cache se redimensionne tout seul.
  • Gestion des utilisateurs SASL sans redémarrage : imaxe memcached users add/rotate/delete — la base SASL est lue à chaque authentification et le cache n’est pas vidé.
  • Outil imaxe inclus : une CLI pour opérer le service, les identifiants, le certificat et tout le durcissement sans éditer de fichiers à la main.
  • Audit Lynis à chaque publication, avec le rapport complet publié sur cette page.

Modules d'imaxe

Modules de l’outil imaxe intégrés à cette AMI, avec leur documentation :

ModuleCe qu’il faitDocumentation
memcachedLe module du produit : état, identifiants, utilisateurs SASL, TLS et tuning automatique du service.Voir les docs →
osBase du système : mises à jour non surveillées, locale, fuseau horaire, hostname et heure.Voir les docs →
sshClés autorisées, host keys, sessions actives et durcissement de sshd depuis une seule commande.Voir les docs →
firewallÉtat d’ufw, blocage/déblocage d’IP et ouverture ou fermeture de ports.Voir les docs →
auditÉvénements d’auditd et règles d’audit CIS sans vous battre avec auditctl.Voir les docs →
aideIntégrité des fichiers (FIM) avec AIDE.Voir les docs →
rkhunterAnalyse du serveur à la recherche de rootkits.Voir les docs →
clamavAntivirus ClamAV à l’exécution.Voir les docs →
lynisAudit de durcissement du système avec rapport actionnable.Voir les docs →
fail2banÉtat des jails, IP bannies, bannir et débannir à la main.Voir les docs →
secretsGénère, lit et fait tourner les secrets locaux de l’instance — y compris le mot de passe SASL.Voir les docs →
infoInventaire de l’AMI dans /etc/imaxe/info.yaml, sans secrets.Voir les docs →
global-alertsBus d’alertes transversal de l’instance (SNS).docs en préparation

Dimensionnement et coûts #

L’AMI tourne sur n’importe quelle instance arm64 (Graviton) d’AWS et s’auto-dimensionne : à chaque démarrage, imaxe memcached optimize alloue au cache 60 % de la RAM utilisable (après avoir réservé 512 MB pour l’OS et les agents) et déduit les threads et les connexions de la taille de l’instance. Choisissez le type selon le cache dont vous avez besoin : plus de RAM = plus de cache, sans toucher à la configuration. L’instance recommandée pour commencer est t4g.medium, celle-là même où s’exécutent les builds et les tests de cette image.

ConceptPrix
Abonnement horaire0,014 $/h par instance
Abonnement annuel99 $/an par instance
Essai gratuit7 jours

Au prix de l’abonnement s’ajoute le coût habituel d’AWS (instance EC2, disque EBS et trafic), que vous payez directement à AWS selon votre tarif. Memcached est un cache en mémoire : privilégiez la RAM plutôt que le disque en choisissant l’instance.

Rapports Lynis #

Résultat de l’audit de durcissement Lynis de chaque version publiée : indice de hardening, avertissements et suggestions, avec le rapport complet ligne par ligne.

VersionIndice hardeningTestsAvertissementsSuggestionsAuditRapport
v2.0100/100241002026-08-15HTML · PDF ↓
v1.094/100244112026-08-05HTML · PDF ↓

L’indice de hardening est calculé par Lynis à partir des tests réussis. Nous relançons l’audit à chaque publication et examinons à la main chaque avertissement et suggestion avant de pousser l’image sur le Marketplace ; le détail des constats ouverts figure dans le rapport lui-même.

Versions disponibles #

Versions de cette AMI publiées sur AWS Marketplace :

VersionMemcachedUbuntuArchitectureÉtatPublication
v2.01.626.04 LTS (resolute)arm64 active2026-08
v1.01.624.04 LTS (noble)arm64 active2026-08

Cycle de vie

La v2.0 est la version actuelle, active et maintenue : les correctifs de sécurité d’Ubuntu arrivent tout seuls sur les instances via unattended-upgrades, et nous publions de nouvelles versions de l’AMI sur le Marketplace à cadence régulière, chacune avec son propre audit Lynis. Quand une nouvelle version sortira, elle apparaîtra dans ce tableau et dans le changelog.

Comment lancer l'AMI #

L’AMI suit le flux de lancement standard d’EC2 sur des instances arm64 (Graviton). Le groupe de sécurité du Marketplace n’expose qu’un seul port :

TypeProtocolePortSource
(*) SSHTCP22vos CIDR
Memcached (optionnel)TCP11211uniquement le CIDR de votre VPC ou le SG de vos clients
N'exposez pas le cache à Internet

Le 11211 est fermé dans le groupe de sécurité à dessein, comme dans le produit de Bitnami. Même avec TLS, n’ouvrez-le qu’à votre réseau privé — jamais 0.0.0.0/0. Le pare-feu interne (ufw) l’autorise déjà, la règle du groupe de sécurité suffit donc. Pour un accès ponctuel depuis l’extérieur, utilisez un tunnel SSH : ssh -i clave.pem -L 11211:127.0.0.1:11211 ubuntu@<ip-publica> (la redirection de ports est autorisée sur cette AMI, contrairement aux autres images imaxe). Dans l’instance, sudo imaxe memcached open-port --cidr <votre-réseau> et close-port pilotent le pare-feu local.

arm64 uniquement

La v2.0 est publiée pour l’architecture arm64 : choisissez une famille Graviton (t4g, m7g/m8g, c6gc8g, r7g/r8g…). Elle ne démarre pas sur des instances x86_64.

Une fois lancée — SSH : utilisateur ubuntu avec la keypair choisie au lancement. Il n’y a ni utilisateur root accessible ni authentification par mot de passe. Identifiant du cache : utilisateur SASL memcached avec l’instance-id comme mot de passe initial, visible dans la console système EC2 ou en SSH :

terminal
ssh -i mi-keypair.pem ubuntu@<ip-de-la-instancia>
sudo imaxe memcached credentials      # usuario, password y puerto
imaxe memcached tls show              # huella del certificado de esta instancia

L'image de l'intérieur # expert

Tout ce qui tourne dans l’AMI, où vit chaque chose et les commandes que vous utiliserez au quotidien.

Services et ports

ServiceUnité systemdPortCe qu’il fait
Memcachedmemcached.service11211Le cache, avec TLS (min. 1.2) et SASL obligatoires
Memcached (loopback)memcached.service11212Écoute en clair uniquement sur 127.0.0.1, pour les outils locaux ; SASL reste obligatoire
Préparation d’instanceimaxe-memcached-instance-setup.serviceAvant memcached à chaque démarrage : certificat TLS, identifiant SASL et tuning. Idempotent
OpenSSHssh.service22Accès distant durci (drop-in 99-imaxe-harden.conf)
ufwufw.servicePare-feu en refus par défaut (autorise le 22 et le 11211)
auditdauditd.serviceAudit du système (identité, sudoers, sshd, logins)
fail2banfail2ban.serviceBannissement anti force brute SSH via ufw, en lisant le journal
AppArmorapparmor.serviceContrôle d’accès obligatoire, tous les profils en enforce
freshclamclamav-freshclam.serviceMise à jour des signatures ClamAV, 24 fois par jour
unattended-upgradesapt-daily-upgrade.timerCorrectifs de sécurité automatiques

Le service memcached reste arrêté au bake et démarre pour la première fois sur votre instance : ni le certificat ni l’identifiant n’existent dans l’AMI. Le témoin /etc/memcached/tls/.generated-for conserve l’instance-id du certificat ; en clonant l’instance, l’id ne correspond plus et le matériel est régénéré tout seul.

Chemins clés

CheminCe que c’est
/etc/memcached.confConfiguration du service ; le bloc BEGIN/END imaxe memcached optimize est réécrit par le module à chaque démarrage
/etc/memcached/tls/Certificat et clé TLS de cette instance (server.crt / server.key)
/etc/sasl2/memcached-sasldb2Base des utilisateurs SASL (gestion via imaxe memcached users)
/etc/imaxe/secrets/memcached/passwordMot de passe SASL de l’instance (0600, root)
/etc/imaxe/memcached.ymlConfiguration du module memcached d’imaxe
/etc/ssh/sshd_config.d/99-imaxe-harden.confDurcissement de sshd (drop-in, ne touche pas au fichier principal)
/etc/sysctl.d/99-zz-imaxe-harden-kernel.confDurcissement du noyau via sysctl
/var/log/sudo.logJournal de tous les usages de sudo
/usr/local/bin/imaxeBinaire de la CLI imaxe

Commandes utiles

TâcheCommande
État du service, écoutes, TLS, SASL et statistiquesimaxe memcached status
Identifiant de cette instancesudo imaxe memcached credentials
Faire tourner le mot de passe SASL (sans redémarrage, ne vide pas le cache)sudo imaxe memcached users rotate
Utilisateurs SASL : ajout / liste / suppressionsudo imaxe memcached users add app1
Certificat en usage (sujet, SAN, expiration, empreinte)imaxe memcached tls show
Régénérer le certificat (p. ex. après un changement d’IP publique)sudo imaxe memcached tls renew –force
Voir le tuning recommandé pour cette instanceimaxe memcached optimize –show
Appliquer le tuning maintenant (redémarre : vide le cache)sudo imaxe memcached optimize
Logs du servicejournalctl -u memcached
Logs de la préparation d’instancejournalctl -u imaxe-memcached-instance-setup

Vérification locale avec les outils du système — libmemcached-tools ne parle pas TLS, on utilise donc le port en clair du loopback (--binary car libmemcached ne fait SASL que sur le protocole binaire) :

terminal
memcstat --binary --servers=127.0.0.1:11212 --username=memcached \
         --password=$(sudo imaxe memcached credentials --show-password --json | jq -r .password)

Pour installer votre propre certificat à la place de l’auto-signé :

terminal
sudo install -m 0644 -o root -g root mi.crt /etc/memcached/tls/server.crt
sudo install -m 0640 -o root -g memcache mi.key /etc/memcached/tls/server.key
sudo rm -f /etc/memcached/tls/.generated-for   # sin testigo, el módulo no lo toca
sudo systemctl restart memcached

Chaque sous-système du durcissement a en outre son module dans la CLI imaxe — voir modules d’imaxe.

Sauvegardes et mises à jour #

  • Correctifs automatiques : unattended-upgrades applique quotidiennement les mises à jour de sécurité d’Ubuntu, sans intervention.
  • Signatures antivirus : freshclam met à jour la base ClamAV 24 fois par jour.
  • Nouvelles AMI : nous publions des versions mises à jour de l’image sur le Marketplace à cadence régulière ; chaque version passe son propre audit Lynis avant publication.
  • Sauvegardes : il n’y en a pas, par conception. Memcached est un cache volatil : son contenu se perd à chaque redémarrage et ne doit contenir l’unique exemplaire d’aucune donnée. Il n’y a rien à sauvegarder ni à restaurer.
Redémarrer vide le cache

Tout systemctl restart memcached — y compris celui qu’exécute sudo imaxe memcached optimize en appliquant le tuning — vide le cache. Les changements d’utilisateurs et de mots de passe SASL, en revanche, ne demandent pas de redémarrage. Et si vous installez ou modifiez des logiciels, régénérez la ligne de base d’AIDE (sudo aideinit ou via le module aide d’imaxe).

Dépannage #

Les problèmes qui concentrent la quasi-totalité des tickets, avec leur cause habituelle et la solution.

SymptômeCause probableSolution
L’instance ne se lance pasType d’instance x86_64L’AMI est arm64 : utilisez une famille Graviton (t4g, c6gc8g, m7g…)
Impossible de se connecter en SSHPort 22 fermé dans le groupe de sécurité, ou IP hors du CIDR autoriséVérifiez le SG — voir comment lancer l’AMI
Permission denied (publickey)L’authentification par mot de passe est désactivéeConnectez-vous comme ubuntu avec la keypair du lancement : ssh -i clave.pem ubuntu@<ip>
SSH cesse de répondre après plusieurs tentativesfail2ban a banni votre IP (5 échecs en 10 min = 1 h)Attendez une heure ou, depuis une autre IP : sudo fail2ban-client set sshd unbanip <ip>
Le 11211 est inaccessible depuis une autre machineLe groupe de sécurité du Marketplace n’ouvre que le 22Ajoutez une règle de SG pour le 11211 restreinte à votre CIDR — ufw l’autorise déjà
Le client ferme le socket à la connexionLe client ne parle pas TLS, ou ne fait pas SASLUtilisez une bibliothèque avec TLS + SASL (pymemcache avec tls_context, php-memcached avec OPT_USE_TLS…) et faites confiance à /etc/memcached/tls/server.crt
memcstat ne répond pas sur le 11211libmemcached-tools n’est pas compilée avec TLSUtilisez le port en clair du loopback : memcstat --binary --servers=127.0.0.1:11212 …
L’authentification échoue après clonage/remplacement de l’instanceL’identifiant est régénéré pour le nouvel instance-idLisez le nouveau : sudo imaxe memcached credentials (ou console système EC2)
Le cache n’exploite pas la RAM après un changement de type d’instanceLe tuning s’applique au démarrageRedémarrez l’instance ou exécutez sudo imaxe memcached optimize

Foire aux questions #

Où se trouve le mot de passe de memcached ?

Au premier démarrage, l’utilisateur SASL memcached est créé avec l’instance-id comme mot de passe. Il est affiché dans la console système EC2 (System Log) — là où le cherchent ceux qui viennent de Bitnami — et reste dans /etc/imaxe/secrets/memcached/password. En SSH : sudo imaxe memcached credentials.

Comment changer le mot de passe ou ajouter des utilisateurs ?

sudo imaxe memcached users rotate génère un nouveau mot de passe aléatoire ; --stdin en accepte un précis sans passer par l’historique. users add / users delete gèrent d’autres utilisateurs. Aucune opération ne redémarre le service ni ne vide le cache.

Pourquoi mon client ne se connecte pas alors que ça marchait avec Bitnami ?

Parce qu’ici SASL et TLS sont activés d’usine (chez Bitnami, SASL est désactivé). Votre client doit supporter TLS + SASL et faire confiance au certificat de l’instance. C’est délibéré : le seul mécanisme SASL de memcached est PLAIN, et sans TLS le mot de passe circulerait en clair.

Puis-je ouvrir le 11211 à Internet ?

Techniquement oui — mais ne le faites pas. Restreignez la règle du groupe de sécurité au CIDR de votre VPC ou au SG de vos clients, ou utilisez un tunnel SSH (-L) pour les accès ponctuels. Un cache public est une cible classique, même chiffré.

Le certificat est auto-signé ? Puis-je mettre le mien ?

Oui et oui. Celui de série est émis par chaque instance pour elle-même (CN = instance-id, SAN avec ses IP et ses noms) ; son empreinte SHA-256 est affichée dans la console système et via imaxe memcached tls show. Pour utiliser le vôtre, copiez crt/clé dans /etc/memcached/tls/, supprimez le témoin .generated-for et redémarrez — voir l’image de l’intérieur.

Comment dimensionner le cache ? Et si c'est trop juste ?

Il ne se dimensionne pas : à chaque démarrage, le module alloue au cache 60 % de la RAM utilisable et déduit les threads et les connexions de la taille de l’instance. S’il vous faut plus de cache, arrêtez l’instance, passez à un type avec plus de RAM et redémarrez — le tuning se recalcule tout seul.

Fonctionne-t-elle sur des instances x86_64 ?

Non. La v2.0 est publiée pour arm64 (AWS Graviton) : familles t4g, c6gc8g, m6gm8g, r6gr8g, etc.

Qu'inclut exactement l'abonnement ?

L’AMI durcie, les nouvelles versions pendant le cycle de vie du produit et le support de l’équipe qui la construit. Facturation par instance : 0,014 $/h ou 99 $/an, avec 7 jours d’essai gratuit.

Changelog #

Historique de l’AMI. Les dates correspondent à la publication de chaque version sur AWS Marketplace.

v2.0 2026-08-19Dernière

Base Ubuntu 26.04 et Lynis 100/100

L’AMI est reconstruite sur Ubuntu 26.04 LTS (resolute), arm64, et l’audit Lynis atteint l’indice maximal.

Amélioration Base mise à jour d’Ubuntu 24.04 LTS vers 26.04 LTS (resolute) ; Memcached 1.6 reste issu des paquets officiels d’Ubuntu. Publiée dans les mêmes 32 régions d’AWS.
Sécurité Audit Lynis 100/100 (241 tests, 0 avertissements, 0 suggestions) : les constats ouverts de la v1.0 sont résolus. Durcissement complet de la base sans changement : SASL + TLS de série, ufw, SSH renforcé, AppArmor, auditd, AIDE, rkhunter, ClamAV et fail2ban.
v1.0 2026-08-14

Publication initiale

Première version publique sur AWS Marketplace, sur Ubuntu 24.04 LTS arm64.

Nouveau AMI publiée dans 32 régions d’AWS, architecture arm64 (Graviton), avec Memcached 1.6 issu des paquets d’Ubuntu.
Sécurité SASL activé d’usine avec un identifiant unique par instance et TLS obligatoire (min. 1.2) sur le port réseau ; UDP désactivé. Durcissement complet de la base : ufw, SSH renforcé, AppArmor, auditd, AIDE, rkhunter, ClamAV et fail2ban. Audit Lynis 94/100.
Nouveau Tuning automatique du cache à chaque démarrage (imaxe memcached optimize) et outil imaxe avec 13 modules intégrés à l’image.
Support actif · lun–ven 9h00–18h00 CET

Besoin d'aide avec cette AMI ?

C'est l'équipe qui construit l'image qui vous répond — de vrais ingénieurs, sans bots ni premier niveau.

< 4 hpremière réponse en jour ouvré
ES / ENlangues de support
Inclusdans le prix de l'AMI