# Макаров Дмитрий Владиславович - Windows Basic. Практическая работа №5. Инфраструктурные сервисы в домене
[toc]
## Практическая работа №5.1 Обмен данными в домене.
### Часть 1. Настройка инстанса обмена данными
1.1 Для начала установим роль *DFS* на **dc1**. Перейдём в установку ролей и компонентов. Отметим роли *DFS Namespases* и *DFS Replication*
---

---
1.2 Установим роли
---

---
Выполним аналогичную установку на **dc2**:
---

---
1.3 Зайдём в управление *DFS*. Создадим новый namespace
---

---
1.4 Укажем сервер, являющийся сервером имён для *DFS*. Это будет наш **dc1**
---

---
1.5 Укажем имя создаваемого пространства и перейдём в **edit settings**
---

---
1.6 Настроим кастомные права, указав возможность чтения и записи для всех пользователей
---

---
1.7 Оставим настройки по умолчанию (**domain namespase**)
---

---
1.8 Создадим пространство имён
---

---
1.9 Успех
---

---
1.10 Проверим, что инстанс создан, пройдя по пути
---

---
*DFS* работает таким образом, что абстрагирует пользователя от прямого пути до папки. Для начала создадим обычные сетевые папки, а потом соотнесём их с *DFS* путями.
1.11 Создадим папку **share**
---

---
1.12 И папки отделов внутри, а также папку **all_share**
---

---
1.13 Каждую папку делаем сетевой. Идём в настройки папки. Вкладка *sharing*, пункт **advanced sharing**. Активируем галочку шаринга, а вконце имени сетевой папки ставим знак . После идём в **permissions**
---

---
:::success
:bulb: Знак доллара нужен, чтобы скрыть папку от посторонних
:::
---
1.14 Выставляем права на чтение и запись для **buhg-sec** и полные права для **domain admins**, а группу ==everyone удаляем==. После нажимаем **apply**
---

---
1.15 Нам покажут относительный **dc1** путь до папки по сети. Закрываем меню
---

---
:::info
:bulb: Аналогичные действия делаем для остальных папок, но выдавая права на группы безопасности отделов. Для **all_share** выдадим доступ на *read & write* для группы **everyone**
:::
**HR**
---

---
**Progr**
---

---
**Sysadmins**
---

---
**VIP**
---

---
1.16 Вот так будет выглядеть настройка **all_share**. Доллар ставить не обязательно, всё равно группа everyone увидит ресурс
---

---
1.17 После создания папок они отобразятся в сетевом пути до **dc1**. Теперь создадим папки в *DFS*. В меню *DFS* жмём кнопку **new folder**. Указываем имя папки
---

---
1.18 Добавим **target**. Мы по сути создаем всего лишь ярлык, который будет ссылаться на папку, которую мы укажем в **target**. Можем либо сразу указать сетевой путь до папки, либо воспользоваться **browse**. Увидим список всех расшаренных папок на **dc1**. Выберем нужную
---

---
1.19 Сетевой путь до папки отобразится, можно подтверждать и применять настройки
---

---
1.20 Теперь по сетевому пути видны сетевые папки
---

---
:::info
:bulb: У пользователей ещё нет прав на уровне **NTFS** на редактирование файлов в них. Если пользователь из группы **Buhg-sec** расположит в папке **Buhg** файл, то пользователь будет являться его владельцем и сможет сделать с файлом всё, что захочет. Но вот другие пользователи группы **Buhg-sec** не смогут проводить операции с файлом.
:::
1.21 Изменим права security у папки **Buhg**. Нажмём кнопку **Edit**
---

---
1.22 Нажмём кнопку **Add**, чтобы добавить группу **Buhg-sec**. Дадим права в том числе и на **modify**
---

---
Проделаем по аналогии со всем другими папками.
**HR**
---

---
**Progr**
---

---
**Sysadmins**
---

---
**VIP**
---

---
Для папки **all_share** аналогично выставим в параметрах доступ для группы **everyone**.
---

---
## Практическая работа №5.2 Средства мониторинга Windows
### Часть 2. Управление средствами мониторинга Windows
==Решим задачу с настройкой логирования удаления файлов с сетевых файловых ресурсов на **dc1**==
2.1 Зайдём в настройки папки **share**. Перейдём во вкладку **Security**, а затем нажмём **Advanced**
---

---
2.3 Зайдём во вкладку **Аудит** и нажмём **Add**, чтобы добавить правило аудита
---

---
:::info
:bulb: Ранее мы настроили политику, позволяющую логировать операции с файлами. Но по умолчанию все папки и файлы не подвержены аудиту, поэтому нужно настроим правила вручную
:::
2.4 Выберем **Principal** -- это объект, действия которого нужно логировать. Отметим группу **Domain Users**
---

---
2.6 Выставим **type**=*all*, чтобы мониторить как успех, так и отказ. Нажмём кнопку **show advanced permissions**. Отметим галочкой оба пункта **Delete** и нажмём **ОК**
---

---
2.8 Правило создано для папки **share**, а так же всех её вложенных папок и файлов
---

---
2.9 Создадим в папке **all_share** папку **folder-for-delete** для тестирования генерации событий. На **pc1** от имени пользователя **Olga** попробуем удалить папку **folder-for-delete** из папки **all_share**
---

---
2.10 Проверим журнал безопасности **dc1**
---

---
2.11 Событий много, отфильтруем их. Зайдём в меню **filter current log** и введём интересующие нас id событий в поле фильтра, а именно ==**4656**, **4659**, **4660**, **4663**==
---

---
:::info
:bulb:При удалении файла создается набор событий.
Сначала идёт **4656** -- запрос дескриптора объекта. Это проверка прав доступа к файлу. Это событие показывает, что доступ был запрошен и результаты запроса, но не показывает, что операция была выполнена.
Затем **4663** -- это событие указывает на то, что над объектом была выполнена определенная операция. Основное отличие от **4656** является то, что **4663** показывает, что право доступа было использовано вместо только что запрошенного, и **4663** не имеет событий отказа.
После идёт **4660** -- это событие генерируется при удалении объекта. Оно не содержит имени удаляемого объекта, а только **handle id**.
**4659** понадобилось бы, если бы в папке находились файлы. Событие с кодом **4659** регистрируется, когда дескриптор объекта запрашивается с целью его удаления.
События можно связать по **handle id** -- если у нескольких событий он одинаков, то это значит, что события относятся к одному объекту.
:::
2.12 По итогу вы увидите много подряд идущих событий, из которых 3 явно нас интересуют
**4656**
---

---
**4663**
---

---
**4660**
---

---
### Часть 3. Инфраструктура отправки журналов Windows в SIEM
3.1 Включим ==сервис сборщика логов== и подтвердим его автостарт
---

---
3.2 Настроим политику отправки журналов на **logcollector**. Зайдём в редактор групповой политики и создадим новую, **log_delivery**
---

---
3.3 Найдём пункт включения службы **WinRM**
---

---
:::info
:bulb:Путь до настройки:
**Computer Configuration/Policies/Windows Setting/Security Setting/System Services**
:::
---
3.4 Включим службу
---

---
3.5 Найдём пункт настройки менеджера подписок
---

---
:::info
:bulb:Путь до настройки:
**Computer Configuration/Policies/Administrative Templates:…/Windows Components/Event Forwarding**
:::
---
3.6 Активируем его. Настроим путь до ==логколлектора==
---

---
:::info
:bulb:Для примера использовалось FQDN dc1. Если ввести ip адрес -- не будет работать инициализация со стороны клиента
:::
---
```
Server=http://dc1.pt.local:5985/wsman/SubscriptionManager/WEC,Refresh=60
```
---
3.7 Сохраним и закроем меню редактирование политики. Применим фильтр безопасности, чтобы политика применилась только к **pc1**. По умолчанию поиск не происходит среди компьютеров. Изменим это, выберем типы объектов для поиска
---

---
3.8 Укажем тип объектов -- компьютеры
---

---
3. И проведем поиск по имени **pc1** (введем имя и нажмём **check names**)
---

---
3.10 После -- удалим группу аутентифицированных пользователей, она не пригодится
---

---
:::info
Для управления компьютерами в домене с помощью **WinRM** нужно, чтобы брандмауэр windows разрешал подобные подключения. Изменим политику сбора логов так, чтобы правило было прописано на **pc1**.
:::
3.11 Найдём меню создания правил брандмауэра и создадим новое правило **inbound**
---

---
:::info
Путь до настройки:
**Computer Configuration/Policies/Windows Setting/Security Setting/Windows Firewall …/Windows Firewall …/Inbound rules**
:::
---
3.12 Выберем преднастроенное правило для **WinRM**
---

---
3.13 Создадим это правило только для доменной и частной сети
---

---
3.14 Разрешим подключение
---

---
После применения открылся порт на **PC1**, и он позволяет выполнять **WinRM команды**, с помощью которых собираются логи с **Windows машин**.
Теперь нужно донастроить политику так, чтобы у учетной записи сборщика были права на доступ к журналам, которые мы собираем в **коллектор**.
---
3.15 Для настройки политики нам понадобится дескриптор безопасности журнала. Найдём его на **pc1**
---

---
:::info
Команда: **wevtutil gl security**
:::
---
3.16 Настроим доступ **УЗ** до журнала **security**
---

---
:::info
Путь до настройки:
**Computer Configuration/Policies/Administrative Templates:…/Windows Components/Event Log Service/Security**
:::
---
3.17 Активируем политику и введём параметр **channelAccess**
---

---
:::info
В решении этот параметр такой: **O:BAG:SYD:(A;;0xf0005;;;SY)(A;;0x5;;;BA)(A;;0x1;;;S-1-5-32-573)**
Также в решении указан доп. параметр **(A;;0x1;;;S-1-5-20)** -- для чтения журнала **security** службой **network**
:::
---
3.18 И отдельно добавим учетную запись, которую в дальнейшем будем использовать для чтения журналов, в группу читателей журнала. Зайдём в политику локальных групп и добавим правило для локальной группы
---

---
:::info
Путь до настройки:
**Computer Configuration/Preferences/Control Panel Setting/Local User and Groups**
:::
---
3.19 Локальная группа -- читатели журнала событий.
---

---
3.20 Пользователи -- администраторы домена
---

---
3.21 Вот так по итогу, применяем-сохраняем
---

---
3.22 Применим на домен
---

---
3.23 Настроим приём логов на коллекторе. Пройдя в **event viewer**, зайдём в меню подписок и подтвердим автоматическое включение службы. Создадим новую подписку. Назовём её *collector-get* и отметим ПК, с которых коллектор будет собирать логи (**select computers**)
---

---
3.24 Выберем доменные компьютеры
---

---
3.25 Выберем **PC1**. Нажмём кнопку **Test** чтобы проверить сетевую связность
---

---
:::warning
Связность была настроена не сразу, так как было необходимо применить команду *winrm qc* на **Win10**, а затем подтвердить внесение изменений в **Брандмауэр**
:::
---

---
3.26 Зайдём в меню **select events** и выберем нужные журналы
---

---
3.27 Зайдём в меню **Advanced**, укажем для сбора **УЗ** администратора
---

---
3.28 ==Подтвердим настройки==, увидим созданую подписку. Проверим, нет ли ошибок. Нам нужно меню Runtime Status
---

---
3.29 ==Видим отсутствие ошибок==
---

---
3.30 Дадим доступ сетевой службе до чтения журнала безопасности, выполним команду на **pc1**
---

---
:::info
Команда:
`wevtutil set-log security /ca:O:BAG:SYD:(A;;0xf0005;;;SY)(A;;0x5;;;BA)(A;;0x1;;;S-1-5-32-573)(A;;0x1;;;S-1-5-20)`
:::
---
Получается, что мы выдаём доступ **NTAUTHORITY\NETWORKSERVICE (SID S-1-5-20)** доступ до журнала **security**
---
3.31 После чего увидим логи в журнале **forwarded events**
---

---
:::success
:+1: Логи получены успешно
:::
### Часть 4. Настройка сборщика логов при компьютерах-инициаторах
4.1 На сервере-коллекторе выполним команду *winrm qc*, а также команду *wecutil qc*, и увидим, что службы уже запущены
---

---
4.2 На источниках событий следует включим службу **WinRM**
---

---
4.3 Создим подписку, где инициатором будут **компьютеры**
Укажем ивенты
---

---
Укажем компьютер
---

---
==Подписка работает без ошибок==
---

---