> For the complete documentation index, see [llms.txt](https://docs.ititanhosting.ro/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ititanhosting.ro/docs/romana/vps/linux/cum-instalezi-fail2ban-pe-ubuntu.md).

# Cum instalezi Fail2Ban pe Ubuntu

Daca te uiti in log-urile serverului, s-ar putea sa fii surprins cat de des incearca IP-uri aleatorii sa ghiceasca parola SSH. Fail2Ban monitorizeaza acele log-uri si blocheaza automat IP-urile care fac prea multe incercari esuate.

Este o unealta simpla care face o mare diferenta in securitatea serverului. Iata cum o configurezi.

### Pasul 1: Instaleaza Fail2Ban

Ubuntu are Fail2Ban in repository-urile implicite, asa ca instalarea este directa:

```bash
sudo apt update
sudo apt install fail2ban -y
```

### Pasul 2: Intelege fisierele de configurare

Fail2Ban foloseste doua tipuri de fisiere de configurare:

* `/etc/fail2ban/jail.conf` - configuratia implicita (nu edita direct acest fisier)
* `/etc/fail2ban/jail.local` - configuratia ta personalizata (suprascrie valorile implicite)

Creeaza configuratia locala copiind-o pe cea implicita:

```bash
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
```

Sau incepe de la zero doar cu setarile de care ai nevoie:

```bash
sudo nano /etc/fail2ban/jail.local
```

### Pasul 3: Configurare de baza pentru SSH

Iata o configuratie solida de start. Adauga asta in `jail.local`:

```ini
[DEFAULT]
# Blocheaza IP-urile pentru 24 de ore dupa 5 incercari esuate
bantime = 24h
maxretry = 5
findtime = 10m

# Trimite alerte prin email (optional)
# destemail = emailul@tau.ro
# action = %(action_mw)s

[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
```

Aceasta monitorizeaza incercarile de autentificare SSH. Daca cineva greseste de 5 ori in 10 minute, este blocat pentru 24 de ore.

### Pasul 4: Porneste si activeaza Fail2Ban

```bash
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
sudo systemctl status fail2ban
```

### Pasul 5: Verifica ce face Fail2Ban

Vezi starea pentru protectia SSH:

```bash
sudo fail2ban-client status sshd
```

Rezultatul arata de cate ori s-a activat si care IP-uri sunt blocate in prezent.

Listeaza toate jail-urile active:

```bash
sudo fail2ban-client status
```

### Pasul 6: Protejeaza si alte servicii

Fail2Ban vine cu filtre incorporate pentru multe servicii populare. Activeaza-le adaugand in `jail.local`:

```ini
[nginx-http-auth]
enabled = true
logpath = /var/log/nginx/error.log

[nginx-botsearch]
enabled = true
logpath = /var/log/nginx/access.log

[postfix]
enabled = true
logpath = /var/log/mail.log
```

Dupa ce modifici configuratia, aplica schimbarile:

```bash
sudo systemctl restart fail2ban
```

### Deblocarea unui IP

Daca te blochezi singur din greseala sau vrei sa eliberezi un IP:

```bash
sudo fail2ban-client set sshd unbanip 203.0.113.4
```

Sa deblochezi in toate jail-urile:

```bash
sudo fail2ban-client unban 203.0.113.4
```

### Lista alba pentru IP-uri de incredere

Daca ai un IP static care nu ar trebui blocat niciodata, adauga-l in configuratie:

```ini
[DEFAULT]
ignoreip = 127.0.0.1/8 ::1 203.0.113.4
```

### Actiuni personalizate

Implicit, Fail2Ban adauga o regula iptables pentru a bloca IP-ul. Dar poti face mai mult:

* Trimite o alerta prin email
* Ruleaza un script personalizat
* Blocheaza IP-ul si in Cloudflare

Exemplu cu alerte prin email:

```ini
[DEFAULT]
destemail = admin@example.com
action = %(action_mw)s
```

Actiunea `%(action_mw)s` blocheaza IP-ul si iti trimite un email cu informatiile whois.

### Vizualizarea log-urilor

Daca ceva pare in neregula, verifica log-urile Fail2Ban:

```bash
sudo tail -f /var/log/fail2ban.log
```

### Testeaza daca functioneaza

Dintr-un alt calculator, incearca sa te conectezi prin SSH la server cu o parola gresita de cateva ori. Dupa 5 incercari, ruleaza pe server:

```bash
sudo fail2ban-client status sshd
```

Ar trebui sa vezi IP-ul listat ca blocat.

### Intrebari comune

**Cat timp ar trebui sa blochez IP-urile?** 24 de ore este o valoare implicita rezonabila. Pentru protectie agresiva, foloseste 1 saptamana sau chiar permanent. Tine cont ca unii boti schimba IP-urile frecvent.

**Foloseste Fail2Ban multe resurse?** Nu. Ruleaza ca un serviciu usor si doar scaneaza fisierele log pentru intrari noi. Nici nu vei observa ca merge pe un VPS mic.

**Ce se intampla daca repornesc serverul?** Regulile iptables se pierd la repornire, dar Fail2Ban le reface automat cand porneste din nou.

### Concluzie

Fail2Ban este unul dintre acele instrumente pe care le configurezi o data si uiti de el. Investeste zece minute acum si va bloca mii de incercari de autentificare nedorite pe durata de viata a serverului tau.
