Présentation | Samba est depuis longtemps la norme pour fournir des services de fichiers et d'impression partagés aux clients Windows sur les systèmes Linux. Utilisé par les particuliers, les entreprises de taille moyenne et les grandes entreprises, il s'impose comme la meilleure solution dans les environnements où coexistent plusieurs systèmes d'exploitation, ce à quoi sont confrontées la plupart des installations Samba en raison de l'utilisation généralisée d'outils. vulnérabilité connue qui était considérée comme sans importance jusqu'à la nouvelle de l'attaque du ransomware WannaCry. |
Les systèmes obsolètes et non corrigés sont vulnérables aux vulnérabilités d’exécution de code à distance. En termes simples, cela signifie qu'une personne ayant accès à un partage inscriptible peut télécharger un morceau de code arbitraire et le faire exécuter en utilisant les privilèges root sur le serveur.
Ce problème est décrit comme CVE-2017-7494 sur le site Web de Samba et est connu pour affecter Samba v3.5 (publié début mars 2010) et versions ultérieures. Il a été officieusement nommé SambaCry en raison de similitudes avec WannaCry : ils ciblent tous deux le protocole SMB et sont probablement des vers, ce qui pourrait provoquer sa propagation d'un système à un autre.
Debian, Ubuntu, CentOS et Red Hat ont pris des mesures rapides pour protéger leurs utilisateurs et publié des correctifs pour leurs versions prises en charge. De plus, des solutions de sécurité non prises en charge sont fournies.
Mettre à jour SambaComme mentionné précédemment, il existe deux façons de mettre à jour en fonction de la manière dont vous l'avez installé précédemment :
Voyons ce que vous devez faire dans cette situation :
Correction de SambaCry sous Debian
Ajoutez la ligne suivante à votre liste de sources (/etc/apt/sources.list) pour vous assurer qu'apt reçoit les dernières mises à jour de sécurité :
deb http://security.debian.org stable/updates main deb-src http://security.debian.org/ stable/updates main
Ensuite, mettez à jour les packages disponibles :
# aptitude update
Enfin, assurez-vous que la version du package samba correspond à la version corrigée du bug (voir CVE-2017-7494) :
# aptitude show samba
Correction de SambaCry dans Debian
Réparer SambaCry dans Ubuntu
Pour démarrer la réparation, recherchez de nouveaux packages disponibles et mettez à jour les packages Samba comme suit :
$ sudo apt-get update $ sudo apt-get install samba
Les versions de Samba qui ont corrigé CVE-2017-7494 sont les suivantes :
Enfin, exécutez la commande ci-dessous pour vérifier que la bonne version est installée sur votre Ubuntu.
$ sudo apt-cache show samba
Correction de SambaCry dans CentOS/RHEL 7
La version corrigée de Samba dans EL 7 est samba-4.4.4-14.el7_3. Pour l'installer, procédez comme suit :
# yum makecache fast # yum update samba
Comme avant, assurez-vous d'avoir installé la version corrigée de Samba :
# yum info samba
Correction de SambaCry dans CentOS
Les anciens CentOS pris en charge et les anciennes versions de RHEL sont également corrigés. Voir RHSA-2017-1270 pour en savoir plus.
Remarque : La procédure suivante suppose que vous avez déjà construit Samba à partir des sources. Il est fortement recommandé de l'essayer dans un environnement de test avant de le déployer sur un serveur de production.
Assurez-vous également de sauvegarder votre fichier smb.conf avant de commencer.
Dans ce cas, nous compilerons et mettrons également à jour Samba à partir des sources. Cependant, avant de commencer, nous devons d’abord nous assurer que toutes les dépendances sont installées. Notez que cela peut prendre plusieurs minutes.
Dans Debian et Ubuntu :
# aptitude install acl attr autoconf bison build-essential / debhelper dnsutils docbook-xml docbook-xsl flex gdb krb5-user / libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev / libcap-dev libcups2-dev libgnutls28-dev libjson-perl / libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl / libpopt-dev libreadline-dev perl perl-modules pkg-config / python-all-dev python-dev python-dnspython python-crypto xsltproc / zlib1g-dev libsystemd-dev libgpgme11-dev python-gpgme python-m2crypto
Sous CentOS 7 ou similaire :
# yum install attr bind-utils docbook-style-xsl gcc gdb krb5-workstation / libsemanage-python libxslt perl perl-ExtUtils-MakeMaker / perl-Parse-Yapp perl-Test-Base pkgconfig policycoreutils-python / python-crypto gnutls-devel libattr-devel keyutils-libs-devel / libacl-devel libaio-devel libblkid-devel libxml2-devel openldap-devel / pam-devel popt-devel python-devel readline-devel zlib-devel
Arrêt du service (traduction LCTT : pas nécessaire ici) :
# systemctl stop smbd
Téléchargez et décompressez le code source (4.6.4 est la dernière version au moment de la rédaction) :
# wget https://www.samba.org/samba/ftp/samba-latest.tar.gz # tar xzf samba-latest.tar.gz # cd samba-4.6.4
À titre informatif, vérifiez les options de configuration disponibles avec la commande suivante.
# ./configure --help
Vous pourrez peut-être inclure certaines options dans le retour de la commande ci-dessus si vous les avez utilisées dans des versions précédentes, ou vous pouvez choisir d'utiliser les valeurs par défaut :
# ./configure # make # make install
Enfin, redémarrez le service.
# systemctl restart smbd
Et vérifiez que vous utilisez la version mise à jour :
# smbstatus --version
La valeur renvoyée ici devrait être 4.6.4.
Autres situationsSi vous utilisez une distribution non prise en charge et que vous ne parvenez pas à mettre à niveau vers la dernière version pour une raison quelconque, vous souhaiterez peut-être prendre en compte ces suggestions :
Aussi :
nt pipe support = no
Ajouté au champ [global] de smb.conf. Vous voudrez peut-être garder à l'esprit que cela "peut désactiver certaines fonctionnalités du client Windows" selon le projet Samba.
Important : Notez que l'option nt pipe support = no désactive la liste de partage pour les clients Windows. Par exemple : lorsque vous saisissez //10.100.10.2/ dans l'Explorateur Windows sur un serveur Samba, vous verrez « autorisation refusée ». Les clients Windows doivent exécuter manuellement le partage, par exemple //10.100.10.2/share_name pour accéder au partage.
RésuméDans cet article, nous avons décrit la vulnérabilité de SambaCry et comment atténuer son impact. Nous espérons que vous pourrez utiliser ces informations pour protéger les systèmes dont vous êtes responsable.
Si vous avez des questions ou des commentaires sur cet article, veuillez utiliser la zone de commentaires ci-dessous pour nous le faire savoir.
À propos de l'auteur :
Gabriel Cánepa est administrateur système GNU/Linux et développeur Web à la Villa Mercedes à San Luis, en Argentine. Il travaille pour une grande entreprise internationale de produits de consommation et s'amuse beaucoup à utiliser les outils FOSS dans son travail quotidien pour augmenter la productivité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!