Як убезпечити загальнодоступну сервер віддаленого робочого столу?


16

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

Я знаю, що досить просто відкрити брандмауер та переслати порт.

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

Будь-які вказівки та рекомендації щодо найкращої практики були б вдячні.


Редагувати:

Питання про товар, який я знайшов:

Фільтруйте вхідні з'єднання RDP за IP, MAC-адресою, іменем комп'ютера та іншим

Хтось може прокоментувати безпеку цього? Схоже, я міг би також використовувати його для обмеження доступу за назвою машини / mac? Хтось ще користувався ним?


1
Думаю, ви запитуєте не тільки як захистити цю машину та будь-яке з'єднання RDP до неї, але й як зменшити ризик для решти вашої мережі, якщо це буде порушено. Це так?
dunxd

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

Відповіді:


14

Це може бути більше ніж те, що ви хочете зробити, але ось як ми використовуємо RDP для віддалених користувачів, які не використовують VPN.

Нещодавно ми почали використовувати диспетчер шлюзів RD із службами віддаленого робочого столу, роль у Windows 2008. У нас він налаштований перейти через наш сервер TMG та безпосередньо на машину користувачів. Він використовує NLA, як згадувалося вище. Користувач, який підключається, повинен бути членом правої групи AD, а членом правої локальної групи, щоб отримати доступ. Залежно від способу налаштування, ви можете підключитися через веб-сторінку, яка в основному відкриває mstsc і вводить налаштування проксі для шлюзу RD, або ви можете встановити настройки на вашій машині вручну, так що кожен раз, коли ви відкриваєте її, вона намагатиметься перейти. через цей проксі. Поки що він працював досить добре і, здається, захищений.


3
+1 для цього. Я також використовую шлюз RD з великим успіхом, і вам потрібно лише відкрити порт 443 в Інтернеті, щоб він працював. Шлюз RD не був сприйнятливий до помилки MS12-020 від декількох тижнів тому, що загрожувало RDP.
Райан Різ

+1 також є набагато менше ботів, що атакують шлюзи RD, ніж є прямі RDP.
Грант

8

Як показала недавня історія , існують властиві ризики викриття протоколу. Але є кілька кроків, які ви можете зробити для захисту системи:

  • Закріпити автентифікацію на рівні мережі.
  • Закріпити шифрування з'єднання.
  • Обмежте користувачів, дозволених входити в службу терміналів, до абсолютного мінімуму, і не дозволяйте "спеціальні" акаунти, такі як Administratorобліковий запис домену за замовчуванням , або в ідеалі будь-які інші облікові записи з високими привілеями.
  • Переконайтеся, що паролі надійні в облікових записах, на які дозволяється входити. Залежить від кількості користувачів і того, як зараз виглядає ваша політика, але викидаєте хеші та намагаєтесь їх зламати, збільшуючи обмеження щодо довжини пароля або просто навчаючи користувачів. хороші підходи.

6

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

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

Встановіть дійсні сертифікати SSL в системах, тому клієнт сповістить кінцевих користувачів, якщо хтось намагається здійснити якусь атаку MITM.


3

Це не дуже безпечно, однак є кілька способів посилити безпеку.

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

Використовуйте смарт-карти або інший тип двофакторної аутентифікації. Це, як правило, дорого і знаходиться в основному у великих організаціях, однак варіанти вдосконалюються (на розум приходить PhoneFactor). Зауважте, що потрібні смарт-картки можуть бути виконані на одному сервері, як варіант налаштування на рівні облікового запису.

Налаштуйте мережу периметра, розмістіть віддалений сервер настільних ПК по периметру та використовуйте недорогий VPN для надання доступу. Прикладом може бути Хамачі. Зауважте, що заборона доступу до Інтернету з мережі периметра також є хорошою практикою.

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


1

Я б запропонував такі заходи:

  1. Змініть порт, який використовується для підключення до віддаленого робочого столу
  2. Не використовуйте загальні імена користувачів, а більш складну політику іменування
  3. Високі вимоги до паролів
  4. Закрити будь-який інший невикористаний порт ззовні (вхідний)

За бажанням

  1. Використовуйте VPN (CISCO, Open VPN тощо), а потім підключіться до сервера за допомогою внутрішнього IP-адреси.
  2. Якщо можливо, використовуйте вхід із смарт-карт

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

Так :), я щойно сказав, що через те, що деякі люди не мають доступу та знань до переадресації користувачів. Хоча рекомендується не змінювати реєстр, якщо це не потрібно, у мене жодних проблем не виникало. Єдине питання, з яким ви можете зіткнутися, це якщо ви зміните його на вже використаний порт.
Алекс Н

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

1

Ви можете запустити WinSSHD на порт 22, а потім використовувати клієнт Tunnelier, щоб створити для вас тунель і автоматично відкрити сеанс обслуговування терміналів через тунель одним натисканням кнопки. Це також дає вам дуже хороший безпечний варіант FTP, а також для передачі файлів.


1

Для цих речей я використовую переадресацію ssh-портів і дозволяю лише аутентифікацію на основі відкритих ключів користувача. Усі приватні ключі користувачів також повинні бути зашифровані. У Windows Putty це добре, і театралізація полегшує користувачам завантаження ключа. Якщо ви не запускаєте жодних серверів Linux / BSD, які за замовчуванням мають ssh, ви можете використовувати OpenSSH у Cygwin для цього.

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


1

Bitvise SSH - це хороший безкоштовний SSH для Windows.

Я б хотів придбати дешеве завершення SSL VPN від клієнта до периметру шлюзу для Інтернету, інакше, ніж для випадкового використання (наприклад, комерційний невпевненість).

Вищенаведені публікації щодо забезпечення RDP також є хорошою практикою, і їх слід завжди виконувати, якщо ви не хочете ділитися своїми комп’ютерами з безкоштовними навантажувачами.


0

не дуже найкраща практика, але кілька випадкових думок:

  • постійно оновлюйте систему - дозволяйте автоматичні оновлення, не використовуйте продукти, які закінчуються,
  • використовувати довгі / складні паролі для всіх облікових записів системи
  • Мене тут знущаються за те, що я запропонував "безпеку через незрозумілість", але це не принесе вам шкоди, якщо ви:
    • змінити стандартний порт 3389 / tcp на щось інше, наприклад, 26438 / tcp
    • додайте стукіт порту [якщо можливо] на рівні брандмауера, щоб потенційний користувач rdp спершу зайшов на якусь веб-сторінку і лише потім зможе rdp на ваш сервер.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.