Ένας από τους πιο συνηθισμένους φορείς επίθεσης εναντίον διακομιστών είναι οι απόπειρες σύνδεσης brute force. Αυτό είναι όπου οι εισβολείς προσπαθούν να αποκτήσουν πρόσβαση στον διακομιστή σας, δοκιμάζοντας άπειρους συνδυασμούς ονομάτων χρήστη και κωδικών πρόσβασης.
Για τέτοιου είδους προβλήματα η πιο γρήγορη και πιο αποτελεσματική λύση είναι να περιορίσετε τον αριθμό των προσπαθειών και να αποκλείσετε την πρόσβαση στον χρήστη ή σε αυτήν την IP για ορισμένο χρονικό διάστημα. Είναι επίσης σημαντικό να γνωρίζουμε ότι για αυτό υπάρχουν επίσης εφαρμογές ανοιχτού κώδικα που έχουν σχεδιαστεί ειδικά για την άμυνα ενάντια σε αυτόν τον τύπο επίθεσης.
Στη σημερινή ανάρτηση, Θα σας παρουσιάσω ένα που ονομάζεται Fail2Ban. Αρχικά αναπτύχθηκε από τον Cyril Jaquier το 2004, το Fail2Ban είναι ένα πλαίσιο λογισμικού πρόληψης εισβολών που προστατεύει τους διακομιστές από επιθέσεις ωμής βίας.
Σχετικά με το Fail2ban
Το Fail2ban σαρώνει αρχεία καταγραφής (/ var / log / apache / error_log) και απαγορεύει IP που εμφανίζουν κακόβουλη δραστηριότητα, όπως πάρα πολλοί ελαττωματικοί κωδικοί πρόσβασης και αναζήτηση τρωτών σημείων κ.λπ.
Σε γενικές γραμμές, Το Fail2Ban χρησιμοποιείται για την ενημέρωση των κανόνων του τείχους προστασίας για την απόρριψη διευθύνσεων IP για ένα καθορισμένο χρονικό διάστημα, αν και θα μπορούσε επίσης να ρυθμιστεί οποιαδήποτε άλλη αυθαίρετη ενέργεια (για παράδειγμα, αποστολή email).
Εγκατάσταση Fail2Ban σε Linux
Το Fail2Ban βρίσκεται στα περισσότερα από τα αποθετήρια των κύριων διανομών Linux και πιο συγκεκριμένα στα πιο χρησιμοποιημένα για χρήση σε διακομιστές, όπως το CentOS, το RHEL και το Ubuntu.
Στην περίπτωση του Ubuntu, απλώς πληκτρολογήστε τα ακόλουθα για εγκατάσταση:
sudo apt-get update && sudo apt-get install -y fail2ban
Στην περίπτωση των Centos και RHEL, πρέπει να πληκτρολογήσουν τα ακόλουθα:
yum install epel-release
yum install fail2ban fail2ban-systemd
Εάν έχετε SELinux, είναι σημαντικό να ενημερώσετε τις πολιτικές με:
yum update -y selinux-policy*
Μόλις γίνει αυτό, θα πρέπει να γνωρίζουν στο προσκήνιο ότι τα αρχεία διαμόρφωσης Fail2Ban βρίσκονται στο / etc / fail2ban.
Η διαμόρφωση του Το Fail2Ban διαιρείται κυρίως σε δύο βασικά αρχεία; αυτά είναι fail2ban.conf και jail.conf. fail2ban.confes το μεγαλύτερο αρχείο διαμόρφωσης Fail2Ban, όπου μπορείτε να διαμορφώσετε ρυθμίσεις όπως:
- Το επίπεδο καταγραφής.
- Το αρχείο για σύνδεση.
- Το αρχείο υποδοχής διαδικασίας.
- Το αρχείο pid.
Το jail.conf είναι το σημείο όπου διαμορφώνετε επιλογές όπως:
- Η διαμόρφωση των υπηρεσιών για υπεράσπιση.
- Πόσο καιρό να απαγορεύσετε εάν πρέπει να επιτεθούν.
- Η διεύθυνση email για αποστολή αναφορών.
- Η ενέργεια που πρέπει να αναληφθεί όταν εντοπιστεί μια επίθεση.
- Ένα προκαθορισμένο σύνολο ρυθμίσεων, όπως SSH.
διαμόρφωση
Τώρα πρόκειται να προχωρήσουμε στο τμήμα διαμόρφωσης, Το πρώτο πράγμα που πρόκειται να κάνουμε είναι ένα αντίγραφο ασφαλείας του αρχείου jail.conf με:
cp -pf /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Και προχωρούμε στην επεξεργασία τώρα με το nano:
nano /etc/fail2ban/jail.local
Στο εσωτερικό πηγαίνουμε στην ενότητα [Προεπιλογή] όπου μπορούμε να κάνουμε κάποιες προσαρμογές.
Εδώ στο "ingoreip" μέρος είναι οι διευθύνσεις IP που θα μείνουν εκτός και θα αγνοηθούν εντελώς από το Fail2Ban, δηλαδή βασικά το IP του διακομιστή (το τοπικό) και τα άλλα που πιστεύετε ότι πρέπει να αγνοηθούν.
Από εκεί και πέρα οι άλλες IP που έχουν αποτύχει να έχουν πρόσβαση στο έλεος της απαγόρευσης και περιμένετε τον αριθμό των δευτερολέπτων που θα απαγορευτεί (από προεπιλογή είναι 3600 δευτερόλεπτα) και ότι το fail2ban ενεργεί μόνο μετά από 6 αποτυχημένες προσπάθειες
Μετά τη γενική διαμόρφωση, θα δείξουμε τώρα την υπηρεσία. Το Fail2Ban έχει ήδη ορισμένα προκαθορισμένα φίλτρα για διάφορες υπηρεσίες. Απλώς κάντε μερικές προσαρμογές. Εδώ είναι ένα παράδειγμα:
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
Με τις σχετικές αλλαγές που έγιναν, θα χρειαστεί επιτέλους να φορτώσετε ξανά το Fail2Ban:
service fail2ban reload
systemctl enable firewalld
systemctl start firewalld
Με αυτό, ας κάνουμε έναν γρήγορο έλεγχο για να δούμε ότι το Fail2Ban εκτελείται:
sudo fail2ban-client status
Καταργήστε την κατάργηση μιας IP
Τώρα που έχουμε απαγορεύσει με επιτυχία μια IP, τι γίνεται αν θέλουμε να καταργήσουμε την κατάργηση μιας IP; Για να το κάνουμε αυτό, μπορούμε να χρησιμοποιήσουμε ξανά το fail2ban-client και να του πούμε να καταργήσει τη διαγραφή μιας συγκεκριμένης IP, όπως στο παρακάτω παράδειγμα.
sudo fail2ban-client set ssh unbanip xxx.xxx.xx.xx
Πού "xxx ...." Θα είναι η διεύθυνση IP που υποδεικνύετε.