Heim > Betrieb und Instandhaltung > CentOS > So aktualisieren Sie Bash in CentOS (beheben Sie die Shell-Breaking-Schwachstelle)

So aktualisieren Sie Bash in CentOS (beheben Sie die Shell-Breaking-Schwachstelle)

藏色散人
Freigeben: 2021-03-01 16:01:59
nach vorne
2572 Leute haben es durchsucht

In der Kolumne Centos-Tutorial wird Ihnen das CentOS-Upgrade Bash vorgestellt – ich hoffe, dass es für Freunde, die es brauchen, hilfreich sein wird!

So aktualisieren Sie Bash in CentOS (beheben Sie die Shell-Breaking-Schwachstelle)

Da viele Unternehmen über eigene Yum-Quellen verfügen, ist die direkte Konfiguration anderer Yum-Quellen für das Upgrade nicht zulässig, um das Upgrade zu erleichtern und um die Sicherheit zu gewährleisten Beim Testen verwenden Sie zunächst eine Testmaschine zum Testen.

CentOS-Reparaturlösung

Installieren Sie das Yum-Plugin yum-downloadonly

Hinweis: Die Funktion des yum-downloadonly-Plugins besteht darin, nur die erforderlichen Pakete herunterzuladen, ohne sie direkt zu installierenyum-downloadonly 插件的作用是实现只下载所需包而不直接安装

sudo yum -y install yum-downloadonly
Nach dem Login kopieren

添加 CentOS  的官方源 CentOS-Base.repo

CentOS 5 的官方源

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
Nach dem Login kopieren

CentOS 6 的官方源

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Nach dem Login kopieren

下载最新的 bash 包

把最新版本的 bash 的 rpm 包下载到 /tmp 目录

sudo  yum -y install --downloadonly --downloaddir=/tmp/ bash
Nach dem Login kopieren

下载后的包名分别如下:

CentOS 5

bash-3.2-33.el5_10.4.x86_64.rpm
Nach dem Login kopieren

CentOS 6

bash-4.1.2-15.el6_5.2.x86_64.rpm
Nach dem Login kopieren

安装最新的 bash 包

CentOS 5

sudo yum -y install bash-3.2-33.el5_10.4.x86_64.rpm
Nach dem Login kopieren

CentOS 6

sudo yum -y install bash-4.1.2-15.el6_5.2.x86_64.rpm
Nach dem Login kopieren

验证

env X='() { (a)=>' sh -c "echo date"; cat echo  输出如下:

date
Mon Sep 29 10:11:56 CST 2014
Nach dem Login kopieren

env VAR='() { :;}; echo Bash is vulnerable!' bash -c "echo Bash Hello"

Bash Hello
Nach dem Login kopieren
Fügen Sie die offizielle Quelle von CentOS hinzu. CentOS-Base.repo

Die offizielle Quelle von CentOS 5

rrreee

Die offizielle Quelle von CentOS 6🎜🎜rrreee🎜Laden Sie das neueste Bash-Paket herunter🎜🎜Laden Sie das herunter rpm-Paket der neuesten Bash-Version in das Verzeichnis /tmp 🎜rrreee🎜Die heruntergeladenen Paketnamen lauten wie folgt: 🎜🎜🎜CentOS 5🎜🎜rrreee🎜🎜CentOS 6🎜🎜rrreee🎜Installieren Sie die neueste Bash package🎜🎜🎜CentOS 5🎜🎜rrreee 🎜 🎜CentOS 6🎜🎜rrreee🎜Verification🎜🎜env X='() { (a)=>' sh -c "echo date"; cat echo Die Ausgabe lautet wie folgt: 🎜rrreee🎜 env VAR='() { :;}; echo Bash ist angreifbar!' 🎜Beweis, dass die Reparatur erfolgreich ist🎜🎜Fügen Sie die vorhandene RPM-Quelle hinzu🎜🎜Der letzte Schritt besteht darin, das getestete Paket zur unternehmenseigenen Quelle hinzuzufügen und es dann an das gesamte Netzwerk zu übertragen. 🎜🎜

Das obige ist der detaillierte Inhalt vonSo aktualisieren Sie Bash in CentOS (beheben Sie die Shell-Breaking-Schwachstelle). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage