# Linux-Basic-4(Безопасность Linux серверов) ## Практическая работа №4.1 Настройка файлового сервера в корпоративной инфраструктуре. ### Разворачиваем три виртуальные машины. 1. Обновим систему. `apt-get update`. ![](https://i.imgur.com/40JPTTP.png) ![](https://i.imgur.com/dr4xBdH.png) 2. Устанавливаем нужные пакеты. `apt-get install -y samba samba-client`. ![](https://i.imgur.com/0BfVsxL.png) 3. Делаем резервную копию файла с конфигурацией. `cp /etc/samba/smb.conf /etc/samba/smb.conf.bak`. ![](https://i.imgur.com/R39XkKd.png) 5. Создаём директорию, к которой все пользователи будут иметь общий доступ `mkdir -p /samba/public`. ![](https://i.imgur.com/L2Ng2ZF.png) 5. Перейдём к этому каталогу и изменим режим доступа и владельца `cd /sambachmod -R 0755 public`. ![](https://i.imgur.com/weoykYg.png) 6. Создадим каталог, к которому иметь доступ будут ограниченное число пользователей `mkdir /samba/private`. ![](https://i.imgur.com/hXj4mus.png) 7. Создадим группу пользователей, которые будут иметь доступ к приватным данным. `groupadd smbgr`. Создадим нужных пользователей с помощью команды useradd `useradd user1`. ![]() Добавим созданных пользователей в группу `usermod -aG smbgr user1`. ![](https://i.imgur.com/Cy5vlSX.png) 8. Изменим группу, которой принадлежит приватная директория `chgrp smbgr /samba/private`. ![]() Зададим пароль, с помощью которого пользователь будет подключаться к каталогу `smbpasswd -a user1`. ![](https://i.imgur.com/l1lTKJq.png) 9. Меняем конфигурацию. ![](https://i.imgur.com/zP5Eo3q.png) 10. Перезагружаем и смотрим статус. ![](https://i.imgur.com/s3MXGGh.png) ### Настройка firewall iptables, открыв порты, которые использует SAMBA. 11. Проверяем наличие iptables. ![](https://i.imgur.com/XmnI9Qy.png) 12. Создаём правила. ![](https://i.imgur.com/ZhDGQ26.png) 13. Установим iptables-persistent. ![](https://i.imgur.com/FDOKFJu.png) 14. Смотрим конфиг. ![](https://i.imgur.com/0DfIawC.png) 15. Добавим samba в атозагрузку. ![](https://i.imgur.com/PNbehdL.png) 16. После перезагрузки правила сохранились. ![](https://i.imgur.com/CigbLx8.png) ### Создадим новых указанных пользователей и дадим им соответствующие права. 17. Создадим новую группу, пользователя и добавим пользователя в новую группу. ![](https://i.imgur.com/NhcmEvG.png) 18. Сделаем ресурс share и сделаем пароль пользователю PT. ![](https://i.imgur.com/F4xYVj8.png) 19. Теперь добавим группу админов, в неё нашего основого пользователя, а прошлого user1 добавим в группу users. ![](https://i.imgur.com/WoIPtZO.png) 20. Меняем конфигурацию. ![](https://i.imgur.com/SuVc9TN.png) 21. Перезагружаем и смотрим статус. ![](https://i.imgur.com/Of4oyzn.png) 22. Попробуем получить доступ к папкам и файлам с клиента кали. ![](https://i.imgur.com/ib7643q.png) ![](https://i.imgur.com/s4jplAu.png) ![](https://i.imgur.com/dWHnG8j.png) 23. Попробуем получить доступ к папкам и файлам с клиента windows. ![](https://i.imgur.com/nV2otyX.png) ![](https://i.imgur.com/jakavCW.png) ![](https://i.imgur.com/P9pIRDu.png) ## Практическая работа №4.2 Fail2Ban-SSH и Brute-force attack. 1. Обновляем систему. ![](https://i.imgur.com/MZCoMlY.png) 2. Устанавливаем fail2ban. ![](https://i.imgur.com/pdlulN3.png) 3. Запускаем fail2ban. ![](https://i.imgur.com/ABg8Ugw.png) 4. Смотрим все файлы в директории. ![](https://i.imgur.com/Lc5w5NW.png) 5. Перейдём в директорию и откроем файл с конфигурацией. ![](https://i.imgur.com/KLf06gF.png) 6. Посмотрим конфигурацию. ![](https://i.imgur.com/mn4kkU9.png) 7. Создаём файл `jail.local`. ![](https://i.imgur.com/MUK0K3T.png) 8. Прописываем конфигурацию в `jail.local`. ![](https://i.imgur.com/mW8hUI7.png) 9. Перезагружаем систему и смотрим статус. ![](https://i.imgur.com/lQwR8uh.png) 10. Проверяем наличие `hydra` на ubuntu и скачиваем. ![](https://i.imgur.com/xtTLqv8.png) 11. Пробуем три раза подключиться с ubuntu. ![](https://i.imgur.com/06BCJ3A.png) 12. На ubuntu server видим следующий результат. ![](https://i.imgur.com/gln50Be.png) 13. Пробуем атаковать ubuntu server с помощью `hydra` через кали. ![](https://i.imgur.com/fDH0WaW.png) 14. На сервере видим что список банов пополняется. ![](https://i.imgur.com/av1YBKV.png) 15. Проверим, что будет, если отключить `fail2ban` и запустить `hydra`. ![](https://i.imgur.com/AV7uDeB.png) ![](https://i.imgur.com/ZVvu1UV.png) ![](https://i.imgur.com/2aaGFSl.png) ## Практическая работа №4.3 Fail2Ban и Dos/DDoS attack" на примере nginx. ### Разворачивание сервера nginx на базе дистрибутивов Debian. 1. Установим пакеты, необходимые для подключения apt-репозитория. ![](https://i.imgur.com/VCh6QC9.png) 2. Импортируем официальный ключ, используемый apt для проверки подлинности пакетов. ![](https://i.imgur.com/w8yIV1R.png) 3. Проверим, верный ли ключ был загружен. ![](https://i.imgur.com/TjHGLvv.png) 4. Подключим apt-репозиторий. ![](https://i.imgur.com/aJKt8CW.png) 5. Настроим закрепление. ![](https://i.imgur.com/jOX2oO7.png) 6. Обновим систему и установим `nginx`. ![](https://i.imgur.com/1Mn1YbP.png) 7. Проверим. ![](https://i.imgur.com/4XaPZik.png) ### Настройка nginx от DDoS атак на наш сервер. 8. Устанавливаем `fail2ban` и `ipset`. ![](https://i.imgur.com/S8a5pR1.png) 9. Переходим к стартовой страничке `nginx`. ![](https://i.imgur.com/jyhdGo2.png) ![](https://i.imgur.com/YS8UzBu.png) 10. Изменяем конфигурационный файл. ![](https://i.imgur.com/sffs32i.png) 11. Вбиваем ip-адрес сервера в браузер и переходим в режим разработчика. ![](https://i.imgur.com/kOsJW9N.png) 12. Делаем многочисленные запросы и видим ошибку. ![](https://i.imgur.com/sctXo0S.png) ### Настройке fail2ban от DDoS атак на наш сервер. 14. Внесём изменения в `jail.local`. ![](https://i.imgur.com/lUOyivt.png) 15. Посмотрим конфигурационный файл. ![](https://i.imgur.com/aIWwnO8.png) 16. Создаём новый файл. ![](https://i.imgur.com/x0nGQy9.png) 17. Вносим в него настройку. ![](https://i.imgur.com/H1W0hBV.png) 18. Перезагружаем `fail2ban` и смотрим что обрабатывает `iptables`. ![](https://i.imgur.com/7IumsQc.png) 19. Смотрим статус. ![](https://i.imgur.com/JmHwYVv.png) 20. Смотрим, что сейчас нет заблокированных ip-адресов ![](https://i.imgur.com/NaXtajx.png) 22. После захода на сайт и множества запросов смотрим что показывает `iptables` и `fail2ban` и видим ip-адрес в бане. ![](https://i.imgur.com/rfZGKLg.png) ![](https://i.imgur.com/vIhShdZ.png) ![](https://i.imgur.com/AaapY5M.png) 23. Разблокируем ip-адрес командой . ![](https://i.imgur.com/eppLl3m.png)