# 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
```