- Порт сервера терминалов windows
- Что такое RDP протокол
- Порт rdp по умолчанию
- Принцип работы протокола rdp
- Этапы RDP соединения
- Безопасность в RDP протоколе
- Standard RDP Security
- Enhanced RDP Security
- Изменить порт rdp
- Установка и настройка терминального сервера на Windows Server
- Шаг 1. Выбор оборудования и подготовка сервера к работе
- Выбор оборудования
- Подготовка сервера
- Шаг 2. Установка Windows Server и базовая настройка системы
- Установка системы
- Базовая настройка Windows Server
- Шаг 3. Установка и настройка терминального сервера
- Подготовка системы
- Установка роли и компонентов
- Установка служб удаленных рабочих столов
- Настройка лицензирования удаленных рабочих столов
- Добавление лицензий
- Шаг 4. Тюнинг терминального сервера
- Ограничение сессий
- Анализатор соответствия рекомендациям
- Теневые копии
- Ошибка 36888 (Source: schannel)
- Шаг 5. Настройка средств обслуживания
- Резервное копирование
- Мониторинг
- Шаг 6. Тестирование
- Особый порт для подключения
Порт сервера терминалов windows
Добрый день уважаемые читатели и гости блога, сегодня у нас с вами вот такая задача: изменить входящий порт службы RDP (терминального сервера) со стандартного 3389 на какой-то другой. Напоминаю, что RDP служба это функционал операционных систем Windows, благодаря которому вы можете по сети открыть сессию на нужный вам компьютер или сервер по протоколу RDP, и иметь возможность за ним работать, так как будто вы сидите за ним локально.
Что такое RDP протокол
Прежде чем, что то изменять, хорошо бы понимать, что это и как это работает, я вам об этом не перестаю повторять. RDP или Remote Desktop Protocol это протокол удалённого рабочего стола в операционных системах Microsoft Windows, хотя его происхождение идет от компании PictureTel (Polycom). Microsoft просто его купила. Используется для удаленной работы сотрудника или пользователя с удаленным сервером. Чаще всего такие сервера несут роль сервер терминалов, на котором выделены специальные лицензии, либо на пользователе, либо на устройства, CAL. Тут задумка была такой, есть очень мощный сервер, то почему бы не использовать его ресурсы совместно, например под приложение 1С. Особенно это становится актуальным с появлением тонких клиентов.
Сам сервер терминалов мир увидел, аж в 1998 году в операционной системе Windows NT 4.0 Terminal Server, я если честно тогда и не знал, что такое есть, да и в России мы в то время все играли в денди или сегу. Клиенты RDP соединения, на текущий момент есть во всех версиях Windows, Linux, MacOS, Android. Самая современная версия RDP протокола на текущий момент 8.1.
Порт rdp по умолчанию
Сразу напишу порт rdp по умолчанию 3389, я думаю все системные администраторы его знают.
Принцип работы протокола rdp
И так мы с вами поняли для чего придумали Remote Desktop Protocol, теперь логично, что нужно понять принципы его работы. Компания Майкрософт выделяет два режима протокола RDP:
- Remote administration mode > для администрирования, вы попадаете на удаленный сервер и настраиваете и администрируете его
- Terminal Server mode > для доступа к серверу приложений, Remote App или совместное использование его для работы.
Вообще если вы без сервера терминалов устанавливаете Windows Server 2008 R2 — 2016, то там по умолчанию у него будет две лицензии, и к нему одновременно смогут подключиться два пользователя, третьему придется для работы кого то выкидывать. В клиентских версиях Windows, лицензий всего одна, но и это можно обойти, я об этом рассказывал в статье сервер терминалов на windows 7. Так же Remote administration mode, можно кластеризировать и сбалансировать нагрузку, благодаря технологии NLB и сервера сервера подключений Session Directory Service. Он используется для индексации пользовательских сессий, благодаря именно этому серверу у пользователя получиться войти на удаленный рабочий стол терминальных серверов в распределенной среде. Так же обязательными компонентами идут сервер лицензирования.
RDP протокол работает по TCP соединению и является прикладным протоколом. Когда клиент устанавливает соединение с сервером, на транспортном уровне создается RDP сессия, где идет согласование методов шифрования и передачи данных. Когда все согласования определены и инициализация окончена, сервер терминалов, передает клиенту графический вывод и ожидает входные данные от клавиатуры и мыши.
Remote Desktop Protocol поддерживает несколько виртуальных каналов в рамках одного соединения, благодаря этому можно использовать дополнительный функционал
- Передать на сервер свой принтер или COM порт
- Перенаправить на сервер свои локальные диски
- Буфер обмена
- Аудио и видео
Этапы RDP соединения
- Установка соединения
- Согласование параметров шифрования
- Аутентификация серверов
- Согласование параметров RDP сессии
- Аутентификация клиента
- Данные RDP сессии
- Разрыв RDP сессии
Безопасность в RDP протоколе
Remote Desktop Protocol имеет два метода аутентификации Standard RDP Security и Enhanced RDP Security, ниже рассмотрим оба более подробно.
Standard RDP Security
RDP протокол при данном методе аутентификации, шифрует подключение средствами самого RDP протокола, которые есть в нем, вот таким методом:
- Когда ваша операционная система запускается, то идет генерация пары RSA ключиков
- Идет создание сертификата открытого ключа Proprietary Certificate
- После чего Proprietary Certificate подписывается RSA ключом созданным ранее
- Теперь RDP клиент подключившись к терминальному серверу получит Proprietary Certificate
- Клиент его смотрит и сверяет, далее получает открытый ключ сервера, который используется на этапе согласования параметров шифрования.
Если рассмотреть алгоритм с помощью которого все шифруется, то это потоковый шифр RC4. Ключи разной длины от 40 до 168 бит, все зависит от редакции операционной системы Windows, например в Windows 2008 Server – 168 бит. Как только сервер и клиент определились с длиной ключа, генерируются два новых различных ключа, для шифрования данных.
Если вы спросите про целостность данных, то тут она достигается за счет алгоритма MAC (Message Authentication Code) базируемого на SHA1 и MD5
Enhanced RDP Security
RDP протокол при данном методе аутентификации использует два внешних модуля безопасности:
TLS поддерживается с 6 версии RDP. Когда вы используете TLS, то сертификат шифрования можно создать средствами терминального сервера, самоподписный сертификат или выбрать из хранилища.
Когда вы задействуете CredSSP протокол, то это симбиоз технологий Kerberos, NTLM и TLS. При данном протоколе сама проверка, при которой проверяется разрешение на вход на терминальный сервер осуществляется заранее, а не после полноценного RDP подключения, и тем самым вы экономите ресурсы терминального сервера, плюс тут более надежное шифрование и можно делать однократный вход в систему (Single Sign On), благодаря NTLM и Kerberos. CredSSP идет только в ОС не ниже Vista и Windows Server 2008. Вот эта галка в свойствах системы
Изменить порт rdp
Для того, чтобы изменить порт rdp, вам потребуется:
- Открываем редактор реестра (Пуск -> Выполнить -> regedit.exe)
- Переходим к следующему разделу:
Находим ключ PortNumber и меняем его значение на номер порта, который Вам нужен.
Выберите обязательно десятичное значение, я для примера поставлю порт 12345.
Как только вы это сделали, то перезапустите службу удаленных рабочих столов, через командную строку, вот такими командами:
Далее не забудьте в брандмауэре Windows после изменения порта RDP открыть его, для этого жмем WIN+R и в окне выполнить пишем firewall.cpl.
Далее переходим в пункт Дополнительные параметры
И создаем новое входящее правило для нового rdp порта. Напоминаю, что порт rdp по умолчанию 3389.
Выбираем, что правило будет для порта
Протокол оставляем TCP и указываем новый номер RDP порта.
Правило у нас будет разрешающее RDP соединение по не стандартному порту
При необходимости задаем нужные сетевые профили.
Ну и назовем правило, понятным для себя языком.
Для подключения с клиентских компьютеров Windows адрес пишите с указанием порта. Например, если порт Вы изменили на 12345, а адрес сервера (или просто компьютера, к которому подключаетесь): myserver, то подключение по MSTSC будет выглядеть так:
mstsc -v:myserver:12345
или через командную строку.
Как видите изменить порт rdp совсем не трудная задача, все тоже самое можно проделать средствами групповой политики.
Установка и настройка терминального сервера на Windows Server
Инструкция разбита на 6 шагов. Первых 3 представляют стандартные действия для настройки терминального сервера. Остальные являются профессиональными советами, которые помогут создать надежную и профессиональную инфраструктуру для сервера терминалов.
В качестве операционной системы используется Windows Server 2012 R2 / 2016.
Шаг 1. Выбор оборудования и подготовка сервера к работе
Выбор оборудования
Выбирая оборудование для данного типа серверов, необходимо опираться на требования приложений, которые будут запускаться пользователями и количество последних. Например, если устанавливается терминальный сервер для программы 1С, а количество одновременно работающих сотрудников равно 20, получим следующие характеристики (приблизительно):
- Процессор от Xeon E5.
- Памяти не менее 28 Гб (по 1 Гб на каждого пользователя + 4 для операционной системы + 4 запас — это чуть меньше 20%).
- Дисковую систему лучше построить на базе дисков SAS. Объем необходимо учесть индивидуально, так как это зависит от характера задач и методов их решения.
Также предлагаю для чтения статью Как выбрать сервер.
Подготовка сервера
Прежде чем начать установку операционной системы выполните следующее:
- Настройте отказоустойчивый RAID-массив (уровни 1, 5, 6 или 10, а также их комбинации). Данная настройка выполняется во встроенной утилите контроллера. Для ее запуска следуйте подсказкам на экране во время загрузки сервера.
- Подключите сервер к источнику бесперебойного питания (ИБП). Проверьте, что он работает. Отключите подачу питания на ИБП и убедитесь, что сервер продолжает работать.
Шаг 2. Установка Windows Server и базовая настройка системы
Установка системы
Во время установки системы важно учесть только один нюанс — дисковую систему необходимо разбить на два логических раздела. Первый (малый, 70 – 120 Гб) выделить для системных файлов, второй — под пользовательские данные.
На это есть две основные причины:
- Системный диск малого размера быстрее работает и обслуживается (проверка, дефрагментация, антивирусное сканирование и так далее)
- Пользователи не должны иметь возможность хранить свою информацию на системном разделе. В противно случае, возможно переполнение диска и, как результат, медленная и нестабильная работа сервера.
Базовая настройка Windows Server
- Проверяем правильность настройки времени и часового пояса;
- Задаем понятное имя для сервера и, при необходимости, вводим его в домен;
- Настраиваем статический IP-адрес;
- Если сервер не подключен напрямую к сети Интернет, стоит отключить брандмауэр;
- Для удаленного администрирования, включаем удаленный рабочий стол;
- Устанавливаем все обновления системы.
Шаг 3. Установка и настройка терминального сервера
Подготовка системы
Начиная с Windows 2012 терминальный сервер должен работать в среде Active Directory.
Если в вашей IT-среде есть контроллер домена, просто присоединяем к нему наш сервер. В противном случае, устанавливаем на наш сервер роль контроллера.
Установка роли и компонентов
В панели быстрого запуска открываем Диспетчер серверов:
Кликаем Управление — Добавить роли и компоненты:
Нажимаем Далее до «Выбор типа установки». Оставляем Установка ролей и компонентов и нажимаем Далее дважды:
В окне «Выбор ролей сервера» выбираем Службы удаленных рабочих столов:
Кликаем Далее, пока не появится окно «Выбор служб ролей» и выбираем следующие:
- Лицензирование удаленных рабочих столов
- Узел сеансов удаленных рабочих столов
* при появлении запроса на установку дополнительных компонентов соглашаемся.
При необходимости, также выставляем остальные галочки:
- Веб-доступ — возможность выбора терминальных приложений в браузере
- Посредник подключений — для кластера терминальных серверов посредник контролирует нагрузку каждой ноды и распределяет ее.
- Узел виртуализации — для виртуализации приложений и запуска их через терминал.
- Шлюз — центральный сервер для проверки подлинности подключения и шифрования трафика. Позволяет настроить RDP внутри HTTPS.
Нажимаем Далее и в следующем окне Установить. Дожидаемся окончания процесса установки и перезагружаем сервер.
Установка служб удаленных рабочих столов
После перезагрузки открываем Диспетчер серверов и нажимаем Управление — Добавить роли и компоненты:
В окне «Выбор типа установки» выбираем Установка служб удаленных рабочих столов и нажимаем Далее:
В окне «Выбор типа развертывания» выбираем Быстрый запуск и нажимаем Далее:
В «Выбор сценария развертывания» — Развертывание рабочих столов на основе сеансов — Далее:
Еще раз Далее — при необходимости, ставим галочку «Автоматически перезапускать конечный сервер, если это потребуется» и кликаем по Развернуть.
Настройка лицензирования удаленных рабочих столов
Для корректной работы сервера, необходимо настроить службу лицензирования. Для этого открываем диспетчер серверов и кликаем по Средства — Terminal Services — Диспетчер лицензирования удаленных рабочих столов:
В открывшемся окне кликаем правой кнопкой мыши по нашему серверу и выбираем Активировать сервер:
В открывшемся окне дважды кликаем Далее — заполняем форму — Далее — Далее — Снимаем галочку «Запустить мастер установки лицензий» — Готово.
Снова открываем диспетчер серверов и переходим в «Службы удаленных рабочих столов»:
В «Обзоре развертывания» кликаем по Задачи — Изменить свойства развертывания:
В открывшемся окне переходим в Лицензирование — Выбираем тип лицензий — прописываем имя сервера лицензирования (в данном случае локальный сервер) и наживаем Добавить:
Применяем настройки, нажав OK.
Добавление лицензий
Открываем диспетчер серверов и кликаем по Средства — Terminal Services — Диспетчер лицензирования удаленных рабочих столов:
В открывшемся окне кликаем правой кнопкой мыши по нашему серверу и выбираем Установить лицензии:
В открывшемся окне нажимаем Далее — выбираем программу, по которой куплены лицензии, например, Enterprise Agreement — Далее — вводим номер соглашения и данные лицензии — выбираем версию продукта, тип лицензии и их количество — Далее — Готово.
Проверить статус лицензирования можно в диспетчере серверов: Средства — Terminal Services — Средство диагностики лицензирования удаленных рабочих столов.
Шаг 4. Тюнинг терминального сервера
Ограничение сессий
По умолчанию, пользователи удаленных рабочих столов могут находиться в системе в активном состоянии без ограничения. Это может привести к зависаниям или проблемам при повторном подключении. Для решения возможных проблем установите ограничения на терминальные сессии.
Анализатор соответствия рекомендациям
Для некоторых серверных ролей Windows (в частности, терминальных) существует база успешных конфигураций. Придерживаясь советам данной базы можно повысить надежность и стабильность системы.
Для сервера удаленных рабочих столов, как правило, необходимо выполнить следующие рекомендации:
1. Файл Srv.sys должен быть настроен на запуск по требованию.
В командной строке от имени администратора вводим:
sc config srv start= demand
2. Создание коротких имен файлов должно быть отключено.
В командной строке от имени администратора вводим:
fsutil 8dot3name set 1
Теневые копии
Если подразумевается хранение ценной информации на терминальном сервере, стоит настроить возможность восстановления предыдущих версий файлов.
Как настроить и пользоваться данной возможностью, читайте подробнее в инструкции Как включить и настроить теневые копии.
Ошибка 36888 (Source: schannel)
В журнале Windows может появляться ошибка «Возникло следующее неустранимое предупреждение: 10. Внутреннее состояние ошибки: 1203.» от источника Schannel и кодом 36888. Ее причину, однозначно, определить мне не удалось. Во многих информационных источниках пишут, что это давно известная проблема и списывают на ошибку самой операционной системы.
Точного решения найти не удалось, но можно отключить ведение лога для Schannel. Для этого в редакторе реестра находим ветку HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel — в ней параметр EventLogging и меняем его значение на 0. Команда для редактирования реестра:
reg add «HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel» /v EventLogging /t REG_DWORD /d 0 /f
* данную команду необходимо выполнить из командной строки, запущенной от администратора.
Шаг 5. Настройка средств обслуживания
Основные средства, помогающие полноценно обслуживать сервер — мониторинг и резервное копирование.
Резервное копирование
Для терминального сервера необходимо резервировать все рабочие каталоги пользователей. Если на самом сервере организована общий каталог для обмена и хранения важной информации, копируем и его. Лучшим решением будет ежедневное копирование новых данных, и с определенной периодичностью (например, раз в месяц), создание полного архива.
Мониторинг
- Сетевую доступность сервера;
- Свободное дисковое пространство.
Шаг 6. Тестирование
Тестирование состоит из 3-х основных действий:
- Проверить журналы Windows и убедиться в отсутствие ошибок. В случае их обнаружения, необходимо устранить все проблемы.
- Выполнить действия анализатора соответствий рекомендациям.
- Провести живой тест работы сервиса с компьютера пользователя.
Особый порт для подключения
По умолчанию, для подключения к терминальному серверу по RDP используется порт 3389. Если необходимо, чтобы сервер слушал на другом порту, открываем реестр, и переходим в ветку:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
Находим ключ PortNumber и задаем ему значение в десятично представлении, равное нужному номеру порта:
Также можно применить команду:
reg add «HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp» /v PortNumber /t REG_DWORD /d 3388 /f
* где 3388 — номер порта, на котором будет принимать запросы терминальный сервер.