Πώς να διατηρείτε το VPS σας ασφαλές: hardening, Lynis και πρόγραμμα συντήρησης
Με το άρθρο Ασφάλιση του VPS σας: τα πρώτα πέντε λεπτά θέτετε τις βάσεις: ενημερώσεις, σύνδεση με κλειδί, firewall και fail2ban. Ωστόσο, ένας server δεν ολοκληρώνεται ποτέ. Το λογισμικό παλιώνει, τα πιστοποιητικά λήγουν και οι δίσκοι γεμίζουν. Εδώ θα διαβάσετε πώς να θωρακίσετε στη συνέχεια τον server σας βήμα προς βήμα (hardening), πώς να τον ελέγξετε με το Lynis και ποιος ρυθμός συντήρησης βοηθά.
Τέσσερις αρχές
- Μικρή επιφάνεια επίθεσης. Ό,τι δεν υπάρχει, δεν μπορεί να παρουσιάσει διαρροή. Αφαιρέστε τις υπηρεσίες και τα πακέτα που δεν χρησιμοποιείτε και αφήστε ανοιχτές προς τα έξω μόνο τις θύρες που είναι πραγματικά απαραίτητες. Δείτε το άρθρο Ποιες υπηρεσίες ακούν στο VPS σας και τι είναι προσβάσιμο από έξω;
- Ελάχιστα δικαιώματα. Καμία καθημερινή εργασία ως root, υπηρεσίες με δικό τους χρήστη, ποτέ
chmod 777. Δείτε το άρθρο Ανάγνωση και σωστή ρύθμιση των δικαιωμάτων αρχείων στο VPS σας. - Πολυεπίπεδη άμυνα. Να θεωρείτε δεδομένο ότι κάποιο μέτρο θα αποτύχει. Μια βάση δεδομένων που ακούει μόνο στο
127.0.0.1, βρίσκεται πίσω από firewall και έχει ισχυρό κωδικό πρόσβασης παραμένει ασφαλής αν ένα από τα τρία αυτά μέτρα πάψει να λειτουργεί. - Ορατότητα του τι συμβαίνει. Αρχεία καταγραφής, παρακολούθηση και αντίγραφα ασφαλείας. Χωρίς αυτά τα τρία, θα αντιληφθείτε ένα πρόβλημα μόνο όταν θα είναι πια αργά.
Τα CIS Benchmarks εν συντομία
Το Center for Internet Security (CIS) δημιουργεί τα CIS Benchmarks: λίστες με προτεινόμενες ρυθμίσεις ανά προϊόν, μεταξύ άλλων για Debian και Ubuntu. Χωρίζονται σε Level 1 (βασικά μέτρα χωρίς πολλά μειονεκτήματα, ο στόχος για τους περισσότερους servers) και Level 2 (αυστηρότερα, μπορεί να κοστίσουν σε λειτουργίες ή ταχύτητα). Χρησιμοποιήστε τα ως οδηγό αναφοράς: κατανοήστε μια σύσταση πριν την εφαρμόσετε, αλλάζετε ένα πράγμα κάθε φορά και σημειώνετε γιατί επιλέγετε συνειδητά να μην κάνετε κάτι. Προσέξτε τα έτοιμα scripts που εφαρμόζουν «όλο το CIS» με μία κίνηση: με αυτά μπορείτε εύκολα να κλειδώσετε τον εαυτό σας έξω.
Έλεγχος με το Lynis
Το Lynis είναι ένα δωρεάν πρόγραμμα ανοιχτού κώδικα που ελέγχει τον server σας από μέσα. Δεν αλλάζει τίποτα από μόνο του, απλώς κάνει αναφορά.
sudo apt install lynis sudo lynis audit system
Σε AlmaLinux και Rocky Linux το εγκαθιστάτε από το EPEL με sudo dnf install lynis. Τα αποτελέσματα διαβάζονται ως εξής:
- Τα Warnings πρέπει οπωσδήποτε να τα εξετάσετε, για παράδειγμα πακέτα με γνωστά κενά ασφαλείας (που σημαίνει ότι εκκρεμούν ενημερώσεις).
- Τα Suggestions είναι συμβουλές. Πολλές είναι χρήσιμες, κάποιες δεν ταιριάζουν στον server σας. Για παράδειγμα, μια πρόταση να απενεργοποιήσετε το
AllowTcpForwardingθα χαλάσει τα SSH tunnels σας. Μην τις ακολουθείτε τυφλά. - Κάθε μήνυμα έχει έναν κωδικό σε αγκύλες, όπως
[SSH-7408]. Με αυτόν αναζητάτε στο/var/log/lynis.logτι ακριβώς ελέγχθηκε. - Ο hardening index (ένας αριθμός έως το 100) είναι ενδεικτικός της κατεύθυνσης, όχι βαθμός που πρέπει να κυνηγάτε.
Δημιουργήστε ένα snapshot πριν αλλάξετε κάτι με βάση το Lynis, δείτε το άρθρο Snapshots και αντίγραφα ασφαλείας του VPS σας, και βεβαιωθείτε ότι ξέρετε πώς να ανοίξετε την κονσόλα σε περίπτωση που κλειδώσετε τον εαυτό σας έξω.
Ένας ρυθμός συντήρησης
Ένα παράδειγμα για έναν μικρό server. Προσαρμόστε το στη δική σας περίπτωση και σημειώστε τις στιγμές στο ημερολόγιό σας.
| Πότε | Τι |
|---|---|
| Κάθε εβδομάδα | Έλεγχος των ειδοποιήσεων της παρακολούθησης· systemctl --failed· επανεκκίνηση εάν υπάρχει το /var/run/reboot-required |
| Κάθε μήνα | apt list --upgradable (μένει κάτι σε εκκρεμότητα;)· ενημέρωση των containers· χώρος στον δίσκο· σφάλματα στο αρχείο καταγραφής με journalctl -p err --since "1 month ago" |
| Κάθε τρίμηνο | Δοκιμαστική επαναφορά ενός αντιγράφου ασφαλείας· έλεγχος χρηστών και authorized_keys· νέα εκτέλεση του Lynis |
| Κάθε χρόνο | Έλεγχος της ημερομηνίας λήξης υποστήριξης της έκδοσής σας και προγραμματισμός αναβάθμισης· ενημέρωση του security.txt εάν διαθέτετε· ενημέρωση του φακέλου του server σας |
Βοήθεια για τα επιμέρους θέματα: Ενημερώσεις και αυτόματες ενημερώσεις, Παρακολούθηση από έξω και από μέσα, Αντίγραφα ασφαλείας με restic σε άλλη τοποθεσία, Ανάκληση πρόσβασης SSH στο VPS σας για πρώην συνεργάτη ή χαμένο laptop και Αναβάθμιση του VPS σας σε νέα έκδοση Debian ή Ubuntu.
Ένας φάκελος server
Γράψτε για κάθε server ένα σύντομο έγγραφο και φυλάξτε το εκτός του server, για παράδειγμα στον διαχειριστή κωδικών πρόσβασης:
- όνομα, διευθύνσεις IP, λειτουργικό σύστημα και ημερομηνία λήξης υποστήριξης της συγκεκριμένης έκδοσης·
- τι εκτελείται (υπηρεσίες, containers, websites) και ποιες θύρες είναι ανοιχτές γι' αυτά·
- πού βρίσκονται τα αντίγραφα ασφαλείας, πώς γίνεται η επαναφορά και πότε τη δοκιμάσατε τελευταία φορά·
- ποια μυστικά βρίσκονται στον server (όχι τα ίδια τα μυστικά, αλλά ποια είναι και πού τα αντικαθιστάτε)·
- ποιος έχει πρόσβαση και τι κάνατε συνειδητά διαφορετικά από την προεπιλογή.
Αυτός ο φάκελος βοηθά σε περίπτωση βλάβης, σε μια αναβάθμιση και όταν κάποιος άλλος αναλαμβάνει τη διαχείριση.
timedatectl ότι το ρολόι είναι συγχρονισμένο: με λάθος ώρα τα αρχεία καταγραφής είναι άχρηστα και τα πιστοποιητικά μπορεί να θεωρηθούν άκυρα.Το VPS σας είναι πλήρως αυτοδιαχειριζόμενο: το hardening και τη συντήρηση μέσα στον server τα αναλαμβάνετε εσείς. Εμείς σας βοηθάμε με ό,τι αφορά το WebOké, όπως την οθόνη του VPS, το δίκτυο, τα snapshots και τα ημερήσια αντίγραφα ασφαλείας.
Θέλετε να μάθετε περισσότερα; Παρακολουθήστε το δωρεάν μάθημα Διαχείριση VPS και διακομιστών Linux, ενότητα 10.1 Hardening και αρχές του CIS ή ενότητα 10.4 Τελικός έλεγχος: ο server σας υπό εξέταση.
