RDP - Remote Desktop Protocol (Віддалений Робочий Стіл)
В першу чергу, тут піде мова про StandAlone Server. Тобто, про окремо - що стоїть сервері. А чи не про контролерах домена і корпоративних мережах. (Там якраз потрібні висококваліфіковані фахівці)
Ситуація, коли тобі в голову прийшла якась ідея і ти вирішив її втілити в життя. І для її реалізації тобі необхідна наявність Сервера, який ти орендуєш в якомусь дата-центрі.
За замовчуванням, можна сказати, що цей сервіс в Windows налаштований так, щоб доставити користувачеві чимало клопоту і проблем.
Ти починаєш бачити і потім, можливо розуміти.
З одного боку - розробники програмного забезпечення роблять вигляд, що вони роблять свої системи для звичайної людини, і ти починаєш в це вірити.
Але з іншого боку - ці ж розробники, припускають, що клавіатуру може взяти в руки тільки сертифікований фахівець. І щоб сертифікат був цього року.
Такий ось парадокс.
Давай я розповім тобі як все виглядає насправді.
А насправді, орди кулхацкер прочитавши дюжину рядків на форумах скачують готові списки серверів у яких відкрито RDP порт. І починають ломитися на твою машину. Хто в ручну, (але це рідко), а в основному різними програмами, запускаючи словники по перебору: логін - пароль. І ніхто їх ні в чому не обмежує. Їм там навіть тісно часом.
Причому, я ось дивлюся на логи, і бачу, що в більшості своїй, це одні і ті ж словники.
А твій сервер - змушений відбиватися. А ти - не в курсі. І не розумієш, чому у тебе низька продуктивність, чому довго виконуються запити.
Ти ж про великого думаєш. Стратегічно, про функціонал. А тут - якісь гальма не зрозумілі.
Тому, ти почнеш оптимізувати пам'ять, видаляти тимчасові змінні, дефрагментувати диски і т.д.
І може бути навіть уважно подивишся на вкладку "Події" в оснащенні управління.
Але запевняю тебе, що ти там не побачиш причину! Тому, що там не відображаються спроби невірного введення логіна і пароля. Можливо, ти навіть будеш сперечатися з іншими людьми, що тебе от не ламають, тому, що бояться або поважають.
Ні. Запевняю тебе, просто розробники - вони такі веселі хлопці. І спочатку трошки переважують чашу терезів на бік темряви. Вони кажуть, що якби ці події відображалися б, то навантаження на сервер була б вищою.
Але ось, тільки треба зауважити, що перше, що кожен повинен зробити - це включити це відображення. Хоча, звичайно існують повністю закриті від зовнішнього світу якісь технологічні системи, де ніхто і ніколи ні чого не зламує. Але там якраз такі системи і обслуговують цілі команди профі.
Так, що давай, для початку - поправимо цю ситуацію і наведемо систему в нормальний робочий вид.
Якщо ти знічев'я зробиш запити в мережі про налаштування RDP, то зустрінеш дуже багато порад (і я сам довго був впевнений, що вони досить ефективні, поки не вирішив провести експеримент)
Суть масових рекомендацій зводиться до того, (і це вигляди цілком логічно і розумно), що необхідно:
- Обмежити кількість дозволених помилкових спроб входу.
(Якщо ти не п'яний - то 3х раз тобі вистачить, щоб зрозуміти, що клавіатура не тією мовою і не на тому регістрі.) - Обмежити час для цих 3х спроб.
(Можна ж, 3 рази за тиждень, а можна - 3 рази на секунду, та ще й багатопоточність. І тому, як ніхто з кулхацкер не тикає в клавіатуру одним пальцем довго вибираючи букву, то там йде пристойний трафік, який за 10 хвилин, які визначили розробники встигне перебрати кілька сотень, пару тисяч комбінацій.) - Встановити час блокування для входу в разі, якщо ти п'яний, або якщо - ти - це не ти.
(За замовчуванням - 3 хвилини ні кого не засмутять. Виставимо пів-години. Нехай втомляться чекати.)
Зізнаюся, я дуже зрадів, коли знайшов такі статті, і тут же все зробив як треба. Був упевнений, що ось тепер можна зосередитися на самому проекті, і не турбуватися сильно за безпеку.
Як були десятки тисяч спроб протягом доби. (А я не сиджу втупившись у монітор цілий день, але раз в день заходжу перевірити працездатність своїх додатків) Так все і залишилося.
І все ніяк не міг зрозуміти, як же так, ось я бачу, що у мене налаштоване 3 спроби і потім блокування на 30 хвилин. А цей бот фігачіт вже шість годин без втомилися перебираючи логіни від "Administrator" до "Ферапонта".
Але все було не дозвілля. І потім - я ж все налаштував, значить - має працювати!
Одного разу, довелося переносити один свій проект з одного сервера на інший, через вихід з ладу RAID масиву. І старий сервер, протягом деякого часу був мені доступний, але на ньому можна було без побоювань спробувати провести небезпечні і не дуже експерименти. Тому - я вирішив на ньому перевірити.
Для цього, на протязі декількох хвилин намагався залогінитися з неправильним паролем, чекаючи, що ось зараз мене система аутентифікації заблокує. Фигушки. Нічого не трапилося.
І ось, що я тепер тобі скажу:
Виходячи з дому і замкнувши двері - зламаю замок. Відморожу вуха - на зло Бабусі.
Але думаю, що розставання з такими ілюзіями - коштувало пари днів мук.
З преамбули покінчили. Давай займемося справою.
1. Обмежимо кількість дозволених одночасно відкритих сеансів.
Знаходимо і відкриваємо оснащення "Terminal Services Configuration":
У цьому оснащенню вибираємо відкриваємо в "властивостях" RDP-Tcp вкладку [Network Adapter], де і обмежуємо "Msximum Connections" до 2х, для всіх мережевих адаптерів.
Тиснемо ОК. Тепер, одночасно з тобою зможе зайти тільки ще одна людина. А без тебе - всім бажаючим доведеться ставати в шеренги по двоє.
У чергу - сучі діти!
2. Вмикаємо відображення невдалих спроб входу в оснащенні "Events".
Знаходимо і відкриваємо оснащення "Local Security Settings" і в ній - розділ: "Audit Policy":
І змінюємо значення властивостей всіх записів "Audit" - як показано на скріншоті. Треба буде потім перезавантажитися, щоб зміни стали активні.
Можна почекати і через кілька годин подивитися на тепер уже реальну картину, щоб осмислити в якому світі ми живемо, і хто нас насправді оточує.
Тут у тебе 2 варіанти:
- Швидкий і відразу все.
- Ручний, з розумінням, що саме ти робиш.
Швидкий спосіб.
- Заходиш на сторінку Download BlackList і скачувати Пакетне оновлення.
- Завантажуєш файл пакетного поновлення на свій Сервер.
- Відкриваєш оснащення "Local Security Settings", Меню [All Tasks], розділ "Import Policies" і вказуєш на долучення. Тиснеш [OK]
Після чого, у тебе повинно вийти ось так:
Ручний спосіб, з розумінням.
Читайте другу частину про RDP: RDP - DDoS
Bug Report / Hot-Line