Πώς να προστατεύσετε το DDoS με Mod_evasive στο Apache Server
Αυτό το άρθρο είναι μέρος της σειράς Apache Server Guide:
- Ασφάλεια Apache στο Ubuntu - Μέρος 1
- Ασφάλεια του Apache στο Ubuntu - Μέρος 2
- Βελτιστοποίηση της απόδοσης του Apache - Μέρος 1
- Βελτιστοποίηση της απόδοσης του Apache - Μέρος 2
- Ρύθμιση του βασισμένου σε όνομα Apache του
- Εγκατάσταση IP και Port-Based Virtualhost στο Apache
- Πώς να ρυθμίσετε τον Κατάλογο Ιστού Προστατέψτε τον Κωδικό στο Apache
- Εγκατάσταση του Apache Server με υποστήριξη SSL στο Ubuntu
- Ρύθμιση του Fail2ban για την προστασία του Apache από επίθεση DDOS
- Πώς να ρυθμίσετε το Webdav με Apache στο Ubuntu
- Παρακολούθηση του διακομιστή Web Apache χρησιμοποιώντας το Mod_status
- Πώς να προστατεύσετε το DDoS με Mod_evasive στο Apache Server
Το Mod_evasive είναι μια μονάδα Apache που παρέχει αποφυγή δράσης σε περίπτωση επίθεσης HTTP DoS ή DDoS ή επίθεσης βίαιης δύναμης. Το mod_evasive αναφέρει αυτήν την περίοδο κακόβουλη δραστηριότητα μέσω ηλεκτρονικού ταχυδρομείου και syslog. Η module mod_evasive λειτουργεί δημιουργώντας έναν εσωτερικό πίνακα δυναμικής κατακερματισμού των διευθύνσεων IP και των URI και αρνείται οποιαδήποτε διεύθυνση IP από οποιαδήποτε από τις ακόλουθες συνθήκες:
- Ζητώντας την ίδια σελίδα περισσότερο από μερικές φορές ανά δευτερόλεπτο
- Κάνοντας περισσότερες από 50 ταυτόχρονες αιτήσεις για το ίδιο παιδί ανά δευτερόλεπτο
- Πραγματοποίηση οποιωνδήποτε αιτημάτων ενώ είναι προσωρινά απαγορευμένη (σε λίστα αποκλεισμού)
Σε αυτό το σεμινάριο θα συζητήσω πώς να εγκαταστήσετε, να διαμορφώσετε και να χρησιμοποιήσετε mod_evasive στο διακομιστή σας Apache. Αυτό το σεμινάριο χρησιμοποιεί ένα διακομιστή Ubuntu 14.04.
Εγκατάσταση mod_evasive
Αρχικά, βεβαιωθείτε ότι ο διακομιστής Apache είναι εγκατεστημένος και λειτουργεί.
Στη συνέχεια, μπορείτε να εγκαταστήσετε τη λειτουργική μονάδα mod_evasive εκτελώντας:
sudo apt-get εγκαταστήσετε το libapache2-mod-evasive
Μετά την εγκατάσταση του mod_evasive, μπορείτε να επαληθεύσετε αυτήν την ενότητα εκτελώντας τις ακόλουθες εντολές:
sudo apachectl -M | grep evasive
Εάν είναι ενεργοποιημένη η mod_evasive, θα δείτε την ακόλουθη έξοδο:
evasive20_module (κοινόχρηστο)
Ρυθμίστε το Mod_evasive
Η module mod_evasive διαβάζει τη διαμόρφωσή της από το αρχείο "/etc/apache2/mods-enabled/evasive.conf". Μπορείτε εύκολα να προσαρμόσετε τη module mod_evasive μέσω του αρχείου ρυθμίσεων "evasive.conf". Από προεπιλογή, οι επιλογές διαμόρφωσης mod_evasive είναι απενεργοποιημένες, επομένως θα πρέπει πρώτα να τις ενεργοποιήσετε. Για να το κάνετε αυτό, επεξεργαστείτε το αρχείο "evasive.conf":
sudo nano /etc/apache2/mods-enabled/evasive.conf
Καταργήστε #
από τις ακόλουθες γραμμές:
DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 DOSEmailNotify [email protected] DOSLogDir "/ var / log / apache2 /
Αποθηκεύστε το αρχείο και κάντε επανεκκίνηση του Apache για να εφαρμοστούν οι αλλαγές σας:
sudo /etc/init.d/apache2 επανεκκίνηση
Μπορείτε να αλλάξετε τις παραπάνω τιμές ανάλογα με το ποσό και τον τύπο κίνησης που χρειάζεται ο διαχειριστής του ιστού σας.
DOSHashTableSize :
Αυτή η οδηγία καθορίζει πώς mod_evasive παρακολουθεί ποιος έχει πρόσβαση σε αυτό. Η αύξηση αυτού του αριθμού θα παρέχει μια ταχύτερη αναζήτηση των ιστότοπων που έχει επισκεφτεί ο πελάτης στο παρελθόν.
DOSPageCount :
Αυτή η οδηγία καθορίζει πόσες ίδιες αιτήσεις σε ένα συγκεκριμένο URI που μπορεί να κάνει ο επισκέπτης στο διάστημα DOSPageInterval.
DOSSiteCount :
Αυτό είναι παρόμοιο με το DOSPageCount αλλά αντιστοιχεί σε πόσες αιτήσεις συνολικά μπορεί να κάνει ένας επισκέπτης στον ιστότοπό σας κατά τη διάρκεια του διαστήματος DOSSiteInterval.
DOSBlockingPeriod :
Εάν ο επισκέπτης υπερβεί τα όρια που ορίζονται από το DOSSPageCount ή το DOSSiteCount, η IP του θα αποκλειστεί κατά τη διάρκεια του DOSBlockingPeriod. Κατά τη διάρκεια αυτού του διαστήματος, θα λάβει ένα σφάλμα 403 (Απαγορευμένο).
DOSEmailNotify :
Θα σταλεί ένα μήνυμα ηλεκτρονικού ταχυδρομείου στη διεύθυνση ηλεκτρονικού ταχυδρομείου που καθορίζεται κάθε φορά που μια διεύθυνση IP βρίσκεται στη μαύρη λίστα.
DOSLogDir :
Αυτή η οδηγία καθορίζει τη θέση του καταλόγου αρχείων καταγραφής.
Δοκιμή Mod_evasive
Τώρα είναι καιρός να ελέγξετε αν λειτουργεί η λειτουργική μονάδα mod_evasive ή όχι. Μπορείτε να το κάνετε χρησιμοποιώντας μια δέσμη ενεργειών perl "test.pl" που βρίσκεται στον κατάλογο "/ usr / share / doc / libapache2-mod-evasive / examples /".
Μπορείτε να εκτελέσετε τη δέσμη ενεργειών εκτελώντας την ακόλουθη εντολή:
sudo perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl
Θα πρέπει να δείτε την ακόλουθη έξοδο:
Το σενάριο δημιουργεί 100 αιτήματα στον διακομιστή ιστού σας. Ο κωδικός απόκρισης 403 υποδεικνύει ότι ο διακομιστής ιστού αρνείται την πρόσβαση.
συμπέρασμα
Το mod_evasive είναι ένα πολύ σημαντικό εργαλείο για τη διασφάλιση ενός διακομιστή ιστού του Apache έναντι πολλών απειλών. Μπορείτε να δοκιμάσετε με mod_evasive διαφορετικές επιλογές σε περιβάλλον δοκιμών. Αν έχετε οποιεσδήποτε ερωτήσεις, μπορείτε να τις γράψετε στο παρακάτω πλαίσιο σχολίων.