विरासत डेबियन संस्करण और बैश शेलशॉक


11

हम डेबियन एच, लेनी और स्क्वीज़ चला रहे हैं क्योंकि इस दुकान में उन्नयन कभी नहीं किया गया है; हमारे पास डेबियन के विभिन्न संस्करणों को चलाने वाले 150 से अधिक सिस्टम हैं। इस सप्ताह के "शेल शॉक" के प्रकाश में, मुझे लगता है कि मुझे बैश को अपग्रेड करने की आवश्यकता है। मैं डेबियन को नहीं जानता हूं इसलिए मैं चिंतित हूं।

क्या मैं केवल apt-get install bashअपने सभी डेबियन सिस्टमों पर अमल कर सकता हूं और सही बैश पैकेज प्राप्त कर सकता हूं जबकि मेरी रिपॉजिटरी एक स्क्वीज प्रविष्टि पर इंगित की गई है। यदि नहीं, तो मेरे पास कार्रवाई का और क्या तरीका है?


7
आप चुनिंदा रूप से उन सिस्टम को बैकप बैश कर सकते हैं। यह शायद उन पर ठीक चलेगा। लेकिन आपको वास्तव में, वास्तव में, अपग्रेड करना चाहिए। आपको लगता है कि पुराने से पुराने कुछ भी सुरक्षा अद्यतन नहीं है, ठीक है? और यह ध्यान में रखना सुरक्षा भेद्यता केवल कई में से एक है।
फहीम मीठा

क्या यह भी एक समस्या है? system shellउस सिस्टम पर क्या है? (अर्थात, systemPOSIX कॉल चलाते समय मिलने वाला शेल , जो कि / bin / sh है)। यदि / bin / sh बैश है, तो आपको अपडेट करने की आवश्यकता है। यदि यह नहीं है ... तो आप शायद ठीक हैं (लेकिन आपको वैसे भी खुद को अपडेट करना चाहिए)
अरफांगियन

जवाबों:


11

आपके पास बस बैश को अपग्रेड करने का विकल्प है। ऐसा करने के लिए निम्नलिखित apt-getकमांड का उपयोग करें :

apt-get update

फिर अद्यतन उपलब्ध होने के बाद सभी उपलब्ध अद्यतन चलते हैं:

apt-get install --only-upgrade bash

पुरानी रिलीज़ पर अपडेट प्राप्त करने के लिए, उदाहरण के लिए निचोड़ें, आपको शायद अपने स्रोतों के लिए निचोड़-एलटीएस रेपो जोड़ना होगा।

इस रिपॉजिटरी को जोड़ने /etc/apt/sources.listके लिए, फ़ाइल के अंत में निम्न पंक्ति को संपादित करें और जोड़ें।

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

कमजोरियों के लिए एक विशेष प्रणाली की जांच करने के लिए (या देखें कि क्या उन्नयन काम करता है) आप उपयोग किए जा रहे बैश संस्करणों की जांच कर सकते हैं और देख सकते हैं कि क्या संस्करण प्रभावित है (यह शायद है) या वेब पर कई शेल परीक्षण स्क्रिप्ट उपलब्ध हैं।

EDIT 1

bashLenny या Etch पर अपग्रेड करने के लिए , Ilya Sheershoff के उत्तर पर एक नज़र डालें कि कैसे bashस्रोत से संकलन किया जाए और मैन्युअल रूप से उस संस्करण को अपग्रेड किया जाए bashजो आपकी रिलीज़ का उपयोग कर रहा है।

EDIT 2

यहाँ sources.listएक निचोड़ सर्वर से एक उदाहरण फ़ाइल है जिसे मैंने सफलतापूर्वक उन्नत किया है:

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

एक नौसिखिया शायद नहीं जानता कि उन्हें पहले अद्यतन प्राप्त करना होगा, संकुल की नवीनतम सूची प्राप्त करने के लिए।
ब्रेंडा जे। बटलर

मुझे उपयोग करना था: deb ftp.us.debian.org/debian निचोड़ने के लिए मुख्य कंट्रीब को 4.1-3 संस्करण में अपग्रेड करें और फिर पैच किए गए स्रोतों का उपयोग करके इसे कमजोर न होने दें।

@ BrendaJ.Butler अच्छा सुझाव, मैंने उस कदम को भी जोड़ा।
१११ ---

4

यदि apt-get installविकल्प काम नहीं करता है, तो आपको स्रोतों से बैश को फिर से जोड़ने की आवश्यकता होगी। Lenny और Etch उदाहरण उत्तर में हैं। मुझे कोई निचोड़ मशीन नहीं मिली है, लेकिन कोई भी आसानी से यह पता लगा सकता है कि क्या करना है।

TaNNkoST का समाधान मैंने नेट पर पाया है:

उपलब्ध पैचों की संख्या की जाँच करें और "सीक" भाग में संख्या को बदल दें यदि नए हैं।

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

ईटीसीएच के लिए मैंने उसी तर्क का पालन किया है, लेकिन मैं 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
शार्प ऑक्ट

1

सुनिश्चित नहीं हैं कि आप इन पैकेजों पर भरोसा करना चाहते हैं, लेकिन किसी ने वुडी (3.0), सर्ज (3.1), ईच (4.0) और लेन (5.0) के लिए पैकेज बनाए हैं। वे यहां उपलब्ध हैं:

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

सावधान रहें, इन पैकेजों को स्थापित करने के लिए कोई रिपॉजिटरी नहीं है apt-get। आपको dpkgअपने स्वयं के स्थानीय भंडार का उपयोग करने या बनाने की आवश्यकता है।


" अगर आप इन पैकेजों पर भरोसा करना चाहते हैं "? वे डेबियन डेवलपर की GPG कुंजी के साथ हस्ताक्षरित हैं। किसी भी अन्य आधिकारिक डेबियन पैकेज की तरह।
peppe

0

कई अलग-अलग ओएस पर बैश को अपडेट करने के लिए, आप यूनिवर्सल स्क्रिप्ट Deshellshock का उपयोग कर सकते हैं ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.