Ubuntu 24.04 unattended-upgrades otomatis?
Pelajari cara kerja unattended-upgrades pada Ubuntu 24.04. Ketahui mengapa fitur ini tidak aktif secara default dan cara mengaktifkan auto-upgrades.
Mengapa pembaruan keamanan otomatis layak untuk dikonfigurasi
Server yang tidak di-patch adalah target termudah di internet. Sebagian besar pelanggaran pada server kecil bukan karena teknik yang canggih; melainkan karena bug yang diketahui pada paket lama yang tidak pernah diperbarui oleh pemiliknya. Ubuntu menyediakan alat untuk menutup celah tersebut secara otomatis: unattended-upgrades menginstal pembaruan keamanan secara otomatis, sesuai jadwal, tanpa Anda perlu login. Ini adalah cara termurah untuk meningkatkan keamanan pada VPS, dan pada Ubuntu hanya membutuhkan beberapa menit pengaturan.
Alat ini sengaja dibuat konservatif. Secara default, alat ini hanya menerapkan pembaruan keamanan, bukan setiap pembaruan paket, karena patch keamanan berisiko rendah dan layak diterapkan tanpa peninjauan, sedangkan pembaruan fitur dapat mengubah perilaku sistem yang sedang Anda gunakan. Pengaturan default tersebut sudah tepat untuk sebagian besar server, dan panduan ini akan mempertahankannya sambil menunjukkan beberapa pengaturan yang layak diubah.
Langkah 1: Instal dan aktifkan
Pada Ubuntu 24.04, paket ini sering kali sudah ada tetapi tidak selalu aktif. Instal dan aktifkan:
sudo apt update
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgradesPrompt dpkg-reconfigure mengajukan satu pertanyaan ya atau tidak, apakah akan mengunduh dan menginstal pembaruan stabil secara otomatis. Jawab ya. Hal ini akan menulis file yang mengaktifkan tugas harian:
cat /etc/apt/apt.conf.d/20auto-upgradesAPT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";Baris pertama memperbarui daftar paket setiap hari; baris kedua menjalankan unattended upgrade setiap hari. Keduanya diatur ke 1 berarti mesin akan memeriksa dan menerapkan pembaruan keamanan setiap hari, menggunakan timer systemd, tanpa tindakan lebih lanjut dari Anda.
Langkah 2: Tentukan apa yang diterapkan secara otomatis
Kebijakan tersebut tersimpan di /etc/apt/apt.conf.d/50unattended-upgrades. Buka file tersebut dan lihat blok Allowed-Origins di bagian atas:
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";
};Baris -security adalah bagian yang penting, dan baris tersebut aktif secara default. Itulah kebijakan konservatif: pembaruan keamanan masuk, pembaruan fitur biasa dibiarkan untuk Anda terapkan secara manual saat Anda mau. Anda dapat menambahkan baris origin "${distro_id}:${distro_codename}-updates" untuk menerapkan semua pembaruan secara otomatis, tetapi untuk server yang menghosting layanan penting, hanya menerapkan patch keamanan secara otomatis adalah pengaturan default yang lebih aman. Biarkan seperti bawaan kecuali Anda memiliki alasan khusus untuk mengubahnya.
Langkah 3: Menangani reboot
Beberapa pembaruan, seperti kernel atau library inti, hanya akan berdampak penuh setelah reboot. unattended-upgrades tidak akan melakukan reboot pada server Anda kecuali Anda memerintahkannya, yang berarti kernel yang telah di-patch dapat tetap tidak digunakan sampai Anda melakukan restart. Tentukan bagaimana Anda ingin menanganinya, dan atur secara eksplisit di 50unattended-upgrades:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";Konfigurasi tersebut akan me-reboot server pada jam empat pagi ketika, dan hanya ketika, sebuah pembaruan memerlukannya. Pada VPS tunggal tanpa cluster untuk failover, reboot singkat di pagi hari biasanya adalah kompromi yang tepat untuk tetap mendapatkan perbaikan kernel terbaru. Jika server Anda menjalankan layanan yang tidak boleh restart secara tidak terduga, matikan fitur reboot dan biasakan melakukan reboot sendiri setelah memeriksa /var/run/reboot-required.
Langkah 4: Buktikan bahwa ini berfungsi
Jangan menunggu satu hari untuk mengetahui apakah tugas tersebut berjalan. Jalankan dry run yang menunjukkan secara tepat apa yang akan diterapkan, tanpa mengubah apa pun:
sudo unattended-upgrade --dry-run --debugOutput tersebut mencantumkan paket yang dipertimbangkan dan dari origin mana paket tersebut berasal, sehingga Anda dapat melihat kebijakan tersebut bekerja. Setelah tugas asli berjalan setidaknya satu kali, catatannya ada di sini:
cat /var/log/unattended-upgrades/unattended-upgrades.logLog tersebut adalah jawaban untuk pertanyaan "apakah server saya benar-benar melakukan patching sendiri." Jika log menunjukkan paket keamanan diinstal sesuai jadwal, maka tugas tersebut berjalan dengan baik.
Di mana posisi ini dalam sistem
Pembaruan otomatis adalah salah satu lapisan dari server yang diperkuat (hardened), bukan satu-satunya. Pembaruan ini mencegah bug yang diketahui tetap ada, tetapi tidak berpengaruh pada siapa yang dapat login atau apa yang terekspos. Pasangkan dengan penguatan SSH berbasis key-only agar pintu depan tidak bisa dibobol secara brute-force, firewall UFW dengan kebijakan default-deny agar hanya layanan yang Anda pilih yang dapat dijangkau, dan user layanan unprivileged agar aplikasi yang kompromi tidak dapat mengambil alih seluruh sistem. Patching menutup celah yang Anda ketahui; lapisan lainnya membatasi kerusakan dari celah yang tidak Anda ketahui.
FAQ
Apakah unattended-upgrades menerapkan setiap pembaruan atau hanya pembaruan keamanan?
Secara default, hanya pembaruan keamanan. Blok Allowed-Origins di dalam /etc/apt/apt.conf.d/50unattended-upgrades mengaktifkan origin -security dan membiarkan pembaruan fitur biasa untuk Anda terapkan secara manual. Hal ini disengaja: patch keamanan berisiko rendah dan layak diterapkan secara otomatis, sedangkan pembaruan fitur dapat mengubah perilaku sistem, sehingga sebagian besar server harus mempertahankan pengaturan default yang konservatif.
Apakah pembaruan otomatis akan me-reboot server saya?
Hanya jika Anda memerintahkannya. Atur Unattended-Upgrade::Automatic-Reboot "true" dan Automatic-Reboot-Time dalam konfigurasi, maka server akan reboot pada waktu tersebut jika sebuah pembaruan memerlukannya, misalnya setelah patch kernel. Jika dimatikan, kernel yang telah di-patch akan menunggu sampai Anda melakukan reboot sendiri; periksa /var/run/reboot-required untuk mengetahui kapan ada pembaruan yang tertunda.
Bagaimana cara memeriksa apakah pembaruan otomatis benar-benar berjalan?
Jalankan sudo unattended-upgrade --dry-run --debug untuk melihat apa yang akan diterapkan saat ini tanpa mengubah apa pun, dan baca /var/log/unattended-upgrades/unattended-upgrades.log untuk melihat catatan pembaruan sebelumnya; setiap instalasi otomatis juga tercatat di /var/log/apt/history.log. Jika log menunjukkan paket keamanan diinstal pada jadwal harian, maka timer berfungsi. Jika dry run mencetak No packages found that can be upgraded unattended, berarti semuanya sudah mutakhir atau origin yang diizinkan terlalu sempit untuk mencakup repositori keamanan.
Apakah unattended-upgrades saja cukup untuk menjaga keamanan server saya?
Tidak, tetapi ini adalah lapisan yang diperlukan. Ini mencegah kerentanan yang diketahui tetap tidak ter-patch, yang menghentikan jenis pelanggaran paling umum, tetapi tidak mengontrol akses atau paparan. Gabungkan dengan penguatan SSH, firewall default-deny, dan user layanan dengan hak akses minimum untuk server yang benar-benar sulit ditembus.