OpenBSD, FreeBSD: triết lý cập nhật của bạn?


14

Tôi đã sử dụng FreeBSD được khoảng 5 năm - máy chủ / Máy tính để bàn - và tôi có xu hướng mang theo apt-get / yum nâng cấp mọi thói quen cùng với tôi (Tôi cũng quản lý các hộp Debian / RHEL / Cent - Tôi biết, tôi biết biết ... nên sáng suốt hơn bất kể nền tảng). Vì vậy, nó thường là:

portsnap fetch
portsnap update
portmanager -u

Đối với các cổng

Đôi khi theo sau bởi một:

freebsd-update fetch
freebsd-update install

Đối với hệ thống ... vv. Sau đó, chỉ cần dọn dẹp bất kỳ mớ hỗn độn nào sau đó ... nếu chúng xảy ra.

Điều này, tôi nhận ra, là một cách không quá BSD để làm mọi việc. Triết lý của bạn cho các hộp BSD của bạn là gì? Bạn có chạy portaudit / portversion - kiểm tra đầu ra sau đó cập nhật (thực hiện hủy cài đặt ... vv) sau khi xem xét cẩn thận?

Tôi khá mới với OpenBSD, tôi thú nhận. Tôi thấy mình cvsupping cây cổng, chạy tập lệnh "lỗi thời", sau đó chỉ nâng cấp các cổng quan trọng --- nhưng để lại kernel / nhị phân và chỉ cần nâng cấp sáu tháng một lần. Bạn có vá / biên dịch lại / xây dựng lại kernel, nhị phân --- tại sao không?

Cách tiếp cận bảo thủ cho các dịch vụ quan trọng (rất quan trọng - đây không phải là ngân hàng hay bệnh viện) trên các hộp BSD? Bạn đang sử dụng một cách tiếp cận tương tự trên các hộp Linux của bạn? Tôi thường không chạm vào kernel trên bất kỳ máy chủ nào trừ khi cảnh báo bảo mật đã phá hoại khủng bố trong tâm hồn tôi.

Vâng, có tài liệu và sách galore - mọi người thực sự làm gì? Giả sử chúng ta biết những điều cơ bản - sự khôn ngoan là gì? Các trường hợp / môi trường và kịch bản sử dụng khác nhau, cũng như các cổ phần / bên liên quan / người dùng. Sách và trang man bao gồm các công cụ và cách sử dụng, nhưng thiếu ứng dụng thực tế. Đề nghị một cuốn sách nếu bạn biết về một cuốn sách bao gồm nó!

Cảm ơn vì đã đọc!

Bong bóng

Kết luận ~ Cảm ơn tất cả những người đã dành thời gian để trả lời bài đăng này. Chiến lược tổng thể của tôi bây giờ là tuân theo danh sách gửi thư cho cả BSD và có tính chọn lọc / sáng suốt hơn với việc cập nhật hơn so với trước đây.

FreeBSD ~ Portaudit là một câu trả lời tốt. Với danh sách gửi thư và kiểm toán siêng năng, tôi nghĩ rằng điều này sẽ phục vụ tốt ở đây. Thật thú vị khi nhấn mạnh các cổng khác nhau giữa các câu thơ OpenBSD FreeBSD.

OpenBSD ~ Sẽ theo danh sách gửi thư và sử dụng các công cụ gói (pkg_info và pkg_add -u) trong trường hợp được coi là quan trọng. Nâng cấp: Có vẻ như bạn cần nâng cấp ít nhất một lần mỗi năm. Họ hỗ trợ bản phát hành mới nhất cộng với một bản trở lại - vì vậy ngay bây giờ là 4,8 và 4,7.

Cảm ơn một lần nữa.

Câu trả lời:


9

Hãy chắc chắn rằng bạn thường xuyên kiểm tra các cổng đã cài đặt của mình để biết các gói dễ bị tấn công: portaudit -Fda


1
Đây là phần bắt buộc phải có cho * BSD. Tôi đặc biệt khuyên bạn nên ném cái này vào một crontab hàng đêm để gửi email cho bạn mỗi sáng với các cổng có sửa lỗi bảo mật.
Andrew M.

1
Nhưng sau đó, đó là vấn đề hành động theo lời khuyên của Portaudit. Từ việc đọc câu trả lời ở đây, hầu hết mọi người khuyên nên để mọi thứ một mình trừ khi thực sự cần thiết. Tôi đã nghe một số quản trị viên tuyên bố rằng mọi thứ nên được cập nhật liên tục ... điều này gây ấn tượng với tôi như một cách tốt để phá vỡ mọi thứ.
Bubnoff

Tôi sẽ lấy lời khuyên này cho FreeBSD. Cảm ơn bạn.
Rời

4

Tôi không chắc chắn có một "cách BSD" cụ thể để thực hiện loại công cụ này. Tất cả chỉ cần biết những gì đang được cập nhật và thử nghiệm - những thứ sysadmin chung. May mắn thay, cập nhật freebsdportnap làm cho việc "biết những gì" khá tầm thường.

Nhưng, vì bạn đã hỏi chi tiết cụ thể, trở lại khi tôi đã chăn một số lượng lớn máy FreeBSD, chúng đều là các nút trong một cụm. Các máy độc lập sẽ không khác biệt nhiều so với điều này, nhưng tôi đoán bạn có thể tạo ra những 'tín đồ' mơ hồ như thế này cho các dịch vụ sản xuất của mình. Cuối cùng, luôn có một môi trường thử nghiệm và sản xuất riêng biệt.

Trong tình huống cụm:

  • Mỗi máy được gắn / usr / src , / usr / obj/ usr / cổng thông qua NFS.
  • Tùy thuộc vào ngân sách của bạn, bạn có thể có một máy dàn / xây dựng hoặc chỉ định một nút cụm làm nút dàn / xây dựng.
  • Nút dàn có một bản sao khác của / usr / cổng
  • Nút dàn sẽ cập nhật src-allport-all qua cvsup mỗi đêm
  • Trong trường hợp có một bản cập nhật cần thiết, nút dàn sẽ được đưa ra khỏi vòng quay và thế giới xây dựng , thế giới cài đặtnâng cấp sẽ được chạy.
  • Nút dàn sẽ được kiểm tra kỹ lưỡng.
  • / usr / cổng sẽ được hoán đổi trên máy chủ NFS
  • Mỗi nút cụm sẽ được xoay vòng chạy thế giới cài đặtnâng cấp , kiểm tra và sau đó quay trở lại.

Rõ ràng, đây là trong trường hợp cả cập nhật hệ thống và cổng, nhưng quy trình tương tự đủ để cập nhật chỉ các gói hoặc hệ thống.

Nếu điều này được thực hiện với hai máy, bạn có thể thay phiên nhau sản xuất hoặc dàn dựng, hoặc chỉ cập nhật sản xuất từ ​​dàn.

Bạn có thể theo dõi các thay đổi từ nhật ký cvs và kiểm tra xem bạn đã nhận được các bản cập nhật cụ thể trong / usr / src / UPDATING/ usr / cổng / UPDATING , cả hai đều được cập nhật tự động từ cvsup .

Nếu bạn không sử dụng cvsup (và ngày nay có ít lý do hơn), bạn sẽ chỉ cần tìm một số cách khác để theo dõi những cập nhật nào bạn muốn. Bạn có thể gửi một danh sách các thay đổi mà freebsd-update muốn thực hiện cho chính mình và để mắt đến trang errata bảo mật.


Tôi thích ý tưởng 'dàn dựng' những câu thơ 'sản xuất'. Với ảo hóa gần như không có lý do gì cho đến ngày nay. Cảm ơn vì sự trả lời.
Bubnoff

Vâng, cộng với nó phù hợp độc đáo với các loại công cụ 'sùng đạo' (từ những gì tôi hiểu về nó) nếu bạn phải đối phó với điều đó.
DF

4

Triết lý cập nhật OpenBSD

Đây là cách tiếp cận của tôi để cập nhật OpenBSD

Luôn cập nhật về các bản phát hành / bản vá bảo mật cho:

  • BASE (tức là thứ mà nhóm phát triển OpenBSD duy trì trong cây nguồn của họ)
  • Gói / Cổng (tức là các ứng dụng phần mềm được cài đặt trên BASE)

Thủ tục cập nhật:

  • Cùng một phiên bản hệ điều hành
  • Phiên bản hệ điều hành mới

CĂN CỨ

a. Thực hiện theo các danh sách gửi thư có liên quan - Tôi xem thông báo hàng ngày của squish.net, cũng như hướng dẫn chung được hiển thị trên danh sách gửi thư của Tech và Misc.

b. Thực hiện theo các trang web thông báo bảo mật liên quan đến Unix / danh sách gửi thư.

c. Duy trì một bản sao CVS cục bộ của việc sử dụng cvsync

d. Xây dựng bản phát hành ỔN ĐỊNH từ trên

Khi cập nhật bảo mật được công bố, chúng tôi đánh giá vấn đề bảo mật thực tế với hồ sơ của các máy có phiên bản HĐH / lỗ hổng đó. Nếu lỗ hổng có liên quan, chúng tôi sẽ thực hiện "quy trình nâng cấp phiên bản tương tự".

Gói / Cổng

Việc theo dõi các bản cập nhật bảo mật cho các cổng / gói sẽ khó khăn hơn, nhưng nếu nó đủ quan trọng để có trên cơ sở hạ tầng của chúng tôi thì điều đó đủ quan trọng để theo dõi theo cách tương tự như BASE.

  • Nhận danh sách gửi thư cho ứng dụng cụ thể (trách nhiệm của chúng tôi là giữ các tab thay đổi ngược dòng, độc lập với dự án OpenBSD.)

  • Nhận danh sách phân phối bảo mật như CERT công bố phát hiện lỗ hổng trên ứng dụng, v.v.

Quy trình nâng cấp

Rõ ràng xây dựng và kiểm tra quy trình cài đặt của bạn trên phần cứng (hoặc VM) riêng biệt trước khi thực hiện trên máy sản xuất của bạn. May mắn cho chúng tôi, chúng tôi có các máy chủ dự phòng cho nhiều thứ và do đó có thể triển khai với thời gian ngừng hoạt động tối thiểu của các dịch vụ. Vì OpenBSD hỗ trợ nhiều loại phần cứng, chúng tôi có thể triển khai thiết bị cấp máy chủ cho các máy chính của mình và máy tính để bàn cấp thấp làm máy chủ dự phòng (hoặc chúng tôi chỉ xây dựng một hộp tạm thời để điền vào máy chính trong chu kỳ cập nhật.)

Các quy trình cập nhật của chúng tôi phụ thuộc rất nhiều vào việc sử dụng hệ thống cổng / gói cho phần mềm không BASE. Hai máy chủ nơi chúng tôi cài đặt phần mềm từ nguồn rất khó cập nhật giữa các bản cập nhật phiên bản của HĐH.

Cập nhật hệ điều hành tương tự

Đối với HĐH BASE, chúng tôi tiếp tục thành công khi chỉ cài đặt các nhị phân mới so với các hệ điều hành cũ. Tốt hơn là, chúng tôi sao lưu tất cả các tệp dữ liệu / cấu hình của Hệ điều hành và Ứng dụng, định dạng và cài đặt lại hệ điều hành đã vá và cài đặt lại các gói (giữ lại dữ liệu gốc)

Trong các máy chủ OpenBSD đã triển khai của chúng tôi (30+) và trải nghiệm, việc sao lưu cấu hình và dữ liệu không khó. Đối với tường lửa của chúng tôi, tất cả dữ liệu nằm trong tệp cấu hình và nhật ký.

Đối với Cổng / Gói - trong đó các thay đổi đơn giản, chúng tôi sửa đổi cổng của chính chúng tôi và xây dựng gói từ đó. Có một cổng cập nhật đơn giản hóa quá trình trên.

Cập nhật hệ điều hành mới

Giữa các phiên bản hệ điều hành, chúng tôi cài đặt mọi thứ từ bản phác thảo.

Tôi chắc chắn có đủ tài liệu cho quá trình này, nhưng về cơ bản chúng tôi xây dựng một máy tham chiếu có cùng cấu hình với hệ thống sẽ được "thay thế". Trải qua các bài kiểm tra tương tự cần thiết trước khi triển khai máy chủ.

Chúng tôi sao lưu cấu hình từ máy chủ tham chiếu và cài đặt OpenBSD trên máy chủ sản xuất, khôi phục cấu hình "đã xác minh" của nó (một lần nữa chạy các kiểm tra xác thực tương tự sau đó.)


Cảm ơn! Đó là hướng tôi đang đi. Thực hiện theo danh sách, sử dụng máy chủ dự phòng.
Bubnoff

3

Đối với OpenBSD, ít nhất:

  • gói là sản phẩm cuối cùng của hệ thống cảng; nên có ít, nếu có nhu cầu chạy xung quanh với các cổng.
  • -release và-ổn định (hầu hết) bị đóng băng trong thời gian, với một số cập nhật theo thời gian.
  • -c Hiện được cập nhật thường xuyên. Nếu bạn thực sự cần các gói cập nhật, đây là cách để đi.
  • vẫn nhất quán: các hệ thống ổn định / ổn định gắn với các gói -release / ổn định ...- các hệ thống hiện tại chạy các gói hiện tại

Faq 15, tất cả về cổng và gói


Có, có vẻ như các nhà phát triển / bảo trì cho OpenBSD khuyến khích việc sử dụng các gói qua cổng vì các cổng tạo ra gói trước khi cài đặt. Nhưng cây cổng có tập lệnh kiểm toán (./out_of_date) ... tương tự cho các gói là gì? Một danh mục cho OpenBSD ... hoặc bạn chỉ cần làm theo danh sách gửi thư và nâng cấp (các) gói thủ công?
Bubnoff

Cá nhân, với -c Hiện tại nó là "pkg_add -u -Dupdate, updateepends" ~ hàng tháng đối với tôi. Tôi thừa nhận tôi chưa bao giờ sử dụng triệt để các cổng như vậy, nó thường chỉ là cvs, hãy cập nhật cho tôi nếu tôi cần làm điều đó. Tôi có ấn tượng rằng các kịch bản khác là dành cho người khuân vác, nhưng một lần nữa, tôi hiếm khi sử dụng hệ thống cổng. Đối với kiểm toán, đó là tất cả được thực hiện bởi đội ngũ cảng và tất nhiên bất cứ ai khác đóng góp.
lonerman

@Bubnoff Nếu bạn cập nhật lên các phiên bản mới nhất ổn định, bạn sẽ có tất cả các bản vá bảo mật được phát hành cho bản phát hành đó. (Không giống như hiện tại cũng bao gồm các cập nhật không bảo mật).
WhyNotHugo

@Hugo - cảm ơn! Đó là một điểm hay. Tôi sẽ phải viết nó vào tài liệu xây dựng máy chủ của tôi.
Bubnoff

2

Nếu không có vấn đề bảo mật hoặc lỗi cản trở chức năng, thì hãy để nó một mình. Kiểm tra cập nhật có thể cứ sau 3-6 tháng để bạn không bị bỏ lại quá xa, nhưng nếu không thì hãy để mọi thứ một mình.

Nếu nó không bị hỏng, đừng sửa nó.


4
36 tháng? Điều gì về Apache / lighttp hoặc bất kỳ ứng dụng web giao diện nào, v.v.? Bạn không lo lắng về những điều đó? Nếu không ... tôi thấy quan điểm của bạn.
Bubnoff

@Bubnoff OpenBSD đi kèm với một httpd tùy chỉnh, xuất phát từ Apache 1.x. Hầu hết các bản cập nhật được cung cấp bởi Apache thậm chí không áp dụng.
Benoit

Tôi hiểu điều đó. Nhưng OpenBSD cung cấp các bản cập nhật cho hiện tại mà sau này sẽ ổn định. Và điều đó vẫn để lại các gói ... Các ứng dụng sử dụng Apache có thể sẽ yêu cầu cập nhật. Hay bạn chỉ nâng cấp toàn bộ sáu tháng một lần?
Bubnoff

Đây là cách tiếp cận của tôi. Tôi hiếm khi cài đặt bất cứ thứ gì ngoài cổng trên hệ thống sản xuất của mình, vì vậy tất cả những gì tôi thực sự cần là xu hướng cài đặt cơ sở và các gói. Tôi theo dõi errata ( openbsd.org/errata.html ) và danh sách gửi thư có liên quan cho bất kỳ gói nào tôi đã cài đặt. Nếu tôi đã cài đặt một cái gì đó khác trên đầu, chẳng hạn như hệ thống CMS, tôi sẽ theo dõi và duy trì nó một cách riêng biệt. Nếu tôi cần phải vá một cái gì đó quan trọng, tôi xây dựng bản vá của mình trên một hệ thống thử nghiệm và sau đó sao chép nó.

1

Tôi thích sử dụng portupgradeđể nâng cấp các cổng và chỉ làm điều này khi thực sự cần thiết , ví dụ: khi tìm thấy lỗ hổng trong cổng hoặc chức năng mới được yêu cầu.

Đối với việc nâng cấp hệ thống, tôi thường xây dựng lại từ các nguồn với make buildworld. Tôi không bao giờ có bất kỳ vấn đề với phương pháp này.


1
Nhiều người dường như thích nâng cấp lên portmanager. Là chân dung trưởng thành hơn của hai? Có vẻ như portmanager vẫn chưa đạt 1.0.
Bubnoff

1
Vâng, portup tiến đã có từ rất lâu và dường như có sự phát triển và hỗ trợ tích cực nhất. Tôi biết có các công cụ quản lý cổng khác, nhưng portupression là công cụ được nhắc đến nhiều nhất trong danh sách. Có một cuộc thảo luận giữa hai người trở lại trong '04 --lists.freebsd.org/pipermail/freebsd-questions/2004-December/iêu - mà tôi đã tìm thấy, nhưng tôi không chắc nó hiện tại như thế nào.
DF

Tôi sử dụng cách tiếp cận tương tự và chủ yếu là do đã sử dụng FreeBSD kể từ những ngày 4.x khi xây dựng và nâng cấp là những lựa chọn tốt nhất / duy nhất. Họ vẫn làm việc tuyệt vời ngày hôm nay nếu bạn có thời gian để chạy chúng và thời gian để tìm hiểu quy trình. Thêm vào đó tôi luôn xây dựng với sự -Ostối ưu hóa, hệ thống nhỏ hơn / nhanh hơn.
Chris S
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.