Το Fail2ban προστατεύει το Linux VPS σου αποκλείοντας (banning) διευθύνσεις IP που προσπαθούν να αποκτήσουν μη εξουσιοδοτημένη πρόσβαση. Ελέγχει τα αρχεία καταγραφής (logs) του συστήματος, όπως το /var/log/apache/error_log, και αναγνωρίζει IPs που πραγματοποιούν πολλαπλές λανθασμένες προσπάθειες σύνδεσης, exploit scans ή άλλες ύποπτες ενέργειες.
Μπορείς, επίσης, να ρυθμίσεις το Fail2ban ώστε να στέλνει αυτόματα αναφορές σε εσένα και στον διαχειριστή του επιτιθέμενου IP. Το εργαλείο περιλαμβάνει έτοιμα φίλτρα (filters) για πολλές υπηρεσίες όπως Apache, Courier, SSH, Exim, Postfix κ.ά.
sudo dnf -y updatesudo dnf -y install epel-releasesudo dnf -y install fail2ban Αν λάβεις σφάλμα, εκτέλεσε ξανά: sudo dnf -y updatesudo systemctl enable fail2ban sudo systemctl start fail2bansudo apt -y update && sudo apt -y upgradesudo apt -y install fail2bansudo systemctl enable fail2ban sudo systemctl start fail2banΑπό προεπιλογή, το Fail2ban χρησιμοποιεί το αρχείο /etc/fail2ban/jail.conf. Όμως, οι ενημερώσεις μπορούν να το αντικαταστήσουν, επομένως συνιστάται να δημιουργήσεις ένα jail.local το οποίο δεν αντικαθίσταται και υπερισχύει του jail.conf.
Συμπεριέλαβε μόνο τις υπηρεσίες που τρέχουν πραγματικά στο VPS σου (π.χ. Exim ή Postfix, όχι και τα δύο).
sudo nano /etc/fail2ban/jail.local
Αντέγραψε και προσαρμόσε το παρακάτω block:
DEFAULT]
# Ban for X amount of time
bantime = 604800
findtime = 3600
sender = fail2ban@example.com
destemail = admin@example.com
action = %(action_mwl)s
banaction = iptables-multiport
maxretry = 3
ignoreip = your.ip.address
[sshd]
enabled = true
port = ssh # replace ssh with your configured SSH port
[exim]
enabled = true
filter = exim
logpath = /var/log/exim/mainlog
# cPanel: use /var/log/exim_mainlog
# Debian: /var/log/exim4/mainlog
[postfix]
enabled = true
port = smtp,ssmtp
filter = postfix
failregex = \[<HOST>]: 535 Incorrect authentication data
logpath = /var/log/maillog
[dovecot]
enabled = true
port = pop3,pop3s,imap,imaps
filter = dovecot
logpath = /var/log/maillog
Προσαρμόσε τα πεδία sender, destemail και ignoreip στα δικά σου δεδομένα και ενεργοποίησε μόνο τις υπηρεσίες που χρησιμοποιείς.
Αν χρησιμοποιείς Exim, πρόσθεσε επιπλέον γραμμή στο φίλτρο:
sudo nano /etc/fail2ban/filter.d/exim.conf
Στο block [Definition], πρόσθεσε:
\[<HOST>\]: 535 Incorrect authentication data
Αποθήκευσε και κλείσε (Ctrl + X → Y → Enter).
Τέλος, επανεκκίνησε το Fail2ban για να εφαρμοστούν οι αλλαγές:
sudo systemctl restart fail2ban
Για να αποφύγεις το μόνιμο μπλοκάρισμα ενός νόμιμου χρήστη μετά από ένα μικρό λάθος, μπορείς να ορίσεις σταδιακή αύξηση του χρόνου αποκλεισμού (π.χ. 1 ώρα → 1 ημέρα → 1 εβδομάδα).
sudo nano /etc/fail2ban/filter.d/f2b-repeat.conf
[INCLUDES]
before = common.conf
[Definition]
failregex = (?i)\]\s+ban\s+<HOST>
ignoreregex = (?i)\[f2b-repeat.*\]\s+ban\s+<HOST>
jail.local, πρόσθεσε μεταξύ [DEFAULT] και [sshd]:[DEFAULT]
# Ban for X amount of time
bantime = 3600
findtime = 86400
sender = fail2ban@example.com
destemail = admin@example.com
action = %(action_mwl)s
banaction = iptables-multiport
maxretry = 3
ignoreip = your.ip.address
[f2b-repeat2]
enabled = true
filter = f2b-repeat
bantime = 86400
findtime = 604800
logpath = /var/log/fail2ban.log
maxretry = 3
[f2b-repeat3]
enabled = true
filter = f2b-repeat
bantime = 604800
findtime = 2592000
logpath = /var/log/fail2ban.log
maxretry = 3
[f2b-repeat4]
enabled = true
filter = f2b-repeat
bantime = 2592000
findtime = 15552000
logpath = /var/log/fail2ban.log
maxretry = 3
sudo touch /var/log/fail2ban.log
sudo systemctl restart fail2ban
ls /etc/fail2ban/filter.d/jail.local: sudo nano /etc/fail2ban/jail.local[apache-auth] enabled = true filter = apache-auth logpath = /var/log/apache2/error.logΤο πεδίο filter αντιστοιχεί στο όνομα του αρχείου φίλτρου χωρίς την κατάληξη .conf, και το logpath στο αρχείο log που παρακολουθεί το Fail2ban.

sudo fail2ban-client statussudo cat /var/log/fail2ban.logsudo systemctl status fail2bansudo systemctl restart fail2bansudo fail2ban-client set JAIL banip xxx.xxx.xxx.xxxsudo fail2ban-client set JAIL unbanip xxx.xxx.xxx.xxxsudo fail2ban-client statusΗ εγκατάσταση και ρύθμιση του Fail2ban στο VPS σου ολοκληρώθηκε! Το σύστημά σου είναι πλέον προστατευμένο από επιθέσεις brute-force και κακόβουλες προσπάθειες σύνδεσης.
Επικοινωνήστε με τους ειδικούς μας, θα χαρούν να σας βοηθήσουν!
Επικοινωνήστε μαζί μας