# Макаров Дмитрий Владиславович - Windows Basic. Практическая работа №4. Инфраструктурные сервисы в домене
[toc]
## Практическая работа №4.1 DNS
### Часть 1. DNS
==Задача -- настроить перенаправление запросов *DNS*, не относящихся к зоне **pt.local**, на внешний *DNS* сервер. В дополнение -- сконфигурировать зону обратного просмотра.==
:::success
:bulb: Предварительно проверено, что на микротике настроено перенаправление запросов.
:::
1.1 Зайдём в оснастку *DNS*
---

---
1.2 Просмотрим текущие *DNS* записи
---

---
1.3 Настроим форвард. Перейдём в настройки сервера *DNS*
---

---
1.4 Откроем вкладку **forwarders**
---

---
1.5 Зайдём в пункт **edit**. Введём адрес **Mikrotik**. Именно он будет перенаправлять *DNS* запросы на внешние сервера. Видим, что настройка прошла ==корректно==
---

---
1.6 Закроем окно и применим настройки, после чего закроем окно свойств *DNS*
---

---
1.7 Настроим зону обратного просмотра. Нажмём *ЛКМ* на **reverse lookup zone**, а после нажмём на неё *ПКМ*
---

---
1.8 Нажмём **new zone**. Откроется меню создания зоны, двигаемся дальше
---

---
1.9 Оставляем пункт **primary zone**
---

---
1.10 Аналогично оставляем по умолчанию параметры репликации
---

---
1.11 Настроим **IPv4** зону
---

---
1.12 Введём идентификатор зоны без последнего ip октета. Это наша сеть, для которой будет создана зона обратного просмотра. Переходим дальше
---

---
1.13 Оставим пункт по умолчанию для динамического обновления зоны
---

---
1.14 Сверимся с итоговыми настройками и завершим конфигурацию
---

---
1.15 ==Увидим созданную обратную зону==
---

---
## Практическая работа №4.2,3 DHCP.
### Часть 2. DHCP
==Задача -- настроить сервис DHCP==
2.1 Откроем оснастку *DHCP*. Развернём меню *DHCP* и выделим **IPv4**
---

---
2.2 Нажмём на **IPv4** *ПКМ* и выберем **new scope**
---

---
2.3 Приступим к созданию области *DHCP*
---

---
2.4 Введём имя области, например **pool1**
---

---
2.5 Укажем диапазон выдаваемых адресов
---

---
2.6 Не будем указывать исключения из диапазона
---

---
2.7 Оставим время аренды по умолчанию, **8 дней**
---

---
2.8 Сконфигурируем область сейчас
---

---
2.9 Введём адрес роутера и нажмём **add**
---

---
2.10 Введём адрес резервного контроллера домена, он же будет резервным *DNS*. Нажмём **add**
==Так как dc2 включен, всё прошло хорошо==
---

---
2.11 **WINS** серверов у нас не будет
---

---
2.12 Активируем область сейчас. Завершаем работу визарда
---

---
2.13 Новая область появилась в меню, можно просмотреть её параметры
---

---
2.14 Настроим **Windows 10** на автоматическое получение параметров сети по *DHCP*
---

---
2.15 Настроим **Kali Linux** на автоматическое получение параметров сети по *DHCP*
---

---
2.16 ==Видим информацию об аренде на **dc1** в меню *address leases*==
---

---
### Часть 3. Отказоустойчивый DHCP
==Настроим резервирование по технологии Hot Standby==
3.1 Нажмём *ПКМ* на scope и выберем **configure failover**
---

---
3.2 Выберем ip пулы для резервирования, он у нас один и выбран по умолчанию
---

---
3.3 Выберем сервер-партнёр.Нажмём **add server**. В меню добавления сервера выберем в качестве резервного **dc2**
---

---
3.5 После добавления идём дальше
---

---
3.6 Настроим **failover**. Выберем режим *Hot Standby* и снимем галочку с пункта аутентификации. Это не безопасно, но в рамках нашей работы не принципиально
---

---
3.7 Подтвердим настройки
---

---
3.8 Видим вывод успешного создания кластера и закрываем меню
---

---
3.9 Проверяем, что всё работает хорошо. Перейдём в **dc2** в оснастку *dhcp* и просмотрим свойства области, которая там появилась
---

---
3.10 Перейдём в меню **отработка отказа** и увидим, что ==все настройки применились корректно==
---

---
## Практическая работа №4.4 GPO.
### Часть 4. Групповые политики
==С помощью групповых политик необходимо решить:==
1. Включить возможность логирования сетевых файловых ресурсов
2. Настроить набор политик для защиты от **mimikatz**
3. Применить политики для генерации событий, необходимых **SIEM**
#### Политика аудита
4.1 Зайдём в **Group policy management**. Развернём вложенные меню, увидим две базовые политики в папке **Group policy object** и ссылки на них в OU, куда они были применены
---

---
4.2 Отредактируем политику контроллеров домена
---

---
4.3 Настроим политику компьютера **Object Access**
---
:::info
Путь до политики выглядит следующим образом:
**Computer Configuration/Policies/Windows Settings/Security Settings/Advanced Audit Policy Configuration/Audit Policies/Object Access**
:::
---

---
4.4 Включим аудит сетевых папок
---

---
4.5 Включим аудит файловой системы
---

---
Данная политика применима и к **dc1**, и **dc2**. В дальнейшем мы создадим на них файловый сетевой ресурс и сможем увидеть, например, события удаления файлов
Применим политики к **dc2**:
Включим аудит сетевых папок
---

---
Включим аудит файловой системы
---

---
#### Политики защиты от mimikatz
Есть несколько способов защиты от mimikatz:
1. Запрет **Debug**
2. Отключение **WDigest** (не будет рассмотрено в рамках практики ввиду неактуальности)
3. Защита **LSA** от подключения сторонних модулей
##### Запрет Debug
4.6 Создадим новую политику в папке **GPO**
---

---
4.7 Назовём её **mimikatz_block_debug**
---

---
4.8 Перейдём в настройки политики
---

---
4.9 Найдём политику **debug**
---
:::info
Путь до политики выглядит следующим образом:
**Computer Configuration/Policies/Windows Settings/Security Settings/User rights Assignment**
:::
---

---
4.10 Настроим политику так, чтобы только у **администратора** и **ADMPetr** были права отладки
---

---
4.11 Применим политику к домену, чтобы она сработала на всех ПК домена. Жмём *ПКМ* на домене и выбираем **Link an Existing GPO**
---

---
Выбираем политику:
---

---
4.12 Для проверки скачаем **mimikatz** на **pc1**. Предварительно выключим **защитник Windows**
Сначала проверим, запустив консоль от имени администратоа **ADMPetr**
---

___
Затем, запустив от имени администратоа **ADMIgor**
---

---
:::success
:+1: Проверка успешная
:::
==К сожалению эту настройку можно обойти путём получения прав **SeDebugPrivilege** с помощью утилиты **secedit**.==
---
##### Защита LSA от подключения сторонних модулей
В **Windows 10** и в **Windows Server 2016** есть возможность включить **защиту LSA**, которая защищает **память LSA** и предотвращает подключение к ней незащищенных процессов.
:::info
Чтобы включить эту защиту, нам необходимо создать параметр **RunAsPPL** со значением **1** в разделе реестра **HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA**.
:::
4.13 Добавим в политику **mimikatz_block_debug** новый параметр реестра
---

---
4.14 Настроим параметр, активирущий защиту **LSA**
---
!
---
Теперь подключаемые *модули без подписи*, а также модули, *не имеющие подписи Майкрософт*, не будут загружаться в **LSA**
---

---
#### Настройки политик для SIEM
Для полноценного логирование домена необходимо провести настройки политик. Без этих логов **SIEM** не сможет обнаружить множество атак на домен.
##### Включение аудита командной строки и powershell
4.15 Создадим политику аудита **audit_services_cmd_posh**
---

---
4.16 Перейдём в ветку **Административные шаблоны/Система/Аудит создания процессов**
---

---
4.17 Активируем параметр **Включить командную строку в события создания процессов**
---

---
4.18 Перейдём в ветку **Административные шаблоны/Компоненты Windows/Windows PowerShell**. Выберем пункт **Включить ведение журнала и модулей**
---

---
4.19 Включим этот параметр для содержимого
---

---
4.20 Применим политику на домен
---

---
4.21 Выберем политику
---

---
##### Активация журналирования контроллерах домена
==Настроим журналирование **LDAP** запросов и неудачные попытки выгрузки членов доменных групп через протокол **SAMRPC**==
4.22 Отредактируем политику контроллеров домена
---

---
4.23 Создадим новый объект правки реестра
---

---
4.24 Изменим параметр реестра. Этот параметр уже существует, мы же его изменяем
---

---
:::info
Ветка реестра: **HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics**
Имя параметра: **15 Field Engineering**
:::
---
4.25 Изменим значение на **5**, изменяя *decimal* значение
---

---
4.26 Создадим 2 новых параметра реестра
**Expensive Search Results Threshold**
---

---
**Inefficient Search Result Threshold**
---

---
:::info
*Decimal*-значение **REG_DWORD 1**
Ветка реестра: **HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters**
:::
---
:::success
После выполнения этих действий в журнале **Directory Service** создаются события с идентификатором **1644** для каждого **LDAP запроса**
:::
---
4.32 Настроим параметр для контроллеров домена, разрешающий только определенным пользователям выгружать членов доменных групп
---

---
4.33 Дадим доступ на выгрузку для группы пользователей **Administrators** и пользователю **ADMPetr**
---

---
4.34 В заключение настроим журналирование попыток выгрузки, добавим ещё один параметр в реестр
---

---
:::info
Ветка реестра: **SYSTEM\CurrentControlSet\Control\Lsa**
Имя параметра, значение **DWORD 1**
:::
---