Cách nâng cấp Apache từ 2.2.3 lên 2.2.21


9

Sử dụng YUM tôi đã cài đặt apache. Phiên bản apache đã cài đặt là 2.2.3

Anh chàng bảo mật của chúng tôi muốn rằng chúng tôi sử dụng apache 2.2,21

Khi tôi thử cập nhật yum 'httpd', không có gì xảy ra - Không có Gói nào được đánh dấu cho Cập nhật

Tôi đã kiểm tra trang chủ Apache ( http://www.apache.org/dist/httpd/patches/ ) về các bản vá. Dựa trên hướng dẫn bằng văn bản của họ, tôi cố gắng cài đặt bản vá 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

Và tôi nhận được tin nhắn như vậy:

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:

Những gì tôi đang làm không chính xác? Tại sao tôi không thể cập nhật Apatche lên phiên bản 2.2.21?


1
Đừng làm điều đó. Xem bên dưới.
Nils

Câu trả lời:


16

Để chạy 2.2.x, bạn cần phải cung cấp một RPM khác - hoặc xây dựng nó từ nguồn.

Tuy nhiên, tôi nghi ngờ vì bạn đang chạy 2.2.3 rằng bạn đang chạy RedHat Enterprise Linux 5 hoặc một trong những dẫn xuất của nó (CentOS 5, v.v.). Bạn sẽ thấy rằng một số lượng lớn các công ty kiểm tra thâm nhập hoặc nhân viên an ninh không tính đến điều đó trong khi bạn đang chạy 2.2.3, bạn thực sự đã có các bản sửa lỗi bảo mật từ các phiên bản sau của Apache.

Điều này được gọi là "backporting". RedHat có một mô tả tốt ở đây . Tôi sẽ đề nghị yêu cầu từ nhân viên bảo mật của bạn về CVE cụ thể mà họ quan tâm để đảm bảo rằng nó đã được vá, và sau đó sử dụng công cụ redhat này để xác định xem chúng có được sửa trong phiên bản apache mà bạn đang chạy không. Bạn có thể lấy số phiên bản bằng cách tạo khuôn rpm -qa httpd.


tốt với thông tin tập thể
Mughil

8

Tôi giả sử bạn có RHEL5 (hoặc tương đương).

Bạn có thể nói với anh chàng bảo mật rằng Red Hat áp dụng các bản cập nhật bảo mật có liên quan từ 2.2.21 cho gói 2.2.3, nhưng không thay đổi số phiên bản cơ sở. Nó sẽ (nếu bạn chỉ đi theo số phiên bản gói) trông giống như bạn đang chạy Apache cũ hơn, nhưng thực tế bạn vẫn an toàn như 2.2.21. Đó là điểm của các bản phân phối doanh nghiệp tồn tại lâu dài: bạn có được sự nhất quán, cũng như các bản sửa lỗi.

Bạn có thể xác minh điều này bằng cách chạy một cái gì đó như:

rpm -q --changelog httpd

Ví dụ: bạn sẽ thấy bản sửa lỗi gần đây này trong thay đổi:

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

Nếu bạn thực sự, thực sự cần cài đặt 2.2.21, bạn có thể tự biên dịch nó. Điều này sẽ có ý nghĩa bảo mật xấu của riêng nó: nếu ai đó tìm thấy và khắc phục sự cố mới với Apache vào tuần tới, Red Hat sẽ đưa ra bản sửa lỗi đó và cung cấp thông qua yum, nhưng Apache tự xây dựng của bạn sẽ không có cách khắc phục đó, và bạn sẽ phải trải qua toàn bộ quá trình một lần nữa để xây dựng và cài đặt một Apache mới.


OK, sau đó tôi không cần cài đặt 2.2.21. Tôi sẽ thử họ giải thích rằng cài đặt Apache hiện tại của tôi bao gồm tất cả các bản sửa lỗi bảo mật. [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)
dùng1124133

1
Điều quan trọng cần biết là phân phối apache nguồn có tệp spec RPM. Bạn có thể sử dụng điều đó để xây dựng RPM nhị phân Apache và thay thế RPM đi kèm với CentOS. Tuy nhiên, trừ khi bạn thực sự phải làm, sẽ tốt hơn nếu gắn bó với Red Hat và để họ xử lý các bản cập nhật.
Rilindo

Đôi khi, RH khắc phục các sự cố CVE thậm chí nhanh hơn bản phát hành tải xuống ổn định tiếp theo. Vì vậy, nếu bạn muốn một httpd vá mà không có hành động thủ công, hãy bám vào bản phân phối!
Nils

Làm thế nào tôi có thể nhận được các bản cập nhật cho máy chủ apache của tôi. Khi tôi chạy 'rpm -qa httpd', nó đang hiển thị '2.2.3-43', điều đó có nghĩa là tôi cần cập nhật apache của mình. Vậy làm thế nào tôi có thể cập nhật apache bằng tay?
Gangadhar Jannu

2

Để xây dựng một Apache tùy chỉnh trên Red Hat (hoặc CentOS) trực tiếp từ thượng nguồn, bạn nên làm như sau:

  1. Cài đặt các công cụ sau: "yum cài đặt rpm-devel rpmdevtools rpm-build"
  2. Là người dùng thông thường, hãy chạy rpmdev-setuptree. Nó sẽ tạo một thư mục gọi là "rpmbuild".
  3. cd đến ~ / rpmbuild / SOURCE và tải xuống thư mục đó tarball nguồn Apache từ httpd.apache.org.
  4. Trích xuất từ ​​tarball đó tập tin "httpd.spec" và sao chép nó vào ~ / rpmbuild / THÔNG TIN
  5. Chạy "rpmbuild -bb httpd.spec" và nó sẽ bắt đầu biên dịch và xây dựng các rpms. Nếu có bất kỳ phụ thuộc bị thiếu, nó sẽ dừng lại và cho bạn biết. Tại thời điểm đó, hãy cài đặt các gói đó qua yum và khởi động lại quá trình xây dựng (bạn có thể tránh điều này bằng cách xem dòng BuildPrereq trong tệp .spec). Mặt khác, giả sử không có vấn đề gì thêm, bạn sẽ có thể biên dịch bản dựng Apache của riêng bạn. *

Hoặc tự lưu công việc và để Red Hat xử lý các bản cập nhật. Tôi không khuyên bạn nên làm điều này trừ khi có nhu cầu cụ thể đối với bản dựng ngược dòng mà bản dựng nhà cung cấp không thể hoàn toàn hài lòng

* Lưu ý: Trong Red Hat 6, distcache không còn được hỗ trợ, vì vậy bạn sẽ cần xóa "--enable-distcache" khỏi tệp .spec.


1

Bản vá bạn đã thử áp dụng là để xây dựng với Microsoft Visual Studio. Manh mối nằm trong tiêu đề của bản vá:

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

Điều này không thực sự vá một cây nguồn Apache thành 2.2.4. Nhưng bạn có thực sự đang cố gắng áp dụng điều này cho SRPM không?

Như cjc đề cập đến bảo mật backport của Red Hat sửa sang bất kỳ phiên bản nào họ gửi nhưng số phiên bản không nhất thiết bị lỗi. Và một lần nữa, bạn luôn có thể tự biên dịch Apache.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.