Legacy Debian version และ Bash Shellshock


11

เรากำลังเรียกใช้ Debian Etch, Lenny และ Squeeze เพราะการอัพเกรดไม่เคยทำในร้านนี้มาก่อน เรามีมากกว่า 150 ระบบที่ใช้งาน Debian เวอร์ชันต่างๆ ในแง่ของ "shell shock" ของสัปดาห์นี้ฉันคิดว่าฉันต้องอัพเกรด bash ฉันไม่รู้จักเดเบียนดังนั้นฉันจึงเป็นห่วง

ฉันสามารถรันapt-get install bashบนระบบเดเบียนทั้งหมดของฉันและรับแพคเกจ Bash ที่ถูกต้องในขณะที่ที่เก็บของฉันถูกชี้ไปที่รายการ Squeeze ถ้าไม่ฉันมีแนวทางปฏิบัติอื่นอีกไหม


7
คุณสามารถเลือก backport bash ให้กับระบบเหล่านั้นได้ มันอาจจะทำงานได้ดีกับพวกเขา แต่คุณควรอัพเกรดจริงๆ คุณตระหนักถึงสิ่งที่เก่ากว่ารุ่นเก่าไม่มีการปรับปรุงความปลอดภัยใช่มั้ยและโปรดทราบว่าช่องโหว่ด้านความปลอดภัยนี้เป็นเพียงหนึ่งในหลาย ๆ
Faheem Mitha

มันเป็นปัญหาหรือไม่? อะไรsystem shellในระบบที่? (นั่นคือเชลล์ที่คุณได้รับเมื่อคุณเรียกใช้systemPOSIX ซึ่งเป็น / bin / sh) หาก / bin / sh ทุบตีคุณต้องอัปเดต ถ้าไม่ใช่ ... คุณก็น่าจะดี (แต่คุณควรจะปรับปรุง bash ด้วยตัวเอง)
Arafangion

คำตอบ:


11

คุณมีตัวเลือกในการอัพเกรด bash โดยใช้apt-getคำสั่งต่อไปนี้:

apt-get update

จากนั้นหลังจากการอัปเดตจะเรียกใช้การอัปเดตที่มีอยู่ทั้งหมด:

apt-get install --only-upgrade bash

หากต้องการรับการอัปเดตเกี่ยวกับรุ่นเก่า Squeeze คุณอาจต้องเพิ่ม Squeeze-LTS repo ลงในแหล่งรายการของคุณ

ในการเพิ่มที่เก็บนี้ให้แก้ไข/etc/apt/sources.listและเพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์

deb http://ftp.us.debian.org/debian squeeze-lts main non-free contrib

ในการตรวจสอบระบบโดยเฉพาะอย่างยิ่งสำหรับช่องโหว่ (หรือดูว่างานอัพเกรด) คุณสามารถตรวจสอบรุ่นทุบตีที่คุณกำลังใช้และดูว่ารุ่นได้รับผลกระทบ (มันน่าจะเป็น) หรือมีบททดสอบเปลือกจำนวนมากที่มีอยู่บนเว็บ

แก้ไข 1

หากต้องการอัปเกรดเป็นbashLenny หรือ Etch ให้ดูที่คำตอบของ Ilya Sheershoff ด้านล่างเพื่อดูวิธีรวบรวมbashจากแหล่งที่มาและอัปเกรดเวอร์ชันbashที่รีลีสของคุณใช้ด้วยตนเอง

แก้ไข 2

นี่คือตัวอย่างsources.listไฟล์จากเซิร์ฟเวอร์ Squeeze ที่ฉันอัพเกรดสำเร็จ:

deb http://ftp.us.debian.org/debian/ squeeze main
deb-src http://ftp.us.debian.org/debian/ squeeze main

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

# squeeze-updates, previously known as 'volatile'
deb http://ftp.us.debian.org/debian/ squeeze-updates main
deb-src http://ftp.us.debian.org/debian/ squeeze-updates main

# Other - Adding the lsb source for security updates
deb http://http.debian.net/debian/ squeeze-lts main contrib non-free
deb-src http://http.debian.net/debian/ squeeze-lts main contrib non-free

มือใหม่อาจไม่รู้ว่าพวกเขาต้องทำการอัพเดท apt-get ก่อนเพื่อรับแคตตาล็อกแพ็คเกจล่าสุด
Brenda J. Butler

ฉันต้องใช้: deb ftp.us.debian.org/debianบีบ contrib หลักเพื่ออัพเกรด bash ไปเป็นเวอร์ชั่น 4.1-3 จากนั้นใช้แหล่งข้อมูลที่ได้รับการติดตั้งเพื่อทำให้ไม่เสี่ยง

@ BrendaJ.Butler คำแนะนำที่ดีฉันเพิ่มขั้นตอนนั้นด้วย
111 ---

4

หากapt-get installตัวเลือกไม่ทำงานคุณจะต้องคอมไพล์ bash ใหม่จากแหล่งที่มา ตัวอย่างของ Lenny และ Etch อยู่ในคำตอบ ฉันไม่มีเครื่องจักร Squeeze แต่ก็สามารถเข้าใจได้ว่าควรทำอย่างไร

วิธีการแก้ปัญหาจาก TaNNkoSTฉันได้พบในสุทธิ:

ตรวจสอบจำนวนแพตช์ที่มีอยู่และเปลี่ยนหมายเลขในส่วน "(seq" ถ้ามีอันใหม่

สำหรับ LENNY

#first find out the version you have so you know what to get for the patches and source files
dpkg-query -l|grep bash
ii bash 4.1-3 The GNU Bourne Again SHell

#do this in the /usr/src dir
cd /usr/src
wget http://ftp.gnu.org/gnu/bash/bash-4.1.tar.gz
tar zxvf bash-4.1.tar.gz
cd bash-4.1

# fetch all patches, including latest ones that patches CVE-2014-6271
for i in $(seq -f "%03g" 0 14); do
wget -nv http://ftp.gnu.org/gnu/bash/bash-4.1-patches/bash41-$i
patch -p0 < bash41-$i
done

# check if yacc is installed. if not - install yacc
apt-get install bison

# configure,compile and install bash (this will install bash into /usr/local/bin/bash)
./configure && make
make install

# make a symlink from /bin/bash to the new binary
mv /bin/bash /bin/bash.old
ln -s /usr/local/bin/bash /bin/bash

# check that you're not vulnerable anymore wiith the output of the following
# it should not output vulnerable word anymore
env x='() { :;}; echo vulnerable' bash -c echo

#you can  Delete the old one thats a problem
rm /bin/bash.old

สำหรับ ETCHฉันใช้ตรรกะเดียวกัน แต่ฉันยังไม่ได้yaccติดตั้งบนระบบดังนั้นฉันต้องติดตั้งbisonแพคเกจสำหรับสิ่งนั้น นี่คือสิ่งที่ฉันมาด้วย:

#first find out the version you have so you know what to get for the patches and source files
dpkg-query -l|grep bash
ii bash 3.2-4 The GNU Bourne Again SHell

#do this in the /usr/src dir
cd /usr/src
wget http://ftp.gnu.org/gnu/bash/bash-3.2.tar.gz
tar zxvf bash-3.2.tar.gz
cd bash-3.2

# fetch all patches, including latest ones that patches CVE-2014-6271
for i in $(seq -f "%03g" 0 54); do
wget -nv http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-$i
patch -p0 < bash32-$i
done

# check if yacc is installed. if not - install yacc
apt-get install bison

# configure,compile and install bash (this will install bash into /usr/local/bin/bash)
./configure && make
make install

# at this point my system is not vulnerable already, test your system
env VAR='() { :;}; echo Bash is vulnerable!' bash -c "echo Bash Test"

# if this is not the case for your system - try the following

# make a symlink from /bin/bash to the new binary
mv /bin/bash /bin/bash.old
ln -s /usr/local/bin/bash /bin/bash

# check that you're not vulnerable anymore wiith the output of the following
# it should not output vulnerable word anymore
env x='() { :;}; echo vulnerable' bash -c echo

#you can Delete the old one thats a problem
rm /bin/bash.old

1
ผมพบว่าผมมีข้อผิดพลาดสำหรับการแก้ปัญหาเลนนี่และได้รับการแก้ไขโดยใช้make: yacc: Command not found apt-get install bison
SharpC

1

ไม่แน่ใจว่าคุณต้องการเชื่อถือแพ็คเกจเหล่านี้หรือไม่ แต่มีคนสร้างแพ็คเกจสำหรับไม้ (3.0), sarge (3.1), etch (4.0) และ lenny (5.0) พวกเขามีอยู่ที่นี่:

http://blog.bofh.it/debian/id_451

apt-getระวังมีพื้นที่เก็บข้อมูลสำหรับการติดตั้งแพคเกจเหล่านี้ผ่านทางไม่มี คุณต้องใช้dpkgหรือสร้างที่เก็บในเครื่องของคุณเอง


" ถ้าคุณต้องการเชื่อถือแพ็คเกจเหล่านี้ "? พวกเขากำลังเซ็นชื่อด้วยคีย์ GPG ของนักพัฒนา Debian เช่นเดียวกับแพ็คเกจ Debian อย่างเป็นทางการอื่น ๆ
peppe

0

การอัปเดตในทุบตีที่แตกต่างกันหลาย OS คุณสามารถใช้สคริปต์สากลDeshellshock

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.