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

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

藏色散人
藏色散人nach vorne
2021-03-01 16:01:592533Durchsuche

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

添加 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

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

下载最新的 bash 包

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

sudo  yum -y install --downloadonly --downloaddir=/tmp/ bash

下载后的包名分别如下:

CentOS 5

bash-3.2-33.el5_10.4.x86_64.rpm

CentOS 6

bash-4.1.2-15.el6_5.2.x86_64.rpm

安装最新的 bash 包

CentOS 5

sudo yum -y install bash-3.2-33.el5_10.4.x86_64.rpm

CentOS 6

sudo yum -y install bash-4.1.2-15.el6_5.2.x86_64.rpm

验证

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

date
Mon Sep 29 10:11:56 CST 2014

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

Bash Hello
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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen