Как обновить Apache с 2.2.3 до 2.2.21

9

Используя YUM я установил apache. Установленная версия apache 2.2.3

Наш охранник хочет, чтобы мы использовали 2.2.21 apache

Когда я пытаюсь обновить yum 'httpd', ничего не происходит - пакеты не помечены для обновления

Я проверил домашнюю страницу Apache ( http://www.apache.org/dist/httpd/patches/ ) на предмет исправлений. На основании их письменной инструкции я пытаюсь установить патч 2.2.4 ( http://www.apache.org/dist/httpd/patches/apply_to_2.2.4/ ).

patch -s < /usr/local/src/hack-msvc8-httpd-2.2.4.patch

И я получил такое сообщение:

The text leading up to this was:

|###
|### A trivial hack to copy the .manifest files along with the binaries
|### when building from the command line on Visual Studio 2005
|###
|### Courtesy of Gustavo Lopes
|### Posted to dev@httpd.apache.org,
|### Message-ID: <006901c731ae$97bec180$0201a8c0@cataphract>
|###
|--- Makefile.win.orig 2006-12-07 11:09:37.000000000 -0600
|+++ Makefile.win 2007-01-08 23:55:56.000000000 -0600
File to patch:

Что я делаю неправильно? Почему я не могу обновить Apatche до версии 2.2.21?

user1124133
источник
1
Не делай этого. См. ниже.
Нильс

Ответы:

16

Чтобы запустить 2.2.x, вам нужно будет либо установить другой RPM, либо собрать его из исходного кода.

Однако я подозреваю, что, поскольку вы используете 2.2.3, вы используете RedHat Enterprise Linux 5 или один из его производных (CentOS 5 и т. Д.). Вы обнаружите, что значительное количество компаний по тестированию на проникновение или сотрудников службы безопасности не принимают во внимание, что во время работы 2.2.3 вы на самом деле получили исправления безопасности из более поздних версий Apache.

Это известно как «backporting». RedHat имеет хорошее описание здесь . Я бы предложил запросить у ваших сотрудников по безопасности конкретные CVE, которые они заинтересованы в обеспечении исправлений, и затем использовать этот инструмент redhat, чтобы определить, исправлены ли они в версии apache, которую вы используете. Вы можете получить номер версии, предварительно сформировав rpm -qa httpd.

whmcr
источник
хорошо с коллективной информацией
Mughil
8

Я предполагаю, что у вас есть RHEL5 (или эквивалент).

Вы можете сказать сотруднику по безопасности, что Red Hat применяет соответствующие обновления безопасности с 2.2.21 к своему пакету 2.2.3, но не меняет номер базовой версии. Он будет (если вы просто выбираете номер версии пакета) выглядеть так, как будто вы используете более старую версию Apache, но на самом деле вы так же безопасны, как и 2.2.21. В этом суть долговременных корпоративных дистрибутивов: вы получаете согласованность, а также исправления.

Вы можете проверить это, запустив что-то вроде:

rpm -q --changelog httpd

Например, вы увидите это недавнее исправление в журнале изменений:

* Thu Oct 06 2011 Joe Orton <jorton@redhat.com> - 2.2.3-53.3
- add security fix for CVE-2011-3368 (#743903)
- fix regressions in byterange handling (#736593)

Если вам действительно нужно установить 2.2.21, вы можете скомпилировать его самостоятельно. Это будет иметь свои плохие последствия для безопасности: если кто-то найдет и исправит новую проблему с Apache на следующей неделе, Red Hat создаст резервную копию этого исправления и сделает ее доступной через yum, но ваш собственный Apache, созданный вами, не будет иметь этого исправления, и вы Придется снова пройти весь процесс, чтобы собрать и установить новый Apache.

CJC
источник
ОК, тогда мне не нужно устанавливать 2.2.21. Я попытаюсь объяснить им, что моя текущая установка Apache включает все исправления безопасности. [root@ww013886 src]# rpm -qa httpd httpd-2.2.3-53.el5.centos.3 [root@ww013886 src]# rpm -q --changelog httpd * Fri Oct 21 2011 Johnny Hughes <johnny@centos.org> - 2.2.3-53.3.el5.centos - Roll in CentOS Branding * Fri Oct 07 2011 Joe Orton <jorton@redhat.com> - 2.2.3-53.3 - add security fix for CVE-2011-3368 (#743903) - fix regressions in byterange handling (#736593)
user1124133
1
Важно знать, что исходный дистрибутив apache имеет файл спецификации RPM. Вы можете использовать это, чтобы создать двоичный RPM-пакет Apache и заменить тот, который шел с CentOS. Однако, если вам действительно не нужно, было бы лучше придерживаться того, что было в Red Hat, и позволить им обрабатывать обновления.
Рилиндо
Иногда RH исправляет проблемы с CVE даже быстрее, чем следующий стабильный релиз. Так что если вы хотите пропатченный httpd без ручных действий, придерживайтесь дистрибутива!
Нильс
Как я могу получить обновления для моего сервера Apache. Когда я запускаю 'rpm -qa httpd', он показывает '2.2.3-43', что означает, что мне нужно обновить свой apache. Так как я могу обновить apache вручную?
Гангадхар Джанну
2

Чтобы создать собственный Apache в Red Hat (или CentOS) напрямую из апстрима, вам необходимо сделать следующее:

  1. Установите следующие инструменты: "yum install rpm-devel rpmdevtools rpm-build"
  2. Как обычный пользователь, запустите rpmdev-setuptree. Это создаст каталог с именем "rpmbuild".
  3. Перейдите в ~ / rpmbuild / SOURCE и загрузите в этот каталог архив с исходным кодом Apache с httpd.apache.org.
  4. Извлеките из этого архива файл "httpd.spec" и скопируйте его в ~ / rpmbuild / SPECS
  5. Запустите «rpmbuild -bb httpd.spec», и он начнет компиляцию и сборку rpms. Если есть какие-либо отсутствующие зависимости, он остановится и сообщит вам. В этот момент установите эти пакеты через yum и снова запустите процесс сборки (вы можете избежать этого, посмотрев на строку BuildPrereq в файле .spec). В противном случае, не допуская дальнейших проблем, вы сможете скомпилировать собственную сборку Apache. *

Или сохраните себе работу и позвольте Red Hat обрабатывать обновления. Я не рекомендую вам делать это, если нет особой потребности в сборке, которая не может быть полностью удовлетворена сборкой поставщика

* Примечание: в Red Hat 6 distcache больше не поддерживается, поэтому вам необходимо удалить «--enable-distcache» из файла .spec.

Rilindo
источник
1

Патч, который вы пытались применить, предназначен для сборки с помощью Microsoft Visual Studio. Подсказка в заголовке патча:

### A trivial hack to copy the .manifest files along with the binaries
### when building from the command line on Visual Studio 2005

Это на самом деле не исправляет исходное дерево Apache до 2.2.4. Но вы на самом деле пытались применить это к SRPM?

Как упоминает cjc, исправления безопасности Red Hat для всех версий, которые они отправляют, но номер версии не обязательно увеличивается. И снова, вы всегда можете скомпилировать Apache самостоятельно.

Джеймс О'Горман
источник