# Занятие 4. ## Практическая работа №4.1 Прежде всего следует обновить локальную базу пакетов: ![](https://i.imgur.com/kG8Aexr.png) Далее установите пакеты из главного репозитория: ![](https://i.imgur.com/bHLbXcb.png) Создайте резервную копию файла конфигурации Samba: ![](https://i.imgur.com/nPU1a8F.png) Создайте или выберете директорию, к которой все пользователи будут иметь общий доступ: ![](https://i.imgur.com/QKZMlmA.png) Перейдите к этому каталогу и измените режим доступа и владельца: ![](https://i.imgur.com/Rskfo7w.png) ![](https://i.imgur.com/gJ0DAyU.png) Создайте или выберете каталог, к которому иметь доступ будут ограниченное число пользователей: ![](https://i.imgur.com/sbZObYB.png) Создайте группу пользователей, которые будут иметь доступ к приватным данным: ![](https://i.imgur.com/QvndMFa.png) Создайте нужных пользователей с помощью команды useradd: ![](https://i.imgur.com/fTRE0ml.png) Добавьте созданных пользователей в группу: ![](https://i.imgur.com/uGuFf6K.png) Измените группу, которой принадлежит приватная директория: ![](https://i.imgur.com/gIyJEty.png) Задайте пароль, с помощью которого пользователь будет подключаться к каталогу: ![](https://i.imgur.com/jbZ9e4P.png) Откройте файл конфигурации на редактирование с помощью текстового редактора, например nano и замените содержимое файла на следующие строки: ![](https://i.imgur.com/IleZ2H6.png) ![](https://i.imgur.com/6Kb0t5O.png) ![](https://i.imgur.com/4emtbuz.png) ![](https://i.imgur.com/PsB1Mbv.png) ![](https://i.imgur.com/kY4eK1P.png) Чтобы изменения вступили в силу, перезапустите сервис: ![](https://i.imgur.com/ZWvUyBN.png) **2. Далее нужно настроить firewall iptables, открыв порты, которые использует SAMBA. Настоятельно рекомендую разрешить только подключения из локального диапазона IP-адресов или виртуальной частной сети.** ![](https://i.imgur.com/1kqoohg.png) *Теперь необходимо сделать так, чтобы указанные выше правила фаервола iptables были сохранены после перезагрузки машины. ![](https://i.imgur.com/PjUkPmF.png) ![](https://i.imgur.com/po3959F.png) Проверить актуальные правила iptables можно командой: ![](https://i.imgur.com/ApEzzfI.png) ## Практическая работа №4.2 Для начала давайте обновим ОС: ![](https://i.imgur.com/F722DPL.png) Далее давайте установим Fail2Ban: ![](https://i.imgur.com/oMW3vOV.png) Так как Fail2Ban запускается после перезагрузке или старте ОС сделаем следующее: ![](https://i.imgur.com/huCIC5C.png) Ознакомимся со всеми файлами в директории Fail2Ban: ![](https://i.imgur.com/YOZchMD.png) Теперь давайте перейдём в нужную директорию и откроем файл конфигурации: ![](https://i.imgur.com/SaNMkIx.png) Для того чтобы нам для fail2ban дать информацию куда смотреть, делаем следующее: ![](https://i.imgur.com/WxyEkak.png) В итоге мы получаем текст файла следующий: ![](https://i.imgur.com/GasBSz1.png) Вводим: ![](https://i.imgur.com/o7V70bP.png) Проверим, что fail2ban работает: ![](https://i.imgur.com/cM0Fmbe.png) Чтобы посмотреть журналы банов в fail2ban вводим: ![](https://i.imgur.com/HoCeBxd.png) и получить более подробно статистику: ![](https://i.imgur.com/IogjzWy.png) Попытка подключения с второй виртуальной машины ![](https://i.imgur.com/TviGr1c.png) Если в конфигурационном файле поменять на false, то ssh начнёт работать корректно и будет давать возможность подключаться. ![](https://i.imgur.com/VxE6fKr.png) Соответственно, если сбросить блокировку fail2ban, необходимо сделать следующее: ![](https://i.imgur.com/iE74toz.png) и проверим, что никто в данный момент не блокируется: ![](https://i.imgur.com/SDsAiXu.png) Подключение удалось со второй виртуальной машины ![](https://i.imgur.com/ANgL6bb.png) далее запускаем hydra ещё раз: ![](https://i.imgur.com/PpTdold.png) увидим что fail2ban отработал корректно и заблокировал ip-адрес: ![](https://i.imgur.com/zgvmaq4.png) ![](https://i.imgur.com/FwZmZIn.png) Проверим, что будет, если отключить fail2ban и запустить hydra: ![](https://i.imgur.com/eZ8z6fM.png) ![](https://i.imgur.com/qDgDCOW.png) ## Практическая работа №4.3 **1. Разворачивание сервера nginx на базе дистрибутивов Debian.** Установите пакеты, необходимые для подключения apt-репозитория: Так как я делаю на Kali Linux, то у меня nginx уже установлен ![](https://i.imgur.com/uxqJxR7.png) Стартовая страница nginx выглядит так: ![](https://i.imgur.com/ehmYRaW.png) **2.Далее переходим к настройке nginx от DDoS атак на наш сервер.** Устанавливаем fail2ban и ipset: ![](https://i.imgur.com/4pOWn5S.png) ![](https://i.imgur.com/day7chr.png) **выставляем следующие параметры:** ![](https://i.imgur.com/x2g5Rc1.png) далее переходим в конфигурационный файл nginx.conf: ![](https://i.imgur.com/tsyqwNg.png) после зажатия ctrl+r - выйдет ошибка 503 ![](https://i.imgur.com/jk6SiVt.png) данные ошибки будут отображаться в log файле: ![](https://i.imgur.com/MMUhk5N.png) **2. Настройке fail2ban от DDoS атак на наш сервер.** ![](https://i.imgur.com/afdUFO7.png) но как мы уже знаем, настройки конфигурационных файлов поумолчанию могут быть перезаписаны при обновлении, поэтому создаём новый файл: где нам нужно внести следующую настройку: ![](https://i.imgur.com/HFWt1tC.png) Затем делаем рестар fail2ban: ![](https://i.imgur.com/9cPC1ME.png) Теперь нам нужно посмотреть, что iptables отрабатывает и наберём: ![](https://i.imgur.com/YQan40P.png) Убедимся. что настройки в fail2ban применились и введём: ![](https://i.imgur.com/bJzSsXs.png) также проверим, что сейчас нет заблокированных ip-адресов: ![](https://i.imgur.com/3ytgbbq.png) и видим вот такое сообщение после многочисленных запросов: ![](https://i.imgur.com/hDlw2i7.png) ![](https://i.imgur.com/1h9Dr27.png) ![](https://i.imgur.com/9johIYw.png) ![](https://i.imgur.com/3e3Pd28.png)