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

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

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

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

ΠαράμετροςΣυνιστώμενη τιμήΤι κάνει
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 στο 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.

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

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

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

Blog

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

Περισσότερα άρθρα
Γιατί είναι σημαντικό να έχετε ένα ισχυρό και unmetered VPS

Γιατί είναι σημαντικό να έχετε ένα ισχυρό και unmetered VPS

Ένα unmetered VPS παρέχει σταθερό εύρος ζώνης σε σταθερή ταχύτητα θύρας. Πώς διαφέρει από τα μετρούμενα πακέτα, πότε αποδίδει και τι πρέπει να ελέγξετε πριν από την αγορά.

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

Διαχείριση μνήμης Linux: Swap, OOM Killer & Cgroups

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

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

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

icon

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

icon

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

icon

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

icon

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

icon

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

icon

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