MFA недостатньо: сім інженерних уроків із захисту RDP у Windows Server

💡 Усі статті, обговорення, новини про DevOps — в одному місці. Приєднуйтесь до DevOps спільноти!

Привіт! Мене звати Кирило Виноградов, я розробник Lira RDP Security у Vyvick Engineering. Цей матеріал буде корисний системним адміністраторам, DevOps/SRE-інженерам і MSP-командам, які підтримують Windows Server та регулярно мають справу з RDP.

Одразу зафіксую конфлікт інтересів: це не незалежний огляд продукту. Я не збираюся доводити, що RDP варто відкривати в інтернет або що одна консоль розв’язує всі проблеми. Хочу розібрати інше: чому задача «додаймо MFA до RDP» дуже швидко перетворюється на роботу з журналами Windows, Firewall, сертифікатами, відмовостійкістю та відновленням доступу.

RDP важко назвати новою технологією, але для адміністрування Windows Server він досі зручний і в багатьох середовищах нікуди не зник. Проблеми починаються, коли віддалений доступ стає доступним ззовні.

Зміна стандартного порту відсікає частину випадкового шуму, але не є захистом від сканування. Складний пароль допомагає проти простого перебору, але не рятує, якщо облікові дані вже вкрадені. MFA зменшує ризик входу з викраденим паролем, проте не зупиняє потік невдалих авторизацій. Firewall може заблокувати джерело, але нічого не знає про те, хто насправді вводить пароль.

Під час роботи над Lira ми поступово дійшли висновку: захист RDP — не одна функція, а ланцюжок контролів. Нижче — сім уроків, які найбільше вплинули на наш підхід.

1. Event ID — це ще не інцидент

Публічно доступний RDP-сервер доволі швидко починає отримувати спроби входу. На одному сервері ситуацію ще можна перевірити через Event Viewer або PowerShell. Коли серверів десятки, проблема вже не у відсутності даних, а у відсутності контексту.

Windows реєструє невдалі входи як події 4625, а успішні — як 4624. Для віддаленого інтерактивного входу корисно також дивитися на Logon Type 10. Але якщо просто скласти всі ці записи в одну велику таблицю, оператор отримає не систему виявлення, а ще один Event Viewer — тільки в браузері.

Під час розслідування інженеру зазвичай потрібно відповісти на значно конкретніші запитання:

  • який саме сервер отримує спроби;
  • коли почалася активність;
  • які імена користувачів перебирають;
  • скільки спроб надійшло з однієї адреси;
  • чи належить адреса офісу, VPN або віддаленому адміністратору;
  • чи спрацювало правило блокування;
  • чи був після серії помилок успішний вхід.

Окрема подія 4625 не відповідає на запитання, чи бачимо ми атаку. Причиною може бути сканер, але так само — старий пароль у збереженому RDP-підключенні, служба, запланована задача або звичайна помилка адміністратора.

Тому одиницею аналізу для нас став не Event ID, а епізод автентифікації: сервер, користувач, адреса джерела, час, кількість спроб і результат застосованого правила. Це невелика зміна у формулюванні задачі, але саме вона визначає, чи буде консоль допомагати інженеру, чи просто накопичувати записи.

2. Блокування має виконуватися там, куди приходить трафік

Найочевидніша реакція на серію невдалих входів — заблокувати IP-адресу. У нашому випадку такі правила застосовуються локально через Windows Firewall. Блокування може мати строк дії або залишатися активним до ручного рішення адміністратора.

Чому не тримати всю логіку лише в хмарній консолі? Тому що центральний сервіс не повинен бути критичною ланкою для вже застосованого мережевого правила. Якщо агент тимчасово втратить зв’язок із порталом, локальне правило Windows Firewall продовжить працювати.

По суті, тут корисно розділяти control plane та enforcement plane. Портал зберігає політику, контекст і рішення оператора. Сервер виконує блокування у власному Firewall. За втрати зв’язку нові команди та події можуть затриматися, але чинний захист не зникає разом із зеленою крапкою в консолі.

Цей принцип стосується не лише RDP. Якщо керована система перестає виконувати вже застосовану політику одразу після втрати control plane, ми отримуємо не відмовостійкість, а приховану залежність від мережі та SaaS-сервісу.

3. Автоматичне блокування треба починати зі сценарію self-lockout

IP-адреса — це джерело трафіку, а не надійна ідентичність користувача. За однією зовнішньою адресою можуть стояти весь офіс, VPN-шлюз або кілька адміністраторів через NAT. Тому агресивне автоблокування легко перетворює атаку на інцидент, який команда створила собі сама.

Типові хибні спрацювання виглядають буденно:

  • адміністратор кілька разів помилився в паролі;
  • mstsc продовжує надсилати старі збережені облікові дані;
  • служба або задача запускається під обліковим записом зі зміненим паролем;
  • кілька людей виходять через одну зовнішню адресу.

Перед увімкненням автоматичного блокування ми радимо додати до allowlist щонайменше офісну зовнішню адресу, VPN-шлюз, захищений jump host і резервний канал адміністрування. Але самого списку недостатньо — сценарій треба перевірити.

Мінімальний тест, який варто провести до продакшену:

  1. Відкрити резервну адміністративну сесію або перевірити out-of-band доступ.
  2. Додати довірені адреси до allowlist.
  3. З тестової адреси навмисно перевищити поріг невдалих входів.
  4. Переконатися, що правило справді з’явилося у Windows Firewall.
  5. Перевірити автоматичне завершення тимчасового блокування та ручне розблокування.
  6. Повторити перевірку за тимчасово недоступного порталу.

Налаштування в інтерфейсі ще не означає, що recovery-сценарій працює. Перевіряти це після втрати єдиного адміністративного доступу вже запізно.

4. MFA і мережеве блокування розв’язують різні задачі

У нашій моделі пароль Windows не передається до порталу Lira і не зберігається там. Основні облікові дані перевіряє сама операційна система на сервері, а для визначених користувачів додається TOTP як другий фактор.

Спрощено послідовність виглядає так:

  1. Користувач вводить ім’я та пароль Windows.
  2. Windows перевіряє основні облікові дані.
  3. Система визначає, чи потрібна MFA для цього користувача.
  4. Користувач вводить одноразовий TOTP-код.
  5. Після успішної перевірки Windows завершує вхід.

Найскладніша частина тут не форма із шістьма цифрами. MFA-виклик потрібно пов’язати з конкретним користувачем, сервером і сесією. Код не має прийматися повторно в тому самому часовому вікні. Виклик повинен мати обмежений строк дії, а нова RDP-сесія після невдалої спроби не повинна успадковувати попередній результат перевірки.

Також варто заздалегідь відповісти на неприємне питання: що відбувається, коли сервіс перевірки другого фактора недоступний? Fail-open зберігає доступність, але послаблює контроль. Fail-closed краще тримає політику, проте може відрізати адміністраторів під час збою. Універсальної відповіді немає, але режим має бути явним, задокументованим і перевіреним разом із резервним доступом.

При цьому MFA не замінює блокування. Навіть якщо зловмисник не пройде другий фактор, він усе одно може безперервно створювати невдалі спроби входу. І навпаки: Firewall зменшує шум від конкретного джерела, але не допоможе, якщо хтось входить із дозволеної мережі та має правильний пароль.

Ми також не розглядаємо вимкнення Network Level Authentication як нормальний спосіб спростити інтеграцію. NLA переносить автентифікацію до створення повної віддаленої сесії, і Microsoft рекомендує залишати його увімкненим у більшості середовищ.

5. TLS-сертифікат — це не косметика для RDP-клієнта

Майже кожен, хто працював із RDP, бачив попередження про недовірений сертифікат. На тестовому сервері його закривають один раз, на робочому — ще раз, а потім користувач перестає перевіряти ім’я сервера та видавця взагалі.

Так формується небезпечна звичка: попередження є завжди, отже воно нічого не означає.

Коректний TLS потрібен не лише для шифрування каналу. Він дає клієнту можливість перевірити, що підключення встановлюється саме з очікуваним сервером.

Тут часто плутають DNS-ім’я, внутрішню адресу й зовнішній порт. Наприклад, користувач підключається до:

rdp.example.com:27515

Зовнішній порт 27515 може перенаправлятися на локальний 3389, але порт не входить до імені в сертифікаті. Сертифікат має відповідати rdp.example.com, а не rdp.example.com:27515.

На Windows Server недостатньо просто імпортувати сертифікат. Його потрібно додати до Personal store облікового запису комп’ютера та прив’язати thumbprint до RDP listener. У Windows ця прив’язка зберігається у властивості SSLCertificateSHA1Hash класу Win32_TSGeneralSetting.

Поточний thumbprint listener можна перевірити без зміни конфігурації:

Get-CimInstance -Namespace root/cimv2/terminalservices `
  -ClassName Win32_TSGeneralSetting `
  -Filter "TerminalName='RDP-tcp'" |
  Select-Object TerminalName, SSLCertificateSHA1Hash

Після цього окремо варто перевірити, що сертифікат із цим thumbprint справді є у Cert:\LocalMachine\My, має потрібне ім’я, приватний ключ і достатній строк дії. Інакше в консолі може бути «сертифікат встановлено», а listener продовжить використовувати інший або самопідписаний.

Для автоматичного випуску та поновлення сертифікатів зручно використовувати ACME і DNS-01. Цей challenge не потребує відкривати HTTP-порт на RDP-сервері. _acme-challenge можна делегувати через CNAME або NS до окремої DNS-зони для валідації.

У такої автоматизації є своя межа. Постійний CNAME сам по собі не випускає сертифікат. Потрібні успішна ACME-перевірка, імпорт нового сертифіката до Windows, доступ RDS до приватного ключа, правильна прив’язка thumbprint і перевірка після поновлення. Окремо варто обмежувати права DNS API: повні облікові дані від основної DNS-зони на кожному сервері створюють зайвий ризик.

6. Heartbeat агента не доводить, що телеметрія повна

Цей нюанс легко пропустити під час проєктування консолі. Агент регулярно надсилає heartbeat, інтерфейс показує сервер online — здається, що все працює.

Але heartbeat відповідає лише на одне запитання: чи може агент зараз зв’язатися з порталом. Він не доводить, що колектор читає потрібний журнал, що черга не накопичується, а всі події вже передані й оброблені.

Наприклад, агент може залишатися online, коли:

  • колектор подій зупинився;
  • змінилися права доступу до журналу;
  • локальна черга зростає швидше, ніж відбувається передавання;
  • портал приймає heartbeat, але відхиляє частину пакетів із подіями;
  • остання оброблена подія відстає від поточного часу на години.

Тому статус агента краще розкладати щонайменше на кілька окремих сигналів: останній heartbeat, час останньої прочитаної події, час останньої доставленої події, розмір або вік черги та остання помилка колектора.

Зелений індикатор без цих даних створює хибне відчуття контролю. Найгірший момент для виявлення такого розриву — розслідування інциденту, коли команда раптом бачить порожнє вікно в історії.

7. Захист RDP швидко перетинається з експлуатацією Windows Server

Спочатку ми намагалися тримати фокус лише на входах, блокуваннях і MFA. Але під час реального розслідування поруч постійно з’являлися інші запитання:

  • чи отримував сервер оновлення;
  • чи увімкнений Microsoft Defender;
  • чи не заповнений системний диск;
  • чи працюють критичні служби;
  • чи не завершується TLS-сертифікат;
  • чи актуальна версія агента;
  • хто з локальних користувачів досі має право входу.

Це не означає, що інструмент захисту RDP автоматично має стати універсальною RMM-платформою. Навпаки, межу продукту потрібно називати чесно. Велика RMM охоплює більше операційних систем, пристроїв, інтеграцій і сценаріїв автоматизації. Наш фокус вужчий: Windows Server, RDP і ті операційні сигнали, без яких важко зрозуміти стан віддаленого доступу.

Для MSP до цього додається ще одна вимога — ізоляція клієнтів. Централізація корисна лише тоді, коли сервери, події, політики та права операторів не змішуються між організаціями. Одна консоль без чіткої tenant boundary створює новий ризик замість того, щоб зменшити старі.

Критичні операції також не варто робити непомітними. Увімкнення MFA, заміна сертифіката, постійне блокування або відновлення доступу мають залишати зрозумілий audit trail: хто виконав дію, для якого сервера, з якими параметрами та яким результатом. Автоматизація корисна доти, доки інженер розуміє, що система збирається зробити і як це відкотити.

Що я б радив зробити навіть без окремого продукту

Якщо прямого RDP-доступу можна уникнути, краще винести його за VPN, RD Gateway, jump host або принаймні обмежити дозволеними адресами. Якщо RDP усе ж доступний ззовні, базовий набір дій для мене виглядає так:

  • не сприймати зміну порту як контроль безпеки;
  • залишити NLA увімкненим;
  • додати MFA для адміністративних облікових записів;
  • контролювати невдалі входи разом із користувачем, джерелом і сервером;
  • підготувати allowlist та резервний спосіб відновлення доступу;
  • стежити за Windows Firewall, Defender і оновленнями;
  • регулярно переглядати локальних користувачів і права на RDP;
  • використовувати довірений TLS-сертифікат і контролювати його прив’язку до listener;
  • окремо моніторити не лише heartbeat, а й відставання колектора;
  • перевірити весь сценарій до інциденту.

Останній пункт для мене найважливіший. Без тесту ми маємо не захист, а припущення про те, як він повинен працювати.

Висновок

Під час роботи над захистом RDP найбільше складнощів виникло не через окрему технологію. TOTP, Windows Firewall, журнали подій і TLS-сертифікати давно відомі. Складність з’являється на межах між ними.

Windows перевіряє пароль. MFA знижує ризик використання викрадених облікових даних. Firewall обмежує джерела атак. TLS підтверджує ідентичність сервера. Агент збирає локальний стан. Центральна консоль додає контекст і розмежовує доступ. Recovery-процедура залишає адміністратору шанс виправити невдалу автоматизацію.

Жоден із цих елементів не є повним захистом сам по собі. Практична цінність з’являється тоді, коли вони працюють разом, не приховують свій реальний стан і не забирають у людини контроль над критичними діями.

Цікаво, як ви розв’язуєте дві найнеприємніші задачі у своїх Windows-середовищах: fail-open чи fail-closed для MFA та автоматичне поновлення сертифікатів саме для RDP listener?

👍ПодобаєтьсяСподобалось3
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

1) VPN без прив’язки до RADIUS, з сертифіками, пасфразами або wg файл конфігурації без другого раунда авторизації.
2) PIV / Smart Card / FIDO2 для входу на сервер. Нажаль, чомусь MS вважає, що звичайні локальні аккаунти не підлягають захисту, тому з ключами типу YUBIKEY тут є проблеми з сумісністю. Але погратись з деякими варіантами варто\можна.

MFA\*OTP не вважаються безпечними і потроху відмирають, або вже вмерли.

Дякую за аргументи. FIDO2/PIV справді сильніші за TOTP, але VPN, мережевий доступ і автентифікація Windows — це різні рівні захисту. Для локальних акаунтів і standalone Windows Server TOTP поки залишається практичним компромісом.
І чесно: ця дискусія вже дала нам кілька хороших ідей для розвитку Lira — зокрема щодо VPN-доступу та підтримки сильніших методів автентифікації. За це окрема подяка.

для приколу — хтось ламав схему публічний та приватний ключ на рівні id_ed25519

ну мда ни — тупо нема... але ... що не так??? + МФА .... ну труна всому)

по секрету автору скажу, я підняв у хмарі оракл інстанс — де доступ ssh по паролю — за місяць пароль так і не підібрали — але самі спроби смішні + ід процесу неадекватно великий став. інстанс нульовий був і безгосподарний — натомість досвід і без усіляких підручників!

прибрав доступ по паролю та спроби атак зупинилися!

доступ по RDP === доступ по ssh для мого UX!!!

якщо у вас щось сакральне в РДП... на жаль, ви себе закопуєте не там. І ви сильно обмежені у свободі мислення...

Будь-яка спроба продати програмний софт (на зразок MFA на екрані Windows) як захист від фізичної присутності ворога у робочої станції — це маркетингова фальшивка.

З мережевого боку погоджуюся: якщо прямий RDP можна прибрати з інтернету, WireGuard, NetBird, RD Gateway або інший private-access layer мають бути базовим варіантом. У статті я саме це й зазначаю. Але не погоджуюся з only. VPN вирішує питання мережевої доступності: хто взагалі може встановити з’єднання із сервером. Він не замінює MFA під час входу у Windows, контроль подій автентифікації, RDP-сертифікати, стан Microsoft Defender, оновлення Windows, аудит адміністративних дій та сценарії відновлення. Це особливо помітно в хостингу з RDP-фермами для різних компаній. Технічно можна побудувати окремий VPN-контур для кожного клієнта, але разом із цим з’являється окремий операційний процес: видача й відкликання доступів, заміна пристроїв, ротація ключів, ACL, підтримка домашніх комп’ютерів, offboarding користувачів і аварійний доступ. На десятках клієнтських середовищ це вже самостійний control plane, який також потрібно адмініструвати. Крім того, VPN переносить межу довіри на дозволений пристрій і користувача. Якщо домашній комп’ютер співробітника скомпрометований, його VPN-доступ залишається технічно легітимним. Саме тому потрібні додаткові host-level контролі: MFA безпосередньо перед завершенням Windows logon, мінімальні права, сегментація, актуальний Defender, своєчасні оновлення, журналювання та контроль аномальної активності. Lira не позиціонується як заміна WireGuard або NetBird і може працювати за ними. Її завдання — додати контроль на рівні Windows Server та об’єднати доступ, MFA, блокування, сертифікати, оновлення, Defender і аудит в одній операційній моделі. MFA Lira застосовується до завершення захищеного входу в Windows, тобто це окремий рівень контролю, а не заміна мережевого доступу.
Тож, можливо, у цій метафорі я й Дон Кіхот. Але точно не хотів би опинитися в ролі Джордано Бруно, коли шифрувальник прийде з уже дозволеного домашнього комп’ютера користувача, а на сервері виявляться пропущені оновлення Windows або застарілий захист.

MFA на рівні входу до Windows — це «милиця» з минулого десятиліття, коли RDP стирчав назовні без VPN, і треба було хоч якось загальмувати брутфорс. У сучасній Zero Trust архітектурі MFA має бути один, але на рівні мережевого шлюзу (IdP/ZTNA). Все, що намагається робити Lira поверх цього — просто переускладнення системи.

сенсу думати про витік ключів тощо. — потрібно думати про заборону входу по не тим ІП і не з тієї геолокації — а ось змушувати тапати смартфон для пруфа не варіант (коли пояльник в одному місці) — ось по новій локації треба особиста присутність для нового дозволу...

ну тут знову ж таки за наявності паяльника в одному місці і віддаленому дозволі — все доступно)))

ще напиши як ви захистите РДП від Rubber-hose cryptanalysis

ваш пост — це жах і страх овер-інжиніренгу

від паяльника в одному місці нічого не захистить — СБУ вам у хату :D

тут ще складно організувати цілеспрямовану атаку — треба знайти абстрактний ключ для абстактної мережі VPN ще підібрати абстрактний протокол ... знову ж таки потрібен пруф адміністратора мережі для нового підключення

А ось нові ІП жорстко відвалюються і багато питань до тих, хто злив ключі в мережу!!!! На практиці ключі обнулюються і чергова лекція для співробітників з кібер-безпеки!

Володимире, у повністю стандартизованій сучасній архітектурі я з вами значною мірою погоджуюся. Якщо є єдиний IdP, ZTNA-доступ до конкретного ресурсу, керовані пристрої, перевірка їхнього стану та наскрізний SSO до Windows-сесії, то один зрозумілий MFA-запит для користувача є правильною метою. Додатковий TOTP під час входу до Windows у такому сценарії справді може бути надлишковим.

Але MSP та хостинг-провайдери зазвичай працюють не лише з новими системами, які можна спроєктувати з чистого аркуша. У реальності є неоднорідні парки Windows Server, різні домени, локальні облікові записи, BYOD, домашні комп’ютери користувачів і RDP-ферми кількох компаній в інфраструктурі одного провайдера.

Міграцію часто стримують не переконання адміністраторів, а залежності бізнесу: 1С 7.7 із багаторічними доробками, старі звіти SSRS/RDLC, COM/ActiveX-компоненти, ODBC-драйвери, апаратні ключі, фіскальне, виробниче або медичне ПЗ. Це не причина залишати legacy назавжди, але це реальні обмеження, через які перехід стає окремим проєктом, а не одним оновленням у вихідні.

Завдання інженера в такій ситуації — не оголосити застаріле середовище безпечним і не порадити клієнту негайно зупинити критичну бізнес-систему. Потрібно визначити цільову архітектуру, пояснити ризики, скласти план міграції та захистити перехідний стан компенсуючими контролями:

сегментація + VPN/ZTNA + доступ до конкретних ресурсів + мінімальні права + MFA там, де немає наскрізної прив’язки IdP до Windows-сесії + актуальний Defender/EDR + оновлення + сертифікати + аудит + резервне копіювання та відновлення.

Для одного сервера VPN справді може бути простим і достатнім мережевим рішенням. Але в хостингу з RDP-фермами різних компаній виникає окремий операційний контур: peers, маршрути, ACL, підключення та відкликання пристроїв, ротація ключів, offboarding користувачів, підтримка домашніх комп’ютерів і аварійне відновлення доступу. Це технічно вирішується й часто є правильним рішенням, але не є безкоштовним з погляду супроводу.

Lira не позиціонується як заміна WireGuard, NetBird, RD Gateway або ZTNA. Вона працює на іншому рівні: стан Windows Server, події автентифікації, MFA перед завершенням Windows logon там, де це потрібно, Defender, оновлення, RDP-сертифікати, аудит і керування парком серверів. У повністю інтегрованій ZTNA-архітектурі окрема MFA-функція Lira справді може не знадобитися — і це нормальний результат правильного проєктування.

Один MFA-запит для користча — хороша мета. Але це не означає, що в системі має залишитися лише одна точка контролю.

Щодо «паяльника» та згадок про СБУ — залишу це в площині форумного гумору. Фізичний примус є окремою моделлю загроз; він однаково не спростовує доцільність VPN, ZTNA, MFA, оновлень, EDR чи резервного відновлення. Ми все-таки на DOU, тому цікавіше обговорювати припущення, межі застосування та реальні архітектурні компроміси.

Тож, схоже, у нас немає принципової суперечки. Ви описуєте бажану цільову архітектуру. Я говорю про те, як безпечно експлуатувати й поступово привести до неї реальний клієнтський парк.

і до чого тут """

Міграцію часто стримують не переконання адміністраторів, а залежності бізнесу: 1С 7.7 із багаторічними доробками, старі звіти SSRS/RDLC, COM/ActiveX-компоненти, ODBC-драйвери, апаратні ключі, фіскальне, виробниче або медичне ПЗ. Це не причина залишати legacy назавжди, але це реальні обмеження, через які перехід стає окремим проєктом, а не одним оновленням у вихідні.

"""
???

керувати тим же NetBird — це взагалі дитина впорається! Адміністратор додає ПК самостійно в мережу — буквально 2-ма кліками! Ставимо той же NetBird і пускаємо трафік RDP лише через нову віртуальну мережу!
заражений ПК === ПК, до якого зловмисник має фізичний доступ

must have Zero Trust а у вас якийсь бардак!

Just do it
RDP over wireguard (vpn) (NetBird as alternative) only!

Уточню свою відповідь нижче: NetBird як мережевий базис я не заперечую. Питання лише в тому, чи достатньо одного мережевого рівня.

Якщо RDP видно тільки у віртуальній локальній мережі, у якої немає виходу в інтернет? Якою буде ваша відповідь? За великим рахунком, все інше оверинжиніринг.

Цей сабж про безпеку, я так зрозумів?

Володимире, тут ви слушно помітили неточність: перелічене legacy-ПЗ саме по собі майже не заважає встановити NetBird і закрити публічний доступ до RDP. Цей абзац стосувався не встановлення VPN, а переходу до єдиного IdP/ZTNA з наскрізною автентифікацією до Windows-сесії. Я змішав ці два рівні — уточнюю.

Але з двома іншими твердженнями не погоджуся.

Додати один ПК до NetBird справді можна за кілька кліків. Проте робоча модель доступу — це ще користувачі, групи, policies, approvals, device posture, відкликання пристроїв, offboarding і відновлення доступу. Усе це є навіть у документації самого NetBird, тобто продукт також не зводить Zero Trust до факту підключення peer до віртуальної мережі.

І заражений ПК не означає, що зловмисник обов’язково має до нього фізичний доступ. Фішинг, експлуатація вразливості, викрадення сесії або RAT цілком працюють віддалено. Якщо скомпрометований ПК уже є дозволеним peer, мережа бачитиме легітимний пристрій, доки інші механізми не виявлять проблему.

Тому з базовою рекомендацією я не сперечаюся: публічний RDP потрібно прибирати, а доступ надавати через WireGuard, NetBird, RD Gateway або ZTNA. Не погоджуюся лише зі словом <b>only</b>. VPN зменшує поверхню атаки, але не замінює оновлення Windows, Defender/EDR, мінімальні привілеї, контроль подій входу, аудит дій і recovery-сценарії.

У повністю інтегрованому середовищі з IdP, device posture та SSO окремий TOTP від Lira справді може бути зайвим — я це вже визнав. Але з цього не випливає, що всі інші host-level контролі також стають зайвими.

Тож різниця наших позицій проста: ви пропонуєте правильний мережевий базис, а я не вважаю його єдиним необхідним рівнем захисту.

RDP over wireguard (vpn) (NetBird as alternative) only!

The author was busy fighting windmills (another Don Quixote).

Можу)) Якщо бачиш конкретне місце, де текст звучить як ШІ-слоп, покажи — обговоримо по суті. Технічні рішення, архітектура й висновки в статті мої, а за фідбек щодо подачі буду вдячний.

а ти можеш писати текст без ші слопу?

Підписатись на коментарі