Skip to content
VDS · Keamanan

Pembaruan keamanan otomatis

Cara mengonfigurasi unattended-upgrades di Debian dan Ubuntu serta dnf-automatic di AlmaLinux agar patch terpasang sendiri tanpa layanan mati di malam hari.

Diperbarui 23 Agustus 2026

Sebagian besar insiden keamanan terjadi melalui kerentanan yang sudah ditambal berbulan-bulan lalu. Pembaruan manual sering ditunda; pembaruan otomatis tidak. Konfigurasi yang bijak hanya memasang pembaruan keamanan dan membiarkan sisanya.

Debian dan Ubuntu

apt install -y unattended-upgrades apt-listchanges
dpkg-reconfigure -plow unattended-upgrades

File /etc/apt/apt.conf.d/50unattended-upgrades:

Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
};
Unattended-Upgrade::Package-Blacklist {
    "postgresql-.*";
    "docker-ce";
};
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::Mail "you@example.com";

Jadwalnya ada di /etc/apt/apt.conf.d/20auto-upgrades:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Uji coba tanpa melakukan perubahan:

unattended-upgrade --dry-run --debug
systemctl status unattended-upgrades
cat /var/log/unattended-upgrades/unattended-upgrades.log

AlmaLinux dan CentOS Stream

dnf install -y dnf-automatic

Di /etc/dnf/automatic.conf:

[commands]
upgrade_type = security
apply_updates = yes
reboot = never
systemctl enable --now dnf-automatic.timer
systemctl list-timers | grep dnf

Apa yang harus dikecualikan

Tambahkan semua yang rusak saat versinya berubah secara tak terduga ke daftar pengecualian: server database, Docker, mesin aplikasi itu sendiri. Perbarui semuanya secara manual pada waktu yang sepi — lihat pembaruan sistem dan paket.

Pembaruan keamanan kernel juga dipasang, tetapi baru berlaku setelah reboot:

test -f /var/run/reboot-required && cat /var/run/reboot-required.pkgs

Reboot: keputusan manusia saja

Godaan untuk menyetel Automatic-Reboot "true" itu besar, tetapi reboot otomatis setiap malam berarti layanan restart tanpa ada yang mengawasi. Jika ada yang gagal menyala kembali, Anda baru tahu keesokan paginya dari pengguna Anda.

Kompromi yang bijak: pembaruan memasang dirinya sendiri, dan Anda melakukan reboot secara manual sebulan sekali sambil mengawasi konsol di panel /hosting/vds/m/<id>. Sekalian periksa apakah layanan menyala sendiri:

systemctl is-enabled nginx postgresql
systemctl list-units --state=failed

Kesalahan umum

KesalahanAkibatPerbaikan
Mengaktifkan pembaruan untuk semua repositori, bukan hanya keamananPerubahan fitur ikut masukPertahankan hanya sumber -security
Database tidak ada di daftar pengecualianVersi mayor merusak dataTambahkan ke Package-Blacklist
Reboot otomatis pada malam hariLayanan tidak menyala dan tidak ada yang menyadarinyaAutomatic-Reboot "false"
Sudah disetel lalu dilupakanKernel diperbarui tetapi pembaruannya tidak diterapkanPeriksa reboot-required sebulan sekali
Paket yang diunduh memenuhi diskRuang penyimpanan habisBiarkan pembersihan cache otomatis tetap aktif

Pembaruan otomatis adalah asuransi, bukan pengganti perhatian. Sebulan sekali, buka mesinnya, lihat log pembaruan, daftar layanan yang gagal, dan apakah perlu reboot. Lima belas menit sebulan mencakup sebagian besar skenario dari artikel tanda-tanda insiden keamanan.