Πώς ένα ανοιχτό λογισμικό σταμάτησε DDoS επιθέσεις από ένα botnet

Όταν μια υπηρεσία δέχεται επίθεση DDoS από 7-10χιλ μηχανήματα που είναι μέρος ενός τεράστιου botnet, το Fail2ban θα χρειαζόταν 50 λεπτά επεξεργασίας των log για να αντιμετωπίσει την επίθεση. Όχι όμως το CrowdSec.

To 2020 μεταφέραμε τις «εταιρείες/δουλειές» μας στο σπίτι και η επικοινωνία και συνεργασία με τους συναδέλφους, τους φίλους και την οικογένειά μας μέσω διαδικτύου μετατράπηκε σε πρωτογενής ανάγκη. Αυτό φυσικά δελέασε τους κακόβουλους χάκερ στο να προκαλέσουν διαταραχές όπου συγκεκριμένα, οι κατανεμημένες επιθέσεις άρνησης υπηρεσίας (DDoS) σε όλο τον κόσμο αυξήθηκαν κατά 151% το πρώτο εξάμηνο του έτους, σύμφωνα με την Neustar.

Όσοι ασχολούνται με την ασφάλεια, πιθανότατα έχετε χρησιμοποιήσει – ή εξακολουθούν να χρησιμοποιούν – το Fail2ban, ένα python λογισμικό ανοιχτού κώδικα συμπληρωματικό εργαλείο προφύλαξης των server μας από συνεχείς επιθέσεις. Παρόλα αυτά, σε περιπτώσεις μαζικών, συγχρονισμένων επιθέσεων τύπου DDoS, εμφανίζονται οι αδυναμίες του. Εδώ λοιπόν το φρέσκο CrowdSec, ένα λογισμικό ανοιχτού κώδικα γραμμένο στην γλώσσα προγραμματισμού Go θέλει να δώσει μια διαφορετική προσέγγιση.

Advertisements

Κάποια από τα βασικά χαρακτηριστικά:

  • όπως λέει και το όνομά του, αφορά την κοινή χρήση των μετα-δεδομένων σχετικά με τις επιθέσεις που εντοπίζετε και τα οποία αποστέλλονται σε ένα κεντρικό API από όπου οι κακόβουλες IP κοινοποιούνται σε όλους τους χρήστες του CrowdSec.
  • είναι ελαφρύ και δεν απαιτεί πολύ ram ή CPU
  • σας επιτρέπει να εντοπίσετε επιθέσεις και να ανταποκριθείτε σε όλα τα απαιτούμενα επίπεδα (ακόμα και σε επίπεδο CDN)
  • είναι εύκολο να εγκατασταθεί και να συντηρηθεί χωρίς τεχνικές απαιτήσεις. Το πρόγραμμα εγκατάστασης έρχεται ακόμη και με έναν Wizard
  • έχει σχεδιαστεί με τρόπο που συνδυάζεται με άλλες λύσεις και στοιχεία (π.χ. χρησιμοποιήστε το CrowdSec για να διαβάσετε τα αρχεία καταγραφής mod_security και να αποκλείσετε αυτόματα τους εισβολείς)

Με λίγα λόγια, η «αντεπίθεση» γίνεται με τον ίδιο τρόπο που γίνεται η «επίθεση». Όπως ένα botnet που αποτελείται από χιλιάδες servers που κάνουν επίθεση, έτσι και με το CrowdSec, όσοι το χρησιμοποιούν συμμετέχουν σε ένα μαζικό δίχτυ άμυνας.

Δομή του CrowdSec

Σε review που έκανε ο Daniel Messler, αναφέρει ότι το σύστημα αποτελείται από τρία κύρια στοιχεία:

  • CrowdSec Service, είναι η υπηρεσία που παρακολουθεί αρχεία καταγραφής, παρακολουθεί επιθέσεις κ.λπ.
  • CrowdSec Cli, είναι το εργαλείο γραμμής εντολών, για αλληλεπίδραση με την υπηρεσία.
  • CrowdSec Bouncers, που είναι οι ενσωματώσεις με άλλα εργαλεία και επιτρέπουν την πραγματοποίηση αυτόματων ενεργειών.

Επομένως η CrowdSec Service υπηρεσία κάνει όλη την παρακολούθηση, το CrowdSec Cli εργαλείο είναι ο τρόπος με τον οποίο κάνετε διαμόρφωση, λαμβάνετε μετρήσεις κ.λπ. και με το CrowdSec Bouncers είναι ο τρόπος με τον οποίο το σύστημα αλληλεπιδρά με άλλα εργαλεία για να κάνει διάφορα πράγματα, όπως ο αποκλεισμός κάποιου στο SSH ή στο Cloudflare , και τα λοιπά.

Advertisements

Σε μια συγκεκριμένη περίπτωση, διαβάζουμε από το use case της ομάδας ανάπτυξης του CrowdSec, ότι η ομάδα ανέλαβε να αντιμετωπίσει επιθέσεις από ένα τεράστιο botnet. Στην αρχή, αφαίρεσαν Bownsers, όπως ο geoip, ενώ στην συνέχεια αύξησαν το προεπιλεγμένο αριθμός των επιτρεπόμενων Go ρουτίνων από «1» σε «5». Αυτό έδωσε την δυνατότητα να αντεπεξέλθει σε επιθέσεις, με κατά μέσο όρο μεταξύ 6.000 και 7.000 αιτήσεων ανά δευτερόλεπτο.

Σύμφωνα με τις ανακοινώσεις τους, η διαρρύθμισή τους ναι μεν είχε κόστος, καθώς η CrowdSec Service έτρωγε 600% CPU κατά τη διάρκεια της λειτουργίας, αλλά από την άλλη η κατανάλωση μνήμης παρέμεινε περίπου 270 Mb μόνο. Τα αποτελέσματα, ωστόσο, έδειξαν αξιοσημείωτη επιτυχία:

  • σε 1 λεπτό, το CrowdSec μπόρεσε να επεξεργαστεί όλα τα αρχεία καταγραφής
  • Το 95% του botnet ban’αρίστηκε και η επίθεση μετριάστηκε αποτελεσματικά

Σύνοψη

Το CrowdSec είναι πολλά υποσχόμενο ως «μηχανή» ασφαλείας ανοιχτού κώδικα αφού είναι ικανή να αναλύει τη συμπεριφορά των επισκεπτών και να παρέχει μια προσαρμοσμένη απάντηση σε κάθε είδους επίθεση. Το Crowdsec όπως είπαμε αναλύει αρχεία καταγραφής από οποιαδήποτε πηγή και εφαρμόζει ευρετικά σενάρια για να αναγνωρίσει επιθετική συμπεριφορά και να σας προστατεύσει από τις περισσότερες κατηγορίες επιθέσεων.

Επίσης όλες αυτές τις «συμπεριφορές» τις μοιράζεται και ανα-τροφοδοτείται από άλλες εγκαταστάσεις του CrowdSec για να τα συνδυάσει με τα δικά τους ευρήματα. Κάθε φορά που μια IP αποκλείεται, ενημερώνεται όλη η κοινότητα χρηστών του CrowdSec. Άρα δημιουργούν μια βάση δεδομένων «φήμης» των IP σε πραγματικό χρόνο.

Με την κοινότητά τους, αξιοποιούν τη «δύναμη του πλήθους» (όπως είπαμε κάνουν τα botnet) για να κάνουν το διαδίκτυο ασφαλέστερο. Όσοι ενδιαφέρεστε, μπορείτε να δείτε το επίσημο αποθετήριο του στο Github αλλά και το Hub των επεκτάσεων του.

Τέλος όπως αναφέρουν και στο αποθετήριό τους, το Crowdsec θεωρείται ακόμα έκδοση BETA οπότε ορισμένα χαρακτηριστικά ενδέχεται να λείπουν ή να υποστούν αλλαγές. Οι λίστες αποκλεισμού IP περιορίζονται μόνο σε μια πολύ ασφαλή λίστα IP κατάλληλα για αποκλεισμό (~ 5% της παγκόσμιας βάσης δεδομένων μέχρι στιγμής, η οποία θα μεγαλώσει σύντομα).

Παραπομπές:

Σου άρεσε το άρθρο; Πες την άποψή σου... έστω και Ανώνυμα:

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση /  Αλλαγή )

Σύνδεση με %s

Ο ιστότοπος χρησιμοποιεί το Akismet για την εξάλειψη των ανεπιθύμητων σχολίων. Μάθετε πως επεξεργάζονται τα δεδομένα των σχολίων σας.

Create a website or blog at WordPress.com

ΠΑΝΩ ↑

Αρέσει σε %d bloggers: