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

Βήμα προς βήμα οδηγός για την εγκατάσταση, διαμόρφωση και δοκιμή του Fail2Ban σε διακομιστές Linux που βασίζονται σε Ubuntu, Debian και RHEL.
Πώς να εγκαταστήσετε και να διαμορφώσετε το Fail2Ban στο Linux
Το Fail2Ban παρακολουθεί τα αρχεία καταγραφής του διακομιστή σας για ύποπτη δραστηριότητα και απαγορεύει αυτόματα τις παραβατικές IPs ενημερώνοντας τους κανόνες του τείχους προστασίας σας. Σταματά τις επιθέσεις brute-force, μειώνει το θόρυβο των αρχείων καταγραφής και εκτελείται αθόρυβα στο παρασκήνιο μόλις ρυθμιστεί. Αυτός ο οδηγός καλύπτει την εγκατάσταση στο Ubuntu/Debian, τη διαμόρφωση του πυρήνα, τη ρύθμιση της φυλακής και μερικές προηγμένες επιλογές που αξίζει να γνωρίζετε.
Προαπαιτούμενα
Το 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.
Ρύθμιση παραμέτρων φυλακών
Προεπιλεγμένες ρυθμίσεις
Ανοίξτε το αρχείο /etc/fail2ban/jail.local και προσαρμόστε την ενότητα [DEFAULT]. Αυτές οι ρυθμίσεις ισχύουν για όλες τις φυλακές, εκτός αν παρακαμφθούν:
| Παράμετρος | Συνιστώμενη τιμή | Τι κάνει |
|---|---|---|
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.local:
[sshd]
enabled = trueΕλέγξτε ότι το logpath δείχνει στο σωστό αρχείο καταγραφής για τη διανομή σας. Αν έχετε μεταφέρει το SSH σε μια μη τυποποιημένη θύρα (π.χ. 2222), ενημερώστε την παράμετρο θύρας ώστε να ταιριάζει.
Προστασία διακομιστή Web
Ενεργοποιήστε τη φυλακή που ταιριάζει στον διακομιστή ιστού σας:
- Nginx:
[nginx-http-auth]για αποτυχίες ελέγχου ταυτότητας,[nginx-botsearch]για κακόβουλα bots - Apache:
[apache-auth]για έλεγχο ταυτότητας,[apache-badbots]για κακόβουλα bots
Επαναλαμβανόμενη φυλακή
Η φυλακή [recidive] συλλαμβάνει IPs που συνεχίζουν να απαγορεύονται σε άλλες φυλακές και εφαρμόζει μεγαλύτερη ποινή, συνήθως μία εβδομάδα (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 | Εμφάνιση όλων των απαγορευμένων IPs |
fail2ban-client set <φυλακή> 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 μόνο αν είστε σε παλαιότερο σύστημα ή αν έχετε απαιτήσεις συμβατότητας.
Ειδοποιήσεις μέσω ηλεκτρονικού ταχυδρομείου
Από προεπιλογή, το Fail2Ban απαγορεύει σιωπηλά. Για να λαμβάνετε ειδοποιήσεις μέσω email, προσθέστε τα ακόλουθα στην ενότητα [DEFAULT] του jail.local:
[DEFAULT]
destemail = [email protected]
sender = [email protected]
mta = sendmail
action = %(action_mwl)sΗ ενέργεια action_mwl στέλνει ένα email με λεπτομέρειες απαγόρευσης, δεδομένα WHOIS και τις γραμμές καταγραφής που προκάλεσαν την απαγόρευση. Χρησιμοποιήστε το action_mw αν θέλετε μόνο τα δεδομένα WHOIS. Θα χρειαστείτε έναν πράκτορα μεταφοράς αλληλογραφίας όπως το sendmail εγκατεστημένο ή έναν αναμεταδότη SMTP ρυθμισμένο μέσω κάτι σαν το msmtp.
Για ειδοποιήσεις Slack ή Discord, δημιουργήστε ένα σενάριο που στέλνει ένα webhook και συνδέστε το μέσω ενός προσαρμοσμένου αρχείου ενεργειών στο αρχείο /etc/fail2ban/action.d/.
Αν ψάχνετε για έναν διακομιστή με πλήρη πρόσβαση root και μη μετρημένο εύρος ζώνης για να τρέξετε το Fail2Ban, δείτε τους αποκλειστικούς διακομιστές του FDC.

Κουραστήκατε από αργές αναπτύξεις ή όρια εύρους ζώνης; Η FDC Servers προσφέρει άμεση αποκλειστική ισχύ, παγκόσμια εμβέλεια και ευέλικτα πακέτα κατασκευασμένα για κάθε κλίμακα. Έτοιμοι για αναβάθμιση;
Ξεκλειδώστε την απόδοση τώρα
Λίστα ελέγχου σκλήρυνσης διακομιστών Linux
Λίστα ελέγχου βήμα προς βήμα για τη σκλήρυνση ενός διακομιστή Linux. Καλύπτει το SSH, τα τείχη προστασίας, την επιδιόρθωση, τα δικαιώματα αρχείων, το SELinux/AppArmor και την καταγραφή ελέγχου
15 λεπτά ανάγνωσης - 8 Μαΐου 2026
iperf3 Tutorial: Linux & Windows
10 λεπτά ανάγνωσης - 7 Μαΐου 2026

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