Skip to content
VDS · Bảo mật

Cập nhật bảo mật tự động

Cách cấu hình unattended-upgrades trên Debian và Ubuntu và dnf-automatic trên AlmaLinux để các bản vá tự cài đặt mà không làm dịch vụ ngừng hoạt động vào ban đêm.

Cập nhật 23 tháng 8, 2026

Hầu hết các vụ xâm nhập đều đến từ những lỗ hổng đã được vá từ nhiều tháng trước. Cập nhật thủ công thường bị trì hoãn; cập nhật tự động thì không. Một cấu hình hợp lý chỉ cài các bản cập nhật bảo mật và để mọi thứ khác yên.

Debian và Ubuntu

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

Tệp /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";

Lịch trình nằm trong /etc/apt/apt.conf.d/20auto-upgrades:

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

Chạy thử, không thực hiện thay đổi:

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

AlmaLinux và CentOS Stream

dnf install -y dnf-automatic

Trong /etc/dnf/automatic.conf:

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

Những gì cần loại trừ

Thêm mọi thứ sẽ hỏng khi phiên bản thay đổi bất ngờ vào danh sách loại trừ: máy chủ cơ sở dữ liệu, Docker, chính engine của ứng dụng. Hãy cập nhật chúng thủ công vào một thời điểm ít người dùng — xem cập nhật hệ thống và gói.

Các bản cập nhật bảo mật cho kernel cũng được cài, nhưng chúng chỉ có hiệu lực sau khi khởi động lại:

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

Khởi động lại: chỉ do con người quyết định

Rất dễ bị cám dỗ đặt Automatic-Reboot "true", nhưng khởi động lại tự động vào ban đêm nghĩa là dịch vụ khởi động lại mà không có ai theo dõi. Nếu có gì đó không khởi động lại được, bạn sẽ biết chuyện vào buổi sáng từ người dùng của mình.

Một thỏa hiệp hợp lý: các bản cập nhật tự cài, còn bạn khởi động lại thủ công mỗi tháng một lần trong khi theo dõi console trong bảng điều khiển /hosting/vds/m/<id>. Nhân tiện, hãy kiểm tra xem các dịch vụ có tự khởi động không:

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

Lỗi thường gặp

LỗiHậu quảCách khắc phục
Bật cập nhật cho tất cả kho, không chỉ kho bảo mậtCác thay đổi tính năng cũng ùa vàoChỉ giữ nguồn -security
Cơ sở dữ liệu không nằm trong danh sách loại trừPhiên bản chính làm hỏng dữ liệuThêm nó vào Package-Blacklist
Khởi động lại tự động vào ban đêmDịch vụ không khởi động lại và không ai để ýAutomatic-Reboot "false"
Cấu hình xong rồi quên luônKernel được cập nhật nhưng bản cập nhật không được áp dụngKiểm tra reboot-required mỗi tháng một lần
Các gói đã tải về làm đầy đĩaBạn hết dung lượngGiữ tính năng tự động dọn cache được bật

Cập nhật tự động là bảo hiểm, không phải thứ thay thế cho sự chú ý. Mỗi tháng một lần, hãy mở máy, xem nhật ký cập nhật, danh sách các dịch vụ bị lỗi và liệu có cần khởi động lại không. Mười lăm phút mỗi tháng bao quát hầu hết các tình huống trong bài viết dấu hiệu bị xâm nhập.