Όταν στις αρχές του 2011 έψαχνα ένα CMS προς αντικατάσταση του Joomla για να βασίσω τα site μας, επέλεξα το Drupal κυρίως για την ευελιξία του (fields, roles & permissions, views), τη στιβαρότητά του (performance & scalability) και τον επαγγελματισμό της κοινότητάς του (το μότο ήταν "come for the code, stay for the community"). Σύντομα κατάλαβα όμως ότι άλλο ένα δυνατό σημείο του ήταν η ασφάλειά του.
Τι σημαίνει ασφαλές site
Τι εννοούμε όμως όταν λέμε ότι ένα σύστημα (στην προκειμένη περίπτωση είτε απλό site, είτε ηλεκτρονικό κατάστημα) είναι ασφαλές; Εννοούμε ότι δεν μπορεί να "χακαριστεί". Δεν μπορεί δηλαδή κάποιος να αποκτήσει προσβάσεις και δικαιώματα σε αυτό παραπάνω από αυτές που του επιτρέπει ο ρόλος του.
Οι πιο χαρακτηριστικές περιπτώσεις ανασφαλούς (insecure) site είναι όταν κάποιος τρίτος επισκέπτης καταφέρνει να αλλάξει το περιεχόμενο του site ή και να το διαγράψει τελείως. Ή μπορεί να αποκτήσει πρόσβαση σε πληροφορίες, όπως προσωπικά δεδομένα χρηστών.
Υπάρχουν όμως και λιγότερο γνωστές περιπτώσεις μη εξουσιοδοτημένης πρόσβασης, όπως αυτή όπου ένας διαχειριστής με συγκεκριμένα δικαιώματα διαχείρισης, αποκτά δικαιώματα που δεν του έχουν δοθεί. Για παράδειγμα, κάποιος που έχει επιφορτιστεί με το να γράφει στο blog ενός ηλεκτρονικού καταστήματος, καταφέρνει να αποκτήσει πρόσβαση στη διαχείριση των παραγγελιών ή των οικονομικών στοιχείων.
Ποιος θα θελήσει να χακάρει το site μου;
Μια συχνή ερώτηση που λαμβάνουμε είναι "ποιος θα θελήσει να χακάρει το δικό μου site;". "Υπάρχουν τόσα εκατομμύρια site, το δικό μου θα βάλουν στο μάτι;". Αν δεν είστε το υπουργείο άμυνας ή κάποιος άλλος οργανισμός ή εταιρεία υψηλού προφίλ, όντως είναι σπάνιο το να σας "βάλουν στο μάτι" και να επιτεθούν στο δικό σας site μεμονωμένα. Αυτό όμως που συμβαίνει πολύ συχνά, είναι το site σας να γίνει στόχος μαζικής επίθεσης όπου χρησιμοποιώντας αυτοματοποιημένους μηχανισμούς ελέγχεται το δικό σας όπως και εκατομμύρια άλλα site για πιθανές τρύπες ασφαλείας που θα δώσουν στον επιτιθέμενο την μη εξουσιοδοτημένη πρόσβαση.
Ο λόγος που γίνεται αυτό είναι γιατί οι απατεώνες του διαδικτύου προκειμένου να κρύψουν την ταυτότητά τους και τα ίχνη τους, προτιμούν να χρησιμοποιούν τους servers άλλων για να κάνουν παράνομες ενέργειες, όπως αποστολή spam email, αποστολή phishing email, εισαγωγή στο site κακόβουλων script (όπως cryptocurrency mining) κ.ά.
Τι θα γίνει αν χακαριστεί το site μου;
Το αποτέλεσμα του να χακαριστεί το site σας από τέτοια μαζική επίθεση συνήθως δεν είναι άμεσα ορατό, καθώς οι χάκερς θέλουν το site σας να παραμείνει υπό τον έλεγχό τους για όσο το δυνατόν μεγαλύτερο διάστημα. Μπορεί όμως να οδηγήσει σε προβλήματα όπως αφαίρεση από το Google, αναφορά στις αρχές, οριστικό κλείσιμο από τον πάροχο που το φιλοξενεί, ακόμα και οικονομική απώλεια πολλών χιλιάδων ευρώ.
Σε περίπτωση που το site σας γίνει στόχος μεμονωμένης επίθεσης, τα προβλήματα είναι διαφορετικής φύσης όπως δυσφήμιση και άμεσος οικονομικός αντίκτυπος από την απώλεια εργασιών.
Είναι το Drupal πιο ασφαλές από το Joomla, το WordPress ή άλλα CMS;
Η γρήγορη απάντηση είναι "ναι"! Έχουμε κληθεί δεκάδες φορές να "ξεχακάρουμε" site που είναι φτιαγμένα σε Joomla, WordPress και άλλα συστήματα, ποτέ όμως σε Drupal.
Αυτό σημαίνει ότι το Drupal δεν μπορεί να χακαριστεί; Όχι! Όλα τα συστήματα μπορούν να χακαριστούν. Ακόμα και site που έχουν γίνει σε Drupal έχουν χακαριστεί κατά καιρούς. Απλά δεν έχει συμβεί (ακόμα;) σε δικό μας Drupal site.
Ο λόγος είναι ότι στο Drupal ακολουθούνται κάποιοι αυστηροί κανόνες ασφαλείας που ξεκινούν από τον τρόπο ελέγχου των module που διατίθενται προς χρήση και φτάνουν στον τρόπο δημοσίευσης και διόρθωσης των κενών ασφαλείας που ανιχνεύονται.
Αποτέλεσμα αυτού είναι το Drupal να επιλέγεται πια και για την ασφάλειά του. Τα site της NASA, αλλά και άλλων κυβερνητικών οργανισμών τόσο των ΗΠΑ, όσο και άλλων χωρών, που συχνά γίνονται στόχοι επιθέσεων, βασίζονται σε αυτό.
Drupageddon 3
Στο Drupal κάθε βδομάδα ανιχνεύονται και διορθώνονται κενά ασφαλείας τόσο στον πυρήνα του, όσο και στα χιλιάδες module του. Από το 2011 όμως τρεις ήταν οι φορές που ανιχνεύθηκαν κρίσιμα κενά ασφαλείας και μία από αυτές, ήταν χθες 28/3/2018. Αυτά τα τρία κενά ασφαλείας χαρακτηρίστηκαν ως "Drupageddon" λόγω της κρισιμότητάς τους, αλλά και λόγω των προβλημάτων που θα δημιουργούσαν αν κάποιος χάκερ τα εκμεταλλευόταν. Έτσι, και στις τρεις περιπτώσεις ακολουθήθηκε μια διαδικασία που θα επέτρεπε πρώτα να κλείσει η τρύπα ασφαλείας στα πάνω από 1,5 εκατομμύριο site που βασίζονται στο Drupal και μετά να μαθευτεί το κενό ασφαλείας στους επίδοξους χάκερ.
Συγκεκριμένα, το χθεσινό κενό ασφαλείας ανιχνεύθηκε από τον Jasper Mattsson, ο οποίος εργάζεται στην Druid, η οποία είναι εταιρεία ελέγχου και ανίχνευσης κενών ασφαλείας για το Drupal. Αφού το βρήκε, το κοινοποίησε στην κλειστή ομάδα ασφαλείας του Drupal, η οποία έγραψε τον κώδικα (patch) που κλείνει το κενό και ενημέρωσε την κοινότητα ότι αυτό θα δημοσιευθεί στις 28/3/2018 στις 9:30 το βράδυ, ώρα Ελλάδας.
Η οδηγία που δίνεται σε αυτές τις περιπτώσεις είναι ότι αν δεν κάνεις αναβάθμιση στα site σου εντός 8 ωρών από την δημοσίευση της διόρθωσης, πρέπει να θεωρείς το site σου χακαρισμένο! Ο λόγος είναι ότι ένας προγραμματιστής διαβάζοντας τον κώδικα που κλείνει το κενό ασφαλείας, μπορεί να καταλάβει ποιο είναι το κενό ασφαλείας, ακόμα κι αν δεν έχει πρόσβαση στην αρχική αναφορά, οπότε μπορεί να φτιάξει μαζικές επιθέσεις που να εκμεταλλεύονται ακριβώς αυτή την ευπάθεια.
Τι έκανε η Netstudio για την ασφάλεια των site;
Από το 2011 που γυρίσαμε σε Drupal, έχουμε στηρίξει σε αυτό πάρα πολλά site παρουσίασης, ηλεκτρονικά καταστήματα, αλλά και εφαρμογές, τα περισσότερα από τα οποία φιλοξενούμε σε δικούς μας server. Παρ' όλο που στους server μας κρατάμε πολλαπλά backup και τους έχουμε θωρακίσει με επιπλέον των τυπικών χαρακτηριστικών μέτρα ασφαλείας, έπρεπε και στις τρεις περιπτώσεις Drupageddon να είμαστε απόλυτα προσεκτικοί.
Έτσι, ξεκινώντας από την ανακοίνωση της αναφοράς, βάλαμε στο ημερολόγιό μας την ημερομηνία και ώρα της δημοσίευσης του patch. Παράλληλα, φτιάξαμε και δοκιμάσαμε αυτοματοποιημένα script που θα έκλειναν το κενό ασφαλείας αμέσως για τα πάνω από 220 site μας, σε όποιον από τους server μας και να βρίσκονταν και για όποια έκδοση Drupal κι αν ήταν. Θα ήταν αδύνατο να ολοκληρώσουμε την εργασία σε τόσα site μέσα στις 8 ώρες που δόθηκε ως όριο, αν αυτό θα έπρεπε να το κάνουμε με το χέρι.
Η προσπάθεια ήταν επιτυχής και οφείλεται στην μεγάλη πια εμπειρία τόσο στο Drupal, όσο και σε θέματα ασφαλείας του Μιχάλη Ιωαννίδη, ο οποίος ολοκλήρωσε χθες την εργασία και για τα 220 site εντός 39 λεπτών από τη δημοσίευση του update!
Τι να κάνω για να είναι ασφαλές το site μου;
Είτε το site σας είναι φτιαγμένο σε Drupal, είτε σε οποιοδήποτε άλλο σύστημα, ακολουθήστε τις παρακάτω οδηγίες για να παραμείνει ασφαλές:
- Βεβαιωθείτε ότι ο server όπου φιλοξενείται το site σας κρατάει καθημερινά backup και ότι μπορείτε να επαναφέρετε το backup γρήγορα και εύκολα. Σε περίπτωση που πάει κάτι στραβά με το site σας, η επαναφορά του backup είναι συνήθως ο πιο γρήγορος τρόπος επίλυσης.
- Βεβαιωθείτε ότι κρατάτε πάνω από 1 έκδοση του backup. Κρατάτε τουλάχιστον εβδομαδιαίο και μηνιαίο αντίγραφο. Σε περίπτωση που χακαριστεί το site σας και το πάρετε χαμπάρι μετά από δύο μέρες, τότε ακόμα και το ημερήσιο backup θα είναι άχρηστο, καθώς και εκεί θα είναι χακαρισμένο το site σας.
- Κρατάτε αντίγραφο του backup και σε κάποιον τοπικό υπολογιστή σας. Οι περισσότεροι πάροχοι φιλοξενίας δίνουν τη δυνατότητα να κατεβάσετε το backup του site σας πολύ εύκολα και γρήγορα.
- Κάνετε όλα τα updates στο site σας με τη δημοσίευσή τους και ειδικά τα updates ασφαλείας.
- Μιλήστε με τους ανθρώπους που σας υποστηρίζουν και ζητήστε τους να σας εξηγήσουν ποιες πολιτικές ασφαλείας ακολουθούν.
- Σε περίπτωση που δεν έχετε κάποιον που να σας υποστηρίζει επαρκώς, καλέστε μας στο 2108004447 για να δούμε αν μπορούμε να σας υποστηρίξουμε.
Έχει χακαριστεί ποτέ το site σας; Ποιες ήταν οι επιπτώσεις; Τι κάνατε; Περιγράψτε την εμπειρία σας στα σχόλια παρακάτω.