Защита служб терминалов Windows

Опубликовано: 24 Апреля, 2023


Прежде чем я начну


Прежде чем я начну, я хочу отметить, что эта статья ни в коем случае не является исчерпывающим руководством по безопасности службы терминалов. Я, вероятно, мог бы написать на эту тему книгу хорошего размера, поэтому я никак не могу адекватно осветить эту тему на нескольких страницах. Вместо этого я собираюсь дать вам несколько основных советов по обеспечению безопасности среды службы терминалов.


Планирование развертывания


Давайте начнем с обсуждения планирования развертывания сервера терминалов. Я знаю, что многим организациям не хватает денег, но правило номер один состоит в том, что терминальный сервер никогда не должен выполнять двойную функцию. Проще говоря, вам никогда не следует запускать службы терминалов вместе с каким-либо другим серверным приложением, таким как Exchange Server. Это может создать серьезную нагрузку на ресурсы сервера, такие как ЦП и память, и создать огромный риск для безопасности.


Вероятно, лучшим примером конфигурации «двойного назначения», представляющей угрозу безопасности, является запуск служб терминалов на контроллере домена. Естественно, существует проблема, что если одному из ваших пользователей удастся воспользоваться уязвимостью и получить доступ к базовой операционной системе, он получит доступ к контроллеру домена, но риски безопасности на самом деле намного хуже. По крайней мере, некоторые версии служб терминалов Windows требуют, чтобы пользователи имели разрешения на локальный вход для входа в систему через сеанс службы терминалов. Если службы терминалов работают на контроллере домена и это разрешение применяется, то пользователям предоставляются разрешения на локальный вход на все контроллеры домена в домене. Это означает, что если пользователь может получить физический доступ к контроллеру домена, он может просто войти в систему.


Еще одна распространенная ошибка, которую допускают администраторы при развертывании службы терминалов, заключается в использовании неподходящей модели безопасности. Я уверен, вы знаете, что каждая новая версия Windows Server, которая выходит, предлагает новые функции безопасности, но поддерживает обратную совместимость с предыдущими версиями Windows Server. Однако часто единственный способ сохранить эту обратную совместимость — пожертвовать некоторыми функциями безопасности, которые не поддерживает старая операционная система.


Это именно то, что происходит при развертывании служб терминалов. Когда вы устанавливаете версию служб терминалов для Windows Server 2003, вам предоставляется возможность использовать «расслабленную безопасность» как способ обеспечения обратной совместимости со старыми версиями Windows Server. Версия для Windows 2000 делает нечто подобное, предлагая вам на выбор либо разрешения, совместимые с Windows 2000 Server, либо разрешения, совместимые с пользователями Terminal Server 4.0.


Чтобы продемонстрировать, как эти разрешения являются фактором сетевой безопасности, давайте представим, что вы используете службы терминалов на компьютере с Windows Server 2003, но в вашей среде есть несколько серверов Windows 2000 и вы используете несколько старых приложений. Вы не совсем уверены, что безопасность Windows Server 2003 полностью совместима с вашими старыми серверами и приложениями, поэтому вы выбираете упрощенную модель безопасности. Однако год спустя вы обновили оставшиеся серверы до Windows Server 2003 и обновили все свои приложения. Проблема в том, что ваш терминальный сервер все еще работает в ослабленном режиме безопасности.


Здесь на помощь приходит планирование. Каждый раз, когда вы работаете в среде смешанного режима, я рекомендую вести список действий, которые необходимо выполнить после того, как все серверы будут обновлены до последней версии операционной системы. Сброс безопасности службы терминалов должен быть пунктом в таком списке. К счастью, когда вы выбираете запуск служб терминалов с использованием упрощенной модели безопасности, вы не берете на себя постоянных обязательств. Режим безопасности вашего сервера можно легко изменить, открыв консоль настройки служб терминалов и выбрав контейнер «Настройки сервера», как показано на рисунке A. Затем вы можете щелкнуть правой кнопкой мыши параметр «Совместимость разрешений» и выбрать команду «Свойства» в контекстном меню. Когда вы это сделаете, появится диалоговое окно «Совместимость разрешений». Просто выберите параметр «Полная безопасность» и нажмите «ОК».



Изображение 28779
Рисунок A. Контейнер «Параметры сервера» позволяет управлять некоторыми общими аспектами безопасности службы терминалов.


Экран, показанный на рисунке А, можно использовать для управления рядом настроек, связанных с безопасностью. В Windows Server 2003 для большинства этих параметров по умолчанию установлены безопасные параметры. Однако Windows 2000 использует точно такие же параметры, но по умолчанию они небезопасны.


Первый вариант на этом экране — удалить временные папки при выходе. Службы терминалов хранят данные пользовательской среды во временных папках во время сеанса пользователя. Корпорация Майкрософт рекомендует удалять эти данные в конце сеанса, чтобы злоумышленники не могли получить доступ к информации о среде другого пользователя.


Второй вариант на экране — использовать временные папки для каждого сеанса. Это восходит к информации о пользовательской среде, о которой я только что говорил. Вы должны использовать временные папки для каждой сессии


Последний параметр в этой части консоли, связанный с безопасностью, — это параметр Active Desktop. Как вы, возможно, помните, Active Desktop — это технология, выпущенная Microsoft вместе со старой версией Windows (думаю, это была Windows 98). Идея заключалась в том, что вы можете запускать HTML-код непосредственно на рабочем столе Windows, чтобы иметь различные апплеты, отображающие важную для вас информацию прямо на рабочем столе Windows. В свое время Active Desktop был хорошей идеей, но сегодня мы знаем, что не все веб-апплеты заслуживают доверия. Чтобы предотвратить случайное выполнение пользователями вредоносного сценария, необходимо отключить Active Desktop.


Будьте в курсе


Хотя существует множество способов тонкой настройки служб терминалов для обеспечения большей безопасности, я склонен думать, что наибольшую угрозу для служб терминалов представляют приложения, которые на них работают, и базовая серверная операционная система. Если уязвимость существует в одном из приложений, запущенных на сервере терминалов, или если уязвимость существует в самой Windows, уязвимость может быть использована для компрометации основной операционной системы Windows.


Вот почему управление исправлениями так важно. Как только об уязвимости системы безопасности становится известно, хакерам не требуется много времени, чтобы выяснить, как использовать эту уязвимость. Большинство компаний-разработчиков программного обеспечения регулярно выпускают исправления для исправления известных уязвимостей. Однако, если существует известная уязвимость, и вы оставляете свою систему без исправлений, вы становитесь легкой мишенью для хакеров.


Раньше управление исправлениями было очень дорогой и трудоемкой задачей, но поддерживать системы в актуальном состоянии стало проще, чем раньше. Microsoft создает утилиту под названием Служба обновления Windows Server (WSUS), которая автоматически обновляет большинство продуктов Microsoft. Имейте в виду, однако, что, хотя WSUS не исправляет приложения, отличные от Microsoft, для вас крайне важно не отставать от исправлений для любого приложения, которое может работать на вашем терминальном сервере.


Изолировать сетевой трафик


Еще одна вещь, которую вы можете сделать, чтобы повысить безопасность службы терминалов, — это изолировать сетевой трафик, связанный со службой терминалов, от других типов сетевого трафика. Клиенты сервера терминалов должны иметь возможность взаимодействовать с серверами терминалов, но им не нужно взаимодействовать напрямую с внутренними серверами, такими как серверы баз данных. Вы можете изолировать клиентский трафик от других типов трафика, разместив два сетевых адаптера на сервере терминалов. Одна сетевая карта может подключаться к сегменту сети, содержащему клиентские машины, в то время как другая сетевая карта подключается к сегменту сети, который обслуживает только внутренние серверы (магистральный сегмент). При этом вы не только повышаете безопасность, но и повышаете эффективность, поскольку клиенты не конкурируют с внутренними серверами за пропускную способность сети.


Вывод


Как видите, я не могу составить исчерпывающее руководство по безопасности службы терминалов на нескольких коротких страницах. Вместо этого я дал вам несколько основных методов обеспечения безопасности, которые вы можете использовать для повышения безопасности своего собственного развертывания службы терминалов.