Làm cách nào để cập nhật apache2 lên phiên bản mới nhất trên Debian jessie?


16

Trong máy Debian của tôi, phiên bản hiện tại của apache2 là 2.4.10:

root@9dd0fd95a309:/# apachectl -V
Server version: Apache/2.4.10 (Debian)

Tôi muốn nâng cấp apache lên phiên bản mới nhất (ít nhất là 2.4,26): Tôi đã thử:

root@9dd0fd95a309:/# apt-get install apache2
Reading package lists... Done
Building dependency tree
Reading state information... Done
apache2 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 48 not upgraded.

Nhưng nó không tìm thấy bất kỳ cập nhật. Tôi có thể làm gì để nâng cấp lên phiên bản mới nhất?

nhập mô tả hình ảnh ở đây


Bạn sử dụng phiên bản Debian nào?
Ngày

1
Tại sao bạn muốn nâng cấp?
Stephen Kitt

1
@wawanopoulos: Jessie vẫn được hỗ trợ, vì vậy bạn nên mong đợi các bản vá bảo mật hoặc backport hiển thị ngay cả khi số phiên bản khác với ngược dòng.
Kevin

1
Không có gì để sửa chữa.
Stephen Kitt

1
Chúng được cố định trong gói Debian. Báo cáo Tenable hoàn toàn dựa trên số phiên bản, không may không hoạt động với nhiều gói phân phối.
Stephen Kitt

Câu trả lời:


32

Đừng tự nâng cấp Apache.

Nâng cấp thủ công để bảo mật là không cần thiết và có thể có hại.

Cách Debian phát hành phần mềm

Để xem lý do tại sao, bạn phải hiểu cách Debian xử lý các vấn đề về bao bì, phiên bản và bảo mật. Vì Debian đánh giá sự ổn định của các thay đổi, chính sách là đóng băng các phiên bản phần mềm trong các gói phát hành ổn định. Điều này có nghĩa là để phát hành ổn định rất ít thay đổi, và một khi mọi thứ hoạt động, họ nên tiếp tục làm việc trong một thời gian dài.

Nhưng, điều gì sẽ xảy ra nếu một lỗi nghiêm trọng hoặc sự cố bảo mật được phát hiện sau khi phát hành phiên bản ổn định Debian? Chúng đã được sửa, trong phiên bản phần mềm được cung cấp với Debian ổn định . Vì vậy, nếu Debian ổn định với Apache 2.4.10, một vấn đề bảo mật được tìm thấy và khắc phục 2.4.26, Debian sẽ thực hiện sửa lỗi bảo mật này và áp dụng nó 2.4.10và phân phối bản sửa lỗi 2.4.10cho người dùng. Điều này giảm thiểu sự gián đoạn từ việc nâng cấp phiên bản, nhưng nó làm cho phiên bản đánh hơi như Tenable trở nên vô nghĩa.

Các lỗi nghiêm trọng được thu thập và sửa trong các bản phát hành điểm ( .9trong Debian 8.9) cứ sau vài tháng. Sửa lỗi bảo mật được sửa chữa ngay lập tức và được cung cấp thông qua một kênh cập nhật.

Nói chung, miễn là bạn chạy phiên bản Debian được hỗ trợ, hãy gắn bó với các gói Debian và cập nhật các bản cập nhật bảo mật của chúng, bạn sẽ ổn.

Báo cáo có thể sử dụng của bạn

Để kiểm tra xem Debian ổn định có dễ bị tổn thương đối với các sự cố của bạn hay không, "2.4.x <2.4.27 nhiều vấn đề" của Tenable là vô ích. Chúng ta cần biết chính xác vấn đề bảo mật mà họ đang nói đến. May mắn thay, mọi lỗ hổng đáng kể đều được gán một mã định danh Lỗ hổng và Phơi nhiễm Chung (CVE), vì vậy chúng ta có thể nói chuyện dễ dàng về các lỗ hổng cụ thể.

Ví dụ: trên trang này cho vấn đề Tenable 101788, chúng ta có thể thấy rằng vấn đề đó là về các lỗ hổng CVE-2017-9788 và CVE-2017-9789. Chúng tôi có thể tìm kiếm các lỗ hổng này trên trình theo dõi bảo mật Debian . Nếu chúng tôi làm điều đó, chúng tôi có thể thấy rằng CVE-2017-9788 có trạng thái "cố định" trong hoặc trước phiên bản 2.4.10-10+deb8u11. Tương tự, CVE-2017-9789 là cố định .

Vấn đề có thể có 10095 là về CVE-2017-3167 , CVE-2017-3169 , CVE-2017-7659 , CVE-2017-7668CVE-2017-7679 , tất cả đã được sửa.

Vì vậy, nếu bạn đang ở phiên bản 2.4.10-10+deb8u11, bạn nên an toàn trước tất cả các lỗ hổng này! Bạn có thể kiểm tra điều này với dpkg -l apache2(đảm bảo thiết bị đầu cuối của bạn đủ rộng để hiển thị số phiên bản đầy đủ).

Luôn cập nhật

Vậy, làm thế nào để bạn đảm bảo bạn cập nhật các bản cập nhật bảo mật này?

Trước tiên, bạn cần phải có kho lưu trữ bảo mật trong /etc/apt/sources.listhoặc /etc/apt/sources.list.d/*, một cái gì đó như thế này:

deb http://security.debian.org/ jessie/updates main

Đây là một phần bình thường của bất kỳ cài đặt nào, bạn không cần phải làm gì đặc biệt.

Tiếp theo, bạn phải đảm bảo rằng bạn cài đặt các gói cập nhật. Đây là trách nhiệm của bạn; nó không được thực hiện tự động. Một cách đơn giản nhưng tẻ nhạt là đăng nhập thường xuyên và chạy

# apt-get update
# apt-get upgrade

Đánh giá từ thực tế là bạn báo cáo phiên bản Debian của mình là 8.8 (chúng tôi ở mức 8,9) và ... and 48 not upgraded.từ bài đăng của bạn, bạn có thể muốn thực hiện việc này sớm.

Để được thông báo về các cập nhật bảo mật, tôi rất khuyên bạn nên đăng ký vào danh sách gửi thư thông báo bảo mật Debian .

Một tùy chọn khác là đảm bảo máy chủ của bạn có thể gửi email cho bạn và cài đặt gói như apticron , email sẽ gửi cho bạn khi các gói trên hệ thống của bạn cần cập nhật. Về cơ bản, nó thường xuyên chạy apt-get updatephần, và làm phiền bạn để làm apt-get upgradephần đó.

Cuối cùng, bạn có thể cài đặt một cái gì đó như nâng cấp không giám sát , không chỉ kiểm tra các bản cập nhật mà còn tự động cài đặt các bản cập nhật mà không cần sự can thiệp của con người. Nâng cấp các gói tự động mà không có sự giám sát của con người mang đến một số rủi ro, vì vậy bạn cần tự quyết định xem đó có phải là giải pháp tốt cho bạn không. Tôi sử dụng nó và tôi hài lòng với nó, nhưng cập nhật cảnh báo.

Tại sao nâng cấp bản thân lại có hại?

Trong câu thứ hai của tôi, tôi đã nói nâng cấp lên phiên bản Apache mới nhất có lẽ có hại .

Lý do cho điều này rất đơn giản: nếu bạn theo dõi phiên bản Apache của Debian và tạo thói quen cài đặt các bản cập nhật bảo mật, thì bạn đang ở một vị trí tốt, khôn ngoan về bảo mật. Nhóm bảo mật của Debians xác định và khắc phục các sự cố bảo mật và bạn có thể tận hưởng công việc đó với nỗ lực tối thiểu.

Tuy nhiên, nếu bạn cài đặt Apache 2.4.27+, giả sử bằng cách tải xuống từ trang web của Apache và tự biên dịch nó, thì công việc theo kịp các vấn đề bảo mật hoàn toàn thuộc về bạn. Bạn cần theo dõi các vấn đề bảo mật và thực hiện công việc tải xuống / biên dịch / vv mỗi khi phát hiện ra sự cố.

Hóa ra đây là một khối lượng công việc khá lớn, và hầu hết mọi người đều buông lơi. Vì vậy, cuối cùng họ chạy phiên bản Apache tự biên dịch của họ ngày càng trở nên dễ bị tổn thương hơn khi các vấn đề được tìm thấy. Và vì vậy, họ kết thúc tồi tệ hơn nhiều so với việc họ chỉ đơn giản là đã theo dõi các cập nhật bảo mật của Debian. Vì vậy, có lẽ có hại.

Điều đó không có nghĩa là không có nơi để tự biên dịch phần mềm (hoặc chọn lọc các gói từ kiểm tra Debian hoặc không ổn định), nhưng nói chung, tôi khuyên bạn nên chống lại phần mềm.

Thời lượng cập nhật bảo mật

Debian không duy trì bản phát hành mãi mãi. Theo nguyên tắc chung, một bản phát hành Debian nhận được hỗ trợ bảo mật đầy đủ trong một năm sau khi bản phát hành mới bị lỗi thời.

Bản phát hành bạn đang chạy, Debian 8 / jessie, là bản phát hành ổn định đã lỗi thời ( oldstabletheo thuật ngữ Debian). Nó sẽ nhận được hỗ trợ bảo mật đầy đủ cho đến tháng 5 năm 2018hỗ trợ dài hạn cho đến tháng 4 năm 2020. Tôi không hoàn toàn chắc chắn mức độ hỗ trợ LTS này là bao nhiêu.

Bản phát hành ổn định Debian hiện tại là Debian 9 / stretch. Cân nhắc nâng cấp lên Debian 9 , đi kèm với các phiên bản mới hơn của tất cả các phần mềm và hỗ trợ bảo mật đầy đủ trong vài năm (có thể đến giữa năm 2020). Tôi khuyên bạn nên nâng cấp vào thời điểm thuận tiện cho bạn, nhưng cũng trước tháng 5 năm 2018.

Đóng nhận xét

Trước đó, tôi đã viết rằng Debian sửa lỗi bảo mật. Điều này cuối cùng không thể bảo vệ được đối với một số phần mềm do tốc độ phát triển cao và tỷ lệ các vấn đề bảo mật cao. Các gói này là ngoại lệ và thực sự được cập nhật lên phiên bản ngược dòng gần đây. Các gói tôi biết về điều này áp dụng cho chromium(trình duyệt) firefox, và nodejs.

Cuối cùng, toàn bộ cách xử lý các cập nhật bảo mật này không chỉ có ở Debian; nhiều bản phân phối hoạt động như thế này, đặc biệt là các bản phân phối ủng hộ sự ổn định so với phần mềm mới.


Tôi nghe thấy những điểm bạn đang thực hiện ở đây nhưng họ sẽ nổi bật hơn rất nhiều nếu so sánh Stretch (ổn định) với Sid (không ổn định). Stretch dù sao cũng được chú ý và các quy tắc tương tự được áp dụng cho các cập nhật bảo mật. Chủ yếu lý do cho sự ổn định cũ là hỗ trợ kế thừa cho tất cả những quản trị viên lười biếng hoặc chỉ những người có phần mềm phụ thuộc nội bộ chưa được cập nhật. Bạn có thể chứng minh một sự khác biệt đáng kể trong bảo mật bằng cách sử dụng ổn định so với ổn định cũ?
jdwolf

@jdwolf Theo như tôi biết, miễn là hỗ trợ cũ ổn định, nó nhận được càng nhiều hỗ trợ bảo mật càng ổn định. Tôi quản lý vài chục máy Debian, hiện là sự pha trộn giữa jessie và Stretch và tôi đọc tất cả các DSA áp dụng cho tôi. Tôi không bao giờ nhận thấy một mô hình cũ ổn định không nhận được đủ sự chú ý. Nếu bạn đã từng đọc DSA, bạn có thể thấy rằng họ có xu hướng liệt kê phiên bản cố định cho cả ổn định và cũ (thường cùng với thông tin về thử nghiệm và không ổn định) trong cùng một thông báo.
marcelm

Tôi hiểu điều đó nhưng bài viết của bạn mang lại ấn tượng cập nhật từ cũ ổn định sang ổn định là một điều xấu.
jdwolf

@jdwolf Đó không phải là ý định của tôi chút nào! Trong thực tế, tôi khuyên bạn nên ổn định hơn cũ (giả sử tình hình cho phép). Từ phần nào bạn có được ấn tượng đó? Tôi đã chỉnh sửa bài viết của mình một chút; hy vọng nó rõ ràng hơn bây giờ tôi không ủng hộ ổn định cũ hơn ổn định.
marcelm

6

Debian Jessie vẫn được hỗ trợ và các bản sửa lỗi bảo mật được cung cấp trong các phiên bản mới hơn đã được đưa vào gói có sẵn trong Jessie (2.4.10-10 + deb8u11, có nghĩa là đã có 11 bản cập nhật cho đến nay kể từ khi phát hành Jessie). Tất cả các lỗ hổng có thể sửa chữa được biết đến trong Apache đều được sửa trong gói Jessie ; miễn là bạn luôn cập nhật cài đặt của mình, bạn sẽ an toàn. Các lỗ hổng trong tương lai sẽ tiếp tục được khắc phục trong Jessie, miễn là nó vẫn được hỗ trợ.

Không chắc rằng một phiên bản mới hơn sẽ được đưa vào lại cho Jessie. Như đã chỉ ra ở trên, bạn sẽ an toàn nếu bạn ở lại với Jessie, miễn là nó được hỗ trợ; nếu bạn cần các tính năng mới hơn không có sẵn trong 2.4.10, bạn sẽ cần nâng cấp lên Debian 9.


3

Bạn đang sử dụng Debian Jessie, phiên bản ổn định cũ của Debian. Phiên bản mới nhất của Apache trong Jessie là 2.4.10.

Vì vậy, bạn có hai tùy chọn, chạy apt dist-Nâng cấp và di chuyển sang Debian Stretch hoặc bạn có thể đợi nó có sẵn trong backport.


Và những gì chúng ta phiên bản apache trong debian kéo dài?
wawanopoulos

@wawanopoulos2.4.25-3+deb9u3
LinuxSecurityFreak

3

OP đã chỉ ra trong các ý kiến ​​rằng:

  • Họ đang ở trên Debian Jessie.
  • Họ muốn nâng cấp Apache để giải quyết vấn đề bảo mật.

Debian Jessie là bản phát hành cũ ổn định hiện tại (kể từ 2017-11-12). Nó sẽ nhận được cập nhật bảo mật thường xuyên từ nhóm bảo mật Debian. Theo Câu hỏi thường gặp về bảo mật Debian :

Nhóm bảo mật cố gắng hỗ trợ phân phối ổn định trong khoảng một năm sau khi phân phối ổn định tiếp theo được phát hành, ngoại trừ khi một phân phối ổn định khác được phát hành trong năm nay. Không thể hỗ trợ ba bản phân phối; hỗ trợ hai đồng thời đã đủ khó khăn.

Ổn định Debian hiện tại là Stretch, được phát hành vào ngày 2017-06-17 . Do đó, chúng tôi hy vọng nhóm bảo mật sẽ hỗ trợ Jessie cho đến khoảng giữa năm 2018. Sau thời gian đó, nó sẽ ở LTS đến hết tháng 4 năm 2020.

Điểm mấu chốt: Hệ thống của OP vẫn đang được hỗ trợ. OP có thể tiếp tục nâng cấp apache2gói như bình thường. Nếu họ chưa có bản cập nhật bảo mật, họ sẽ nhận được nó ngay khi nó được nhập và phát hành. Số phiên bản có thể không khớp nhưng điều này không có nghĩa là hệ thống không an toàn.

Theo email này , vào tháng 9, Debian đã đưa một bản sửa lỗi vào CVE-2017-9798 vào Jessie. Nếu đây là lỗ hổng mà OP quan tâm (và repo jessie-security nằm trong tệp nguồn.list của họ, thì nó phải như vậy), thì nó đã được sửa trên hệ thống của họ (và họ có thể xác nhận rằng bằng cách chạy apt show apache2và kiểm tra xem phiên bản là 2.4.10-10+deb8u11). Nếu không, họ nên đặt số CVE vào hộp tìm kiếm trên trình theo dõi của bảo mật Debian và xem điều gì sẽ xảy ra. Nó sẽ tạo ra một trang mô tả trạng thái của lỗ hổng trong các phiên bản Debian khác nhau; OP sẽ tìm kiếm dòng "jessie (bảo mật)".


1

Các apache2 (2.4.10-10) là phiên bản mới nhất được cài đặt từ kho debian thông qua aptlệnh, khi một phiên bản mới có sẵn nó sẽ được nâng cấp tự động thông qua apt.

tiếc apache2là không có sẵn trên bacess jessie.

Bạn có thể cài đặt phiên bản mới nhất có sẵn trên wacheite apache bằng cách biên dịch:

Biên dịch và cài đặt


Đây là lời khuyên tồi; nếu OP biên dịch Apache của riêng họ, họ sẽ cần phải làm điều đó sau mỗi vấn đề bảo mật được phát hiện. Tốt hơn hết là ở lại với phiên bản được phân phối được hỗ trợ mà họ đang chạy.
marcelm

1

Bạn có thể xem phiên bản có sẵn trong kho lưu trữ của mình với:

root@server 20:54:59:~# apt-cache policy apache2
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.