# 3. OS Linux basic. Практическая работа 4 Подготовка включает создание публичной и приватной (доступной только состоящим в группе smbgrp пользователям) папок. Создание пользователя и добавление его в группу smbgrp. ![](https://i.imgur.com/x300A8E.png) ![](https://i.imgur.com/a3Uz4O8.png) выполняется настройка конфигурации samba. ![](https://i.imgur.com/I3u6LL0.png) сервис доступен ![](https://i.imgur.com/arirQ2L.png) # 1.1 Получить доступ к папкам и файлам находящимся на файловом сервере Linux, клиентом Linux ip-адрес узла с ОС Linux (Kali): ![](https://i.imgur.com/OOdLYkP.png) ![](https://i.imgur.com/ZVoY4Go.png) ![](https://i.imgur.com/jkDJq2e.png) ![](https://i.imgur.com/KgHYSxz.png) ![](https://i.imgur.com/65dgtcT.png) # 1.2 Получить доступ к папкам и файлам находящимся на файловом сервере Linux, клиентом Windows ip-адрес узла с ОС Windows: ![](https://i.imgur.com/cFx5dMP.png) сетевой ресурс доступен. Каталог public открывается: ![](https://i.imgur.com/HKIyRv1.png) Каталог private требует ввода УЗ, после этого становится доступен: ![](https://i.imgur.com/fHg2u9u.png) ![](https://i.imgur.com/GWU5Scz.png) # 1.3 Добавить сервис Samba в автозагрузку OS Linux ![](https://i.imgur.com/LvOBn07.png) # 1.4 Настройка iptables Настраиваются правила для iptables для доступа по портам smb и для возможности администрирования (ssh, tcp/22). Правило по умолчанию используется DROP (блокировать все соединения). ![](https://i.imgur.com/c5lfejH.png) Для проверки создаются произвольные файлы. ![](https://i.imgur.com/7xjkg1F.png) Открывается новое окно и вводится путь до сетевой папки. Windows не попадает под сеть 192.168.130.128/25, т.к. имеет адрес 192.168.130.1. Попытка открыть сетевой каталог неуспешная: ![](https://i.imgur.com/Pv3xGlW.png) kali2 входит в сеть 192.168.130.128/25 (ее адрес .136), проверка доступности ресурсов успешная. Правила FW работают корректно: ![](https://i.imgur.com/TuAqcLD.png) для сохранения правил и автоматического их добавления при перезагрузке используется утилита iptables-persistent. ![](https://i.imgur.com/92pCp8Z.png) команда smbstatus показывает расширенные данные - ip адрес клиента, УЗ и время ее авторизации и др. ![](https://i.imgur.com/cCmCqEt.png) # 2.1 Fail2Ban-SSH и Brute-force attack Сервер SSH работает на ВМ kali. ПО Fail2Ban установлено. Проверяется работа службы - запущена: ![](https://i.imgur.com/8t45MjS.png) Содержимое каталога fail2ban: ![](https://i.imgur.com/VOcv456.png) в конфигурационном файле fail2ban по умолчанию указан сервис sshd: ![](https://i.imgur.com/t5bnO0b.png) конфигурация рекомендует для пользовательских настроек создать файл jail.local Конфигурация предусматривает чтение лога auth, фильтрацию по sshd, максимум 3 неправильных попытки входа, блокировку на 1 час: ![](https://i.imgur.com/OMnaINX.png) до выполнения атаки блокировки отсутствуют: ![](https://i.imgur.com/jJUa9z9.png) Попытка несколько раз ввести неправильную УЗ - применяется блокировка fail2ban: ![](https://i.imgur.com/FYHOPDi.png) в результате fail2ban заблокировал ip-адрес: ![](https://i.imgur.com/vHb5uMC.png) Проведение атаки подбора пароля с помощью hydra при выключенной службе fail2ban: ![](https://i.imgur.com/AAGLHNk.png) Проведение атаки подбора пароля с помощью hydra c включенной службой fail2ban, ip-адрес забанен, его соединение сбрасывается: ![](https://i.imgur.com/zSmKCWr.png) # 3.1 Fail2Ban и Dos/DDoS attack Скачивается и проверяется ключ для репозитория - значение контрольной суммы совпадает: ![](https://i.imgur.com/Ob0vZGO.png) ![](https://i.imgur.com/WG2ettt.png) дбавляется файл с репозиторием nginx: ![](https://i.imgur.com/n6T1fiM.png) ![](https://i.imgur.com/6inRffH.png) Проверка статуса службы nginx: ![](https://i.imgur.com/E4Z5S6D.png) установлено 2 веб-сервера (nginx, apache2), открывается стартовая страница apache2. Для исправления переносится файл index: ![](https://i.imgur.com/6MgLfJY.png) Проверка доступности nginx из браузера: ![](https://i.imgur.com/ldRrt3v.png) устанавливается пакет ipset: ![](https://i.imgur.com/RljimSp.png) в файл/etc/nginx/sites-enable/default добавляется параметр limit_req: ![](https://i.imgur.com/itUgisM.png) в конфирационный файл /etc/nginx/nginx.conf так же параметр limit_req_zone: ![](https://i.imgur.com/sVnLFcJ.png) и применяются новые настройки сервиса. со стороннего узла выполняется множественное открытие веб-страницы (ctrl + r). Видно, что при превышении заданного лимита выдается ошибка 503: ![](https://i.imgur.com/yp6E8Y5.png) в логе ngimx видны события превышения лимита: ![](https://i.imgur.com/Fv53JKk.png) выполняется настройка fail2ban для интеграции с ngix: ![](https://i.imgur.com/w28yXmF.png) в настройках fail2ban для iptables задается действие - DROP: ![](https://i.imgur.com/itdOgco.png) проверяются настройки fail2ban (для nginx выполняются проверки): ![](https://i.imgur.com/BvrG0vv.png) статистика до начала атаки DDoS (нет заблокированных адресов): ![](https://i.imgur.com/k0y8c04.png) Атака DDoS производится множественным открытием страницы nginx. В результате через некоторое время страница nginx становится недоступной: ![](https://i.imgur.com/QiUfQbZ.png) статистика fail2ban показывает блокировку одного ip: ![](https://i.imgur.com/KsJeu9H.png) в iptables применилось правило блокировки данного ip-адреса: ![](https://i.imgur.com/E8YduqT.png) Таким образом, была настроена защита от DDoS-атак на веб-сервер nginx.