Перейти к собственно контенту

Архив

Метка: upgrade

Недавно сообщалось о новой не менее серьёзной уязвимости, нежели Heartbleed, (CVE-2014-6271) в популярной командной оболочке Bash для UNIX-систем. Командный интерпретатор Bash (или Bourne-Again Shell) используется во многих серверах на базе Unix и Linux. Уязвимость, которую называют Bashdoor или Shellshock, затрагивает все версии Bash.В отличие от Heartbleed, эксплуатирующие уязвимость Bash атаки позволяют удалённо исполнять код, благодаря чему злоумышленники могут распространять вредоносное ПО. Как отмечают эксперты, большая часть атак будет нацелена на веб-серверы, а особенно уязвимыми являются те, на которых исполняются PHP-приложения.
Так как не нашел исправленного пакета под Debian Squeeze, пришлось качать исходники, накладывать патчи, и собирать все это дело самому

Мой /etc/apt/source.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

И так, ставим пакет build-essential
aptitude update && aptitude install build-essential

Далее скачиваем сорцы Bash и распаковываем
cd /usr/src
wget ftp://ftp.hawo.stw.uni-erlangen.de/gnu/bash/bash-4.3.tar.gz
tar zxvf bash-4.3.tar.gz
cd bash-4.3

скачиваем и накладываем патчи на сорцы
for i in $(seq -f "%03g" 1 26); do
wget -nv ftp://ftp.hawo.stw.uni-erlangen.de/gnu/bash/bash-4.3-patches/bash43-$i
patch -p0 < bash43-$i done

и собираем и устанавливаем
./configure && make && make install

Делаем бекап старой версии Bash и создаем симлинк на (далее…)

После сборки мира и ядра, и попытки установить собранное добро получил ошибку:

# make installworld
ERROR: Required auditdistd user is missing, see /usr/src/UPDATING.
*** [installcheck_UGID] Error code 1

Stop in /usr/src.
*** [installworld] Error code 1

Stop in /usr/src.

Для устранения ошибки необходимо добавить в систему пользователя auditdistd:

pw useradd -n auditdistd -g audit -c "Auditdistd unprivileged user" -d /var/empty -s /usr/sbin/nologin

Попросили тут обновить ядро до стабильной версии с kernel.org
Качаем исходники kernel с kernel.org
Ставим нужные пакеты:

apt-get install debhelper mc kernel-package libncurses5-dev tar bzip2

Что-то из этого уже может стоять у вас в системе.
Копируем исходники ядра в /usr/src и распаковываем. Я делал при помощи MC.
Создаём символьную ссылку на свои исходники, это избавит от многих проблем потом:
Переходим в папку с исходниками и конфигурируем:

cd /usr/src/каталог с сорцами
make menuconfig

Собираем пакетик с ядром:
make-kpkg linux_image --initrd

После всего этого остаётся подняться на директорию вверх и поставить пакет готовый из /usr/src/linux-image-< версия>-.deb с помощью dpkg