Những kho lưu trữ gói của distro linux nào an toàn và không phải là gói nào?


14

Hầu hết các distro tôi biết đều có một số loại chức năng lưu trữ trong đó các gói mới có thể được tải xuống sau khi cài đặt. Những distro nào làm điều này một cách an toàn và những distro nào không làm điều này một cách an toàn.

Tôi đặc biệt suy nghĩ về các vectơ tấn công như người trung gian và các vấn đề như vi phạm bảo mật trên cả máy chủ meta của kho lưu trữ và các tệp của kho lưu trữ.

Tôi đã nghe nói rằng cả Slackware và Arch linux đều rất dễ bị tổn thương vì chúng thiếu ký gói. Điều này có đúng không? Có bất kỳ bản phân phối linux lớn nào khác dễ bị tấn công bởi các cuộc tấn công trung gian đơn giản không?


nếu trang web của distro là http hoặc ftp rõ ràng và distro được lấy dưới dạng iso từ kết nối này và kết nối cơ sở này được MITM'ed so với việc gói 'post-mortem' nào được ký trên các gói cập nhật sẽ tốt như thế nào?
n611x007

Câu trả lời:


7

Đây không phải là câu trả lời trực tiếp cho câu hỏi của bạn, nhưng có một số điều bạn có thể làm để giảm thiểu rủi ro này. Cách đơn giản nhất là kiểm tra các gói đã tải xuống của bạn so với tổng kiểm tra từ một máy nhân bản khác với bạn đã tải xuống từ đó.

Khi trình quản lý gói của tôi ( poldek) tải xuống một gói, tôi đã đặt nó để giữ một bản sao của vòng / phút đã tải xuống trong một thư mục bộ đệm. Nó tự động kiểm tra tổng kiểm tra tải xuống đối với kho lưu trữ gói và cảnh báo / hủy bỏ trên một sự không phù hợp, nhưng nếu bạn lo lắng về việc tấn công trung gian vào kho lưu trữ phân phối của mình, bạn có thể dễ dàng viết một tập lệnh thứ cấp duyệt qua tất cả các gói đã tải xuống của bạn và xác minh chúng dựa trên tổng kiểm tra bạn tải xuống từ một máy nhân bản khác. Bạn thậm chí có thể chạy cài đặt đầu tiên của mình dưới dạng chạy khô để các gói được tải xuống nhưng không được cài đặt, sau đó chạy tập lệnh xác minh của bạn, sau đó thực hiện cài đặt thực tế.

Điều này không ngăn được gói bị xâm nhập vào kho lưu trữ của distro, nhưng hầu hết các distro đều có những cách khác để giảm thiểu điều đó, và thậm chí các gói đã ký sẽ không đảm bảo điều này không bao giờ là vấn đề. Những gì nó làm là bóp nghẹt vectơ tấn công trung gian mục tiêu. Bằng cách sử dụng một nguồn riêng biệt và tải xuống trên một kênh riêng biệt, bạn sẽ giết được sự dễ dàng mà gói bị xâm phạm có thể được thả vào một dòng khai thác.


1
Có một gói cho Arch gọi là paccheckthực hiện điều này, so sánh các gói với các gương khác nhau trước khi cài đặt và cảnh báo về bất kỳ sự khác biệt nào.
Sói

Danh sách nhân bản có thể là công khai, vì vậy về mặt lý thuyết, kẻ tấn công có thể lập mưu cho MITM tất cả chúng theo mẫu không? Nếu một kẻ tấn công đặc biệt nhắm mục tiêu máy chủ của bạn thì điều này dường như thậm chí còn có khả năng hơn? Tuy nhiên, đây có lẽ là nhiều hơn những gì đa số Linux làm.
n611x007

10

Các gói Debian được kiểm tra và tổng kiểm tra được ký bởi một khóa trong khóa Debian. Trình aptquản lý gói đảm bảo rằng gói đã tải xuống có tổng kiểm tra chính xác và tệp tổng kiểm tra đã được ký chính xác.


5

Các gói Fedora được ký và kiểm tra lại. Ngay cả các kho lưu trữ của bên thứ 3 như rpmfusion cũng ký các gói của họ.

Yum (người quản lý gói) yêu cầu một cờ đặc biệt ( --nogpgcheck) để cài đặt các gói chưa được ký.


và các gói downsteam cũng vậy, ví dụ Red Hat và CentOS
fpmurphy

3

Tất cả các gói Arch Linux đều sử dụng tổng md5 hoặc sha1 để kiểm tra xem tất cả các bit có đúng không. Tùy thuộc vào người bảo trì gói để chọn thuật toán băm. Các gói được cài đặt từ AUR (thường chỉ là một tệp văn bản PKGBUILD nhỏ) được cho là phải được kiểm tra bởi installee trước khi được cài đặt. Các kho chứa các gói nhị phân chính thức được giám sát bởi người dùng đáng tin cậy (TUs).

Cập nhật : Arch hiện đã giới thiệu ký gói với pacman 4


2
Tất cả đều đúng, nhưng các gói không được ký và do đó vẫn dễ bị tổn thương trước các cuộc tấn công thỏa hiệp và phản chiếu, tuy nhiên khả năng từ xa. Đó là một tính năng được yêu cầu từ lâu và là lý do chính khiến tôi miễn cưỡng ngừng sử dụng Arch. Điều đó nói rằng, có những cuộc thảo luận liên tục về nó trên các diễn đàn và wiki của Arch và Pacman - đó là một vấn đề khó giải quyết. Ngoài vấn đề này, Arch là một bản phân phối tuyệt vời.
Eli Heady

@Eli: Tôi không tranh luận về sự thật của điều này - Tôi không biết gì về tình trạng của vấn đề - nhưng sẽ không phải là một thị trường mỏng manh để tấn công. Cấp, Arch là một distro khá phổ biến, nhưng không phải tất cả các loại nghịch ngợm thường được chứng minh là có thể kiếm tiền?
boehj

1
Chắc chắn, sau tất cả, đây là lý do cơ sở người dùng Windows được nhắm mục tiêu nhiều hơn so với Linux, phải không? Vấn đề là, những gì áp dụng cho tổng hợp thường không áp dụng chính xác cho cá nhân. Ý tôi là mô hình mối đe dọa của mọi người là khác nhau - nếu bạn có lý do để sợ bị tấn công, bạn nên thực hiện các bước thích hợp để giảm thiểu rủi ro. Thiếu ký kết gói trình bày các vectơ tấn công không khó khai thác. Nếu bạn có các bit có giá trị để bảo vệ, vấn đề này cần được tính đến trong chiến lược giảm thiểu mối đe dọa của bạn.
Eli Heady

Bạn có thể cài đặt Arch từ CD / DVD và sau đó chỉ cần kiểm tra xem tổng md5 / sha1 của các gói nhị phân có tương ứng với tổng từ một số gương trước khi cài đặt không, tương tự như những gì Caleb đề xuất. Không bao giờ bảo mật 100% trong mọi trường hợp, mặc dù tôi thấy điểm ký kết gói và ước rằng Arch có nó.
Alexander

Vì vậy, làm thế nào đạt được rằng tổng kiểm tra được phân phối theo cách an toàn hơn mà xóa http hoặc ftp? kiểm tra chữ ký có nên được thực hiện bởi những gì có nghĩa là nó xảy ra trên vòm chính xác?
n611x007

1

Ai nói Slackware không có ký gói?

Các gói Slackware được ký với khóa công khai của Slackware. Vì vậy, mỗi gói có chữ ký của nó với phần mở rộng .asc. Không chỉ các gói mà các tập tin khác cũng được ký, như thế CHECKSUMS.MD5. Điều này chứa danh sách tổng kiểm tra của các gói.

Bản phân phối có một công cụ chính thức được gọi slackpkgđể tải xuống / cài đặt các gói từ máy nhân bản. Sau khi cập nhật cơ sở dữ liệu repo cục bộ với slackpkg updatecông cụ kiểm tra tính hợp lệ chữ ký của tệp MD5 mới và thay đổi, v.v ...

Sau khi tải xuống gói (nhưng trước khi cài đặt), chữ ký và MD5 của gói được kiểm tra.

Người ta có thể lấy khóa công khai bằng slackpkg update gpghoặc đơn giản là nhập nó từ đĩa CD cài đặt bằnggpg --import GPG-KEY

Có một công cụ không chính thức khác slapt-getcho Slackware. Nó cũng hỗ trợ kiểm tra GPG! Theo cách tương tự như slackpkg.


-2

OpenBSD cho đến nay. Toàn bộ dự án được dành riêng cho bảo mật, nhóm thậm chí còn đưa ra một bản vá 5000+ cho apache ban đầu vì họ không cảm thấy nó đủ an toàn để sử dụng. Điều này là thông qua pkg_add nhưng tôi chưa bao giờ gặp vấn đề với nó.


4
Bạn không trả lời câu hỏi: cụ thể là về việc xác minh chữ ký của các gói đã tải xuống (và các cổng, trong trường hợp * BSD).
Gilles 'SO- ngừng trở nên xấu xa'

1
Tôi đồng ý với @Gilles; OpenBSD là một hệ điều hành tuyệt vời, nhưng @grm đã hỏi về bảo mật phân phối gói Linux.
Livingstaccato
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.