# Практическая работа №4.2
**Задача**
- Настроить сервер SSH
- Установить и настроить Fail2Ban
- Научиться пользоваться Hydra
- Провести с помощью Hydra brute-force attack
SSH сервер уже настроен на предыдущих практиках
Установка fail2ban осуществляется из репозитария
apt install fail2ban
запускаем сервис
service fail2ban start
файлы конфигурации находятся в каталоге /etc/fail2ban

Основной конфигурационный файл jail.conf
Однако, его не рекомендуется менять и для настройки используют подключаемые файлы из каталога /etc/fail2ban/jail.d
перейдем в каталог /etc/fail2ban/jail.d
и там создадим файл default.conf
В него добавим секцию общих настроек
[DEFAULT]
maxretry = 4
findtime = 480
bantime = 720
action = iptables
ignoreip = 127.0.0.1/8
где
maxretry — количество действий, которые разрешено совершить до бана.
findtime — время в секундах, в течение которого учитывается maxretry;
bantime — время, на которое будет блокироваться IP-адрес;
action — действия, которое будет выполняться, если Fail2ban обнаружит активность, соответствующую критериям поиска;
ignoreip — игнорировать защиту, если запросы приходят с перечисленных адресов.
Для нового правила необходимо создать конфигурационный файл в каталоге /etc/fail2ban/jail.d
например service.conf со следующим содержанием

где:
ssh — название для правила;
enabled позволяет быстро включать (true) или отключать (false) правило;
port — порт целевого сервиса. Принимается буквенное или цифирное обозначение;
filter — фильтр (критерий поиска), который будет использоваться для поиска подозрительных действий. По сути, это имя файла из каталога /etc/fail2ban/filter.d без .conf на конце;
action — действие, совершаемое в случае срабатывания правила. В квадратных скобках указаны название для правила, сетевой порт и протокол для блокирования;
logpath — расположение лог-файла, в котором фильтр будет искать подозрительную активность на основе описанных критериев.
Перезапускаем сервис
service fail2ban restart
и проверяем его статус
service fail2ban status

Пробуем три раза ввести неправильный пароль и видим, что ip адрес скоротого пытались зайти попал в бан лист.

**Hydra**
Установка
apt install hydra
синтаксис команды
hydra опции логины пароли -s порт адрес_цели модуль параметры_модуля
-R - восстановить ранее прерванную сессию Hydra;
-S - использовать SSL для подключения;
-s - указать порт;
-l - использовать логин;
-L - выбирать логины из файла со списком;
-p - использовать пароль;
-P - использовать пароль из файла со списком;
-M - взять список целей из файла;
-x - генератор паролей;
-u - по умолчанию hydra проверяет все пароли для первого логина, эта опция позволяет проверить один пароль для всех логинов;
-f - выйти, если правильный логин/пароль найден;
-o - сохранить результат в файл;
-t - количество потоков для программы;
-w - время между запросами в секундах;
-v - подробный вывод;
-V - выводить тестируемые логины и пароли.
попробуем натравить ее на наш ssh сервер
hydra -l user -P /usr/share/hydra/dpl4hydra_local.csv 192.168.52.135 -t 4 ssh -v -I

на целевой машине виден трафик по ssh протоколу

включим fail2ban на целевой машине

атакующая машина сразу попала в бан
а hydra потеряла соединение

Конец