Como atualizar o Apache de 2.2.3 para 2.2.21

9

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

Nosso segurança quer usar o apache 2.2.21

Quando tento atualizar o yum 'httpd', nada acontece - nenhum pacote marcado para atualização

Eu verifiquei a página inicial do Apache ( http://www.apache.org/dist/httpd/patches/ ) em relação a patches. Com base nas instruções escritas, tento instalar o patch 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

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 de errado? Por que não consigo atualizar o Apatche para a versão 2.2.21?

user1124133
fonte
1
Não faça isso. Ver abaixo.
Nils

Respostas:

16

Para executar o 2.2.x, você precisa obter outro RPM - ou construí-lo a partir do código-fonte.

Eu suspeitaria, no entanto, já que você está executando o 2.2.3, que 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 penetração ou agentes de segurança não leva em consideração que, enquanto você estiver executando o 2.2.3, você realmente recebeu correções de segurança nas revisões posteriores do Apache.

Isso é conhecido como 'backporting'. RedHat tem uma boa descrição aqui . Eu sugeriria solicitar de seus funcionários de segurança os CVEs específicos que eles estão interessados ​​em garantir que sejam corrigidos e, em seguida, use essa ferramenta redhat para identificar se eles foram corrigidos na versão do apache que você está executando. Você pode obter o número da versão pré-formando rpm -qa httpd.

whmcr
fonte
bom com informações coletivas
Mughil 31/12/11
8

Suponho que você tenha RHEL5 (ou equivalente).

Você pode dizer ao responsável pela segurança que a Red Hat aplica as atualizações de segurança relevantes da 2.2.21 ao seu pacote 2.2.3, mas não altera o número da versão base. Ele (se você estiver apenas seguindo o número da versão do pacote) parecerá estar executando o Apache mais antigo, mas na verdade você estará tão seguro quanto o 2.2.21. Esse é o objetivo das distribuições corporativas de longa duração: você obtém consistência e correções.

Você pode verificar isso executando algo como:

rpm -q --changelog httpd

Por exemplo, você verá esta correção recente no registro de alterações:

* 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, pode compilar você mesmo. Isso terá suas próprias implicações ruins de segurança: se alguém encontrar e corrigir 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 auto-construído não terá essa correção, e você terá que passar por todo o processo novamente para criar e instalar um novo Apache.

cjc
fonte
OK, então não preciso instalar o 2.2.21. Vou tentar explicar que minha instalação atual do Apache inclui todas as correções de segurança. [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
É importante saber que a distribuição apache de origem possui um arquivo de especificação RPM. Você pode usar isso para criar um RPM binário do Apache e substituir o que acompanha o CentOS. No entanto, a menos que você precise, seria melhor ficar com o que veio da Red Hat e deixá-los lidar com as atualizações.
Rilindo
Às vezes, o RH corrige os problemas do CVE ainda mais rapidamente que a próxima versão estável do download. Portanto, se você quiser um httpd corrigido sem ação manual, atenha-se à distribuição!
Nils
Como posso obter as atualizações para o meu servidor apache. Quando executo 'rpm -qa httpd', ele mostra '2.2.3-43', o que significa que preciso atualizar meu apache. Então, como posso atualizar o apache manualmente?
Gangadhar Jannu
2

Para criar um Apache personalizado no Red Hat (ou CentOS) diretamente do upstream, faça o seguinte:

  1. Instale as seguintes ferramentas: "yum install rpm-devel rpmdevtools rpm-build"
  2. Como usuário regular, execute rpmdev-setuptree. Ele criará um diretório chamado "rpmbuild".
  3. cd para ~ / rpmbuild / SOURCE e baixe nesse diretório o tarball de origem do Apache em httpd.apache.org.
  4. Extraia desse arquivo o arquivo "httpd.spec" e copie-o para ~ / rpmbuild / SPECS
  5. Execute "rpmbuild -bb httpd.spec" e ele começará a compilar e construir os rpms. Se houver alguma dependência faltando, ela será interrompida e você informará. Nesse ponto, instale esses pacotes via yum e reinicie o processo de compilação (você pode evitar isso consultando 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-se o trabalho e deixe a Red Hat lidar com as 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 totalmente satisfeita por uma compilação de fornecedor

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

Rilindo
fonte
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

Na verdade, isso não corrige uma árvore de origem do Apache para 2.2.4. Mas você estava realmente tentando aplicar isso ao SRPM?

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

James O'Gorman
fonte