Situatie
Instalarea Fail2ban si UFW (Uncomplicated Firewall)
Fail2ban este un software de prevenire a intruziunilor (IPS) care protejeaza serverele impotriva atacurilor de tip brute-force. Acesta este disponibil implicit in majoritatea depozitelor Linux si accepta mai multe tipuri de firewall-uri. In aceasta sectiune, vei instala Fail2ban si vei configura UFW (Uncomplicated Firewall) ca backend pentru firewall-ul utilizat de Fail2ban.
Solutie
1.Mai intai, ruleaza comanda de mai jos pentru a actualiza indexul de pachete Ubuntu:
sudo apt update
2. Acum instaleaza pachetele fail2ban
si ufw
cu urmatoarea comanda apt
. Introdu Y
pentru a confirma instalarea:
sudo apt install fail2ban ufw
3. Dupa finalizarea instalarii, ruleaza comanda de mai jos pentru a deschide portul pentru SSH si a activa UFW. Introdu Y
pentru a confirma, porni si activa UFW:
sudo ufw allow OpenSSH
sudo ufw enable
4. Dupa activarea UFW, vei vedea un mesaj: Firewall is active and enabled on system startup.
In continuare, ruleaza comanda urmatoare pentru a verifica starea UFW. Vei vedea ca UFW este active
, cu OpenSSH
permis:
sudo ufw status
5. La final, ruleaza comanda systemctl
de mai jos pentru a porni, activa si verifica serviciul fail2ban
:
sudo systemctl enable –now fail2ban sudo systemctl status fail2ban
Configurarea Fail2ban
Dupa instalarea Fail2ban, trebuie sa-l configurezi inainte ca acesta sa inceapa sa verifice si sa blocheze. In aceasta sectiune, vei modifica configuratia Fail2ban din fisierul /etc/fail2ban/jail.local, vei seta configuratia globala pentru bantime, maxretry si findtime, vei configura actiunea implicita si backend-ul UFW, si vei activa jail-ul sshd pentru a proteja serviciul SSH impotriva atacurilor brute force.
- Mai intai, copiaza configuratia implicita Fail2ban in /etc/fail2ban/jail.local cu urmatoarea comanda:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
2. Deschide fisierul /etc/fail2ban/jail.local cu editorul nano:
sudo nano /etc/fail2ban/jail.local
3. Adauga reteaua ta locala in optiunea ignoreip. Orice subretea inclusa in aceasta optiune nu va fi blocata de Fail2ban:
ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 192.168.10.20
4. Ajusteaza configuratia implicita pentru:
- bantime (timpul pentru care o adresa IP va fi blocata): 1h
- findtime (durata in care numarul de esecuri este contabilizat inainte de a bloca): 10m
- maxretry (numarul de incercari esuate permise inainte de blocare): 5
Exemplu:
bantime = 1hfindtime = 10mmaxretry = 5
Optional, schimba actiunea implicita la %(action_mw)s pentru a bloca IP-urile si a trimite notificari administratorului prin email. Asigura-te ca modifici si optiunile destmail si sender pentru adresele de email.
action = %(action_mw)sdestemail = admin@howtoforge.localsender = root@howtoforge.local
5. Schimba actiunea implicita de blocare (banaction) la ufw, astfel incat IP-urile sa fie blocate prin UFW:
banaction = ufw
6. Acum, modifica jail-ul pentru sshd cu configuratia de mai jos. In acest exemplu, jail-ul sshd va avea setari personalizate pentru bantime, maxretry si findtime:
[sshd]
enabled = true
maxretry = 3
findtime = 15m
bantime = 3h
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
Salveaza si inchide fisierul cand ai terminat.
7. La final, ruleaza comanda de mai jos pentru a reporni serviciul fail2ban si a aplica modificarile:
sudo systemctl restart fail2ban
Verificarea regulilor Fail2ban cu fail2ban-client
Acum, serviciul Fail2ban este activ si ruleaza cu jail-ul sshd activat. Mai jos sunt cateva comenzi utile pentru a verifica si administra Fail2ban.
- Pentru a verifica daca Fail2ban ruleaza:
sudo fail2ban-client ping
Daca este activ, vei vedea mesajul PONG.
2. Pentru a verifica starea jail-ului sshd si lista de IP-uri detectate sau blocate:
sudo fail2ban-client status sshd
3. Pentru a verifica setarile specifice ale jail-ului sshd:
sudo fail2ban-client get sshd bantime
sudo fail2ban-client get sshd maxretry
sudo fail2ban-client get sshd actions
sudo fail2ban-client get sshd findtime
sudo fail2ban-client get sshd ignoreip
Leave A Comment?