Ubuntu 24.04 unattended-upgrades varsayılan açık mı?
Ubuntu Server 24.04’te paket yüklü gelir, ancak 20auto-upgrades ile etkinleştirmeniz gerekir. Automatic-Reboot false kalır; kuru çalıştırma neyin kurulacağını gösterir.
Otomatik güvenlik güncellemeleri neden yapılandırmaya değer
Yama uygulanmamış bir sunucu, internetteki en kolay hedeftir. Küçük sunuculara yapılan sızmaların çoğu karmaşık değildir; sahibinin hiç güncellemediği eski bir paketteki bilinen bir hatadan kaynaklanır. Ubuntu, bu açığı kendi kendine kapatan bir araç sunar: unattended-upgrades, siz oturum açmadan, bir zamanlamaya bağlı olarak güvenlik güncellemelerini otomatik olarak kurar. Bu, bir VPS'te elde edilebilecek en ucuz güvenlik kazancıdır ve Ubuntu'da birkaç dakikalık bir kurulum gerektirir.
Araç bilinçli olarak muhafazakârdır. Varsayılan olarak, her paket yükseltmesini değil, yalnızca güvenlik güncellemelerini uygular; çünkü bir güvenlik yaması düşük risklidir ve incelemeden alınmaya değerdir, oysa bir özellik yükseltmesi güvendiğiniz davranışı değiştirebilir. Bu varsayılan, çoğu sunucu için doğru olanıdır ve bu kılavuz, değiştirmeye değer birkaç ayarı gösterirken onu korur.
Adım 1: Kurulum ve etkinleştirme
Ubuntu 24.04'te paket genellikle mevcuttur ancak her zaman etkin değildir. Kurun ve açın:
sudo apt update
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgradesdpkg-reconfigure istemi, kararlı güncellemelerin otomatik olarak indirilip kurulup kurulmayacağına dair tek bir evet-hayır sorusu sorar. Evet yanıtını verin. Bu, günlük işi açan dosyayı yazar:
cat /etc/apt/apt.conf.d/20auto-upgradesAPT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";İlk satır paket listesini günlük olarak yeniler; ikincisi ise gözetimsiz yükseltmeyi günlük olarak çalıştırır. Her ikisinin de 1 olarak ayarlanması, makinenin sizden başka bir işlem gerektirmeden, bir systemd zamanlayıcısı ile her gün güvenlik güncellemelerini kontrol edip uyguladığı anlamına gelir.
Adım 2: Neyin otomatik olarak uygulanacağına karar verme
Politika, /etc/apt/apt.conf.d/50unattended-upgrades dosyasında bulunur. Dosyayı açın ve üst kısımdaki Allowed-Origins bloğuna bakın:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
"${distro_id}ESMApps:${distro_codename}-apps-security";
"${distro_id}ESM:${distro_codename}-infra-security";
};-security satırları önemli olanlardır ve varsayılan olarak etkindir. Bu, muhafazakâr politikadır: güvenlik güncellemeleri içeri alınır, sıradan özellik güncellemeleri sizin seçtiğinizde elle uygulamanız için bırakılır. Tüm güncellemeleri otomatik olarak uygulamak için "${distro_id}:${distro_codename}-updates" kaynak satırını ekleyebilirsiniz, ancak önemsediğiniz bir şeyi barındıran bir sunucu için yalnızca güvenlik yamalarını otomatik olarak almak daha güvenli varsayılandır. Belirli bir nedeniniz yoksa, gelen haliyle bırakın.
Adım 3: Yeniden başlatmaları yönetme
Çekirdek veya temel bir kütüphane gibi bazı güncellemeler, yalnızca yeniden başlatmadan sonra tam olarak etkili olur. unattended-upgrades, siz söylemediğiniz sürece sunucunuzu yeniden başlatmaz; bu da, siz yeniden başlatana kadar yamalı bir çekirdeğin kullanılmadan bekleyebileceği anlamına gelir. Bunu nasıl yönetmek istediğinize karar verin ve 50unattended-upgrades içinde açıkça ayarlayın:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";Bu, yalnızca bir güncelleme gerektirdiğinde sunucuyu sabah dörtte yeniden başlatır. Yük devredecek bir kümesi olmayan tek bir VPS'te, çekirdek düzeltmelerinde güncel kalmak için genellikle doğru takas, kısa bir sabah erken yeniden başlatmasıdır. Sunucunuz asla beklenmedik şekilde yeniden başlamaması gereken bir şey çalıştırıyorsa, yeniden başlatmayı kapalı bırakın ve /var/run/reboot-required kontrol ettikten sonra kendiniz yeniden başlatmayı alışkanlık haline getirin.
Adım 4: Çalıştığını kanıtlama
İşin çalışıp çalışmadığını öğrenmek için bir gün beklemeyin. Hiçbir şeyi değiştirmeden tam olarak neyin uygulanacağını gösteren bir deneme çalıştırması tetikleyin:
sudo unattended-upgrade --dry-run --debugÇıktı, dikkate aldığı paketleri ve hangi kaynaklardan geldiklerini listeler, böylece politikayı eylem halinde görebilirsiniz. Gerçek iş en az bir kez çalıştıktan sonra, kaydı buradadır:
cat /var/log/unattended-upgrades/unattended-upgrades.logBu günlük, "sunucum gerçekten kendi kendine yama yapıyor mu" sorusunun cevabıdır. Güvenlik paketlerinin bir zamanlamaya göre kurulduğunu gösteriyorsa, iş çalışıyor demektir.
Bunun uyduğu yer
Otomatik güncellemeler, güçlendirilmiş bir sunucunun bir katmanıdır, tamamı değil. Bilinen hataların kalıcı olmasını engeller, ancak kimin oturum açabileceği veya neyin açıkta olduğu konusunda hiçbir şey yapmaz. Ön kapının kaba kuvvetle kırılamaması için bunları yalnızca anahtarlı SSH güçlendirmesi, yalnızca seçtiğiniz şeyin erişilebilir olması için varsayılan olarak reddeden bir UFW güvenlik duvarı ve ele geçirilmiş bir uygulamanın tüm kutuyu ele geçirememesi için ayrıcalıksız servis kullanıcıları ile eşleştirin. Yamalama, bildiğiniz delikleri kapatır; diğer katmanlar, bilmediklerinizden gelecek hasarı sınırlar.
FAQ
Gözetimsiz yükseltmeler her güncellemeyi mi yoksa yalnızca güvenlik güncellemelerini mi uygular?
Varsayılan olarak, yalnızca güvenlik güncellemelerini uygular. /etc/apt/apt.conf.d/50unattended-upgrades içindeki Allowed-Origins bloğu, -security kaynaklarını etkinleştirir ve sıradan özellik güncellemelerini sizin elle uygulamanız için bırakır. Bu bilinçli bir tercihtir: güvenlik yamaları düşük risklidir ve otomatik olarak alınmaya değerdir, özellik yükseltmeleri ise davranışı değiştirebilir, bu nedenle çoğu sunucu muhafazakâr varsayılanı korumalıdır.
Otomatik güncellemeler sunucumu yeniden başlatır mı?
Yalnızca siz söylerseniz. Yapılandırmada Unattended-Upgrade::Automatic-Reboot "true" ve bir Automatic-Reboot-Time ayarlayın; sunucu, örneğin bir çekirdek yamasından sonra, bir güncelleme gerektirdiğinde o saatte yeniden başlar. Kapalı bırakılırsa, yamalı bir çekirdek siz kendiniz yeniden başlatana kadar bekler; bir tanesinin beklemede olup olmadığını öğrenmek için /var/run/reboot-required kontrol edin.
Otomatik güncellemelerin gerçekten çalıştığını nasıl kontrol ederim?
Hiçbir şeyi değiştirmeden şu anda neyin uygulanacağını görmek için sudo unattended-upgrade --dry-run --debug çalıştırın ve geçmiş çalışmaların kaydı için /var/log/unattended-upgrades/unattended-upgrades.log okuyun; her otomatik kurulum ayrıca /var/log/apt/history.log içine kaydedilir. Günlük, güvenlik paketlerinin günlük bir zamanlamaya göre kurulduğunu gösteriyorsa, zamanlayıcı çalışıyor demektir. Deneme çalıştırması No packages found that can be upgraded unattended yazdırıyorsa, ya her şey zaten günceldir ya da izin verilen kaynaklarınız güvenlik deposuyla eşleşmeyecek kadar dardır.
Gözetimsiz yükseltmeler sunucumu güvende tutmak için yeterli midir?
Hayır, ancak gerekli bir katmandır. Bilinen güvenlik açıklarının yamasız kalmasını engeller, bu da en yaygın sızma türünü durdurur, ancak erişimi veya açıklığı kontrol etmez. Gerçekten içine sızılması zor bir sunucu için bunu SSH güçlendirmesi, varsayılan olarak reddeden bir güvenlik duvarı ve en az ayrıcalıklı servis kullanıcıları ile birleştirin.