Мы используем Debian Etch, Lenny и Squeeze, потому что в этом магазине никогда не производились обновления; у нас более 150 систем с различными версиями Debian. В свете «шокового удара» на этой неделе, я предполагаю, что мне нужно обновить bash. Я не знаю Debian, поэтому я обеспокоен.
Могу ли я просто выполнить apt-get install bash
на всех моих системах Debian и получить правильный пакет Bash, пока мой репозиторий указывает на запись Squeeze. Если нет, то какой у меня другой курс действий?
bash
debian
shellshock
DavidH
источник
источник
system shell
этой системе? (То есть оболочка, которую вы получаете, когда запускаетеsystem
вызов POSIX, то есть / bin / sh). Если / bin / sh это bash, то вам нужно обновить. Если это не так ... Тогда вы, вероятно, в порядке (но вы все равно должны обновить сам bash)Ответы:
У вас есть возможность просто обновить bash. Для этого используйте следующую
apt-get
команду:Затем после получения обновления запустятся все доступные обновления:
Чтобы получать обновления старых версий, например Squeeze, вам, вероятно, потребуется добавить репозиторий Squeeze-LTS в ваш список sources.list.
Чтобы добавить этот репозиторий, отредактируйте
/etc/apt/sources.list
и добавьте следующую строку в конец файла.Чтобы проверить конкретную систему на наличие уязвимостей (или посмотреть, работает ли обновление), вы можете проверить версии bash, которые вы используете, и посмотреть, не подвержены ли они уязвимости (возможно, так оно и есть), или в Интернете доступно множество сценариев тестирования оболочки .
РЕДАКТИРОВАТЬ 1
Чтобы
bash
выполнить обновление на Lenny или Etch, взгляните на приведенный ниже ответ Ильи Ширшоффа о том, как скомпилироватьbash
из исходного кода и вручную обновить версию,bash
которую использует ваш выпуск.РЕДАКТИРОВАТЬ 2
Вот пример
sources.list
файла с сервера Squeeze, который я успешно обновил:источник
Если
apt-get install
опция не сработала, вам нужно перекомпилировать bash из исходников. Примеры Ленни и Этча в ответе. У меня нет машин Squeeze, но можно легко понять, что делать.Решение от TaNNkoST я нашел в сети:
Проверьте количество доступных исправлений и измените их в части "(seq", если есть новые.
ДЛЯ ЛЕННИ
Для ETCH Я следовал той же логике, но я не был
yacc
установлен в системе, поэтому мне пришлось установитьbison
пакет для этого. Вот что я придумал:источник
make: yacc: Command not found
для решения Lenny, и исправил ее с помощьюapt-get install bison
.Не уверен, хотите ли вы доверять этим пакетам, но кто-то создал пакеты для woody (3.0), sarge (3.1), etch (4.0) и lenny (5.0). Они доступны здесь:
http://blog.bofh.it/debian/id_451
Будьте осторожны, нет репозитория для установки этих пакетов через
apt-get
. Вам нужно использоватьdpkg
или создать свой собственный локальный репозиторий.источник
Для обновления Bash на многих разных ОС вы можете использовать универсальный скрипт Deshellshock .
источник