Cum instalezi Fail2ban pe Ubuntu 22.04

Configurare noua (How To)

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.

  1. 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.

  1. 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

Tip solutie

Permanent

Voteaza

(3 din 7 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?