Я не могу обновить Баш на сервере Debian 6.0 (Squeeze), чтобы избавиться от обнаруженной уязвимости:
bash --version
GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)
apt-get update
apt-get install bash
Reading package lists... Done
Building dependency tree
Reading state information... Done
bash is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.
Могу ли я использовать Squeeze-LTS для этого сервера только для обновления Bash? Через неделю я перейду на другой сервер, поэтому никаких других обновлений делать не буду.
uname -m
x86_64
lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 6.0.5 (squeeze)
Release: 6.0.5
Codename: squeeze
Вы должны использовать squeeze-lts
репозиторий, чтобы продолжать получать обновления Debian Squeeze
Чтобы добавить этот репозиторий, отредактируйте /etc/apt/sources.list
и добавьте строку
deb http://ftp.us.debian.org/debian squeeze-lts main non-free contrib
(вы можете удалить non-free
и contrib
при желании)
Обратите внимание, что с этого момента squeeze-lts
есть только обновленный bash для оригинала CVE-2014-6271 но еще не обновился, чтобы исправить новые CVE-2014-7169.
Чтобы обновить только bash, после запуска apt-get update
использовать apt-get install bash
для установки просто bash вместо полного обновления.
Мне пришлось добавить репозитории LTS для обновления bash, которое исправляет уязвимость Shellshock в Debian Squeeze. Надеюсь, кому-то это пригодится:
Сначала проверьте, не уязвим ли ваш ящик. Вырежьте / вставьте это в свою командную строку:
env x='() { :;}; echo "WARNING: SHELLSHOCK DETECTED"' \
bash --norc -c ':' 2>/dev/null;
Если вы получите такой ответ:
WARNING: SHELLSHOCK DETECTED
Как и в случае с Squeeze, у вас есть уязвимость. Вам нужно будет обновить свои репозитории до версии LTS, чтобы получить обновления, закомментировав текущие строки репозитория, начинающиеся с 'deb' в файле /etc/apt/sources.list, а затем добавив следующие:
deb http://http.debian.net/debian/ squeeze main contrib non-free
deb-src http://http.debian.net/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
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
Теперь вы должны обновить свой локальный кеш и установить обновленный bash (их серверы сейчас работают медленно, потому что все обновляются, поэтому просто отключите bash для повышения пропускной способности):
apt-get update && apt-get install --only-upgrade bash
Вы можете выполнить полное обновление системы позже. Теперь запустите приведенный выше скрипт проверки уязвимости, и вы не должны получить никакого текста, что означает, что вы исправлены :)
Я уже обновил каждую систему Debian 6.0 (Squeeze), к которой у меня есть доступ, до Debian 7 (Wheezy), что было на удивление в основном безболезненно.
Если вы не можете этого сделать, значит, в Squeeze-LTS есть обновления; у него есть копия Bash со вчерашней датой 4.1.3 + deb6u1.
Debian 6.0 (Squeeze) больше не поддерживается. Увидеть Объявление о безопасности Debian по причинам.
Если вы хотите получать обновления безопасности, вам необходимо изменить sources.list
. Вот что вам нужно ввести:
кот /etc/apt/sources.list | grep lts
деб http://ftp2.de.debian.org/debian squeeze-lts main contrib non-free
deb-src http://ftp2.de.debian.org/debian squeeze-lts main contrib non-free
Это работает только для x86 и x64.
Так что вы нужно сделать следующее (цитируя вики):
Для бинарных пакетов добавьте эту строку:
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
Очевидно, вы можете решить, какие типы пакетов вы хотите включить.
См. Здесь подробные сведения о версии, которую вы должны были обновить после обновления:
Источник: Debian Wiki