OpenBSD, FreeBSD: güncelleme felsefeniz?


14

FreeBSD'yi yaklaşık 5 yıldır kullandım - sunucu / Masaüstü - ve benimle birlikte her şeyi alışkanlıkları yükseltmek için apt-get / yum alma eğilimindeyim (Debian / RHEL / Cent kutularını da yönetiyorum - biliyorum, ben platformdan bağımsız olarak daha seçici olmalı). Yani genellikle bir:

portsnap fetch
portsnap update
portmanager -u

Limanlar için

Bazen bir:

freebsd-update fetch
freebsd-update install

Sistem için ... vb. Sonra sadece karışıklıkları temizleyin ... eğer meydana gelirlerse.

Bunun, BSD'nin bir şeyler yapmanın oldukça aşırı bir yolu olduğunu anlıyorum. BSD kutularınız için felsefeniz nedir? Dikkatle değerlendirdikten sonra portaudit / portversion - çıktıyı kontrol edip güncelleyin (kaldırma işlemini yapın ... vb.)?

OpenBSD için oldukça yeniyim, itiraf ediyorum. Kendimi bağlantı noktaları ağacını desteklediğini, "güncel değil" komut dosyasını çalıştırdığını, sonra sadece kritik bağlantı noktalarını yükselttiğimi görüyorum --- ama çekirdek / ikili dosyaları yalnız bırakarak ve her altı ayda bir yükseltme yapıyorum. Çekirdekleri, ikili dosyaları yama / yeniden derleme / yeniden oluşturma - neden?

BSD kutularında kritik hizmetler (makul derecede kritik - bu banka veya hastane değil) için muhafazakar bir yaklaşım nedir? Linux kutularınızda benzer bir yaklaşım mı kullanıyorsunuz? Bir güvenlik uyarısı ruhumun içine dehşete kapılmadıkça genellikle herhangi bir sunucudaki çekirdeğe dokunmuyorum.

Evet, bolca dokümanlar ve kitaplar var - siz insanlar gerçekten ne yapıyorsunuz? Temelleri bildiğimizi varsayarsak - bilgelik nedir? Kullanım senaryoları / ortamları ve senaryoları, hissedarlar / paydaşlar / kullanıcılar gibi farklılık gösterir. Kitaplar ve kılavuz sayfaları araçları ve kullanımları kapsar, ancak pratik uygulamadan yoksundur. Onu kapsayan bir kitap biliyorsanız bir kitap tavsiye!

Okuduğunuz için teşekkürler!

Bubnoff

Sonuçlar ~ Bu gönderiyi yanıtlamak için zaman ayıran herkese teşekkürler. Benim genel stratejim şimdi her iki BSD için posta listelerini takip etmek ve güncellemede geçmişte olduğundan daha seçici / seçici olmaktır.

FreeBSD ~ Portaudit iyi bir cevaptır. Posta listeleri ve gayretli denetimlerle, bunun burada iyi hizmet edeceğini düşünüyorum. İlginçtir OpenBSD ayetleri FreeBSD arasındaki bağlantı noktalarına farklı vurgu.

OpenBSD ~ E-posta listesini takip eder ve kritik kabul edilen paket araçlarını (pkg_info ve pkg_add -u) kullanır. Yükseltmeler: Görünüşe göre yılda en az bir kez yeni sürüme geçmeniz gerekiyor. En yeni sürümü ve bir tane geri destekliyorlar - bu yüzden şu anda 4.8 ve 4.7.

Tekrar teşekkürler.

Yanıtlar:


9

Yüklü bağlantı noktalarınızı sık sık savunmasız paketler için kontrol ettiğinizden emin olun: portaudit -Fda


1
Bu, * BSD için bir zorunluluktur. Güvenlik düzeltmeleri olan bağlantı noktaları ile her sabah size e-posta göndermek için bunu gece crontab'ına atmanızı tavsiye ederim.
Andrew M.

1
Ama sonra Portaudit'in tavsiyesi üzerine hareket etme meselesi. Buradaki yanıtları okuyarak çoğu insan, kesinlikle gerekli olmadıkça bir şeyleri yalnız bırakmayı önerir. Bazı yöneticilerin her şeyin sürekli güncel olması gerektiğini iddia ettiklerini duydum ... bu beni bir şeyleri kırmanın iyi bir yolu olarak görüyor.
Bubnoff

Bu tavsiyeyi FreeBSD için alacağım. Teşekkür ederim. Hangi OpenBSD bırakır
Bubnoff

4

Bu tür şeyler yapmak için belirli bir "BSD yolu" olduğundan emin değilim. Her şey neyin güncellendiğini ve test edildiğini bilmek için geliyor - genel sysadmin şeyler. Neyse ki, freebsd-update ve portsnap "neyi bilmek" i oldukça önemsiz kılar.

Ancak, çok fazla FreeBSD makinesi sürdüğümde, ayrıntılar sorduğunuzdan, hepsi bir kümedeki düğümlerdi. Bağımsız makineler bundan çok farklı olmayacaktı, ama sanırım bunu üretim hizmetlerinizde olduğu gibi belirsiz bir şekilde 'devops' haline getirebilirsiniz. Sonunda, ayrı test ve üretim ortamlarına sahip olmak her zaman iyi bir fikirdir.

Küme durumunda:

  • Her makine NFS yoluyla / usr / src , / usr / obj ve / usr / portlarına monte edilmiştir .
  • Bütçenize bağlı olarak, bir aşamalandırma / derleme makineniz olabilir veya aşama / derleme düğümü olarak bir küme düğümü atayabilirsiniz.
  • Hazırlama düğümü / usr / bağlantı noktalarının farklı bir kopyasına sahipti
  • Evreleme düğümü her gece cvsup üzerinden src-all ve bağlantı noktalarını-all güncelleştirir
  • Gerekli bir güncelleme durumunda, hazırlama düğümü rotasyondan çıkarılır ve buildworld , installworld ve portupgrade çalıştırılır.
  • Evreleme düğümü iyice test edilecektir.
  • / usr / portları NFS ana bilgisayarında değiştirilir
  • Her küme düğümü, installworld ve portupgrade çalıştırılarak döndürülür , test edilir ve daha sonra geri döndürülür.

Açıkçası, bu hem bir sistem hem de bir port güncellemesi durumundaydı, ancak prosedür sadece paketleri veya sistemi güncellemek için yeterince benzerdi.

Bu iki makine ile yapılırsa, her biri sırayla üretim veya aşamalandırma yapabilir ya da sadece üretimi aşamalandırmadan güncelleyebilirsiniz.

Cvs günlüklerindeki değişiklikleri izleyebilir ve her ikisi de cvsup'tan otomatik olarak güncellenen / usr / src / UPDATING ve / usr / ports / UPDATING içinde belirli güncellemeler alıp almadığınızı kontrol edebilirsiniz .

Cvsup kullanmıyorsanız (ve bu günlerde daha az bir neden varsa), istediğiniz güncellemeleri izlemek için başka bir yol bulmanız yeterlidir. Freebsd-update'in kendinize yapmak istediği değişikliklerin bir listesini gönderebilir ve güvenlik errata sayfasına göz atabilirsiniz.


Ayetleri 'üretimi' sahneleme fikrini seviyorum. Sanallaştırma ile bu güne kadar neredeyse hiçbir mazeret yoktur. Yanıtınız için teşekkürler.
Bubnoff

Evet, ayrıca bununla uğraşmak zorunda kalırsanız 'devops' tipi şeylerle (anladığımdan) güzel uyuyor.
DF

4

OpenBSD Güncelleme Felsefesi

Bu OpenBSD'yi güncelleme yaklaşımım

Aşağıdakiler için güvenlik sürümlerinde / yamalarda Güncel Kalın:

  • BASE (yani OpenBSD geliştirici ekibinin kaynak ağacında tuttuğu şeyler)
  • Paketler / Portlar (yani BASE'in üzerine kurulu yazılım uygulamaları)

Güncelleme Prosedürleri:

  • Aynı İşletim Sistemi Sürümü
  • Yeni İşletim Sistemi Sürümü

BAZ

a. İlgili posta listelerini takip edin - Squish.net günlük özetlerini ve Teknik ve Çeşitli posta listelerinde gösterilen genel yönü izliyorum.

b. Unix ile ilgili güvenlik duyurusu web sitelerini / posta listelerini takip edin.

c. Bir koruyun yerel CVS cvsync kullanmanın kopyalama

d. Yukarıdakilerden STABLE sürümleri oluşturun

Güvenlik güncelleştirmeleri yayınlandığında, işletim sisteminin / güvenlik açığının bu sürümüne sahip makinelerin profilindeki asıl güvenlik sorununu değerlendiririz. Güvenlik açığı ilgili ise, "aynı sürüm yükseltme prosedüründen" geçiyoruz.

Paketler / Bağlantı Noktaları

Bağlantı noktaları / paketler için güvenlik güncellemelerini takip etmek daha zordur, ancak altyapımızda olacak kadar kritikse, BASE'e benzer şekilde takip etmek yeterince önemlidir.

  • Belirli bir uygulamanın posta listesine girin (yukarı akış değişikliklerinin sekmelerini OpenBSD projesinden bağımsız tutmak bizim sorumluluğumuzdur.)

  • Uygulamalardaki güvenlik açıklarının bulgularını yayınlayan CERT gibi oturur dağıtım listelerine girin.

Yükseltme Prosedürleri

Kurulum prosedürünüzü, üretim makinelerinizde yapmadan önce ayrı bir donanımda (veya VM'de) oluşturun ve test edin. Neyse ki bizim için, pek çok şey için gereksiz ana bilgisayarlara sahibiz ve bu nedenle hizmetlerin minimum kesinti süresi ile başlayabiliriz. OpenBSD geniş bir donanım yelpazesini desteklediğinden, birincil makinelerimiz için sunucu sınıfı ekipman ve yedekli ana makinelerimiz olarak alt uç masaüstü bilgisayarları sunabiliriz (veya güncelleme döngüsü sırasında ana makineyi doldurmak için geçici bir kutu oluştururuz.)

Güncelleme prosedürlerimiz büyük ölçüde BASE olmayan yazılımlar için portlar / paketler sistemini kullanmaya bağlıdır. Yazılımı kaynaktan yüklediğimiz iki ana bilgisayar, işletim sisteminin sürüm güncellemeleri arasında güncelleme yapmak için bir acıdır.

Aynı İşletim Sistemi Güncellemesi

BASE İşletim Sistemi için, sadece yeni ikili dosyaları eskilerinin üzerine kurarak başarılı olmaya devam ediyoruz. Tercihen, tüm işletim sistemi ve uygulama yapılandırmasını / veri dosyalarını yedekler, yamalı işletim sistemini biçimlendirir ve yeniden yükler ve paketleri yeniden yükleriz (orijinal verileri koruyarak)

Konuşlandırılmış OpenBSD ana bilgisayarlarımızda (30+) ve deneyimimizde, yapılandırmayı ve verileri yedeklemek zor değildir. Güvenlik duvarlarımız için tüm veriler yapılandırma ve günlük dosyalarındadır.

Değişikliklerin basit olduğu Bağlantı Noktaları / Paketler için kendi bağlantı noktanızı değiştiririz ve paketi bundan oluştururuz. Güncellenmiş bir bağlantı noktasına sahip olmak yukarıdaki işlemi basitleştirir.

Yeni İşletim Sistemi Güncellemesi

İşletim sistemi sürümleri arasında, her şeyi eskizden yüklüyoruz.

Eminim orada süreç için yeterli belge var, ama aslında biz "değiştirilecek" sistem ile aynı yapılandırmaya sahip bir referans makine inşa ediyoruz. Ana bilgisayarı dağıtmadan önce gereken aynı testleri yapın.

Yapılandırmayı referans ana bilgisayardan yedekleriz ve OpenBSD'yi üretim ana bilgisayarına yükleriz, bunun üzerine "doğrulanmış" yapılandırmayı geri yükleriz (daha sonra aynı doğrulama testlerini çalıştırırız).


Teşekkürler! Gittiğim yön bu. Listeleri izleyin, yedekli ana bilgisayarlar kullanın.
Aralık'ta Bubnoff

3

OpenBSD için en azından:

  • paketler liman sisteminin son ürünüdür; bağlantı noktalarıyla dolaşmak gerekirse, çok az olmalıdır.
  • -release ve -stable zaman zaman (çoğunlukla) zaman zaman bazı güncellemeler ile dondurulur.
  • -current düzenli olarak güncellenir. Gerçekten güncel paketlere ihtiyacınız varsa, işte bu yol.
  • tutarlı kalmak: -release / -stable sistemleri -release / -stable paketleri ile sopa ... - mevcut sistemleri çalıştırmak -current paketleri

SSS 15, tüm bağlantı noktaları ve paketler hakkında


Evet, görünüşe göre OpenBSD için geliştiriciler / sürdürücüler, bağlantı noktaları yine de yüklemeden önce bağlantı noktası üretirken, bağlantı noktaları üzerinden paket kullanımını teşvik eder. Ancak bağlantı noktaları ağacında bir denetim komut dosyası (./out_of_date) var ... paketler için analog nedir? OpenBSD için bir portaudit ... ya da sadece posta listesini izleyip paketleri manuel olarak mı yükseltiyorsunuz?
Bubnoff

Şahsen, -current ile "pkg_add -u -Dupdate, updatedpends" ~ aylık benim için. Bu tür portları hiç bu kadar iyi kullanmamış olduğumu itiraf ediyorum; genellikle sadece cvs up; bunu yapmak zorunda kalırsam güncellemeyi temiz yap. Diğer komut dosyalarının taşıyıcılar için olduğu izlenimindeydim, ancak yine de nadiren bağlantı noktaları sistemini kullandım. Denetim gelince, hepsi liman ekibi ve tabii ki katkıda bulunan herkes tarafından yapılır.
lonerman

@Bubnoff -stable üzerindeki en son sürümlere güncelleme yaparsanız, bu sürüm için yayımlanmış tüm güvenlik düzeltme eklerine sahip olursunuz. (-Akımın aksine güvenlikle ilgili olmayan güncelleştirmeleri de içerir).
WhyNotHugo

@Hugo - teşekkürler! İyi bir noktaya değindin. Bunu sunucu oluşturma belgelerime yazmam gerekecek.
Bubnoff

2

Güvenlik sorunu veya işlevselliği engelleyen bir hata yoksa, o zaman yalnız bırakın. Her 3-6 ayda bir güncellemeleri kontrol edin, böylece çok geride kalmazsınız, ancak başka şeyleri yalnız bırakın.

Eğer kırılmazsa, tamir etmeyin.


4
3-6 ay mı? Apache / lighttp ya da ön yüzlü web uygulamaları CMS vb. Bunlar hakkında endişelenmiyor musun? Yoksa ... ne demek istediğini anlıyorum.
Bubnoff

@Bubnoff OpenBSD, Apache 1.x'ten türetilen özel bir httpd ile birlikte gelir. Apache tarafından sağlanan güncellemelerin çoğu geçerli değildir.
Benoit

Onu anlıyorum. Ancak OpenBSD, daha sonra durağa giden akım için güncellemeler sağlar. Bu da paketleri bırakıyor ... Apache kullanan uygulamalar muhtemelen güncelleme gerektiriyor. Yoksa her şeyi altı ayda bir mi yükseltiyorsunuz?
Bubnoff

Bu benim yaklaşımım. Üretim sistemlerime portlardan nadiren bir şey yüklüyorum, bu yüzden gerçekten ihtiyacım olan tek şey temel kurulum ve paketler. Yüklediğim paketler için errata'yı ( openbsd.org/errata.html ) ve ilgili posta listesini takip ediyorum. Üstüne bir CMS sistemi gibi başka bir şey yüklediysem, bunu ayrı olarak izler ve bakımını yaparım. Kritik bir şeyi düzeltmem gerekirse, düzeltme ekimi bir test sistemi üzerine oluşturur ve kopyalarım.

1

portupgradeBağlantı noktalarını yükseltmek için kullanmayı tercih ediyorum ve bunu sadece kesinlikle gerekli olduğunda yapıyorum olduğunda, örneğin bağlantı noktasında bir güvenlik açığı bulunduğunda veya yeni işlevsellik gerektiğinde .

Sistemi yükseltmeye gelince, genellikle kaynaklardan yeniden oluşturuyorum make buildworld. Bu yaklaşımla hiç problem yaşamadım.


1
Birçok kişi portmanager yerine portupgrade tercih ediyor gibi görünüyor. Portupgrade bu ikisinden daha olgun mu? Görünüşe göre portmanager henüz 1.0'a ulaşmadı.
Bubnoff

1
Evet, portupgrade çok uzun zamandır var ve en aktif gelişme ve desteğe sahip gibi görünüyor. Başka port yönetim araçları olduğunu biliyorum, ancak portupgrade listelerde en tutarlı şekilde bahsedilen. '04 - lists.freebsd.org/pipermail/freebsd-questions/2004-December/… 'de arkadan ikisi arasında bir tartışma var , ancak bulduğumdan emin değilim.
DF

Aynı yaklaşımı kullanıyorum ve çoğunlukla FreeBSD'yi buildworld ve portupgrade'in en iyi / tek seçenek olduğu 4.x günden beri kullanmasından kaynaklanıyor. Onları çalıştırmak için zamanınız ve süreci öğrenmek için zamanınız varsa bugün hala harika çalışıyorlar. Ayrıca her zaman -Osoptimizasyonlar, daha küçük / daha hızlı sistem ile çalışırım .
Chris S
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.