EC2 Ubuntu makinelerini güncel tutmak için en iyi uygulamalar


12

OpenSSL'nin son zamanlarda yürekten etkilenen güvenlik açığından sonra, EC2 makinelerimi düzenli olarak güncel tutmak istiyorum. Saf yaklaşım, güvenlik güncelleştirmeleri ( sudo apt-get update && sudo unattended-upgrade) için saatlik bir cron işi ayarlamak olacaktır .

Bunu yapmanın herhangi bir riski var mı? EC2 makineleri için önerilen bir güncelleme mekanizması var mı?

Yanıtlar:


13

Katılımsız yükseltme paketi, Ubuntu'da önemli hata düzeltmelerini ve güvenlik yamalarını otomatik olarak uygulamanın standart yoludur.

Bunu her Ubuntu sistemine yüklemenizi öneririz:

sudo apt-get update &&
sudo apt-get install unattended-upgrades

Kendi cron işinizi yaratmanıza gerek yok. Paket sizin için bir tane kurar.

Davranışını değiştirmek isterseniz varsayılan yapılandırmayı düzenleyebilirsiniz: https://help.ubuntu.com/lts/serverguide/automatic-updates.html


Bunu bir üretim sunucusunda yapmanın tavsiye edilebilirliği hakkında düşünceleriniz var mı? Değişikliklerin sessizce uygulanması beni endişelendiriyor ve güncellemenin başarısız olma veya sorun yaratma riskiyle karşı karşıya.
ianjs

3
"Her" derken ben de üretim sistemleri demek istedim. Ubuntu güvenlik yamalarını yıllardır otomatik olarak uyguluyorum ve ciddi sorunları hatırlayamıyorum. Bilinen güvenlik sorunları için yamalar olmadan orada oturan bir üretim sunucusuna sahip olmak beni sinirlendiriyor ve bunlardan istismar edilme riskini taşıyor. Bu, her durumun farklı ihtiyaçları olduğunu söyledi, bu nedenle her bir yama için titiz bir test aşamasından geçmeniz daha iyi olabilir. Bununla birlikte, her zaman serbest bırakıldıklarının farkında olun, böylece meşgul olacaksınız.
Eric Hammond

1
Ben do not bir gereksiz / küme kurulumu olmadığı sürece bu öneriyoruz. Ubuntu'nun güncelleme prosedürleri enfiye değil, hizmetleri birkaç kez durdurdum ve son zamanlarda kırık bir önyükleme sektörü bile ... Ve özel bir şey yapmıyoruz - sadece ters proxy ve Tomcat uygulamaları olarak Apache.
18'de ikili

1

Biz kullanıyoruz unattended-upgradeshiçbir sorunları ile 2020 için 2015 den. Aşağıdakileri içeren küçük bir kurulumumuz var (DigitalOcean'da):

  • nginx
  • mysql-server
  • php5-fpm php5-curl php5-mysql

İyi geçmiş performansa dayanarak, güncellemeleri bu şekilde yapmak, yapmamaktan daha güvenlidir. Ancak bu, gelecek için bir garanti olmak zorunda değildir!

Bu apache, diğer kullanıcıların raporlarına ve geçmiş apachegüncellemeler deneyimime dayanarak iyi bir fikir olmayabilir . [Yukarıya ve buraya bakınız ]

Bu durumda unattended-upgrades, serbest bırakma EOL'ye yaklaştığında yine de manuel müdahale gerekecektir .


(Sorunun yanı sıra: TWiki, WordPress ve Jenkins ile yaşadığım deneyimde, bu uygulamaları güncel tutmak aslında işletim sisteminin kendisinden daha büyük bir endişe kaynağı olsa da, elbette ikisini de yapmalıyız. Internet'e dönük uygulamaları bir Docker kapsayıcısının içinde çalışan kök olmayan işlemler olarak yerleştirebilirsiniz.)


Ancak en iyi uygulamaları sorduğunuzdan , AWS belgelerinde önerilen birincil yaklaşım :

  • Geçerli çevrimiçi örneklerinizi değiştirmek için yeni örnekler oluşturun ve başlatın. Ardından geçerli örnekleri silin.

    Yeni örneklerde, kurulum sırasında en son güvenlik düzeltme ekleri yüklü olacaktır.

(Şubat 2020)

Bu, mavi-yeşil bir dağıtım stratejisinin bir parçası olarak yapılabilir . Buradaki avantaj, trafiği değiştirmeden önce yeni sunucunuzda testler yapabilmenizdir. Testleriniz kapsamlıysa, teoride güncellemeleriniz tam otomatikleştirilebilir, canlı yayına geçmeden önce ve kesinti olmadan doğrulanabilir.

Diğer avantajlar:

  • Testler, insanın dikkat etmesi gerekiyorsa size önceden uyarı verebilir (aksine unattended-upgrades, uyarılar kullanıcılarınızdan yalnızca sorun yaşandıktan sonra geldiğinde!)

  • Sisteminizin güvenliği ihlal edilirse veya sağlayıcıları değiştirmeye karar verirseniz, bu yaklaşım yeni bir dağıtım gerçekleştirmeyi kolaylaştırmalıdır. Dağıtım stratejiniz eski anıdan ziyade betiklidir.

Ancak elbette bu yaklaşım için basit kurulumdan daha fazla kurulum unattended-upgradesve daha karmaşıklık gerekiyor, bu yüzden hala hata için yer var.


AWS, benzer bir şey yapmanın resmi yolu gibi görünen "Bağımlılıkları Güncelle yığın komutunu" gerçekleştirmeyi de belirtiyor unattended-upgrades. Görünüşe göre Instances arayüzünden tetiklenebilir, ancak otomatik olup olamayacağından emin değilim.

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.