So schützen Sie Ihren Server vor der Sicherheitsanfälligkeit in Shellshock Bash

Einführung

Am 24. September 2014 wurde eine GNU-Bash-Sicherheitslücke namens Shellshock oder der „Bash Bug“ gemeldet. Kurz gesagt, die Sicherheitsanfälligkeit ermöglicht es Angreifern aus der Ferne, unter bestimmten Bedingungen beliebigen Code auszuführen, indem Codezeichenfolgen nach Zuweisungen von Umgebungsvariablen übergeben werden. Aufgrund des allgegenwärtigen Status von Bash unter Linux-, BSD- und Mac OS X-Distributionen sind viele Computer für Shellshock anfällig. alle ungepatchten Bash-Versionen zwischen 1.14 und 4.3 (d. h. Alle bisherigen Releases sind gefährdet.

Die Shellshock-Sicherheitsanfälligkeit kann auf Systemen ausgenutzt werden, auf denen Dienste oder Anwendungen ausgeführt werden, die es nicht autorisierten Remotebenutzern ermöglichen, Bash-Umgebungsvariablen zuzuweisen. Beispiele für ausnutzbare Systeme sind:

  • Apache-HTTP-Server, die CGI-Skripte (über "+ mod_cgi " und " mod_cgid +") verwenden, die in Bash geschrieben sind oder in Bash-Subshells gestartet werden

  • Bestimmte DHCP-Clients

  • OpenSSH-Server, die die Funktion "+ ForceCommand +" verwenden

  • Verschiedene netzwerkbasierte Dienste, die Bash verwenden

Eine detaillierte Beschreibung des Fehlers finden Sie unter CVE-2014-6271, http: //web.nvd .nist.gov / view / vuln / detail? vulnId = CVE-2014-7169 [CVE-2014-7169], CVE-2014- 7186 und CVE-2014-7187.

Da die Shellshock-Sicherheitsanfälligkeit sehr weit verbreitet und besonders einfach auszunutzen ist, wird dringend empfohlen, die betroffenen Systeme ordnungsgemäß zu aktualisieren, um die Sicherheitsanfälligkeit so schnell wie möglich zu beheben oder zu verringern. Wir zeigen Ihnen, wie Sie testen, ob Ihre Computer anfällig sind, und wie Sie Bash aktualisieren, um die Sicherheitsanfälligkeit zu beseitigen.

Überprüfen Sie die Systemanfälligkeit

Auf jedem Ihrer Systeme, auf denen Bash ausgeführt wird, können Sie die Shellshock-Sicherheitsanfälligkeit überprüfen, indem Sie den folgenden Befehl an der Bash-Eingabeaufforderung ausführen:

env 'VAR=() { :;}; ' 'FUNCTION()=() { :;}; ' bash -c "echo Bash Test"

Der hervorgehobene Teil "+ echo Bash is vulnerable! +" Des Befehls gibt an, wo ein entfernter Angreifer bösartigen Code einschleusen kann. Beliebiger Code nach einer Funktionsdefinition innerhalb einer Umgebungsvariablenzuweisung. Wenn Sie daher die folgende Ausgabe sehen, ist Ihre Version von Bash * anfällig und sollte aktualisiert werden *:

Bash Test

Wenn Ihre Ausgabe nicht die Nutzlast des simulierten Angreifers enthält, d. H. "Bash is vulnerable" wird nicht als Ausgabe gedruckt, Sie sind zumindest vor der ersten Sicherheitsanfälligkeit geschützt (CVE-2014) -6271), aber Sie sind möglicherweise anfällig für die anderen CVEs, die später entdeckt wurden. Wenn die Ausgabe "+ bash +" Warnungen oder Fehler enthält, sollten Sie Bash auf die neueste Version aktualisieren. Dieser Vorgang wird im nächsten Abschnitt beschrieben.

Wenn der Testbefehl nur Folgendes ausgibt, ist Ihr Bash vor Shellshock sicher:

Bash Test

Testen Sie entfernte Standorte

Wenn Sie lediglich testen möchten, ob Websites oder bestimmte CGI-Skripts anfällig sind, verwenden Sie diesen Link: Test-Tool für die Bash-Sicherheitsanfälligkeit "ShellShock" CVE-2014-6271.

Geben Sie einfach die URL der Website oder des CGI-Skripts, das Sie testen möchten, in das entsprechende Formular ein und senden Sie es ab.

Behobene Sicherheitslücke: Update Bash

Die einfachste Möglichkeit, die Sicherheitsanfälligkeit zu beheben, besteht darin, die Version von Bash mit Ihrem Standardpaket-Manager zu aktualisieren. Die folgenden Unterabschnitte behandeln die Aktualisierung von Bash auf verschiedenen Linux-Distributionen, einschließlich Ubuntu, Debian, CentOS, Red Hat und Fedora.

APT-GET: Ubuntu / Debian

Aktualisieren Sie Bash für derzeit unterstützte Versionen von Ubuntu oder Debian auf die neueste Version, die über "+ apt-get +" verfügbar ist :

sudo apt-get update && sudo apt-get install --only-upgrade bash

Überprüfen Sie nun Ihre Systemanfälligkeit erneut, indem Sie den Befehl im vorherigen Abschnitt ausführen (https://www.digitalocean.com/community/tutorials/how-to-protect-your-server-against-the-shellshock-bash-vulnerability#check) -system-vulnerability [System Vulnerability prüfen]).

Ende des Lebens Ubuntu / Debian-Veröffentlichungen

Wenn Sie eine Ubuntu / Debian-Version ausführen, die als "End of Life" -Status gilt, müssen Sie ein Upgrade auf eine unterstützte Version durchführen, um den Paket-Manager zum Aktualisieren von Bash zu verwenden. Mit dem folgenden Befehl können Sie ein Upgrade auf eine neue Version durchführen (es wird empfohlen, zuerst Ihren Server und wichtige Daten zu sichern, falls Probleme auftreten):

sudo do-release-upgrade

Stellen Sie nach Abschluss des Upgrades sicher, dass Sie Bash aktualisieren.

YUM: CentOS / Red Hat / Fedora

Aktualisieren Sie Bash auf die neueste Version, die über + yum + verfügbar ist:

sudo yum update bash

Überprüfen Sie nun Ihre Systemanfälligkeit erneut, indem Sie den Befehl im vorherigen Abschnitt ausführen (https://www.digitalocean.com/community/tutorials/how-to-protect-your-server-against-the-shellshock-bash-vulnerability#check) -system-vulnerability [System Vulnerability prüfen]).

End of Life CentOS / Red Hat / Fedora-Versionen

Wenn Sie eine Version von CentOS / Red Hat / Fedora ausführen, die als "End of Life" -Status gilt, müssen Sie ein Upgrade auf eine unterstützte Version durchführen, um den Paket-Manager zum Aktualisieren von Bash zu verwenden. Mit dem folgenden Befehl können Sie ein Upgrade auf eine neue Version durchführen (es wird empfohlen, zuerst Ihren Server und wichtige Daten zu sichern, falls Probleme auftreten):

sudo yum update

Stellen Sie nach Abschluss des Upgrades sicher, dass Sie Bash aktualisieren.

Fazit

Stellen Sie sicher, dass Sie alle betroffenen Server auf die neueste Version von Bash aktualisieren! Achten Sie auch darauf, Ihre Server mit den neuesten Sicherheitsupdates auf dem neuesten Stand zu halten!