Οι περισσότεροι servers που παραβιάζονται δεν πέφτουν από κάποιο έξυπνο κόλπο. Έτρεχαν λογισμικό με ένα γνωστό, από καιρό διορθωμένο σφάλμα, και κανείς δεν εγκατέστησε τη διόρθωση. Οι αυτόματες ενημερώσεις ασφαλείας κλείνουν αυτό το κενό χωρίς να χρειάζεται να θυμάστε να συνδεθείτε. Είναι από τα πιο αποδοτικά πεντάλεπτα που μπορείτε να δώσετε σε έναν νέο server.
Ubuntu και Debian: unattended-upgrades
Τα images του Ubuntu συνήθως το έχουν ήδη· το Debian ίσως όχι. Εγκαταστήστε και ενεργοποιήστε το:
apt update
apt install -y unattended-upgrades apt-listchanges
dpkg-reconfigure -plow unattended-upgrades # answer "Yes"
Αυτό δημιουργεί το /etc/apt/apt.conf.d/20auto-upgrades:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
Οι δύο τιμές 1 σημαίνουν: ανανέωσε τις λίστες πακέτων και εγκατάστησε ενημερώσεις ασφαλείας κάθε μέρα.
Αποφασίστε για τις επανεκκινήσεις
Τα patches του kernel χρειάζονται επανεκκίνηση για να ισχύσουν. Για αυτόματη επανεκκίνηση σε ήσυχη ώρα, επεξεργαστείτε το /etc/apt/apt.conf.d/50unattended-upgrades και ορίστε:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Ο server κάνει επανεκκίνηση μόνο όταν μια ενημέρωση το χρειάζεται πραγματικά (όταν υπάρχει το /var/run/reboot-required).
Δοκιμάστε το
unattended-upgrade --dry-run --debug
Τα logs βρίσκονται στο /var/log/unattended-upgrades/.
Rocky Linux και AlmaLinux: dnf-automatic
dnf install -y dnf-automatic
Επεξεργαστείτε το /etc/dnf/automatic.conf:
[commands]
upgrade_type = security
apply_updates = yes
Ενεργοποιήστε το timer:
systemctl enable --now dnf-automatic.timer
systemctl list-timers dnf-automatic.timer
Για να δείτε αν μια ενημέρωση χρειάζεται επανεκκίνηση, εγκαταστήστε το dnf-utils και τρέξτε needs-restarting -r.
Ποια πολιτική επανεκκίνησης σας ταιριάζει;
- Μία εφαρμογή που αντέχει να σταματήσει ένα λεπτό τη νύχτα (bot, προσωπική υπηρεσία, μικρό site): αυτόματη επανεκκίνηση ενεργή.
- Κάτι που χρησιμοποιεί ο κόσμος όλο το εικοσιτετράωρο, ή μια βάση που προτιμάτε να επανεκκινείτε μόνοι σας: αυτόματη επανεκκίνηση ανενεργή, συν υπενθύμιση να κάνετε επανεκκίνηση όταν εμφανιστεί το
/var/run/reboot-required.
Τι δεν καλύπτει
Μόνο τα πακέτα συστήματος. Τα images του Docker, οι εξαρτήσεις γλωσσών (pip, npm) και τα χειροκίνητα εγκατεστημένα binaries δεν ενημερώνονται μόνα τους: προγραμματίστε τα ξεχωριστά. Και οι ενημερώσεις εντός έκδοσης είναι αυτόματες· η μετάβαση σε νέα έκδοση (Ubuntu 22.04 → 24.04) παραμένει σκόπιμη, χειροκίνητη δουλειά.
Αν ποτέ μια κακή ενημέρωση χαλάσει την εκκίνηση, η web κονσόλα στον πίνακα του EQVPS σας βάζει μέσα χωρίς SSH, και τα Managed Backups σας δίνουν σημείο επαναφοράς από πριν την αλλαγή.
Σχόλια
Δεν υπάρχουν ακόμη σχόλια. Γίνετε ο πρώτος.