Πώς να εγκαταστήσετε και να διαμορφώσετε το Fail2Ban στο Linux
9 λεπτά ανάγνωσης - 14 Μαΐου 2026

Βήμα προς βήμα οδηγός για την εγκατάσταση, διαμόρφωση και δοκιμή του Fail2Ban σε διακομιστές Linux που βασίζονται σε Ubuntu, Debian και RHEL.
Πώς να εγκαταστήσετε και να διαμορφώσετε το Fail2Ban σε Linux
Το Fail2Ban παρακολουθεί τα αρχεία καταγραφής του διακομιστή σας για ύποπτες δραστηριότητες και αποκλείει αυτόματα τις IP που παραβιάζουν τους κανόνες, ενημερώνοντας τους κανόνες του τείχους προστασίας σας. Σταματά τις επιθέσεις brute-force, μειώνει τον θόρυβο των αρχείων καταγραφής και λειτουργεί αθόρυβα στο παρασκήνιο μόλις ρυθμιστεί. Αυτός ο οδηγός καλύπτει την εγκατάσταση σε Ubuntu/Debian, τη βασική διαμόρφωση, τη ρύθμιση του jail και μερικές προηγμένες επιλογές που αξίζει να γνωρίζετε.
Προαπαιτούμενα
Το Fail2Ban λειτουργεί στις περισσότερες διανομές Linux: Ubuntu, Debian, AlmaLinux, CentOS, RHEL, Rocky Linux και Fedora. Θα χρειαστείτε:
- Python 3 εγκατεστημένο στο σύστημα
- Πρόσβαση root ή sudo για την εγκατάσταση πακέτων και αλλαγές στο τείχος προστασίας
- Ένα ενεργό τείχος προστασίας (iptables, nftables, ufw ή firewalld)
- Αρχεία καταγραφής που καταγράφουν αποτυχημένες προσπάθειες σύνδεσης (
/var/log/auth.logσε συστήματα βασισμένα στο Debian,/var/log/secureσε συστήματα βασισμένα σε RHEL)
Σε συστήματα βασισμένα σε RHEL, ενεργοποιήστε πρώτα το αποθετήριο EPEL. Πριν εγκαταστήσετε το Fail2Ban, βεβαιωθείτε ότι το τείχος προστασίας σας λειτουργεί με ufw status ή systemctl status firewalld.
Εγκατάσταση του Fail2Ban σε Ubuntu/Debian
Ενημερώστε τα πακέτα σας και εγκαταστήστε το Fail2Ban:
sudo apt update && sudo apt upgrade -y
sudo apt install fail2banΕνεργοποιήστε την υπηρεσία ώστε να ξεκινά κατά την εκκίνηση και, στη συνέχεια, ξεκινήστε την:
sudo systemctl enable fail2ban
sudo systemctl start fail2banΑντιγράψτε την προεπιλεγμένη ρύθμιση σε ένα τοπικό αρχείο παράκαμψης. Πάντα να επεξεργάζεστε jail.local, όχι jail.conf, ώστε οι ενημερώσεις πακέτων να μην αντικαταστήσουν τις ρυθμίσεις σας:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.localΕπαληθεύστε ότι όλα λειτουργούν:
sudo systemctl status fail2ban
sudo fail2ban-client statusΗ πρώτη εντολή θα πρέπει να εμφανίζει "Active: active (running)". Η δεύτερη εμφανίζει τις ενεργές φυλακές σας. Επιβεβαιώστε ότι το Fail2Ban είναι ενεργοποιημένο κατά την εκκίνηση με sudo systemctl is-enabled fail2ban.
Διαμόρφωση Jails
Προεπιλεγμένες ρυθμίσεις
Ανοίξτε /etc/fail2ban/jail.local και προσαρμόστε την [DEFAULT] ενότητα. Αυτές οι ρυθμίσεις ισχύουν για όλα τα jails, εκτός αν αντικατασταθούν:
| Παράμετρος | Συνιστώμενη τιμή | Τι κάνει |
|---|---|---|
bantime | 3600 | Αποκλείει μια IP για 1 ώρα |
findtime | 600 | Μετρά τις αποτυχίες σε ένα διάστημα 10 λεπτών |
maxretry | 3 έως 5 | Αποτυχίες πριν ενεργοποιηθεί ο αποκλεισμός |
ignoreip | 127.0.0.1/8 ::1 | IP που δεν έχουν αποκλειστεί ποτέ |
Προσθέστε τη δική σας IP διαχείρισης ignoreip ώστε να μην αποκλειστείτε. Παράδειγμα: ignoreip = 127.0.0.1/8 ::1 203.0.113.50.
Προστασία SSH
Ενεργοποιήστε το SSH jail στο jail.local:
[sshd]
enabled = trueΕλέγξτε ότι logpath δείχνει στο σωστό αρχείο καταγραφής για τη διανομή σας. Εάν έχετε μετακινήσει το SSH σε μια μη τυπική θύρα (π.χ. 2222), ενημερώστε την port παράμετρο ώστε να ταιριάζει.
Προστασία διακομιστή ιστού
Ενεργοποιήστε το jail που αντιστοιχεί στον web server σας:
- Nginx:
[nginx-http-auth]για αποτυχίες πιστοποίησης,[nginx-botsearch]για κακόβουλα bots - Apache:
[apache-auth]για έλεγχο ταυτότητας,[apache-badbots]για bots
Recidive Jail
Το [recidive] jail εντοπίζει IP που συνεχίζουν να αποκλείονται σε άλλα jails και επιβάλλει μεγαλύτερη ποινή, συνήθως μία εβδομάδα (604.800 δευτερόλεπτα). Είναι χρήσιμο για επίμονους επιτιθέμενους που αλλάζουν την προσέγγισή τους.
Αφού κάνετε τις αλλαγές, φορτώστε ξανά:
sudo systemctl restart fail2ban
sudo fail2ban-client statusΔοκιμές και παρακολούθηση
Δοκιμή απαγορεύσεων
Πριν βασιστείτε στο Fail2Ban σε περιβάλλον παραγωγής, δοκιμάστε το. Από έναν απομακρυσμένο υπολογιστή (όχι από την IP του διαχειριστή σας), επιχειρήστε συνδέσεις SSH μέχρι να υπερβείτε maxretry. Θα πρέπει να αποκλειστείτε. Επιβεβαιώστε με:
sudo fail2ban-client status sshdΠαρακολουθήστε τις απαγορεύσεις σε πραγματικό χρόνο:
tail -f /var/log/fail2ban.logΕάν αποκλείσετε κατά λάθος μια νόμιμη IP, άρτε τον αποκλεισμό:
sudo fail2ban-client set sshd unbanip 203.0.113.50Καθημερινή παρακολούθηση
Ελέγξτε το ιστορικό αποκλεισμών αναζητώντας στο αρχείο καταγραφής:
grep "Ban\|Unban" /var/log/fail2ban.logΧρήσιμες εντολές διαχείρισης:
| Εντολή | Σκοπός |
|---|---|
fail2ban-client status | Λίστα όλων των ενεργών φυλακών |
fail2ban-client banned | Εμφάνιση όλων των IP που έχουν απαγορευτεί |
fail2ban-client set <jail> unbanip <IP> | Άρση απαγόρευσης συγκεκριμένης IP |
fail2ban-client unban --all | Εκκαθάριση όλων των αποκλεισμών |
fail2ban-client set <jail> banip <IP> | Αποκλεισμός μιας IP με το χέρι |
Οι αποκλεισμοί διατηρούνται μετά από επανεκκινήσεις. Το Fail2Ban τις αποθηκεύει σε μια βάση δεδομένων SQLite στο /var/lib/fail2ban/fail2ban.sqlite3.
Προηγμένη διαμόρφωση
Μετάβαση στο nftables
Το nftables είναι ο σύγχρονος αντικαταστάτης του iptables. Διαχειρίζεται IPv4 και IPv6 σε ένα ενιαίο πλαίσιο, κλιμακώνεται καλύτερα με μεγάλες λίστες αποκλεισμού και διαθέτει ενσωματωμένο περιορισμό ρυθμού. Εάν χρησιμοποιείτε Ubuntu 22.04+, Debian 11+ ή οποιαδήποτε πρόσφατη διανομή, είναι η καλύτερη επιλογή.
Ρυθμίστε το στο jail.local:
[DEFAULT]
banaction = nftables-multiportΕπανεκκινήστε το Fail2Ban και, στη συνέχεια, επαληθεύστε με sudo nft list ruleset. Θα πρέπει να δείτε f2b-table και f2b-chain στην έξοδο. Παραμείνετε στο iptables μόνο αν χρησιμοποιείτε παλαιότερο σύστημα ή έχετε απαιτήσεις συμβατότητας.
Ειδοποιήσεις μέσω email
Από προεπιλογή, το Fail2Ban αποκλείει χωρίς ειδοποίηση. Για να λαμβάνετε ειδοποιήσεις μέσω email, προσθέστε τα ακόλουθα στην [DEFAULT] ενότητα του jail.local:
[DEFAULT]
destemail = [email protected]
sender = [email protected]
mta = sendmail
action = %(action_mwl)sΗ action_mwl action στέλνει ένα email με λεπτομέρειες αποκλεισμού, δεδομένα WHOIS και τις γραμμές καταγραφής που προκάλεσαν τον αποκλεισμό. Χρησιμοποιήστε action_mw αν θέλετε μόνο δεδομένα WHOIS. Θα χρειαστείτε έναν πράκτορα μεταφοράς αλληλογραφίας όπως το sendmail εγκατεστημένο, ή έναν διακομιστή αναμετάδοσης SMTP διαμορφωμένο μέσω κάτι όπως msmtp.
Για ειδοποιήσεις στο Slack ή το Discord, δημιουργήστε ένα σενάριο που στέλνει ένα webhook και συνδέστε το μέσω ενός προσαρμοσμένου αρχείου ενέργειας στο /etc/fail2ban/action.d/.
Αν ψάχνετε για έναν διακομιστή με πλήρη πρόσβαση root και απεριόριστο εύρος ζώνης για να εκτελέσετε το Fail2Ban, ρίξτε μια ματιά στους αποκλειστικούς διακομιστές της FDC.

Κουραστήκατε από αργές αναπτύξεις ή όρια εύρους ζώνης; Η FDC Servers προσφέρει άμεση αποκλειστική ισχύ, παγκόσμια εμβέλεια και ευέλικτα πακέτα κατασκευασμένα για κάθε κλίμακα. Έτοιμοι για αναβάθμιση;
Ξεκλειδώστε την απόδοση τώραΓιατί είναι σημαντικό να έχετε ένα ισχυρό και unmetered VPS
Ένα unmetered VPS παρέχει σταθερό εύρος ζώνης σε σταθερή ταχύτητα θύρας. Πώς διαφέρει από τα μετρούμενα πακέτα, πότε αποδίδει και τι πρέπει να ελέγξετε πριν από την αγορά.
7 λεπτά ανάγνωσης - 9 Μαΐου 2025
Διαχείριση μνήμης Linux: Swap, OOM Killer & Cgroups
12 λεπτά ανάγνωσης - 31 Μαΐου 2026

Έχετε ερωτήσεις ή χρειάζεστε μια προσαρμοσμένη λύση
Ευέλικτες επιλογές
Παγκόσμια εμβέλεια
Άμεση ανάπτυξη
Ευέλικτες επιλογές
Παγκόσμια εμβέλεια
Άμεση ανάπτυξη