Comment mettre à niveau Apache de 2.2.3 à 2.2.21

9

En utilisant YUM, j'ai installé apache. La version apache installée est 2.2.3

Notre responsable de la sécurité veut que nous utilisions Apache 2.2.21

Lorsque j'essaie la mise à jour yum 'httpd', rien ne se passe - Aucun package marqué pour la mise à jour

J'ai vérifié la page d'accueil d'Apache ( http://www.apache.org/dist/httpd/patches/ ) concernant les correctifs. Sur la base de leurs instructions écrites, j'essaie d'installer le correctif 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

Et j'ai reçu un tel message:

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:

Qu'est-ce que je fais de mal? Pourquoi je ne peux pas mettre à jour Apatche vers la version 2.2.21?

user1124133
la source
1
Ne le fais pas. Voir ci-dessous.
Nils

Réponses:

16

Pour exécuter 2.2.x, vous devez soit générer un autre RPM, soit le construire à partir du code source.

Je soupçonne cependant, puisque vous exécutez 2.2.3, que vous exécutez RedHat Enterprise Linux 5 ou l'un de ses dérivés (CentOS 5, etc.). Vous constaterez qu'un nombre important de sociétés de tests d'intrusion ou d'agents de sécurité ne tiennent pas compte du fait que, pendant que vous exécutez la version 2.2.3, vous avez réellement obtenu des correctifs de sécurité provenant des révisions ultérieures d'Apache.

C'est ce qu'on appelle le «rétroportage». RedHat a une bonne description ici . Je suggère de demander à vos responsables de la sécurité les CVE spécifiques qu'ils souhaitent s'assurer qu'ils sont corrigés, puis d'utiliser cet outil de redhat pour identifier s'ils sont corrigés dans la version d'Apache que vous exécutez. Vous pouvez obtenir le numéro de version en préformant rpm -qa httpd.

whmcr
la source
bon avec des infos collectives
Mughil
8

Je suppose que vous avez RHEL5 (ou l'équivalent).

Vous pouvez dire au responsable de la sécurité que Red Hat applique les mises à jour de sécurité pertinentes de 2.2.21 à son package 2.2.3, mais ne change pas le numéro de version de base. Il semblera (si vous utilisez uniquement le numéro de version du package) que vous exécutez l'ancien Apache, mais vous êtes en fait aussi sûr que 2.2.21. C'est en quelque sorte l'intérêt des distributions d'entreprise à long terme: vous obtenez de la cohérence, ainsi que des correctifs.

Vous pouvez le vérifier en exécutant quelque chose comme:

rpm -q --changelog httpd

Par exemple, vous verrez ce correctif récent dans le journal des modifications:

* 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)

Si vous avez vraiment, vraiment besoin d'installer 2.2.21, vous pouvez le compiler vous-même. Cela aura ses propres implications en matière de sécurité: si quelqu'un trouve et corrige un nouveau problème avec Apache la semaine prochaine, Red Hat rétroportera ce correctif et le rendra disponible via yum, mais votre propre Apache auto-construit n'aura pas ce correctif, et vous Je vais devoir recommencer tout le processus pour construire et installer un nouvel Apache.

cjc
la source
OK, alors je n'ai pas besoin d'installer 2.2.21. Je vais les essayer d'expliquer que mon installation Apache actuelle comprend tous les correctifs de sécurité. [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
Il est important de savoir que la distribution Apache source a un fichier de spécifications RPM. Vous pouvez l'utiliser pour créer un RPM binaire Apache et remplacer celui fourni avec CentOS. Cependant, à moins que vous ne soyez vraiment obligé de le faire, il serait préférable de vous en tenir à celui fourni avec Red Hat et de les laisser gérer les mises à jour.
Rilindo
Parfois, RH corrige les problèmes CVE encore plus rapidement que la prochaine version stable de téléchargement. Donc, si vous voulez un httpd patché sans action manuelle, respectez la distribution!
Nils
Comment puis-je obtenir les mises à jour de mon serveur apache. Lorsque je lance «rpm -qa httpd», il affiche «2.2.3-43», ce qui signifie que je dois mettre à jour mon apache. Alors, comment puis-je mettre à jour Apache manuellement?
Gangadhar Jannu
2

Pour créer un Apache personnalisé sur Red Hat (ou CentOS) directement à partir de l'amont, vous devez procéder comme suit:

  1. Installez les outils suivants: "yum install rpm-devel rpmdevtools rpm-build"
  2. En tant qu'utilisateur régulier, exécutez rpmdev-setuptree. Il créera un répertoire appelé "rpmbuild".
  3. cd dans ~ / rpmbuild / SOURCE et téléchargez dans ce répertoire l'archive source Apache depuis httpd.apache.org.
  4. Extrayez de cette archive tar le fichier "httpd.spec" et copiez-le dans ~ / rpmbuild / SPECS
  5. Exécutez "rpmbuild -bb httpd.spec" et il commencera à compiler et à construire les rpms. S'il y a des dépendances manquantes, il s'arrêtera et vous le dira. À ce stade, installez ces packages via yum et redémarrez à nouveau le processus de génération (vous pouvez éviter cela en consultant la ligne BuildPrereq dans le fichier .spec). Sinon, en supposant qu'aucun autre problème ne se pose, vous pourrez compiler votre propre version d'Apache. *

Ou enregistrez-vous le travail et laissez Red Hat gérer les mises à jour. Je ne vous recommande pas de le faire à moins qu'il y ait un besoin spécifique pour une build en amont qui ne peut absolument pas être satisfaite par une build de fournisseur

* Remarque: Sous Red Hat 6, distcache n'est plus pris en charge, vous devrez donc supprimer "--enable-distcache" du fichier .spec.

Rilindo
la source
1

Le correctif que vous avez essayé d'appliquer est destiné à la construction avec Microsoft Visual Studio. L'indice est dans l'en-tête du patch:

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

Cela ne corrige pas réellement une arborescence source Apache à 2.2.4. Mais essayiez-vous réellement d'appliquer cela au SRPM?

Comme le mentionne le cjc, les correctifs de sécurité du backport de Red Hat quelle que soit la version qu'ils livrent, mais le numéro de version n'est pas nécessairement modifié. Et encore une fois, vous pouvez toujours compiler Apache vous-même.

James O'Gorman
la source