Como atualizar o Apache de 2.2.3 para 2.2.21

9

Usando o YUM, instalei o apache. A versão do apache instalada é 2.2.3

Nosso segurança quer que usemos o 2.2.21 apache

Quando eu tento yum update 'httpd' nada acontece - Nenhum pacote marcado para Update

Eu verifiquei a página inicial do Apache ( link ) com relação aos patches. Com base nas instruções por escrito, tento instalar o patch 2.2.4 ( link )

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

E eu recebi essa mensagem:

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:

O que estou fazendo errado? Por que não consigo atualizar o Apatche para a versão 2.2.21?

    
por user1124133 31.12.2011 / 12:32

4 respostas

16

Para rodar o 2.2.x, você precisaria buscar outro RPM - ou compilá-lo a partir do código-fonte.

Eu suspeito, no entanto, desde que você está executando o 2.2.3 que você está executando o RedHat Enterprise Linux 5 ou um de seus derivados (CentOS 5 etc). Você descobrirá que um número considerável de empresas de teste de invasão ou agentes de segurança não levam em conta que, enquanto você está executando o 2.2.3, você tem correções de segurança de revisões posteriores do Apache.

Isso é conhecido como "backporting". RedHat tem uma boa descrição aqui . Eu sugeriria solicitar aos seus agentes de segurança os CVEs específicos que eles estão interessados em garantir que sejam corrigidos, e então usar isto rpm -qa httpd .

    
por 31.12.2011 / 13:03
8

Eu suponho que você tenha RHEL5 (ou o equivalente).

Você pode dizer ao segurança que a Red Hat aplica as atualizações de segurança relevantes do 2.2.21 ao seu pacote 2.2.3, mas não altera o número da versão base. Ele irá (se você está indo apenas pelo número da versão do pacote) parece que você está rodando o Apache mais antigo, mas na verdade você é tão seguro quanto o 2.2.21. Esse é o tipo de distribuição empresarial de longa duração: você obtém consistência, bem como correções.

Você pode verificar isso executando algo como:

rpm -q --changelog httpd

Por exemplo, você verá essa correção recente no changelog:

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

Se você realmente precisa instalar o 2.2.21, você mesmo pode compilá-lo. Isso terá suas próprias implicações de segurança ruins: se alguém encontrar e consertar um novo problema com o Apache na próxima semana, a Red Hat fará o backport dessa correção e a disponibilizará através do yum, mas seu próprio Apache não terá essa correção, e você Teremos que passar por todo o processo novamente para construir e instalar um novo Apache.

    
por 31.12.2011 / 13:00
2

Para construir um Apache personalizado no Red Hat (ou CentOS) diretamente do upstream, você deve fazer o seguinte:

  1. Instale as seguintes ferramentas: "yum install rpm-devel rpmdevtools rpm-build"
  2. Como usuário comum, execute o rpmdev-setuptree. Ele irá criar um diretório chamado "rpmbuild".
  3. cd para ~ / rpmbuild / SOURCE e faça o download desse tarball de origem do Apache a partir do httpd.apache.org.
  4. Extraia desse tarball o arquivo "httpd.spec" e copie-o para ~ / rpmbuild / SPECS
  5. Execute "rpmbuild -bb httpd.spec" e ele começará a compilar e construir o rpms. Se houver qualquer dependência ausente, ela irá parar e lhe dizer. Nesse ponto, instale esses pacotes pelo yum e reinicie o processo de compilação novamente (você pode evitar isso observando a linha BuildPrereq no arquivo .spec). Caso contrário, assumindo que não há mais problemas, você poderá compilar sua própria compilação do Apache. *

Ou salve o trabalho e deixe a Red Hat cuidar das atualizações. Eu não recomendo que você faça isso, a menos que haja uma necessidade específica de uma compilação upstream que não possa ser absolutamente satisfeita por uma compilação de fornecedor

* Nota: Sob o Red Hat 6, o distcache não é mais suportado, então você precisará remover "--enable-distcache" do arquivo .spec.

    
por 31.12.2011 / 22:14
1

O patch que você tentou aplicar é para criar com o Microsoft Visual Studio. A pista está no cabeçalho do patch:

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

Isso na verdade não corrige uma árvore fonte do Apache para o 2.2.4. Mas você estava realmente tentando aplicar isso ao SRPM?

Como cjc menciona as correções de segurança backport da Red Hat para qualquer versão que elas enviam, mas o número da versão não é necessariamente afetado . E mais uma vez, você sempre pode compilar o Apache.

    
por 31.12.2011 / 16:56