# Гришанов Матвей Сергеевич -- Windows Basic Практическая работа 4. Инфраструктурные сервисы в домене
[toc]
## Практическая работа 4.1 DNS
### 1) Настройка сервиса DNS
---
Задача -- настроить перенаправление запросов **DNS**, не относящихся к зоне ==pt.local==, на внешний **DNS** сервер. В дополнение -- сконфигурировать зону обратного просмотра.
:::warning
:warning: Перед началом выполнения проверьте, что на микротике настроено перенаправление запросов.
:::
1.1 Зайдём в оснастку **DNS** и просмотрим текущие записи.
:::info
:information_source: Путь: Server Manager-->Tools-->DNS
:::

---
1.2 Настроим форвард. Перейдём в настройки сервера DNS.
:::info
:information_source: Путь: DNS-->DC1-->Properties-->Forwarders-->Edit
:::

---
1.3 Введём адрес Mikrotik. Именно он будет перенаправлять DNS запросы на внешние сервера.

:::success
:star: Настройка прошла корректно
:::
:::warning
:warning: Если вместо подтверждения увидите ошибку -- проверьте, включен ли ваш микротик и настроен ли на нём приём удалённых запросов, как указано вначале статьи.
:::
---
1.4 Закроем окно и применим настройки, после чего закроем окно свойств DNS.

---
1.5 Настроим зону обратного просмотра.
:::info
:information_source: Путь: Reverse Lookup Zone-->New Zone
:::

---
1.6 Оставляем пункт =="Primary zone"==

---
1.7 Оставляем по умолчанию ==параметры репликации==.

---
1.8 Далее настроим IPv4 зону.

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

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

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

---
:::success
:star: Успешно создана обратная зона!
:::

---
## Практическая работа 4.2-3 DHCP
### 2) Настройка сервиса DHCP
---
2.1 Откроем оснастку DHCP, выделим IPv4 и откроем его свойства.
:::info
:information_source: Путь: Server Manager-->Tools-->DHCP-->IPv4-->New Scope...
:::

---
2.2 Приступим к созданию области DHCP. Введём имя области, например, ==pool1==.

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

---
2.4 Исключения из диапазона не указываем.

---
2.5 Оставляем время аренды по умолчанию - ==8 дней==.

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

---
2.7 Вводим адрес роутера и нажимаем =="Add"==.

---
2.8 Вводим адрес резервного контроллера домена, он же будет резервным **DNS**. Нажимаем =="Add"==.

:::info
:information_source: Если **dc2** включен, всё пройдёт хорошо. Если выключен, то вам высветится предупреждение о недоступности введённого адреса. Выберите ==YES==, чтобы всё равно добавить его.
:::
---
2.9 Пропускаем раздел **WINS** серверов, так как у нас их не будет.
В следующем меню выбираем - ==активировать область сейчас==.

---
2.10 Завершаем работу ==New Scope Wizard== и обращаем внимание на то, что новая область появилась в меню (можно посмотреть её параметры).

:::warning
:warning: Если ранее вы настраивали DHCP на микротике, то отключите его там.
:::
---
2.11 Настроим **Windows 10 Pro** на автоматическое получение параметров сети по **DHCP**.

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

---
2.13 Появилась информация об аренде на dc1 в меню =="Address Leases"==.

---
### 3) Настройка отказоустойчивости DHCP
3.1 Настроим резервирование по технологии Hot Standby.
:::info
:information_source: Путь: DHCP-->dc1.pt.local-->IPv4-->Scope [192.168.10.0] pool1-->ПКМ-->Configure Failover
:::

---
3.2 Выбираем IP пулы для резервирования.
:::info
:information_source: Он у нас один и будет выбран по умолчанию.
:::

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

:::warning
:warning: Если **dc2** не отображается, значит вы не авторизовали **dc2** как сервер **DHCP**. Проделайте это и вернитесь к настройке.
:::
---
3.4 После добавления продолжаем дальше.

---
3.5 Настроим =="Failover"==. Выберем режим =="Hot Standby"== и снимем галочку с пункта аутентификации. Хоть это и не безопасно, но в рамках нашей работы не принципиально.

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

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

---
3.8 Проверяем, что всё работает хорошо. Перейдём в **dc2** в оснастку **DHCP** и просмотрим свойства области, которая там появилась.
Переходим в меню "Отработка отказа" и увидим, что все настройки применились корректно.

:::success
:star: Настройки применились корректно!
:::
## Практическая работа 4.4 GPO
### 4) Групповые политики
Задание:
1) Создать и настроить политику аудита файловой системы
2) Создать и настроить политики защиты от mimikatz
3) Провести настройки политик для SIEM
---
#### 1) Создание и настройка политики аудита
4.1 Зайдём в **Group Policy Management**.
:::info
:information_source: Путь: Server Manager-->Tools-->Group Policy Management
:::

---
4.2 Развернём вложенные меню, увидим две базовые политики в папке "Group Policy Object" и ссылки на них в OU, куда они были применены.

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

---
4.4 Настроим политику компьютера ==Object Access==.

:::info
:information_source: Путь до политики: Computer Configuration/Policies/Windows Settings/Security Settings/Advanced Audit Policy Configuration/Audit Policies/Object Access
:::
---
4.5 Включим аудит сетевых папок.

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

:::info
:information_source: Данная политика применима к dc1 и dc2. В дальнейшем мы создадим на них файловый сетевой ресурс и сможем увидеть, например, события удаления файлов
:::
---
#### 2) Создание и настройка политики защиты от mimikatz
##### Запрет Debug
4.7 Создадим новую политику в папке **GPO**.

---
4.8 Назовём её ==mimikatz_block_debug==.

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

---
4.10 Найдём политику Debug.

:::info
:information_source: Путь до политики: Computer Configuration/Policies/Windows Settings/Security Settings/User Rights Assignment
:::
---
4.11 Настроим политику так, чтобы только у администратора и ADMPetr были права отладки.

---
4.12 Применим политику к домену, чтобы она сработала на всех ПК домена.


---
4.13 На **pc1** можно проверить, срабатывает ли **mimikatz**. Скачать его можно с **github**, но на **pc1** нужно выключить **защитник Windows**.

:::success
:star: Проверка прошла успешно!
:::
:::warning
:warning: Данную настройку можно обойти при помощи получения привилегии **SeDebugPrivilege** при включенной политике **Debug Program**.
:::
##### Отключение WDigest
:::info
:information_source: На современных системах уже не актуально, так как хранение пароля в открытом виде по умолчанию запрещается для **WDigest** начиная с **Windows 8.1** и **Server 2012 R2**.
:information_source: Если используются более старые системы, то необходимо установить специальное обновление — **KB2871997**, а после с помощью политики выставить параметры реестра для запрета хранения открытых паролей **WDigest**.
:::
4.14 Редактируем существующую политику **mimikatz_block_debug**, так как **WDigest** нужно аналогично отключить на всех ПК. Находим пункт правки реестра

---
4.15 Создаем новый элемент реестра.

:::info
:information_source: Ветка реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest
:information_source: Имя параметра: UseLogonCredential
:information_source: Значение: REG_DWORD 0 -- Decimal
:::

:::info
:information_source: Данная настройка применится ко всем компьютерам домена и пропишет в реестр нужный параметр, отключающий хранение в открытом виде пароля для авторизации в IIS
:::
---
##### Защита LSA от подключения сторонних модулей
:::info
:information_source: В Windows 8.1 и Windows Server 2012 R2 появилась возможность включить защиту LSA, которая защищает память LSA и предотвращает подключение к ней незащищенных процессов.
:information_source: Чтобы включить эту защиту, вам необходимо создать параметр RunAsPPL со значением 1 в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA.
:::
4.16 Добавляем в политику mimikatz_block_debug новый параметр реестра, который активирует защиту LSA.

:::info
:information_source: Ветка реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA
:information_source: Имя параметра: RunAsPPL
:information_source: Значение: REG_DWORD 1 -- Decimal
:::
---
##### Настройки политик для SIEM
:::info
:information_source: Для полноценного логирования домена необходимо провести настройки политик. Без этих логов SIEM не сможет обнаружить множество атак на домен.
:::
**Включение аудита командной строки и powershell**
4.17 Создадим политику аудита ==audit_services_cmd_posh==.

---
4.18 Перейдём в ветку:
=="Administrative Templates"/"System"/"Audit Process Creation"==.

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

---
4.20 Перейдём в ветку:
=="Administrative Templates"/"Windows Components"/"Windows PowerShell"==. Выберем пункт =="Turn on Module Logging"== и включим параметр ==**Microsoft.Powershell.***== для содержимого.

---
4.21 После применяем политику на домен.
:::info
:information_source: Нажимаем на pt.local ПКМ и открываем "Link an Existing GPO".
:::

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

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

---
4.23 Изменим параметр реестра. Этот параметр уже существует, мы же его изменяем.
:::info
:information_source: Пусть ветки реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics
:information_source: Имя параметра: 15 Field Engineering
:information_source: Значение: REG_DWORD 5 -- Decimal
:::

---
4.25 Создадим 2 новых параметра реестра.
:::info
:information_source: Ветка реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
:information_source: Имя параметра: Expensive Search Results Threshold
:information_source: Значение: REG_DWORD 1 -- Decimal
:::

:::info
:information_source: Ветка реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
:information_source: Имя параметра: Inefficient Search Result Threshold
:information_source: Значение: REG_DWORD 1 -- Decimal
:::

:::info
:information_source: После выполнения этих действий в журнале **Directory Service** будут создаваться события с идентификатором ==1644== для каждого **LDAP** запроса.
:::
---
4.26 Настроим параметр для контроллеров домена, разрешающий только определенным пользователям выгружать членов доменных групп.
:::info
:information_source: Путь к параметру: Computer Configuration\Policies\Windows Settings\Security Settings\Local Settings\Security Options
:::

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

---
4.28 В заключение настраиваем журналирование попыток выгрузки, добавляем ещё один параметр в реестр.
:::info
:information_source: Ветка реестра: SYSTEM\CurrentControlSet\Control\Lsa
:information_source: Имя параметра: RestrictRemoteSamAuditOnlyMode
:information_source: Значение: REG_DWORD 1 -- Decimal
:::

---