# Linux basics 4 # Практика 4 Безопасность Linux серверов *Выполнил Андреев Игорь Константинович* # Практика 4.1 Настройка файлового сервера в корпоративной инфраструктуре ## Часть 1 - Разворачиваем стенды и настраиваем samba server ### Устройства - ubuntu 1 (пользователь: igor), ubuntu 2 (пользователь: igoradd) и хостовая windows 10 (у меня ноут не потянет 3ю машину xD). Все соединены через bridge сеть ### 1.1 Всё необходимое уже установлено ![](https://i.imgur.com/WUOn7A4.png) ### 1.2 На ubuntu 2 скачиваем (на винде samba по дефолту) ![](https://i.imgur.com/YuRM3k5.png) ### 1.3 Делаем бэкап ![](https://i.imgur.com/YiWyxHW.png) ### 1.4 Создаём директории для samba ![](https://i.imgur.com/uw58Egk.png) ### 1.5 Добавляем группу пользователей для приватных данных, созадём одного такого пользователя и меняем принадлежность папки private ![](https://i.imgur.com/75ePoF4.png) ### 1.6 Задаём пароль для нового пользователя ![](https://i.imgur.com/yEWNX6K.png) ### 1.7 Настройка smb.conf ![](https://i.imgur.com/GyBDWnk.png) ![](https://i.imgur.com/iaWOVbg.png) ### 1.8 Настраиваем iptables ![](https://i.imgur.com/YYwdx9i.png) ### 1.9 Теперь необходимо сделать так, чтобы указанные выше правила фаервола iptables были сохранены после перезагрузки машины ![](https://i.imgur.com/HPL4CoZ.png) ### 1.10 Добавляем samba в автозагрузку ![](https://i.imgur.com/rpo1TLR.png) ### 1.11 Проверяем возможность подключения c Windows и Linux ![](https://i.imgur.com/aALFr20.png) ![](https://i.imgur.com/vlHARVJ.png) ![](https://i.imgur.com/9Jit37X.png) ### ubuntu 2 ![](https://i.imgur.com/81WB2J6.png) ![](https://i.imgur.com/6WKnWXW.png) ## Часть 2 - задание - Получить доступ к папкам и файлам находящимся на файловом сервере Linux, клиентом Linux - Получить доступ к папкам и файлам находящимся на файловом сервере Linux, клиентом Windows - Добавить сервис Samba в автозагрузку OS Linux ### Уже выполнены выше ### 2.1 Настрить Samba ресурс с названием share и дать права на чтение группе пользователей users, но предоставить возможность записи для группы с именем admins, а также пользователю PT, для этого можете отредактировать файл /etc/samba/smb.conf. ### Добавляем папку share ![](https://i.imgur.com/IxbG5U1.png) ### Доавляем юзера pt ![](https://i.imgur.com/HAqBWNa.png) ### Добавляем группу admins ![](https://i.imgur.com/ZJHDgAp.png) ### smb.conf ![](https://i.imgur.com/BI4Lj74.png) ### Делаем владельцем папки группу users ![](https://i.imgur.com/NdotDPS.png) ### Выдаём права: владелец (users) может толко читать, все остальные (pt, admins, которых мы разрешили) могут записывать в файл ![](https://i.imgur.com/D9cQIlM.png) ### 2.2 smbstatus ![](https://i.imgur.com/vmi2gQ0.png) ### smbstatus — отчет о текущих соединениях Samba или "Узнаем каким пользователем открыт файл в Samba" ### 2.3 Записываем результат в txt файл ![](https://i.imgur.com/QYmoVSN.png) ### 2.4 Реализация корзины в samba ### Удаляя файлы или каталог на samba по умолчанию нет возможности их восстановить. Для восстановления придется поднимать файлы с архива бэкапа, что не всегда удобно и быстро. Решим эту проблему ### Создадим папку для мусора и изменим smb.conf ![](https://i.imgur.com/uowqjeH.png) ![](https://i.imgur.com/mDenAGB.png) ### 2.5 Пробуем удалить файл ![](https://i.imgur.com/rGYy1gS.png) ### 2.6 Видим наши файлы, ez ![](https://i.imgur.com/D7Y8Mme.png) # Практика 4.2 Fail2Ban-SSH и Brute-force attack ## Часть 1 - fail2ban ### 1.1 Устанавливаем fail2ban ![](https://i.imgur.com/ov9boWS.png) ### 1.2 Запускаем службу ![](https://i.imgur.com/lsr0nx8.png) ### 1.3 jail.conf ![](https://i.imgur.com/LKVBs5a.png) ### 1.4 jail.local ![](https://i.imgur.com/IwDevLx.png) ### 1.5 Перезапускаем ![](https://i.imgur.com/e0HYtDx.png) ### 1.6 Устанавливаем hydra ![](https://i.imgur.com/dvWF2lZ.png) ### 1.7 Брутфорсим гидрой ![](https://i.imgur.com/84NN8RH.png) ### 1.8 Кого-то заблочили ![](https://i.imgur.com/5JcEd4v.png) ### 1.9 Мы заблокировали свой же ip, ееей :) ![](https://i.imgur.com/graUGnM.png) ### 1.10 Если в конфигурационном файле поменять на false, то ssh начнёт работать корректно и будет давать возможность подключаться ![](https://i.imgur.com/KTkU5h9.png) ### 1.11 Тюрьма свободна ![](https://i.imgur.com/Cu0HVWr.png) ### 1.12 Ещё один раз атакуем ![](https://i.imgur.com/qi8eFE0.png) ### 1.13 Fail2ban отработал ![](https://i.imgur.com/V4R5UPu.png) ### 1.14 Выключаем защиту ![](https://i.imgur.com/A55ARIX.png) ### 1.15 Атака идёт ![](https://i.imgur.com/04HYkB5.png) # Практика 4.3 Fail2Ban и Dos/DDoS attack" на примере nginx ## Часть 1 - Разворачивание сервера nginx на базе дистрибутивов Debian ### 1.1 Установливаем пакеты, необходимые для подключения apt-репозитория ![](https://i.imgur.com/yGI2tJD.png) ### 1.2 Теперь нужно импортировать официальный ключ, используемый apt для проверки подлинности пакетов ![](https://i.imgur.com/HqrNW5x.png) ### 1.3 Проверяем загрузку ![](https://i.imgur.com/9Hvwn5h.png) ### 1.4 Подключение apt-репозитория для стабильной версии nginx ![](https://i.imgur.com/oqLWv4t.png) ### 1.5 Для использования пакетов из нашего репозитория вместо распространяемых в дистрибутиве, настроим закрепление ![](https://i.imgur.com/otWeAhc.png) ### 1.6 Устанавливаем nginx ![](https://i.imgur.com/TntLmwr.png) ### 1.7 Приветственная страница ![](https://i.imgur.com/nBiAb8Z.png) ## Часть 2 - настройка nginx от DDoS атак на наш сервер ### 2.1 Устанавливаем ipset ![](https://i.imgur.com/SKdQsQZ.png) ### 2.2 nano /etc/nginx/sites-enabled/default и добавляем limit_req zone=ltwo burst=5 nodelay; ![](https://i.imgur.com/jGYoriB.png) ### 2.3 nano /etc/nginx/nginx.conf и изменяем limit_req_zone $binary_remote_addr zone=ltwo:10m rate=3r/s; ![](https://i.imgur.com/ger2wHm.png) ### 2.4 При многочесленных запросах сайт выдаёт ошибку 503 ![](https://i.imgur.com/0YLYhlP.png) ### 2.5 Данные ошибки будут отображаться в log файле ![](https://i.imgur.com/brOT41X.png) ## Часть 3 - Настройке fail2ban от DDoS атак на наш сервер ### 3.1 Изменяем jail.local ![](https://i.imgur.com/ptLrz0G.png) ### 3.2 Настройки конфигурационных файлов поумолчанию могут быть перезаписаны при обновлении, поэтому создаём новый файл ![](https://i.imgur.com/Fo82EiR.png) ### 3.3 Добавляем туда следущее: ![](https://i.imgur.com/3aXbeNf.png) ### 3.4 Поднимаем fail2ban ![](https://i.imgur.com/sgbPpFv.png) ### 3.5 Теперь нам нужно посмотреть, что iptables отрабатывает ![](https://i.imgur.com/exbAT8S.png) ### 3.6 Убедимся. что настройки в fail2ban применились ![](https://i.imgur.com/1eRKP4s.png) ### 3.7 Также проверим, что сейчас нет заблокированных ip-адресов ![](https://i.imgur.com/i8xJeZW.png) ### 3.8 Теперь переходим на нашу страничку и вводим ip-адрес сервера в браузере, переходим в режим разработчика и далее делаем многочисленные запросы ![](https://i.imgur.com/riGoUT1.png) ### 3.9 переходим на сервер и смотрим что у нас показывает iptables и fail2ban ![](https://i.imgur.com/kaa4OUs.png) ![](https://i.imgur.com/qMLthkF.png) ### 3.10 Разблокировать нужный ip-адрес возможно с помощью слудующей команды ![](https://i.imgur.com/aJQuh5b.png)