Jak zaktualizować Apache z 2.2.3 do 2.2.21

9

Używając YUM zainstalowałem apache. Zainstalowana wersja Apache to 2.2.3

Nasz ochroniarz chce, abyśmy używali apache 2.2.21

Kiedy próbuję yum aktualizacji „httpd” nic się nie dzieje - Brak pakietów oznaczonych do aktualizacji

Sprawdziłem stronę główną Apache ( http://www.apache.org/dist/httpd/patches/ ) pod kątem łatek. Na podstawie pisemnej instrukcji próbuję zainstalować łatkę 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

I dostałem taką wiadomość:

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 [email protected],
|### 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:

Co robię źle? Dlaczego nie mogę zaktualizować Apatche do wersji 2.2.21?

użytkownik1124133
źródło
1
Nie rób tego. Patrz poniżej.
Nils

Odpowiedzi:

16

Aby uruchomić 2.2.x, musisz albo zdobyć inne RPM - albo zbudować je ze źródła.

Podejrzewam jednak, że ponieważ korzystasz z wersji 2.2.3, korzystasz z RedHat Enterprise Linux 5 lub jednego z jego pochodnych (CentOS 5 itp.). Przekonasz się, że znaczna liczba firm testujących penetrację lub funkcjonariuszy ds. Bezpieczeństwa nie bierze pod uwagę tego, że podczas pracy z wersją 2.2.3 faktycznie otrzymałeś poprawki bezpieczeństwa z późniejszych wersji Apache.

Jest to znane jako „backporting”. RedHat ma tutaj dobry opis . Sugeruję, aby poprosić twoich ochroniarzy o konkretne CVE, które są zainteresowani, aby upewnić się, że są załatane, a następnie użyj tego narzędzia redhat, aby ustalić, czy są one naprawione w uruchomionej wersji apache. Numer wersji można uzyskać, przygotowując wstępnie rpm -qa httpd.

whmcr
źródło
dobre z informacjami zbiorczymi
Mughil
8

Zakładam, że masz RHEL5 (lub odpowiednik).

Możesz powiedzieć facetowi od bezpieczeństwa, że ​​Red Hat stosuje odpowiednie aktualizacje zabezpieczeń z wersji 2.2.21 do pakietu 2.2.3, ale nie zmienia podstawowego numeru wersji. Będzie to wyglądało (jeśli używasz tylko numeru wersji pakietu), że używasz starszej wersji Apache, ale w rzeczywistości jesteś tak bezpieczny, jak 2.2.21. Jest to rodzaj długowiecznej dystrybucji korporacyjnej: zyskujesz spójność, a także poprawki.

Możesz to sprawdzić, uruchamiając coś takiego:

rpm -q --changelog httpd

Na przykład ostatnia poprawka pojawi się w dzienniku zmian:

* Thu Oct 06 2011 Joe Orton <[email protected]> - 2.2.3-53.3
- add security fix for CVE-2011-3368 (#743903)
- fix regressions in byterange handling (#736593)

Jeśli naprawdę potrzebujesz zainstalować 2.2.21, możesz go skompilować samodzielnie. Będzie to miało swoje złe konsekwencje dla bezpieczeństwa: jeśli ktoś znajdzie i naprawi nowy problem z Apache w przyszłym tygodniu, Red Hat przeportuje tę poprawkę i udostępni ją przez yum, ale twoja własna samodzielnie zbudowana Apache nie będzie miała tej poprawki, a ty Będę musiał ponownie przejść przez cały proces, aby zbudować i zainstalować nowy Apache.

cjc
źródło
OK, więc nie potrzebuję instalować 2.2.21. Spróbuję wyjaśnić, że moja bieżąca instalacja Apache zawiera wszystkie poprawki bezpieczeństwa. [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 <[email protected]> - 2.2.3-53.3.el5.centos - Roll in CentOS Branding * Fri Oct 07 2011 Joe Orton <[email protected]> - 2.2.3-53.3 - add security fix for CVE-2011-3368 (#743903) - fix regressions in byterange handling (#736593)
user1124133,
1
Ważne jest, aby wiedzieć, że źródłowa dystrybucja apache ma plik specyfikacji RPM. Możesz go użyć do zbudowania binarnego RPM Apache i zastąpienia tego dostarczonego z CentOS. Jednak, chyba że naprawdę musisz, lepiej trzymać się tego, który przyszedł Red Hat i pozwolić im obsłużyć aktualizacje.
Rilindo,
Czasami RH rozwiązuje problemy CVE nawet szybciej niż następne stabilne wydanie do pobrania. Więc jeśli chcesz załatać httpd bez ręcznego działania, trzymaj się dystrybucji!
Nils
Jak mogę uzyskać aktualizacje dla mojego serwera Apache? Kiedy uruchamiam 'rpm -qa httpd', pokazuje '2.2.3-43', co oznacza, że ​​muszę zaktualizować mój apache. Jak mogę ręcznie zaktualizować apache?
Gangadhar Jannu
2

Aby zbudować niestandardowy Apache na Red Hat (lub CentOS) bezpośrednio z góry, wykonaj następujące czynności:

  1. Zainstaluj następujące narzędzia: „mniam zainstaluj rpm-devel rpmdevtools rpm-build”
  2. Jako zwykły użytkownik uruchom rpmdev-setuptree. Utworzy katalog o nazwie „rpmbuild”.
  3. cd do ~ / rpmbuild / SOURCE i pobierz do tego katalogu archiwum źródłowe Apache z httpd.apache.org.
  4. Wyodrębnij z tego archiwum plik „httpd.spec” i skopiuj go do ~ / rpmbuild / SPECS
  5. Uruchom „rpmbuild -bb httpd.spec”, a rozpocznie się kompilacja i kompilacja rpms. Jeśli brakuje jakichś zależności, to zatrzyma się i powie ci. W tym momencie zainstaluj te pakiety przez yum i ponownie uruchom proces kompilacji (możesz tego uniknąć, patrząc na linię BuildPrereq w pliku .spec). W przeciwnym razie, zakładając, że nie będzie żadnych dalszych problemów, będziesz mógł skompilować własną wersję Apache. *

Lub zaoszczędź sobie pracy i pozwól Red Hat obsługiwać aktualizacje. Nie polecam tego robić, chyba że istnieje szczególna potrzeba kompilacji wcześniejszej, której nie może całkowicie zaspokoić kompilacja dostawcy

* Uwaga: W Red Hat 6 distcache nie jest już obsługiwany, więc musisz usunąć „--enable-distcache” z pliku .spec.

Rilindo
źródło
1

Łatka, którą próbujesz zastosować, służy do budowania za pomocą Microsoft Visual Studio. Wskazówka znajduje się w nagłówku łatki:

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

To tak naprawdę nie łata drzewa źródeł Apache do 2.2.4. Ale czy rzeczywiście próbowałeś zastosować to do SRPM?

Jak wspomina cjc, poprawki bezpieczeństwa Red Hat do dowolnej wersji, którą wysyłają, ale numer wersji niekoniecznie ulega awarii. I znowu, zawsze możesz sam skompilować Apache.

James O'Gorman
źródło