--- title: OS Linux basic-Криворученко_Савелий-Практика_4 tags: OS Linux basic Linux description: Use `{%hackmd theme-dark %}` syntax to include this theme. --- <style> html, body, .ui-content { background-color: #333; color: #ddd; } .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { color: #ddd; } .markdown-body h1, .markdown-body h2 { border-bottom-color: #ffffff69; } .markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link, .markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { color: #fff; } .markdown-body img { background-color: transparent; } .ui-toc-dropdown .nav>.active:focus>a, .ui-toc-dropdown .nav>.active:hover>a, .ui-toc-dropdown .nav>.active>a { color: white; border-left: 2px solid white; } .expand-toggle:hover, .expand-toggle:focus, .back-to-top:hover, .back-to-top:focus, .go-to-bottom:hover, .go-to-bottom:focus { color: white; } .ui-toc-dropdown { background-color: #333; } .ui-toc-label.btn { background-color: #191919; color: white; } .ui-toc-dropdown .nav>li>a:focus, .ui-toc-dropdown .nav>li>a:hover { color: white; border-left: 1px solid white; } .markdown-body blockquote { color: #bcbcbc; } .markdown-body table tr { background-color: #5f5f5f; } .markdown-body table tr:nth-child(2n) { background-color: #4f4f4f; } .markdown-body code, .markdown-body tt { color: #eee; background-color: rgba(230, 230, 230, 0.36); } a, .open-files-container li.selected a { color: #5EB7E0; } </style> # OS Linux basic-Криворученко_Савелий-Практика_4 <a name="headers"><h2>Безопасность Linux серверов </h2></a> ### Задача: - Linux Firewall. - Iptables - Рядовые атаки (flood, bruteforce) - File2ban --- ## Практическая работа 4.1 “Настройка файлового сервера в корпоративной инфраструктуре” ### Задача: - Получить доступ к папкам и файлам находящимся на файловом сервере Linux, клиентом Linux - Получить доступ к папкам и файлам находящимся на файловом сервере Linux, клиентом Windows - Добавить сервис Samba в автозагрузку OS Linux - Настрить Samba ресурс с названием share и дать права на чтение группе пользователей users, но предоставить возможность записи для группы с именем admins, а также пользователю PT, для этого можете отредактировать файл `/etc/samba/smb.conf`. - Настройка корзины для общего ресурса (для тех кому показалось легко🙂) -- пояснить команду `smbstatus` (*продемонстрировать, пояснить результат*) -- записать вывод в файл .txt | Развертывание системы происходило на VMWARE, У всех был NAT и memory = 2048| |---| |![](https://i.imgur.com/L74XiNf.png)| | Настройка сервера | | -------- | | Обновим, скачаем samba, сделаем резервную коп.| | ![](https://i.imgur.com/wBUKr3q.png) | |![](https://i.imgur.com/RFEgqHH.png)| |Создайте или выберете директорию, к которой все пользователи будут иметь общий доступ: |![](https://i.imgur.com/nB6r8Mf.png) |![](https://i.imgur.com/10A8Ozx.png) |Создайте или выберете каталог, к которому иметь доступ будут ограниченное число пользователей: |![](https://i.imgur.com/4OpJuX9.png) |Создадим группу, пользователя, внесем его в группу, поставим пароль| |![](https://i.imgur.com/ZofG8RF.png) |Откройте файл конфигурации и заменим содержание| |![](https://i.imgur.com/YEgc7o3.png) |restart |![](https://i.imgur.com/ssPrqCw.png) |Зайдем с винды |![](https://i.imgur.com/rFaSi8d.png)| |![](https://i.imgur.com/tyOzvG0.png) | смб статус показывает по какому протоколу зашли на сервер, а также с какого пользователя и IP| |![](https://i.imgur.com/kztRgTw.png) |настроить firewall iptables, открыв порты, которые использует SAMBA. И настроить автозагрузку| |![](https://i.imgur.com/roR7P8q.png) |![](https://i.imgur.com/BvgXYs9.png) |![](https://i.imgur.com/87wqAnc.png) |![](https://i.imgur.com/czlerra.png)| |![](https://i.imgur.com/EEJJTCF.png) |Создадим папку share и добавить две группы: Users и admins| |![](https://i.imgur.com/LC4z0yl.png) |![](https://i.imgur.com/eWWw5Ri.png) |внесем пользователей в группы| |![](https://i.imgur.com/yHfmqdM.png) |![](https://i.imgur.com/VNeKySN.png) |smb.conf| |![](https://i.imgur.com/AJUMcyo.png) |![](https://i.imgur.com/l2Z6DFU.png) |![](https://i.imgur.com/JnnHa4t.png) --- ## Практическая работа 4.2 "Fail2Ban-SSH и Brute-force attack".“Настройка файлового сервера в корпоративной инфраструктуре” ### Задача: - Настроить сервер SSH - Установить и настроить Fail2Ban - Научиться пользоваться Hydra - Провести с помощью Hydra brute-force attack - Провести атаку с помощью Hydra при выключенном Fail2Ban и исключенном ip-адресе из ban листа. |установим Fail2Ban и запустим| |---| |![](https://i.imgur.com/69g5Oev.png)| |![](https://i.imgur.com/XEuICfy.png) | Файлы в директории | |![](https://i.imgur.com/Yn1PY47.png) |nano jail.conf - файл конф. and jail.local| |![](https://i.imgur.com/i1FLaZZ.png) |![](https://i.imgur.com/KvrTa7u.png)| |Попытки входа на сервер| |![](https://i.imgur.com/8GixE4w.png)| |Дополнительно внес ip white для неогр. попыток входа |![](https://i.imgur.com/r94M6Qi.png) |![](https://i.imgur.com/d72QrW7.png) |Рестартним по добру и здоровью| |![](https://i.imgur.com/8MDkmZG.png)| |Подключимся по ssh c правильным паролем| |![](https://i.imgur.com/1qBG0kl.png) |Подключимся по ssh c неправильным паролем| |![](https://i.imgur.com/rYrCA5p.png) |c другой машины, которая в WL| |![](https://i.imgur.com/WVG8ZSj.png) |С имитируем пароль| |![](https://i.imgur.com/FtUwNKo.png) |посмотреть журналы банов в fail2ban| |![](https://i.imgur.com/wxgETBd.png) ``` Я входил с двух ip 192.168.121.100 и 192.168.121.1. И только 1 IP попал в бан ``` |Сбросим бан| |---| |![](https://i.imgur.com/1BYEyhG.png)| |Все равно через n кол-во попыток hydra прилетает бан(убрал WL)| |![](https://i.imgur.com/zCIvXlD.png)| |![](https://i.imgur.com/Evcl7EG.png)| |отключить fail2ban и запустить hydra| |![](https://i.imgur.com/Z0baUZr.png) |Можем на сервере найти неудачные попытки входа| |![](https://i.imgur.com/xqABu6J.png)| |![](https://i.imgur.com/oB0jIfb.png) ``` fail2ban - ограничивает число попыток входа по ssh, что дает невозможность войти в систему с помощью брутфорса ``` --- ## Практическая работа 4.3 Практическая работа "Fail2Ban и Dos/DDoS attack" на примере nginx. ### Задача: - Организовать простую-тестовую атаку DoS. - Защитить сервер от DoS/DDoS атак через встроенные возможности nginx. - Защитить сервер от DoS/DDoS атак с помощью fail2ban при помощи iptables в автоматическом режиме. - Защитить сервер от DoS/DDoS атак с помощью fail2ban при помощи ipset в автоматическом режиме. |1. Разворачивание сервера nginx на базе дистрибутивов Debian.| |---| |sudo apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring| | импортируем официальный ключ| |![](https://i.imgur.com/oXwyKQy.png) |Проверим, верный ли ключ был загружен| |![](https://i.imgur.com/oTmq12s.png) |apt-репозитория для стабильной версии nginx |![](https://i.imgur.com/CNRgd5r.png) |Закрепляем| |![](https://i.imgur.com/siDTJO2.png) |Скачаем| |![](https://i.imgur.com/8yeicuD.png) |Запустим| |![](https://i.imgur.com/dElREnK.png)| --- |2. переходим к настройке nginx от DDoS атак на наш сервер.| |---| |Устанавливаем fail2ban и ipset:| |![](https://i.imgur.com/KVJALwd.png) |![](https://i.imgur.com/7urafXV.png) |nano /etc/nginx/sites-enable/default |![](https://i.imgur.com/otx5lEY.png) |nano /etc/nginx/nginx.conf |![](https://i.imgur.com/inSFlwZ.png) |вбиваем ip-адрес сервера в браузере, переходим в режим разработчика и далее делаем многочисленные запросы: в Chrome это - ctrl+r| |![](https://i.imgur.com/k3K2oAM.png)| |![](https://i.imgur.com/Rcdyk4Y.png) |![](https://i.imgur.com/pvQsdXW.png)| ``` данные log файл даст нам нужную информация для настройки фильтрации fail2ban. ``` --- ## 2. Настройке fail2ban от DDoS атак на наш сервер. |параметр бан в jail.conf| |---| |![](https://i.imgur.com/W8GfE50.png) |touch iptables-blocktype.local| |![](https://i.imgur.com/zd35dQc.png) |рестартним и проверим отработку| |![](https://i.imgur.com/zRr9gr3.png)| |настройки в fail2ban применились| |![](https://i.imgur.com/gIVrUXG.png) |fail2ban-client status nginx-limit-req| |![](https://i.imgur.com/fthYnQh.png) |Сделав многочисленные запросы, ip заблокировали| |![](https://i.imgur.com/Gkjpkmj.png)| |iptables -L -v| |![](https://i.imgur.com/7C38mlY.png) |![](https://i.imgur.com/80JWudb.png) |Разблокируем IP| |![](https://i.imgur.com/cDmqbW0.png)|