# Linux-Basic-4(Безопасность Linux серверов)
## Практическая работа №4.1 Настройка файлового сервера в корпоративной инфраструктуре.
### Разворачиваем три виртуальные машины.
1. Обновим систему.
`apt-get update`. 

2. Устанавливаем нужные пакеты.
`apt-get install -y samba samba-client`.

3. Делаем резервную копию файла с конфигурацией.
`cp /etc/samba/smb.conf /etc/samba/smb.conf.bak`. 
5. Создаём директорию, к которой все пользователи будут иметь общий доступ
`mkdir -p /samba/public`. 
5. Перейдём к этому каталогу и изменим режим доступа и владельца
`cd /sambachmod -R 0755 public`. 
6. Создадим каталог, к которому иметь доступ будут ограниченное число пользователей
`mkdir /samba/private`. 
7. Создадим группу пользователей, которые будут иметь доступ к приватным данным.
`groupadd smbgr`.
Создадим нужных пользователей с помощью команды useradd
`useradd user1`. ![]()
Добавим созданных пользователей в группу
`usermod -aG smbgr user1`. 
8. Изменим группу, которой принадлежит приватная директория
`chgrp smbgr /samba/private`. ![]()
Зададим пароль, с помощью которого пользователь будет подключаться к каталогу
`smbpasswd -a user1`. 
9. Меняем конфигурацию. 
10. Перезагружаем и смотрим статус. 
### Настройка firewall iptables, открыв порты, которые использует SAMBA.
11. Проверяем наличие iptables. 
12. Создаём правила. 
13. Установим iptables-persistent. 
14. Смотрим конфиг. 
15. Добавим samba в атозагрузку. 
16. После перезагрузки правила сохранились. 
### Создадим новых указанных пользователей и дадим им соответствующие права.
17. Создадим новую группу, пользователя и добавим пользователя в новую группу. 
18. Сделаем ресурс share и сделаем пароль пользователю PT. 
19. Теперь добавим группу админов, в неё нашего основого пользователя, а прошлого user1 добавим в группу users. 
20. Меняем конфигурацию. 
21. Перезагружаем и смотрим статус. 
22. Попробуем получить доступ к папкам и файлам с клиента кали. 


23. Попробуем получить доступ к папкам и файлам с клиента windows. 


## Практическая работа №4.2 Fail2Ban-SSH и Brute-force attack.
1. Обновляем систему. 
2. Устанавливаем fail2ban. 
3. Запускаем fail2ban. 
4. Смотрим все файлы в директории. 
5. Перейдём в директорию и откроем файл с конфигурацией. 
6. Посмотрим конфигурацию. 
7. Создаём файл `jail.local`. 
8. Прописываем конфигурацию в `jail.local`. 
9. Перезагружаем систему и смотрим статус. 
10. Проверяем наличие `hydra` на ubuntu и скачиваем. 
11. Пробуем три раза подключиться с ubuntu. 
12. На ubuntu server видим следующий результат. 
13. Пробуем атаковать ubuntu server с помощью `hydra` через кали. 
14. На сервере видим что список банов пополняется. 
15. Проверим, что будет, если отключить `fail2ban` и запустить `hydra`. 


## Практическая работа №4.3 Fail2Ban и Dos/DDoS attack" на примере nginx.
### Разворачивание сервера nginx на базе дистрибутивов Debian.
1. Установим пакеты, необходимые для подключения apt-репозитория. 
2. Импортируем официальный ключ, используемый apt для проверки подлинности пакетов. 
3. Проверим, верный ли ключ был загружен. 
4. Подключим apt-репозиторий. 
5. Настроим закрепление. 
6. Обновим систему и установим `nginx`. 
7. Проверим. 
### Настройка nginx от DDoS атак на наш сервер.
8. Устанавливаем `fail2ban` и `ipset`. 
9. Переходим к стартовой страничке `nginx`. 

10. Изменяем конфигурационный файл. 
11. Вбиваем ip-адрес сервера в браузер и переходим в режим разработчика. 
12. Делаем многочисленные запросы и видим ошибку. 
### Настройке fail2ban от DDoS атак на наш сервер.
14. Внесём изменения в `jail.local`. 
15. Посмотрим конфигурационный файл. 
16. Создаём новый файл. 
17. Вносим в него настройку.

18. Перезагружаем `fail2ban` и смотрим что обрабатывает `iptables`. 
19. Смотрим статус. 
20. Смотрим, что сейчас нет заблокированных ip-адресов 
22. После захода на сайт и множества запросов смотрим что показывает `iptables` и `fail2ban` и видим ip-адрес в бане.



23. Разблокируем ip-адрес командой . 