Apache를 2.2.3에서 2.2.21로 업그레이드하는 방법


9

YUM을 사용하여 아파치를 설치했습니다. 설치된 아파치 버전은 2.2.3입니다.

보안 담당자는 2.2.21 아파치를 사용하기를 원합니다.

yum 업데이트 'httpd'를 시도해도 아무 일도 일어나지 않습니다-업데이트로 표시된 패키지가 없습니다

패치와 관련하여 Apache 홈페이지 ( http://www.apache.org/dist/httpd/patches/ )를 확인했습니다 . 그들의 서면 지시에 따라 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

그리고 나는 그런 메시지를 받았다.

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 dev@httpd.apache.org,
|### 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:

내가 뭘 잘못하고 있니? Apatche를 2.2.21 버전으로 업데이트 할 수없는 이유는 무엇입니까?


1
하지마 아래를 참조하십시오.
Nils

답변:


16

2.2.x를 실행하려면 다른 RPM을 소스하거나 소스에서 빌드해야합니다.

그러나 2.2.3을 실행하기 때문에 RedHat Enterprise Linux 5 또는 그 파생물 중 하나 (CentOS 5 등)를 실행하고 있다고 의심됩니다. 2.2.3을 실행하는 동안 상당수의 침투 테스트 회사 또는 보안 담당자가 고려하지 않은 것을 알 수 있습니다. 2.2.3 이후 버전의 Apache에서 실제로 보안 픽스를 얻었습니다.

이것을 '백 포트'라고합니다. RedHat은 여기에 좋은 설명이 있습니다 . 보안 담당자에게 패치가 필요한지 확인하려는 특정 CVE를 요청한 다음 redhat 도구를 사용하여 실행중인 아파치 버전에서 수정되었는지 확인하십시오. 를 수행하여 버전 번호를 얻을 수 있습니다 rpm -qa httpd.


집단 정보에 좋은
Mughil

8

나는 당신이 RHEL5 (또는 동등한)를 가지고 있다고 가정합니다.

보안 담당자에게 Red Hat이 관련 보안 업데이트를 2.2.21에서 2.2.3 패키지로 적용하지만 기본 버전 번호는 변경하지 않는다고 알릴 수 있습니다. 패키지 버전 번호를 사용하는 경우 이전 Apache를 실행하는 것처럼 보이지만 실제로는 2.2.21만큼 안전합니다. 이는 오래 지속되는 엔터프라이즈 배포의 핵심입니다. 일관성뿐만 아니라 수정 사항도 얻을 수 있습니다.

다음과 같이 실행하여이를 확인할 수 있습니다.

rpm -q --changelog httpd

예를 들어 다음과 같은 최근 수정 사항이 변경 로그에 표시됩니다.

* Thu Oct 06 2011 Joe Orton <jorton@redhat.com> - 2.2.3-53.3
- add security fix for CVE-2011-3368 (#743903)
- fix regressions in byterange handling (#736593)

실제로 2.2.21을 설치해야하는 경우 직접 컴파일 할 수 있습니다. 다음 주에 Apache의 새로운 문제를 찾아서 수정하면 Red Hat은 해당 수정 사항을 백 포트하여 yum을 통해 사용 가능하게 만들지 만 자체 빌드 한 Apache에는 해당 수정 사항이 없습니다. 새로운 Apache를 빌드하고 설치하려면 전체 프로세스를 다시 수행해야합니다.


그렇다면 2.2.21을 설치할 필요가 없습니다. 현재 Apache 설치에 모든 보안 수정 사항이 포함되어 있는지 확인합니다. [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 <johnny@centos.org> - 2.2.3-53.3.el5.centos - Roll in CentOS Branding * Fri Oct 07 2011 Joe Orton <jorton@redhat.com> - 2.2.3-53.3 - add security fix for CVE-2011-3368 (#743903) - fix regressions in byterange handling (#736593)
user1124133

1
소스 아파치 배포에는 RPM 사양 파일이 있다는 것을 알아야합니다. 이를 사용하여 Apache 바이너리 RPM을 빌드하고 CentOS와 함께 제공된 RPM을 바꿀 수 있습니다. 그러나 실제로 필요한 경우가 아니면 Red Hat과 함께 제공되는 업데이트를 사용하여 업데이트를 처리하도록하는 것이 좋습니다.
Rilindo

때때로 RH는 다음 안정적인 다운로드 릴리스보다 CVE 문제를 훨씬 빠르게 해결합니다. 따라서 수동 조치없이 패치 된 httpd를 원한다면 배포판을 고수하십시오!
Nils

Apache 서버의 업데이트를 어떻게받을 수 있습니까? 'rpm -qa httpd'를 실행하면 '2.2.3-43'이 표시되어 아파치를 업데이트해야합니다. 어떻게 아파치를 수동으로 업데이트 할 수 있습니까?
Gangadhar Jannu

2

업스트림에서 직접 Red Hat (또는 CentOS)에 사용자 정의 Apache를 빌드하려면 다음을 수행해야합니다.

  1. 다음 도구를 설치하십시오. "yum install rpm-devel rpmdevtools rpm-build"
  2. 일반 사용자로서 rpmdev-setuptree를 실행하십시오. "rpmbuild"라는 디렉토리를 만듭니다.
  3. ~ / rpmbuild / SOURCE로 cd하고 httpd.apache.org에서 Apache 소스 tarball을 해당 디렉토리로 다운로드하십시오.
  4. 해당 tarball에서 "httpd.spec"파일을 추출하여 ~ / rpmbuild / SPECS에 복사하십시오.
  5. "rpmbuild -bb httpd.spec"을 실행하면 컴파일이 시작되고 rpm이 빌드됩니다. 누락 된 종속성이 있으면 중지되고 알려줍니다. 이 시점에서 yum을 통해 해당 패키지를 설치하고 빌드 프로세스를 다시 시작하십시오 (.spec 파일의 BuildPrereq 행을 보면이를 피할 수 있습니다). 그렇지 않으면 더 이상 문제가 없다고 가정하면 자신의 Apache 빌드를 컴파일 할 수 있습니다. *

또는 작업 내용을 저장하고 Red Hat이 업데이트를 처리하도록하십시오. 벤더 빌드에서 절대 만족할 수없는 업스트림 빌드가 필요하지 않은 경우에는이 작업을 수행하지 않는 것이 좋습니다.

* 참고 : Red Hat 6에서는 distcache가 더 이상 지원되지 않으므로 .spec 파일에서 "--enable-distcache"를 제거해야합니다.


1

적용하려는 패치는 Microsoft Visual Studio로 빌드하기위한 것입니다. 단서는 패치 헤더에 있습니다.

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

이것은 실제로 Apache 소스 트리를 2.2.4로 패치하지 않습니다. 그러나 실제로 이것을 SRPM에 적용하려고 했습니까?

으로 CJC 언급 그들이 제공 어떤 버전으로 레드햇 백 포트 보안 수정을하지만, 버전 번호는 반드시 충돌되지 않습니다. 그리고 다시 한 번 아파치를 직접 컴파일 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.