Есть ли способ обновить версию Bash для OSX 10.4?


3

Я использую Bash версии 2.05b.0 (1) -релиз (powerpc-apple-darwin8.0) на PowerMac (не Intel) G5. Я часто подключаюсь к Интернету, но не как сервер, и я считаю, что моя версия Bash уязвима для эксплойта Shellshock.

Обновление ОС после 10.4.11 Tiger не вариант, так как этот компьютер не может быть обновлен по причинам.

Могу ли я перекомпилировать bash для своей системы или есть пользователи, которые могли разработать патч?


Если вы все еще работаете на OS X 10.4, у вас есть проблемы с безопасностью.

Я пытаюсь смягчить угрозы, но у вас есть смысл.
Poor Old PPC

Если все, что вы делаете, это подключаетесь к Интернету (и вы, вероятно, имеете в виду: использование Safari для просмотра веб-сайтов), то вам не о чем беспокоиться из-за проблемы с bash. Он применяется только в том случае, если вы запускаете HTTP-сервер, делаете его общедоступным (то есть открываете нужные порты в брандмауэре) и используете apache / CGI для создания некоторых веб-приложений. Довольно маловероятная комбинация для старого PowerMac.
Albert Godfrind

Любите людей, которые продолжают использовать старое оборудование и старое программное обеспечение. Простите за редактирование, но я хотел, чтобы поток вопроса заканчивался вопросом "спросить".
bmike

Ответы:


1

У вас установлены gcc и другие инструменты? Вы можете проверить с which gcc а потом gcc --version, Если вы этого не сделаете, вы можете установить их с DVD-диска Developers Tools, который поставляется вместе с системой, или вы можете скачать их с Apple или GNU, но может быть сложно получить версию, которая будет работать.

После того, как вы установили gcc и другие инструменты командной строки, следующая задача - получить исходный код bash, который будет успешно скомпилирован и собран на старой ОС. Я собираюсь попробовать это сам для 10,5 и 10,6.

Обратите внимание, что вам не нужно беспокоиться о наличии уязвимого Bash, если на компьютере не запущен веб-сервер и не запущены службы, доступные кому-либо, кроме вас. Если вы единственный пользователь, и вы не используете веб-общий доступ или другие внешние службы, вам не нужно и то, и другое.


Спасибо за быстрый ответ. Нет, я не делюсь, кроме как через Dropbox. Видимо, я не застрахован. О каких «внешних услугах» мне следует знать?
Poor Old PPC

Общий доступ к веб-сайту и удаленный вход в систему являются важными, поскольку CGI-сценарии могут быть сценариями оболочки Bash, а удаленный вход почти всегда вызывает сценарий оболочки. Я не знаю, уязвимы ли другие сервисы (например, электронная почта или FTP) - я сомневаюсь в этом, но я не хочу сказать, что они в порядке, если я не знаю точно.
jetset

Apache Web Sharing по умолчанию не включает mod_cgi, поэтому он не должен быть вектором атаки. Существует небольшой риск для подавляющего большинства пользователей. Тем не менее, сборка собственных двоичных файлов не так уж и сложна, а исправление старой системы всегда хорошая идея.
Trane Francks

1

В качестве временного промежутка самый простой способ исправить вашу систему более новой версией bash - это использовать версию (4.3.30), доступную в блоге TenFourFox:

http://tenfourfox.blogspot.com/2014/09/bashing-bash-one-more-time-updated.html

Автор предоставляет пошаговые инструкции по установке этой версии bash.

После того, как вы успешно установили этот предварительный патч, было бы разумно скомпилировать и установить самую последнюю версию патча bash для вашей системы. Как отмечают другие, вы можете скомпилировать и установить bash 2.05b (версия, поставляемую с Tiger) со всеми последними исправлениями или самую последнюю версию со всеми самыми последними исправлениями (4.3.30). В любом случае, вам, вероятно, нужно будет скомпилировать и установить их самостоятельно.

Если вы чувствуете себя комфортно, компилируя и создавая их самостоятельно, тогда Tigerbrew вероятно, будет иметь большую помощь в достижении этого. С Tigerbrew вы можете не только скачать и собрать более современную версию компилятора gcc (v4.9.1), но и bash 4.3.30. (Обратите внимание, что вам нужно установить Xcode 2.5 перед установкой Tigerbrew.)


0

Механизмы обновления bash в вашей системе Tiger похожи на те, что в более поздних системах. Если вы знакомы с компиляцией и установкой своих собственных программ, это, возможно, не выходит за рамки возможного, но если вы не знакомы с компиляторами, Make-файлами и хитростями, которые могут прийти с попыткой сделать это не Apple Вам, возможно, будет лучше оставить все как есть. Если вы не используете веб-общий доступ, удаленный вход в систему, ssh или другие службы, вам не о чем беспокоиться. CUPS, подсистема печати OS X, уязвима из-за того, как она взаимодействует с bashНо риск здесь минимален.

Если вы действительно хотите изучить соответствующие шаги, я написал это резюме на основе OS X Lion 10.7.5:

https://apple.stackexchange.com/a/146943/91441

Значительные различия будут вашей отправной точкой. Во-первых, вы действительно хотите сохранить свою базу bash --version в качестве отправной точки. Итак, если Lion и более поздние системы будут использовать v3.2.48 в качестве базы, вы захотите v2.05b:

http://ftp.gnu.org/gnu/bash/bash-2.05b.tar.gz

И тогда вы загрузите все 9 патчей с:

http://ftp.gnu.org/gnu/bash/bash-2.05b-patches/

Даже используя мой Спросите Разное статья в качестве шаблона, вы можете столкнуться с проблемами. Обратите внимание на комментарии к статье, в которых один пользователь Snow Leopard столкнулся с проблемами, потому что источники GNU искали другую версию readline для того, чтобы скомпилировать. Вы можете или не можете столкнуться с той же проблемой. Вы можете столкнуться с другими.

Удачи с этим. Как указывалось в другом месте, вам лучше рассмотреть возможность перехода с Tiger на поддерживаемую версию OS X. В настоящее время самой старой поддерживаемой версией OS X является Lion 10.7.5. Все, что старше этого, было уничтожено Apple. Лев, скорее всего, пойдет по пути додо, как только Йосемити выйдет на свободу.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.