# Занятие по Windows № 5
# Теория
## Filesharing
Предпологает, что мы с помощью ролевой модели можем получить доступ и как-то с ними работать. В чем проблема при создании стандартной сетевой папки?
Эти проблемы решает **DFS(Distributed File System)** - это компонент Mirosoft Windows, который используется для упрощения доступа и управления файлами, физически распределенными по сети. При ее использовании файлы, распределенные по серверам, представляются находящимися в одном месте. Эта система абстрагирует пользователя от полного пути до файла/папки, реплецирует данные по разным хранилищам и использует стандартные разрешения NTFS для доступа к сетевым ресурсам.
Права безопасности NTFS. Кроме данных, Windows так же хранит их атрибуты безопасности и ACL.
:::info
Атрибуты и ACL имеют не только файлы, но и папки
Под пользователем, получающим доступ к ресурсу, понимается не только пользователь-человек, но и программы, запущенные от его имени
:::
## Атрибуты
Это методанные, описывающие файл. Есть два состояния: **установленный** и **снятый**
## ACL
Этот список указывает, какой объект и какие действия может производить с этим объектом. ACL принимается к SID процесса. Еще одно замечание - более высокий приоритет имеет запрещающее правило(если на объект действуют оба правила)
## Стандартные разрешения

Оснастки Window:
- MMC(Microsoft Management Console) используется для создания, сохранения и открытия административных средств, называемые консоли, которые управляют аппаратными, программными и сетевыми компонентами операционной системы
- Оснастка просмотра журналов. Она позволяет нам посмотреть логи и все журналы, которые у нас есть
- Оснастка ADUC. С помощью этой части мы можем создавать объекты домена, настраивать атрибуты объекта, просматривать объекты домена.
- Оснастка GPO(применение, настройка и управление GPO)
- Оснастка запланированных задач. Позволяет создавать, конфигурировать и просматривать задачи.
Журналы Windows.
Это специальные лог-файлы, в которые система записывает все важные для представления события. Имеют расширения erdx. В журналах события автоматически разбиваются на блоки по несколько мб, чтобы их было удобнее портировать.
Какие бывают журналы Windows:
1. **Журнал приложений**. В этот журнал пишут логи приложения.
2. **Журнал безопасности**. Сюда пишутся все события, связанные с доступом к объектам
3. **Журнал системных событий.** Сюда пишутся события операционной системы или ее компонентов.
4. **Прочие**.
Отправка журналов.
В корпоративных сетях логи собираются на централизованном сервере, так как при хранении логов на компьютере, если его взломают, то злоумышленник может стереть логи. Для отправки таких логов есть стандартный порт: 5985.
Два вида настройки логирование на компьютере:
1. Компьютер сам отправляет логи
2. Сервер приходит к компьютеру за логами.
# Практика
## Настройка DFS
Переходим в раздел **Add roles and feauters** **-> Server Roles -> File and Storage Services -> File and iSCSl Services** и ставим галочку около пунктов **DFS Namespaces** и **DFS Replication**. 
Остальные настройки оставляем по умолчанию(или как настраивали в предыдущих занятиях)
Далее переходим в **Tools -> DFS Managament -> Namespaces** и создаем новое пространство имен

Далее необходимо выбрать, на каком компьютере будет пространство имен

В следующей вкладке вводим имя нашего пространства имен:

Если кликать на кнопку ниже, получим вот такое окошко с преднастройками доступа и местоположение нашей папки с ссылками на ресурсы.

DFS может работать и в домене, и без домена(хотя в таком случае его функционал сильно урезан). Поэтому в следующей вкладке мы оставляем параметры по умолчанию и сохраняем настройки.
Далее создаем где угодно какие-либо папки, которые мы будем использовать. В нашем примере это выглядит вот так:

Чтобы "расшарить" папку необходимо нажать правой кнопкой мыши по папке, перейти в **Properties -> Sharing -> Advanced Sharing -> Permissions** и ставим вот такие настройки:

Далее возвращаемся на домен и создаем в нем папку:

Далее нажимаем на Add... и выставляем прописываем путь до папки, которую мы хотим "расшарить".

Таким образом мы абстрагировали пользователя от имен, которые администратор изначально закладывал в систему.
Создание скрытого сетевого ресурса.
Для этого наше Share name должно оканчиваться на '$'. В таком случае его не увидят те пользователи, для которых он не предназначен.
Важно! Так же добавляем в настройки папок доменных администраторов, иначе мы не сможет "расшарить" наши папки.
По аналогии сделаем другие папки как нам захочется.
Проверка
Входим на Windows 10 под учетной записью какого-нибудь бухгалтера и убедимся, что папка hr скрыта от нас

## Настройка логирования
Итак, мы настроим логирование для папки, в которой производится share.
:::info
Windows по умолчанию не логирует всё.
:::
Для настройки у папки открываем **Settings -> Security -> Advanced -> Auditing -> Add**
Должно открыться вот такое окно:

Выбираем **Select a principal** и прописываем логирование для доменных пользователей:

Далее прописываем следующие настройки:

Для проверки создадим каких-нибудь папок или файлов и, зайдя на Windows 10, удалим их
:::warning
При удалении из сетевой папки восстановить файлы с компьютера невозможно, только с сервера
:::
Теперь идем смотреть логи. Для этого кликаем правой кнопкой мыши по меню **Пуск** и переходим во вкладку **Event Viewer**. Логи от этих событий будут у нас во вкладке **Security**

Логи можно открывать и смотреть вручную, но это не удобно:

Чтобы лишние события не показывались, используем фильтр в правой части экрана:

И выбираем прописываем такие параметры:

:::info
Событие 4656 - проверка доступа к объекту
Событие 4663 - показывает, что над объектом была выполнена какая-то операция
Событие 4660 - явное удаление объекта
Событие 4659 - запрос на удаление объекта
:::
Как понять, что эти события относятся к одной операции?
По Handle ID
Настройка Лог-коллектора
Для этого заходим в Windows Powershell и вводим команду `wecutil qc` и вводим `y`.
Работоспособность нашего коллектора смотрим в диспетчере задач вот тут

После этого создаем GPO. Далее во вкладке Security Filtering жмем на кнопку Add... и в Object Types выбираем компьютеры.

Authenticated Users нам не понадобится, поэтому убираем. Данная политика применится только на PC1
Настройка отправки логов
Далее правой кнопкой мыши по нашей политике **-> Edit...**
Далее переходим в **Policies -> Windows Settings -> Security Settings -> System Services -> Windows Remote Manager Service**

Далее в **Policies -> Administrative Templates -> Event Forwarding -> Configure target Subscription Manager**
Ставим галочку около Enable и в Show Contents прописываем следующую строку:

И, самое главное, нажимаем на Apply
Теперь правила брендмауэра. Переходим в **Policies -> Windows Settings -> Security Settings -> Windows Firewall with advanced ... -> Inbound Rules**
Кликаем правой кнопкой мыши по пустому полю **-> Add Rules** и ставим такие параметры (остальное оставляем по умолчанию)

Теперь нам необходимо узнать SID журнала. Для этого вводим команду `wevtutil gl security` на Windows 10

Переходим обратно на контроллер домена в папку **Policies -> Administrative Templates -> Event Components -> Event Log Service -> Security -> Configure Log Access**

Тут в поле мы вводим результат, полученный от команды выше
Далее принимаем нашу политику и идем на Windows 10 чтобы проверить, что все работает корректно.
В командной строке пишем команду `gpupdate`. Если все правильно отработало, то мы увидим строки:

Далее проверим результирующую политику: `gpuresult /R`

Журналы и подписки
В Windows есть два функционала подписок:
- Когда лог-коллекторы 'приходят' на компьютеры и собирают логи(что является приемлимым решением в маленькой сети)
- Когда компьютеры сами отправляют логи в коллектор. Таким образом коллектору не надо ходить по каждому компьютеру, которых в сети может быть около тысячи.
Создание новой подписки:

Выбираем события, которые будут к нам приходить:

В разделе **Advanced** выбираем следующие опции:

Чтобы проверить, что у нас нет ошибок в подписках, кликаем правой кнопкой мыши по коллектору и выбираем пункт `Runtime Status`.
Если там все в порядке, то в скором времени логи будут приходить и показываться во вкладке **Forwarded Events**.
Так же необходимо выставить настройку, которая в случае переполнения памяти логами будет архивировать их, а не перезаписывать. И так делаем во всех вкладках Windows Logs
