Αυτό το άρθρο είναι μέρος της σειράς 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 διαφορετικές επιλογές σε περιβάλλον δοκιμών. Αν έχετε οποιεσδήποτε ερωτήσεις, μπορείτε να τις γράψετε στο παρακάτω πλαίσιο σχολίων.