Με αφορμή μια πρόσφατη DDoS σε μία από τις ιστοσελίδες μας, καθώς και ως πιστοποιημένοι συνεργάτες του Cloudflare, ετοιμάσαμε έναν μικρό οδηγό, που θα σας βοηθήσει να αξιοποιήσετε στο έπακρο τις δυνατότητες μεσαποθήκευσης* (caching) του Cloudflare.
Για τους περισσότερους μη προχωρημένους χρήστες η ενεργοποίηση του caching engine είναι απλά αρκετή, καθώς θεωρούν, ότι τα αρχεία τους σε κάθε περίπτωση θα σερβιριστούν από αυτήν και δεν ενδιαφέρονται για τις όποιες ρυθμίσεις. Πολλές φορές φαντάζουν πολύπλοκες, και πολλοί δε θέλουν να “μπλέξουν”.
Το αποτέλεσμα είναι να φτάνουν στον Origin Server ακόμα αιτήματα, που θα μπορούσαν να έχουν εξυπηρετηθεί από την caching engine αφενός, που μπορούν να χρησιμοποιηθούν κακόβουλα εναντίον ενός δυναμικού ιστότοπου αφετέρου. Είτε αυτός είναι δομημένος στο WordPress, είτε σε κάποιο άλλο CMS ή πλατφόρμα.
Μια απλή ρύθμιση, όμως, μπορεί να μειώσει δραματικά τον όγκο των αιτημάτων που διεκπεραιώνει ο αρχικός εξυπηρετητής, καθώς πολλά από αυτά διαφεύγουν από την caching engine διότι έχουν κάποιο ερώτημα (query), που ακολουθεί τη διαδρομή του αρχείου.
Για τα στατικά αρχεία αυτό το ερώτημα συνήθως ουσιαστικά δεν έχει κάποιο συγκεκριμένο σκοπό, παρά μόνον να διαφύγει από την υπηρεσία μεσαποθήκευσης, ώστε να εξυπηρετηθεί, ως κάποιο πραγματικό ερώτημα από τον αρχικό εξυπηρετητή, κι έτσι αυτός να αποστείλει στον τελικό χρήστη απευθείας το αρχείο αυτό, παρακάμπτοντας το cache.
Σε αρκετές περιπτώσεις, κυρίως κατά την ανάπτυξη του ιστοτόπου, η παράκαμψη αυτή είναι απαραίτητη, προκειμένου να σερβιριστεί τελικά το αρχείο από τον αρχικό διακομιστή, το οποίο περιέχει αλλαγές σε σχέση με το αποθηκευμένο.
Όταν, όμως, παραδοθεί το τελικό προϊόν μάλλον δεν πρόκειτε να υπάρξουν περισσότερες αλλαγές. Έτσι αρκεί ο πόρος που μεταφορτώνει η caching engine του CloudFlare.
Προκειμένου, λοιπόν, να αποφύγουμε περιτά requests στον origin server, ενεργοποιούμε την επιλογή “Ignore Query String”. Έτσι ακόμη και αν το resource request συνοδεύεται από οποιοδήποτε query, το CloudFlare θα αγνοήσει αυτό το ερώτημα εντελώς.
Πολλές επιθέσεις τύπου DDoS εκμεταλεύονται την δυνατότητα αποστολής query επί κάποιου πόρου προς τον server, ώστε να εντείνουν τον φόρτο εργασίας του, κι έτσι να καταφέρουν να τον θέσουν εκτός λειτουργίας.
Η ενεργοποίηση της λειτουργίας “Ignore Query String” έτσι προσθέτει ακόμη μια ασπίδα προστασίας απέναντι στις κακόβουλες επιθέσεις και απαλλάσει το server ακόμη και από φυσιολογική κίνηση, που στην ουσία δεν αποσκοπεί σε κάτι.
Προσοχή: Κάποια θέματα ή plugins ενδεχομένων να βασίζουν την λειτουργικότητά τους σε αυτού του είδους τα queries. Οπότε θα πρέπει να ελέγξετε γιατί ενδεχομένως κάποια συνάρτηση καλεί τον πόρο κατ’ αυτόν τον τρόπο.
Μη διστάσετε να επικοινωνήσετε μαζί μας στο [email protected] ή στο τηλέφωνο +30 698 30 78 262 για περισσότερες λεπτομέρειες.
* ο νεολογισμός “μεσαποθήκευση”, κατά το “προαποθήκευση” ή “έναποθήκευση”, μας φαίνεται καλή ως μονολεκτική μετάφραση του “caching”.