# Fail2ban

![](/Linux/System/Fail2ban/fail2ban.jpeg)

fail2ban - служба которая банит всех (смотря как настроить) хитрожопых любителей поперебирать пароли к сервису или серверу. Чаще всего используется для защиты сервера от ботов, которые пытаются подобрать пароль к твоей VPSке

## Защищаем SSH
Ну для начала надо понимать, а нужен ли тебе доступ к серверу от рута? Если нет то закрой.
Далее ставим любым пакетным менеджером пакет `fail2ban`, в моем случае это Debian
```bash
sudo apt install fail2ban
```
Копируем конфиг для ssh
```bash
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
```
Открываем `/etc/fail2ban/jail.local` и приводим блок `[sshd]` к такому виду:
```
[sshd]  
enabled  = true 
findtime = 180                # Время, в которое служба отсчитывает попытки входа по ssh
maxretry = 3                  # Три попытки - дальше бан  
bantime = 50400               # Время бана в секундах
filter   = sshd
logpath  = /var/log/auth.log  # Фаил логов куда пишутся попытки авторизации
```

Рестартим сервис и ставим в автозагрузку. Смотрим что сервис запущен
```bash
sudo systemctl restart fail2ban
sudo systemctl enable fail2ban
sudo systemctl status fail2ban
```
Смотреть список забаненых можно так:
```bash
mayekkuzu@host:~$ sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 1
|  |- Total failed:     4
|  `- Journal matches:  _SYSTEMD_UNIT=ssh.service + _COMM=sshd
`- Actions
   |- Currently banned: 3
   |- Total banned:     3
   `- Banned IP list:   185.147.124.54 77.242.225.38 185.147.124.182
```
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9