Configurer Memcached pour le sécuriser



  • La sécurisation du serveur memcached passe par deux étapes :

    • limiter l’adresse d’écoute du service ;
    • n’accepter que les connexions TCP.

    Avant la version /1.5.6/, memcached autorise par défaut les connexions TCP et UDP. Ce dernier mode peut être détourné pour générer des attaques dites « par amplification ». Comme indiqué par les développeurs, les connexions UDP étaient pertinentes à la création du logiciel : les ressources étaient alors plus rares. Dans ce guide, nous supposerons que vous faites partie des 99 % des utilisateurs qui n’ont pas besoin de connexions UDP.

    Si votre serveur memcached n’est utilisé que par la machine locale, vous pouvez limiter l’adresse d’écoute à 127.0.0.1. Si d’autres machines doivent s’y connecter depuis un réseau privé, forcez l’écoute sur une IP privée (par exemple 10.0.0.1, à adapter à votre classe réseau).

    Dans tous les cas, désactivez l’écoute en UDP grâce à la directive

    -U 0.
    

    Nous allons maintenant détailler les aspects de configuration pour les principaux systèmes d’exploitation déployés.
    Debian/Ubuntu

    Le comportement par défaut de Debian et Ubuntu est d’utiliser service memcached status*/start/restart/force-reloa*d pour gérer le service Memcached. Si tel est votre cas, éditez le fichier /etc/memcached.conf en étant connecté en root.

    Vous pouvez commencer par ajouter cette option qui désactive l’écoute UDP, laquelle est obsolète, comme expliqué précédemment.

    # Disable UDP protocol
    -U 0
    

    Si votre serveur memcached n’est utilisé que par la machine locale, vous pouvez alors activer l’option suivante qui vous évitera d’exposer votre service sur Internet :

    -l 127.0.0.1
    

    Une fois les modifications effectuées, sauvegardez le fichier et utilisez l’une de ces deux commandes pour redémarrer votre configuration :

    service memcached force-reload
    /etc/init.d/memcached force-reload
    

    source