Einführung | Samba ist seit langem der Standard für die Bereitstellung gemeinsamer Datei- und Druckdienste für Windows-Clients auf Linux-Systemen. Es wird von Heimanwendern, mittelständischen Unternehmen und großen Unternehmen verwendet und erweist sich als die beste Lösung in Umgebungen, in denen mehrere Betriebssysteme nebeneinander existieren, was bei den meisten Samba-Installationen aufgrund der weit verbreiteten Verwendung von Tools der Fall ist Bekannte Sicherheitslücke, die als unwichtig galt, bis die Nachricht vom WannaCry-Ransomware-Angriff bekannt wurde. |
Veraltete und nicht gepatchte Systeme sind anfällig für Schwachstellen bei der Remotecodeausführung. Vereinfacht ausgedrückt bedeutet dies, dass jemand mit Zugriff auf eine beschreibbare Freigabe einen beliebigen Code hochladen und ihn mit Root-Rechten auf dem Server ausführen lassen kann.
Dieses Problem wird auf der Samba-Website als CVE-2017-7494 beschrieben und betrifft bekanntermaßen Samba v3.5 (veröffentlicht Anfang März 2010) und höher. Aufgrund der Ähnlichkeiten mit WannaCry erhielt es inoffiziell den Namen SambaCry: Beide zielen auf das SMB-Protokoll ab und sind wahrscheinlich Würmer, die dazu führen könnten, dass es sich von einem System auf ein anderes ausbreitet.
Debian, Ubuntu, CentOS und Red Hat haben schnelle Maßnahmen zum Schutz ihrer Benutzer ergriffen und Patches für ihre unterstützten Versionen veröffentlicht. Darüber hinaus werden nicht unterstützte Sicherheitsumgehungen bereitgestellt.
Samba aktualisierenWie bereits erwähnt, gibt es zwei Möglichkeiten zum Aktualisieren, je nachdem, wie Sie es zuvor installiert haben:
Lassen Sie uns sehen, was Sie in dieser Situation tun müssen:
SambaCry unter Debian reparieren
Fügen Sie die folgende Zeile zu Ihrer Quellenliste (/etc/apt/sources.list) hinzu, um sicherzustellen, dass apt die neuesten Sicherheitsupdates erhält:
deb http://security.debian.org stable/updates main deb-src http://security.debian.org/ stable/updates main
Als nächstes aktualisieren Sie die verfügbaren Pakete:
# aptitude update
Stellen Sie abschließend sicher, dass die Version des Samba-Pakets mit der fehlerbehobenen Version übereinstimmt (siehe CVE-2017-7494):
# aptitude show samba
SambaCry in Debian reparieren
SambaCry in Ubuntu reparieren
Um die Reparatur zu starten, suchen Sie nach neuen verfügbaren Paketen und aktualisieren Sie Samba-Pakete wie folgt:
$ sudo apt-get update $ sudo apt-get install samba
Die Samba-Versionen, die CVE-2017-7494 behoben haben, sind wie folgt:
Führen Sie abschließend den folgenden Befehl aus, um zu überprüfen, ob auf Ihrem Ubuntu die richtige Version installiert ist.
$ sudo apt-cache show samba
SambaCry in CentOS/RHEL 7 reparieren
Die gepatchte Samba-Version in EL 7 ist samba-4.4.4-14.el7_3. Um es zu installieren, gehen Sie wie folgt vor:
# yum makecache fast # yum update samba
Stellen Sie wie zuvor sicher, dass Sie die gepatchte Version von Samba installiert haben:
# yum info samba
SambaCry in CentOS reparieren
Alte unterstützte CentOS und ältere Versionen von RHEL wurden ebenfalls behoben. Weitere Informationen finden Sie unter RHSA-2017-1270.
Hinweis: Bei der folgenden Vorgehensweise wird davon ausgegangen, dass Sie Samba zuvor aus dem Quellcode erstellt haben. Es wird dringend empfohlen, es vor der Bereitstellung auf einem Produktionsserver in einer Testumgebung auszuprobieren.
Stellen Sie außerdem sicher, dass Sie Ihre smb.conf-Datei sichern, bevor Sie beginnen.
In diesem Fall kompilieren und aktualisieren wir Samba auch aus dem Quellcode. Bevor wir beginnen, müssen wir jedoch zunächst sicherstellen, dass alle Abhängigkeiten installiert sind. Beachten Sie, dass dies mehrere Minuten dauern kann.
In Debian und 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
In CentOS 7 oder ähnlich:
# 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
Dienst stoppen (LCTT-Übersetzung: hier nicht erforderlich):
# systemctl stop smbd
Laden Sie den Quellcode herunter und entpacken Sie ihn (4.6.4 ist zum Zeitpunkt des Schreibens die neueste Version):
# wget https://www.samba.org/samba/ftp/samba-latest.tar.gz # tar xzf samba-latest.tar.gz # cd samba-4.6.4
Zu Informationszwecken überprüfen Sie die verfügbaren Konfigurationsoptionen mit dem folgenden Befehl.
# ./configure --help
Möglicherweise können Sie einige Optionen in die Rückgabe des obigen Befehls einschließen, wenn Sie sie in früheren Builds verwendet haben, oder Sie können die Standardwerte verwenden:
# ./configure # make # make install
Starten Sie abschließend den Dienst neu.
# systemctl restart smbd
Und stellen Sie sicher, dass Sie die aktualisierte Version verwenden:
# smbstatus --version
Der zurückgegebene Wert sollte hier 4.6.4 sein.
Andere SituationenWenn Sie eine nicht unterstützte Distribution verwenden und aus irgendeinem Grund nicht auf die neueste Version aktualisieren können, sollten Sie diese Vorschläge berücksichtigen:
Außerdem:
nt pipe support = no
Zum Feld [global] von smb.conf hinzugefügt. Beachten Sie möglicherweise, dass dies laut Samba-Projekt „bestimmte Funktionen des Windows-Clients deaktivieren kann“.
Wichtig: Beachten Sie, dass die Option „nt pipe support = no“ die Freigabeliste für Windows-Clients deaktiviert. Beispiel: Wenn Sie im Windows Explorer auf einem Samba-Server //10.100.10.2/ eingeben, wird Ihnen „Berechtigung verweigert“ angezeigt. Windows-Clients müssen die Freigabe manuell ausführen, z. B. //10.100.10.2/share_name, um auf die Freigabe zuzugreifen.
ZusammenfassungIn diesem Beitrag haben wir die SambaCry-Sicherheitslücke beschrieben und wie man die Auswirkungen abmildern kann. Wir hoffen, dass Sie diese Informationen zum Schutz der Systeme nutzen können, für die Sie verantwortlich sind.
Wenn Sie Fragen oder Kommentare zu diesem Artikel haben, nutzen Sie bitte das Kommentarfeld unten, um uns dies mitzuteilen.
Über den Autor:
Gabriel Cánepa ist GNU/Linux-Systemadministrator und Webentwickler bei Villa Mercedes in San Luis, Argentinien. Er arbeitet für ein großes internationales Konsumgüterunternehmen und hat großen Spaß daran, FOSS-Tools in seiner täglichen Arbeit zur Steigerung der Produktivität einzusetzen.
Das obige ist der detaillierte Inhalt vonAnwendung von Methoden zur Behebung von SambaCry-Schwachstellen in Linux-Systemen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!