Πώς να εγκαταστήσετε και να διαμορφώσετε το Fail2Ban στο Linux

9 λεπτά ανάγνωσης - 14 Μαΐου 2026

hero section cover
Πίνακας περιεχομένων
  • Πώς να εγκαταστήσετε και να διαμορφώσετε το Fail2Ban στο Linux
  • Προαπαιτούμενα
  • Εγκατάσταση του Fail2Ban στο Ubuntu/Debian
  • Ρύθμιση παραμέτρων φυλακών
  • Δοκιμές και παρακολούθηση
  • Σύνθετη διαμόρφωση
Κοινοποίηση

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

ΠαράμετροςΣυνιστώμενη τιμήΤι κάνει
bantime3600Αποκλείει μια IP για 1 ώρα
findtime600Μετρά τις αποτυχίες εντός ενός παραθύρου 10 λεπτών
maxretry3 έως 5Αποτυχίες πριν από την ενεργοποίηση απαγόρευσης
ignoreip127.0.0.1/8 ::1IP που δεν απαγορεύονται ποτέ

Προσθέστε τη δική σας 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.

background image
Ο διακομιστής σας εμποδίζει την ανάπτυξή σας;

Κουραστήκατε από αργές αναπτύξεις ή όρια εύρους ζώνης; Η FDC Servers προσφέρει άμεση αποκλειστική ισχύ, παγκόσμια εμβέλεια και ευέλικτα πακέτα κατασκευασμένα για κάθε κλίμακα. Έτοιμοι για αναβάθμιση;

Ξεκλειδώστε την απόδοση τώρα

Blog

Προτεινόμενα αυτή την εβδομάδα

Περισσότερα άρθρα
Λίστα ελέγχου σκλήρυνσης διακομιστών Linux

Λίστα ελέγχου σκλήρυνσης διακομιστών Linux

Λίστα ελέγχου βήμα προς βήμα για τη σκλήρυνση ενός διακομιστή Linux. Καλύπτει το SSH, τα τείχη προστασίας, την επιδιόρθωση, τα δικαιώματα αρχείων, το SELinux/AppArmor και την καταγραφή ελέγχου

15 λεπτά ανάγνωσης - 8 Μαΐου 2026

iperf3 Tutorial: Linux & Windows

10 λεπτά ανάγνωσης - 7 Μαΐου 2026

Περισσότερα άρθρα
background image

Έχετε ερωτήσεις ή χρειάζεστε μια προσαρμοσμένη λύση

icon

Ευέλικτες επιλογές

icon

Παγκόσμια εμβέλεια

icon

Άμεση ανάπτυξη

icon

Ευέλικτες επιλογές

icon

Παγκόσμια εμβέλεια

icon

Άμεση ανάπτυξη