Έπεσε ο server_3…

Μια φράση που δεν θέλεις να ακούσεις ειδικά καλοκαιριάτικά!

Για να δούμε όμως τι έγινε στην ιστορία μας, τι προκάλεσε το downtime σε eshop site συνεργάτη μας αλλά και πως καταφέραμε και διορθώσαμε το ζήτημα.

  • Ήταν crawlers attack?
  • DDOS?
  • Penetration?
  • Πρόβλημα στον datacenter?

Λοιπόν ας ξεκινήσουμε από την αρχή.

12 Ιουλίου 23:50

Tο eshop ξαφνικά το βράδυ αρχίζει να εμφανίζει load. CPU 98%... RAM 96%

H ΙΤ ομάδα μας κοιτάζει τα queries. Βλέπουμε πολλά  queries στην βάση δεδομένων… Περίεργο.

Μιας και η ώρα ήταν κοντά στις 12 τα μεσάνυχτα μήπως τρέχει κάποιο cron; Πχ για XML generation; Είναι πιθανό… Αλλά γιατί τόσο load; Μήπως κόλλησε το cron;

Παρόλο που το site αργούσε χαρακτηριστικά, κοινώς σερνόταν ( :P ), αλλά η ώρα ήταν περασμένη οπότε αποφασίσαμε να το αξιολογήσουμε αργότερα.

Ο λόγος που κοιτάμε μόνο το εν λόγω site είναι διότι για λόγους ασφαλείας, αξιοπιστίας και ταχύτητας έχουμε μόνο 1 site ανά server. Αυτό γίνεται ώστε σε παρόμοιες περιπτώσεις εάν ένα site  δεχτεί επίθεση να μην επηρεάσει και τα υπόλοιπα που βρίσκονται στον ίδιο server.

 13 Ιουλίου 01:00

Το load επανέρχεται σε κανονικά επίπεδα. Θεωρούμε ότι πρόκειται για κάποιο τυχαίο spike.

13 Ιουλίου 04:30

Λαμβάνουμε αυτοματοποιημένο μήνυμα από την υπηρεσία που χρησιμοποιούμε για uptime monitoring ότι το site είναι down. (Κάτι που το είδαμε το πρωί).

13 Ιουλίου 07:40

Στην πρωινή ανασκόπηση των mail βλέπουμε το downtime… Ανοίγουμε στατιστικά του server. Status online, load 2500, CPU 100%, RAM 100%.

Προσπαθούμε να προσπελάσουμε το site. Error 504

Κοιτάμε τα requests μέσα από CloudFlare. Χιλιάδες… Εκατοντάδες χιλιάδες…

Όλα τα requests από διαφορετικές χώρες χωρίς User Agent.

Κυρίως ζητάνε 2 αρχεία από το ecommerce site. To cron.php και το /wp-admin/admin-ajax.php (το site είναι WordPress + Woocommerce ). Αλλά επιπλέον ζητάνε όλες τις σελίδες που περιέχουν προϊόντα. Θεωρούμε ότι κάποιος προσπαθεί να κάνει crawl το site.

13 Ιουλίου 08:20

Το site μπαίνει under attack mode από το Cloudflare.

Under_attack3

Αυτό όμως έχει σαν αποτέλεσμα να «κόβει» και τα «καλά» bots κάτι που επηρεάζει την λειτουργία του eshop.

Δοκιμάζουμε διάφορα security settings αλλά κάθε φορά που κλείνουμε το Under Attack mode o server πέφτει.

 13 Ιουλίου 10:40

Ξεκινάμε νέο scan για τυχόν malware στο site. Υπάρχει εγκατεστημένο Security Scanner plugin που τρέχει καθημερινά έλεγχο και στον τυπικό έλεγχο το αποτέλεσμα ήταν αρνητικό. Και το νέο scan είναι αρνητικό.

13 Ιουλίου 13:00

Ζητάμε από τον hosting provider να τρέξει και αυτός scan σε περίπτωση που κάτι μας ξεφεύγει.

Τα request που «κόβει» το firewall συνεχίζονται κατά κύματα. Τις τελευταίες 12 ώρες έχει καταγράψει το eshop πάνω από 500Κ requests. Συγκεκριμένα είδαμε μια IP από Τουρκία που ζήτησε το αρχείο cron.php πάνω από 3000 φορές σε 1 δευτερόλεπτο!

Είμαστε σίγουροι, είμαστε under DDOS attack!

13 Ιουλίου 14:50

Ο hosting provider απαντά ότι το scan είναι αρνητικό. Στις συνομιλίες που έχουμε απαντάει ότι βλέπει τα requests αλλά δεν μπορεί να τα κόψει καθώς δεν έχουν User Agent και δεν είναι από συγκεκριμένες IP  να τις κάνει block. Αυτό που κάνουμε είναι να βάλουμε rate limiting rules ώστε να μην ζητάει κάποιος πάνω από 30 σελίδες μέσα σε 1 λεπτό. Δείχνει να σταματάει η επίθεση.

ratelimiting

 

13 Ιουλίου 18:00

Μιας και θεωρούμε ότι έχουμε σταματήσει την επίθεση με τον κανόνα που θέσαμε στο rate limiting κλείνουμε το Under Attack mode.

Μέσα σε 10 λεπτά το site ήταν απροσπέλαστο, error 504.

Τα requests ήταν πάλι τόσο πολλά που γέμιζαν την cache του ngix και δεν μπορούσε να φέρει νέα αποτελέσματα.

13 Ιουλίου 18:30

Ανοίγουμε ξανά το Under Attack mode. Η IT ομάδα μας αρχίζει να κάνει backtrace τις IP για κάποιο κοινό μοτίβο. Οι IP’s με τα περισσότερα requests έρχονται από το VPN Express.

Προσπαθούμε να επικοινωνήσουμε με την εταιρία να τους ενημερώσουμε ότι γίνεται επίθεση σε eshop πελάτη μας.

Παράλληλα αρχίζουμε να blockάρουμε manually IP’s με τα περισσότερα requests.

Επιπλέον προσθέτουμε νέα πολύ πιο strict rules στο firewall.

Το load μειώνεται καθώς κόβονται τα επιβλαβή requests.

13 Ιουλίου 11:30

Μετά από πάρα πολλές ώρες καταφέρνουμε να επικοινωνήσουμε με κάποιον από το τεχνικό τους τμήμα για την κακή χρήση που γίνεται από την υπηρεσία τους και η απάντηση είναι ότι δεν μπορούμε να κάνουν κάτι.

14 Ιουλίου 10:00

Διαβάζουμε για ευπάθεια που υπάρχει στο WooCommerce στην τελευταία έκδοση 5.5.0.

https://woocommerce.com/posts/critical-vulnerability-detected-july-2021/

exploit

Κρύος ιδρώτας…

Μας hackaran λέμε…

Είμαστε σίγουροι ότι αυτό είναι…

Αλλά δεν είδαμε περίεργα logins στα logs.

Περιμένουμε το νέο update και ψάχνουμε χειροκίνητα για τυχόν shell ή περίεργα eval συναρτήσεις. Δεν βρίσκουμε κάτι αλλά όλη την υπόλοιπη μέρα συνεχίζουμε και ψάχνουμε προς αυτή την κατεύθυνση.

15 Ιουλίου 14:00

Βγαίνει η νέα έκδοση WooCommerce 5.5.2 και είμαστε βέβαιοι ότι με την εν λόγω έκδοση θα σταματήσει και η επίθεση.

Μάταια.

sad meme

15 Ιουλίου 15:05

Αρχίζουμε να προσθέτουμε ξανά rules στο firewall.

Τα νέα rules σταματούν τις επιθέσεις σε επίπεδο software.

To eshop επιστρέφει στην κανονικότητα.

hell-yes

15 Ιουλίου 20:15

τι συνέβη όμως; Χρειαζόμαστε μια διαφορετική ματιά. Προσλαμβάνουμε Cybersecurity expert με τεράστια εμπειρία, κάτοχο πολλαπλών certifications και εργαζόμενος σε μια από τις μεγαλύτερες εταιρίες κυβερνοασφάλειας.

Το ερώτημα που του θέτουμε είναι το εξής: Δεχτήκαμε DDOS επίθεση; Crawlers attack; Είναι οι ρυθμίσεις αρκετές ώστε να είμαστε εντάξει στο μέλλον;

16 Ιουλίου 13:56, έρχεται το report. 69 Σελίδες.

Μέρος του report.

report2

Το συμπέρασμα.

From my findings, I don’t believe there was a DDoS attack to the site, but rather a temporary increase of bot traffic from specific ASNs.

Συμπέρασμα / Τι μάθαμε

Καταρχήν μάθαμε πως θα πρέπει κάθε φορά να είμαστε πάντοτε ενημερωμένοι στο τομέα της ασφάλειας και να ενημερωνόμαστε για τα τελευταία νέα και εξελίξεις. Θα πρέπει να εξελισσόμαστε καθώς οι επιθέσεις γίνονται όλο και πιο συχνές και πολύ πιο εξειδικευμένες. Και ειδικά αν πρόκειται για κάποιο site μεγάλων αναγκών αντίστοιχα απαιτούνται μεγάλες ανάγκες security infrastructures.

Και πάλι να μην ξεχνάμε τα βασικά.

  • Updates σε plugins, themes, core
  • Firewall Install
  • Malware Scanner Install
  • Setup your firewall

*Η ιστορία βασίζεται σε αληθινά γεγονότα αλλά για λόγους ασφαλείας κάποια πράγματα δεν συμπεριλήφθηκαν ή και άλλαξαν*

  LV8-SIGNATURE-B