Drupal, ασφάλεια και Drupalgeddon 2

| Hosting
Drupal securite

Γιατί Drupal

Ένας από τους σημαντικότερους λόγους που επιλέξαμε τo Drupal είναι διότι αποτελεί το ασφαλέστερο CMS που κυκλοφορεί στην αγορά. Αυτό το οφείλει στον τρόπο που είναι γραμμένος ο κώδικας του και στο γεγονός ότι είναι ανοικτό λογισμικό που υποστηρίζεται από μια κοινότητα εκατομμυρίων χρηστών αλλά και μεγάλων οργανισμών όπως η NASA, η κυβέρνηση της Αυστραλίας, η Tesla και η πολιτεία της Νέας Υόρκης. Ειδικά σε σύγκριση με τα δημοφιλή CMS όπως Wordpress, Joomla κ.ο.κ η διαφορά τους είναι χαώδης, μιας και τα τελευταία παραβιάζονται τακτικά και ακόμα και εμείς οι ίδιοι έχουμε κληθεί αρκετές φορές να "καθαρίσουμε" σελίδες πελατών μας. Εδώ να σημειώσουμε πως η "ασπίδα" προστασίας της κοινότητας του Drupal καλύπτει και τα χιλιάδες module του, σε αντίθεση με τα άλλα CMS.

Η κοινότητα του Drupal λειτουργεί προληπτικά ανακαλύπτοντας η ίδια τα δυνητικά προβλήματα ασφαλείας, με αποτέλεσμα να μπορεί να δημοσιεύσει την διόρθωσή τους (patch) πριν αυτά εντοπιστούν από τους hackers. Έτσι το Drupal παραμένει συνεχώς ασφαλές και οι αναβαθμίσεις γίνονται προγραμματισμένα και όχι σε συνθήκες πανικού σαν αντίδραση σε κάποιο κενό που βρέθηκε από hackers (τα λεγόμενα και 0-Day).

SA-CORE-2018-002

Σε αυτό το πλαίσιο λειτουργίας, στις 21 Μαρτίου ανακοινώθηκε πως βρέθηκε ένα κενό ασφαλείας και πως μια εβδομάδα μετά, στις 28 Μαρτίου και 21:00-22:30 ώρα Ελλάδος θα γινόταν η διανομή της διόρθωσης. Αυτό μας έδωσε άφθονο χρόνο να προετοιμαστούμε ώστε να μπορέσουμε να εφαρμόσουμε τη διόρθωση σε όλες τις σελίδες που φιλοξενούμε και υποστηρίζουμε με τον ταχύτερο και αποτελεσματικότερο τρόπο, χωρίς να ριψοκινδυνεύσουμε δεδομένα ή να υπάρξει κάποια επίπτωση στη λειτουργία των σελίδων.

Οργάνωση ομάδας

Τα κυριότερα σημεία του πλάνου μας ήταν τα εξής:

  • Δημιουργία και δοκιμή των scripts που θα κατέβαζαν την διόρθωση και θα την εφάρμοζαν σε όλες τις σελίδες Drupal και σε όλους τους server μας.
  • Μέριμνα ώστε η κάθε σελίδα να λάβει τη σωστή διόρθωση ανάλογα με την έκδοση Drupal που τρέχει (φιλοξενούμε σελίδες σε Drupal 5(!), 6, 7 και 8)
  • Έλεγχος των τακτικών αντιγράφων ασφαλείας (backup) και πραγματοποίηση χειροκίνητης λήψης ενός νέου backup για κάθε σελίδα αμέσως πριν την εφαρμογή της διόρθωσης, ώστε να μπορούμε να γυρίσουμε πίσω σε περίπτωση που κάτι πάει στραβά.
  • Καθορισμός διαδικασιών ελέγχου (testing) ώστε να βεβαιωθεί πως η διόρθωση δεν χάλασε κάποια λειτουργικότητα μιας σελίδας.
  • Παραγγελία πίτσας και αναψυκτικών για τη Μεγάλη Βραδιά :)

Η Μεγάλη Βραδιά

Όταν βγήκε η διόρθωση (22:12 ώρα Ελλάδος), αμέσως την εφαρμόσαμε σε 2 αντιπροσωπευτικές σελίδες μας. Μόλις βεβαιωθήκαμε ότι όλα λειτουργούν εντάξει, "αμολήσαμε" τα scripts να κάνουν τη δουλειά τους. Παράλληλα δοκιμάζαμε κάθε σελίδα που βλέπαμε πως έχει αναβαθμιστεί. Στις 22:37 δηλαδή σε 25 λεπτά είχε ολοκληρωθεί η διαδικασία της αναβάθμισης σε 5 production server, ενώ οι δοκιμές μας ολοκληρώθηκαν περίπου μιάμιση ώρα μετά. Με χαρά διαπιστώσαμε πως δεν υπήρξε καμία παραφωνία και όλα λειτούργησαν όπως έπρεπε.

Παρακολούθηση

Από τη στιγμή της ανακοίνωσης της διόρθωσης περάσαμε στα συστήματα ασφαλείας μας την "υπογραφή" των πιθανών επιθέσεων που θα εκμεταλλεύονταν την τρύπα ασφαλείας που είχε καλυφθεί. Μέχρι την ώρα που γράφεται αυτό το post (2 ημέρες μετά) δεν έχει καταγραφεί κάποια επίθεση, ενώ δεν φαίνεται να έχει υπάρξει κάποιο σημαντικό γεγονός σε παγκόσμιο επίπεδο.