SSD Nodes Learn Hosting plans →
Rehberler Matt ConnorYazan Matt Connor · Güncellendi 2026-10-22

Ubuntu 24.04 unattended-upgrades varsayilan mi?

Ubuntu 24.04 sunucularda unattended-upgrades paketinin durumu ve 20auto-upgrades dosyasinin etkisi. Otomatik yeniden baslatma ayari ve kuru calistirma komutlari.

Otomatik güvenlik güncellemelerini yapılandırmanın önemi

Yamalanmamış bir sunucu, internetteki en kolay hedeftir. Küçük sunuculara yönelik ihlallerin çoğu zekice kurgulanmış saldırılar değildir; bunlar, sahibinin asla güncellemediği eski bir paketteki bilinen bir açıktan kaynaklanır. Ubuntu, bu açığı kendi başına kapatan bir araçla gelir: unattended-upgrades, güvenlik güncellemelerini sizin giriş yapmanıza gerek kalmadan, belirli bir zaman çizelgesine göre otomatik olarak kurar. Bu, bir VPS üzerinde elde edilebilecek en düşük maliyetli güvenlik kazanımıdır ve Ubuntu üzerinde kurulumu sadece birkaç dakika sürer.

Bu araç bilinçli olarak muhafazakâr bir yapıdadır. Varsayılan olarak her paket yükseltmesini değil, yalnızca güvenlik güncellemelerini uygular. Bunun nedeni, bir güvenlik yamasının düşük riskli olması ve inceleme gerektirmemesi, ancak bir özellik yükseltmesinin güvendiğiniz davranışları değiştirebilmesidir. Bu varsayılan ayar çoğu sunucu için en doğrusudur; bu rehber, değiştirilmeye değer birkaç ayarı gösterirken bu yapıyı korur.

Adım 1: Kurulum ve etkinleştirme

Ubuntu Server 24.04 üzerinde paket varsayılan olarak kurulu ve etkin gelir. Ubuntu sunucu belgeleri, unattended-upgrades paketinin varsayılan olarak yüklü olduğunu ve güvenlik güncellemelerinin otomatik kurulumunun kurulumdan hemen sonra etkinleştirildiğini belirtir. Paketin kurulum sırasında sorduğu etkinleştirme sorusu varsayılan olarak evet yanıtını alır; bu nedenle birisi açıkça hayır yanıtını vermediği sürece günlük görev zaten açıktır. Özel veya kırpılmış bir sağlayıcı imajı farklılık gösterebilir, bu yüzden varsaymak yerine doğrulayın. Aşağıdaki komutlar her iki durumda da güvenlidir: paket eksikse yükler ve onu açan tek soruyu yeniden sorar:

sudo apt update
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

dpkg-reconfigure istemi, kararlı güncellemelerin otomatik olarak indirilip kurulmasıyla ilgili tek bir evet-hayır sorusu sorar. Evet yanıtını verin. Bu işlem, günlük görevi açan dosyayı yazar:

cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

İlk satır paket listesini günlük olarak yeniler; ikincisi ise unattended-upgrade işlemini günlük olarak çalıştırır. Her ikisinin de 1 olarak ayarlanması, makinenin her gün bir systemd zamanlayıcısı üzerinde, sizden başka bir işlem gerektirmeksizin güvenlik güncellemelerini kontrol edip uyguladığı anlamına gelir.

Adım 2: Nelerin otomatik 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";
};

Önemli olan kısımlar -security satırlarıdır ve bunlar varsayılan olarak etkindir. Bu, muhafazakar bir politikadır: güvenlik güncellemeleri alınır, normal özellik güncellemeleri ise seçtiğiniz bir zamanda elle uygulamanız için bırakılır. Ubuntu'nun düzenli kararlı güncellemelerini de otomatik olarak almak için aynı bloktaki "${distro_id}:${distro_codename}-updates" satırının yorum işaretini kaldırabilirsiniz. Bu, politikayı makinedeki her depoya veya PPA'ya değil, yalnızca Ubuntu'nun -updates arşivine genişletir ve olağan kontroller yine geçerli kalır: araç, yapılandırma dosyası istemi oluşturacak herhangi bir paketi bekletir ve bağımlılıkları izin verilen bir kaynaktan gelmeyen hiçbir şeyi kurmaz. Önem verdiğiniz bir servisi barındıran bir sunucu için yalnızca güvenlik yamalarını otomatik olarak almak daha güvenli bir varsayılandır. Özel bir nedeniniz olmadıkça ayarları olduğu gibi bırakın.

Adım 3: Yeniden başlatma işlemleri

Bazı güncellemeler (çekirdek veya temel bir kütüphane gibi) ancak yeniden başlatma sonrasında tam olarak etkili olur. unattended-upgrades, siz söylemediğiniz sürece sunucunuzu yeniden başlatmaz; bu da yamalanmış bir çekirdeğin siz yeniden başlatana kadar kullanılmadan kalabileceği anlamına gelir. Bunu nasıl yöneteceğinize karar verin ve 50unattended-upgrades içinde açıkça belirtin:

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";

Bu ayar, sunucuyu sabah saat dörtte, yalnızca bir güncelleme gerektirdiğinde yeniden başlatır. Failover yapacak bir kümesi olmayan tek bir VPS üzerinde, sabah erken saatlerde yapılacak kısa bir yeniden başlatma, çekirdek düzeltmelerini güncel tutmak için genellikle doğru bir takastır. Sunucunuz asla beklenmedik şekilde yeniden başlatılmaması gereken bir servis çalıştırıyorsa, yeniden başlatmayı kapalı tutun ve /var/run/reboot-required dosyasını kontrol ettikten sonra kendiniz yeniden başlatmayı alışkanlık haline getirin.

Adım 4: Çalıştığını doğrulama

İşin çalışıp çalışmadığını anlamak için bir gün beklemeyin. Hiçbir şeyi değiştirmeden tam olarak nelerin uygulanacağını gösteren bir deneme çalıştırması başlatın:

sudo unattended-upgrade --dry-run --debug

Çıktı, dikkate alınan paketleri ve bunların hangi kaynaklardan geldiğini listeler, böylece politikayı iş başında görebilirsiniz. Gerçek iş en az bir kez çalıştıktan sonra kaydı burada bulunur:

cat /var/log/unattended-upgrades/unattended-upgrades.log

Bu günlük, "sunucum gerçekten kendini yamalıyor mu" sorusunun yanıtıdır. Eğer güvenlik paketlerinin bir zaman çizelgesine göre kurulduğunu gösteriyorsa, iş çalışıyor demektir. Belirli bir açığın kapandığından emin olmak içinse günlük tek başına yetmez: Ubuntu düzeltmeyi programın kendi sürüm numarasını değiştirmeden eklediği için php -v gibi bir çıktı yanıltıcı olabilir ve PHP2Shell yamasını dpkg ile doğrulama rehberi, kurulu paket sürümünü nasıl kontrol edeceğinizi gösterir.

Bu yapının konumu

Otomatik güncellemeler, güçlendirilmiş bir sunucunun tek bir katmanıdır, tamamı değildir. Bilinen hataların kalıcı olmasını engellerler ancak kimin giriş yapabileceği veya nelerin dışarıya açık olduğu konusunda bir işlem yapmazlar. Bunları, ön kapının kaba kuvvet saldırısına uğramaması için anahtar tabanlı SSH sıkılaştırma, yalnızca seçtiğiniz şeylerin erişilebilir olması için varsayılan olarak reddeden bir UFW güvenlik duvarı ve ele geçirilen bir uygulamanın tüm kutuyu ele geçirememesi için ayrıcalıksız servis kullanıcıları ile eşleştirin. Barındırdığınız uygulamalar tüm bunların üzerinde kendi sırlarını taşır; bu nedenle, eğer bu kutu self-hosted bir parola kasası çalıştırıyorsa, bir Vaultwarden sıkılaştırma adımı, hiçbir apt yamasının koruyamayacağı yönetici token'ını ve yedekleme dosyasını kapsar. Yamalama, bildiğiniz delikleri kapatır; diğer katmanlar ise bilmediklerinizden kaynaklanan hasarı sınırlar.

FAQ

unattended-upgrades tüm güncellemeleri mi yoksa sadece 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 standart özellik güncellemelerini manuel olarak uygulamanız için bırakır. Bu kasıtlı bir tercihtir: güvenlik yamaları düşük risklidir ve otomatik olarak uygulanmaları uygundur; ancak özellik yükseltmeleri davranış değişikliğine yol açabileceğinden, çoğu sunucunun muhafazakar varsayılan ayarda kalması önerilir.

Otomatik güncellemeler sunucumu yeniden başlatır mı?

Yalnızca siz izin verirseniz başlatır. Yapılandırmada Unattended-Upgrade::Automatic-Reboot "true" ayarını yapın ve bir Automatic-Reboot-Time belirleyin; böylece bir güncelleme (örneğin bir çekirdek yaması) gerektirdiğinde sunucu o saatte yeniden başlatılır. Bu ayar kapalıysa, yamalanmış bir çekirdek siz manuel olarak yeniden başlatana kadar bekler; bir yeniden başlatmanın gerekip gerekmediğini öğrenmek için /var/run/reboot-required dosyasını kontrol edin.

Otomatik güncellemelerin çalıştığını nasıl doğrularım?

Hiçbir şeyi değiştirmeden şu anda nelerin uygulanacağını görmek için sudo unattended-upgrade --dry-run --debug komutunu çalıştırın ve geçmiş çalıştırmaların kaydı için /var/log/unattended-upgrades/unattended-upgrades.log dosyasını okuyun; her otomatik kurulum ayrıca /var/log/apt/history.log dosyasına da işlenir. Günlük kayıtları güvenlik paketlerinin günlük bir programla kurulduğunu gösteriyorsa zamanlayıcı çalışıyor demektir. Eğer kuru çalışma (dry run) No packages found that can be upgraded unattended çıktısını veriyorsa, ya her şey günceldir ya da izin verilen kaynaklarınız güvenlik deposuyla eşleşmeyecek kadar dardır.

unattended-upgrades sunucumu güvende tutmak için yeterli midir?

Hayır, ancak gerekli bir katmandır. Bilinen güvenlik açıklarının yamalanmadan kalmasını engeller, bu da en yaygın ihlal türlerini durdurur; ancak erişimi veya dışa açıklığı kontrol etmez. Sunucunun gerçekten zor kırılabilir olması için bunu SSH sıkılaştırma, varsayılan olarak reddeden bir güvenlik duvarı ve en az yetkili servis kullanıcıları ile birleştirin.

Bu yazı işinize yaradı mı?