Cómo actualizar Apache de 2.2.3 a 2.2.21

9

Usando YUM instalé apache. La versión de apache instalada es 2.2.3

Nuestro chico de seguridad quiere que usemos 2.2.21 apache

Cuando intento yum update 'httpd' no pasa nada: no hay paquetes marcados para actualizar

Revisé la página de inicio de Apache ( http://www.apache.org/dist/httpd/patches/ ) con respecto a los parches. Según sus instrucciones escritas, intento instalar el parche 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

Y recibí ese mensaje:

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é estoy haciendo incorrecto? ¿Por qué no puedo actualizar Apatche a la versión 2.2.21?

usuario1124133
fuente
1
No lo hagas. Vea abajo.
Nils

Respuestas:

16

Para ejecutar 2.2.x, necesitaría obtener otro RPM, o construirlo desde la fuente.

Sin embargo, sospecho que desde que está ejecutando 2.2.3 está ejecutando RedHat Enterprise Linux 5 o uno de sus derivados (CentOS 5, etc.). Descubrirá que un número considerable de compañías de pruebas de penetración u oficiales de seguridad no tienen en cuenta que, mientras ejecuta 2.2.3, en realidad recibió correcciones de seguridad de revisiones posteriores de Apache.

Esto se conoce como 'backporting'. RedHat tiene una buena descripción aquí . Sugeriría que solicite a sus personas de seguridad los CVE específicos que están interesados ​​en asegurarse de que estén parcheados, y luego use esta herramienta de redhat para identificar si están corregidos en la versión de apache que está ejecutando. Puede obtener el número de versión preformando rpm -qa httpd.

whmcr
fuente
bueno con información colectiva
Mughil
8

Supongo que tienes RHEL5 (o el equivalente).

Puede decirle al encargado de seguridad que Red Hat aplica las actualizaciones de seguridad relevantes de 2.2.21 a su paquete 2.2.3, pero no cambia el número de versión base. (Si solo va por el número de versión del paquete) parecerá que está ejecutando el Apache más antiguo, pero de hecho será tan seguro como 2.2.21. Ese es el punto de las distribuciones empresariales de larga duración: obtienes consistencia, así como soluciones.

Puede verificar esto ejecutando algo como:

rpm -q --changelog httpd

Por ejemplo, verá esta solución reciente en el registro de cambios:

* 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 realmente necesita instalar 2.2.21, puede compilarlo usted mismo. Esto tendrá sus propias implicaciones de seguridad: si alguien encuentra y soluciona un nuevo problema con Apache la próxima semana, Red Hat respaldará esa solución y la pondrá a disposición a través de yum, pero su propio Apache autoconstruido no tendrá esa solución, y usted Tendré que pasar por todo el proceso nuevamente para construir e instalar un nuevo Apache.

cjc
fuente
OK, entonces no necesito instalar 2.2.21. Los intentaré explicando que mi instalación actual de Apache incluye todas las correcciones de seguridad. [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
Es importante saber que la distribución fuente de apache tiene un archivo de especificaciones RPM. Puede usar eso para construir un RPM binario de Apache y reemplazar el que viene con CentOS. Sin embargo, a menos que realmente tenga que hacerlo, sería mejor quedarse con el que vino con Red Hat y dejar que se encarguen de las actualizaciones.
Rilindo
A veces, RH soluciona los problemas de CVE incluso más rápido que la próxima versión de descarga estable. Entonces, si desea un httpd parcheado sin acción manual, ¡quédese con la distribución!
Nils
¿Cómo puedo obtener las actualizaciones para mi servidor apache? Cuando ejecuto 'rpm -qa httpd' muestra '2.2.3-43', lo que significa que necesito actualizar mi apache. Entonces, ¿cómo puedo actualizar Apache manualmente?
Gangadhar Jannu
2

Para crear un Apache personalizado en Red Hat (o CentOS) directamente desde la parte superior, debe hacer lo siguiente:

  1. Instale las siguientes herramientas: "yum install rpm-devel rpmdevtools rpm-build"
  2. Como usuario habitual, ejecute rpmdev-setuptree. Creará un directorio llamado "rpmbuild".
  3. cd a ~ / rpmbuild / SOURCE y descargue en ese directorio el tarball fuente de Apache desde httpd.apache.org.
  4. Extraiga de ese archivo tar el archivo "httpd.spec" y cópielo en ~ / rpmbuild / SPECS
  5. Ejecute "rpmbuild -bb httpd.spec" y comenzará a compilar y compilar los rpms. Si faltan dependencias, se detendrá y se lo informará. En ese momento, instale esos paquetes a través de yum y reinicie el proceso de compilación nuevamente (puede evitar esto mirando la línea BuildPrereq en el archivo .spec). De lo contrario, suponiendo que no haya más problemas, podrá compilar su propia compilación de Apache. *

O ahórrese el trabajo y deje que Red Hat se encargue de las actualizaciones. No le recomiendo que haga esto a menos que exista una necesidad específica de una compilación ascendente que no pueda ser satisfecha absolutamente por una compilación del proveedor

* Nota: En Red Hat 6, distcache ya no es compatible, por lo que deberá eliminar "--enable-distcache" del archivo .spec.

Rilindo
fuente
1

El parche que ha intentado aplicar es para compilar con Microsoft Visual Studio. La pista está en el encabezado del parche:

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

En realidad, esto no parchea un árbol fuente de Apache a 2.2.4. ¿Pero realmente intentabas aplicar esto al SRPM?

Como cjc menciona las correcciones de seguridad de backport de Red Hat a cualquier versión que envíen, pero el número de versión no necesariamente se elimina. Y de nuevo, siempre puedes compilar Apache tú mismo.

James O'Gorman
fuente