Έκανα την ενημέρωση. Και τώρα;
Αν ενημερώσατε ένα πρόσθετο ή το CMS σας αφού λάβατε μία από τις ειδοποιήσεις ασφαλείας μου, πολύ ωραία. Αυτό ήταν το σημαντικό βήμα, και για πολλούς ιστότοπους είναι το μόνο βήμα που χρειάζεται.
Η ενημέρωση κλείνει την τρύπα από εδώ και στο εξής. Δεν μπορεί να σας πει αν κάποιος βρήκε την τρύπα πριν την κλείσετε. Αυτή η σελίδα είναι ένας πρακτικός αυτοέλεγχος περίπου 30 λεπτών για να απαντήσετε μόνοι σας σε αυτό το ερώτημα, γραμμένος για ιδιοκτήτες ιστότοπων που δεν έχουν υπόβαθρο ή προϋπολογισμό για την ασφάλεια. Πρόκειται για γενικές οδηγίες, όχι για κάποιο εύρημα σχετικά με τον ιστότοπό σας: από έξω μπορώ να δω ποια έκδοση λογισμικού αναφέρει ένας ιστότοπος, και τίποτα περισσότερο.
Βήμα 1: Ελέγξτε τι μπορούσε πραγματικά να κάνει το κενό ασφαλείας
Δεν αξίζουν όλες οι ευπάθειες την ίδια αντίδραση. Βρείτε την ειδοποίησή σας στη σελίδα ειδοποιήσεων και δείτε σε ποια κατηγορία ανήκει (κάθε σελίδα ειδοποίησης το αναφέρει κοντά στην αρχή):
- Κατάληψη λογαριασμού ή εκτέλεση κώδικα (ένας επιτιθέμενος θα μπορούσε να αποκτήσει πρόσβαση διαχειριστή ή να εκτελέσει δικό του κώδικα): ακολουθήστε ολόκληρη τη λίστα ελέγχου παρακάτω.
- Ανάγνωση δεδομένων (ένας επιτιθέμενος θα μπορούσε να διαβάσει πληροφορίες από τη βάση δεδομένων σας, αλλά όχι να αλλάξει τον ιστότοπό σας): εστιάστε στα βήματα 2 και 5. Το ερώτημα είναι ποια δεδομένα ήταν αποθηκευμένα, όχι αν ο ιστότοπός σας τροποποιήθηκε.
- Πιο περιορισμένα ζητήματα (ευπάθειες που απαιτούν συγκεκριμένη διαμόρφωση ή που φτάνουν μόνο σε μια οθόνη διαχείρισης): η σελίδα ειδοποίησης για το στοιχείο σας αναφέρει τι αξίζει να ελεγχθεί, αν υπάρχει κάτι. Συχνά αρκεί μόνο η ενημέρωση.
Βήμα 2: Υπολογίστε το χρονικό παράθυρο έκθεσης
Δύο ημερομηνίες οριοθετούν την περίοδο που έχει σημασία:
- Πότε άνοιξε η τρύπα στον ιστότοπό σας. Συνήθως την ημέρα που εγκαταστήσατε την επηρεαζόμενη έκδοση. Αν δεν τη γνωρίζετε, η ημερομηνία στο δελτίο CVE της ειδοποίησης (υπάρχει σύνδεσμος σε κάθε σελίδα ειδοποίησης) είναι ένα λογικό υποκατάστατο: από τη δημοσίευση και μετά, το γνώριζαν και οι επιτιθέμενοι.
- Πότε κάνατε την ενημέρωση. Την ημέρα που την κλείσατε.
Όλα όσα ακολουθούν αφορούν αυτό το παράθυρο. Αν είναι σύντομο, ας πούμε ότι ενημερώσατε μέσα σε μία ή δύο ημέρες από το δελτίο, ο κίνδυνος είναι υπαρκτός αλλά μικρός. Αν το παράθυρο διαρκεί μήνες, πάρτε τη λίστα ελέγχου στα σοβαρά.
Βήμα 3: Ελέγξτε ποιος έχει πρόσβαση στον ιστότοπό σας
Ένας επιτιθέμενος που μπήκε σχεδόν πάντα αφήνει στον εαυτό του έναν τρόπο να ξαναμπεί. Ελέγξτε, με αυτή τη σειρά:
- Λογαριασμούς διαχειριστή. Στο WordPress: Users, και έπειτα φιλτράρετε κατά Administrator. Στο Joomla: Users, και έπειτα User Manager. Αναζητήστε οποιονδήποτε λογαριασμό δεν δημιουργήσατε εσείς. Προσοχή: ορισμένες ευπάθειες (για παράδειγμα εκείνη του Simple Membership) επιτρέπουν σε έναν επιτιθέμενο να καταλάβει έναν υπάρχοντα λογαριασμό αντί να δημιουργήσει νέον, οπότε αυτός ο έλεγχος από μόνος του δεν αποδεικνύει τίποτα. Γι’ αυτό η αλλαγή διαπιστευτηρίων στο βήμα 4 έχει σημασία ακόμη και όταν η λίστα χρηστών φαίνεται καθαρή.
- Πρόσθετα, θέματα ή επεκτάσεις που προστέθηκαν πρόσφατα και δεν εγκαταστήσατε εσείς.
- Προγραμματισμένες εργασίες (WordPress: το πρόσθετο WP Crontrol τις εμφανίζει. Πολλά backdoor επανεγκαθίστανται από μια προγραμματισμένη εργασία).
- Κωδικούς πρόσβασης εφαρμογών (WordPress: Users, Profile, Application Passwords), έναν διακριτικό τρόπο διατήρησης πρόσβασης μέσω API μετά από αλλαγή κωδικού.
Βήμα 4: Αλλάξτε τα διαπιστευτήρια
Αν η ειδοποίησή σας ανήκε στην κατηγορία της κατάληψης λογαριασμού ή της εκτέλεσης κώδικα και το παράθυρο έκθεσης ήταν μεγαλύτερο από λίγες ημέρες, αλλάξτε τα ακόμη και αν το βήμα 3 δεν βρήκε τίποτα:
- Τους κωδικούς πρόσβασης για όλους τους λογαριασμούς διαχειριστή.
- Τα μυστικά κλειδιά και τα salts στο
wp-config.php(WordPress). Αυτό αποσυνδέει τους πάντες, συμπεριλαμβανομένου κάθε επιτιθέμενου με κλεμμένη συνεδρία. Η επίσημη γεννήτρια δίνει νέες τιμές. Στο Joomla, το αντίστοιχο είναι η τιμή$secretστοconfiguration.php. - Τους κωδικούς του πίνακα ελέγχου φιλοξενίας και του FTP/SFTP αν είναι κοινόχρηστοι με κάποιον ή παλιοί.
Αυτό κοστίζει δέκα λεπτά και κλείνει την πόρτα σε κλεμμένες συνεδρίες και σε σπασμένα hash κωδικών, ανεξάρτητα από το αν συνέβη κάποια εισβολή.
Βήμα 5: Σαρώστε και ελέγξτε τα αρχεία
- Εκτελέστε τη σάρωση κακόβουλου λογισμικού του παρόχου φιλοξενίας σας αν την προσφέρει ο πίνακας ελέγχου (οι περισσότερες κοινόχρηστες φιλοξενίες την προσφέρουν), ή έναν αξιόπιστο δωρεάν σαρωτή. Για το WordPress, η δωρεάν σάρωση του Wordfence συγκρίνει τα αρχεία σας με τα επίσημα αντίγραφα.
- Δείτε τα αρχεία που τροποποιήθηκαν πρόσφατα γύρω από την αρχή του παραθύρου έκθεσης και μετά, ιδίως αρχεία PHP σε καταλόγους μεταφορτώσεων. Εκεί ουσιαστικά δεν θα έπρεπε ποτέ να υπάρχει PHP.
- Αν ο πάροχός σας κρατάει αρχεία καταγραφής πρόσβασης, κοιτάξτε στο παράθυρο για αιτήματα προς το ευάλωτο στοιχείο από διευθύνσεις που δεν αναγνωρίζετε. Η απουσία ενδείξεων εδώ σημαίνει λίγα, αφού τα αρχεία καταγραφής ανακυκλώνονται, αλλά μια εύρεση είναι καθοριστική.
Αν ο αυτοέλεγχος εντοπίσει κάτι
Μη διαγράψετε τίποτα ακόμη. Κρατήστε πρώτα ένα πλήρες αντίγραφο ασφαλείας, αρχεία και βάση δεδομένων, ώστε να μπορεί να εξεταστεί ό,τι συνέβη. Έπειτα, κατά σειρά κόστους:
- Ο πάροχος φιλοξενίας σας. Οι περισσότεροι έχουν υπηρεσία καθαρισμού κακόβουλου λογισμικού ή τουλάχιστον θα επιβεβαιώσουν τι βλέπουν οι δικοί τους σαρωτές. Αυτή είναι η σωστή πρώτη κίνηση για τους περισσότερους μικρούς ιστότοπους.
- Ένας επαγγελματίας. Αν ο ιστότοπος διαχειρίζεται δεδομένα πελατών ή πληρωμές, ή αν η σάρωση βρήκε backdoor, αξίζει να πληρώσετε κάποιον για να διαπιστώσει σε τι υπήρξε πρόσβαση. Η νομοθεσία για την προστασία δεδομένων σε πολλές χώρες εξαρτάται από αυτή την απάντηση.
- Η ριζική λύση που πάντα δουλεύει: επαναφορά από ένα αντίγραφο ασφαλείας προγενέστερο του παραθύρου έκθεσης, ή επανεγκατάσταση του CMS και των πρόσθετων από επίσημες πηγές, κρατώντας μόνο το περιεχόμενό σας. Έπειτα ενημερώστε και αλλάξτε όλα τα παραπάνω.
Αν δεν είστε σίγουροι για το τι βλέπετε, μπορείτε επίσης απλώς να απαντήσετε στο email της ειδοποίησης. Διαβάζω κάθε απάντηση, και το να κατευθύνω κάποιον προς τη σωστή κατεύθυνση είναι μέρος του λόγου για τον οποίο στέλνω αυτές τις ειδοποιήσεις εξαρχής. Δεν πουλάω υπηρεσία καθαρισμού και αυτή η σελίδα δεν είναι διαφημιστική πρόταση. Δείτε την πολιτική γνωστοποίησης.
Αν είχατε ήδη κάνει την ενημέρωση πριν φτάσει το email μου
Ισχύει η ίδια λογική: η ειδοποίηση σημαίνει ότι ο ιστότοπός σας ανέφερε πρόσφατα μια επηρεαζόμενη έκδοση, οπότε υπήρξε ένα παράθυρο ακόμη κι αν τώρα είναι κλειστό. Τα βήματα 2 έως 4 εξακολουθούν να απαντούν στο ερώτημα που έχει σημασία.