Мы рады приветствовать в нашей команде авторов Мартина Кайера (Martin Kiaer), т.к. он представляет свою первую статью для читателей наших порталов. В этой статье рассказывается о том, как включить аутентификацию с помощью TLS/SSL при установлении соединения с удаленным рабочим столом компьютера, работающего под управлением операционной системы Windows Server 2003.
Не зависимо от того, включили ли вы терминальные службы Microsoft Windows Terminal Services для конечных пользователей, или для подключения к удаленному рабочему столу (remote desktop) в Windows Server 2003 в административных целях, в зависимости от того, как вы настроили свой сервер, могут возникнуть проблемы с безопасностью. Однако, с появлением пакета обновлений Service Pack 1 для операционной системы Windows Server 2003, у вас есть возможность установить безопасное соединение по протоколу Remote Desktop Protocol (RDP) к вашему серверу с помощью аутентификации TLS/SSL.
Давайте начнем с рассмотрения некоторых основных угроз.
Если ваша политика для паролей (password policy) в домене настроена таким образом, что после определенного количества попыток ввода паролей, учетная запись блокируется, то ваш сервер с включенными на нем терминальными службами Terminal Services (RDP) становится мишенью для атаки DoS (Denial of Service или отказ в обслуживании) против вашего домена. Некто может легко подключиться к терминальному серверу (terminal server) и попытаться войти с помощью различных имен пользователей и паролей. В зависимости от политики для паролей (password policies), имя пользователя (username), с помощью которого он попытается это сделать, может стать заблокированным, в результате чего настоящий пользователь не сможет войти в систему.
В дополнение к этому, если используется слабая политика для паролей, злоумышленник может воспользоваться таким инструментом, как TScrack 2.0, для подбора пароля для серверов, на которых включены терминальные службы Windows Terminal Services. Этот инструмент между прочим, также позволяет осуществить упомянутую выше атаку DoS (отказ в обслуживании).
Угроза становится еще опаснее, если сервер, на котором запущены терминальные службы Microsoft Windows Terminal Services доступен из интернет по RDP соединению по порту 3389, даже если вы используете для защиты такой мощный брандмауэр (firewall), как ISA Server. Этот сценарий наиболее часто встречается для пользователей серверов для малого бизнеса Microsoft Small Business Server.
Однако, есть и хорошая новость, которая заключается в том, что вы можете избежать эти атаки. Решение заключается в использовании компьютерной аутентификации, основанной на сертификатах (certificate based computer authentication). Если компьютер не может пройти аутентификацию при предоставлении правильного сертификата терминальному серверу (terminal server), к которому он пытается подключится, то соединение RDP будет прекращено до того, как у пользователя будет возможность войти.
Перед тем, как начать, есть несколько предварительных условий, о которых вы должны узнать.
На серверной стороне необходимо следующее:
На клиентской стороне вам необходимо:
%systemroot%\system32\clients\tsclient\win32\msrdpcli.msi
Теперь, когда вы знаете, что это такое, пришло время посмотреть, как все это работает.
Первое, что нам необходимо сделать, это установить сертификат TLS/SSL, связанный с компьютером на терминальный сервер. Сертификат можно получить двумя способами:
В этой статье, мы создадим сертификат SSL certificate, выпущенный PKI расположенной в Microsoft Certificate Services. И на это есть причины. Благодаря использованию вашего собственного Microsoft PKI, вы получаете четкий контроль над клиентами, которые должны доверять корневому CA, отвечающему за выпуск сертификата TLS/SSL. В результате этого мы обеспечим то, что только проверенным компьютерам будет позволено пройти аутентификацию на вашем терминальном сервере.
Предположим, что вы уже установили службу сертификатов Microsoft Certificate Services где-то в вашей инфраструктуре. Процесс, который вы должны использовать для запроса сертификата TLS/SSL, зависит от того, запрашиваете ли вы сертификат с корпоративной (enterprise) CA (интегрированной в Active Directory), или с отдельно стоящей CA. В этой статье мы предполагаем, что используется корпоративный CA.
Рисунок 1
Рисунок 2
Рисунок 3
Рисунок 4
Примечание: Если ваш сервер сертификатов (certificate server) также является контроллером домена (domain controller), что бывает очень часто для серверов Microsoft Small Business Server, то вы должны выбрать из списка Domain Controller Authentication (аутентификация на контроллере домена).
Давайте продолжим и подключим TLS/SSL в терминальных службах на сервере.
Из меню Administrative Tools (администрирование) запустите инструмент под названием Terminal Services Configuration Tools. Выберите в левом окне Connections (подключения). В правом окне щелкните правой кнопкой мыши на RDP-Tcp, и выберите Properties (свойства).
Рисунок 5
Сперва мы должны выбрать сертификат, который мы создали в предыдущем разделе.
Рисунок 6
Рисунок 7
Рисунок 8
Теперь сервер готов, поэтому давайте перейдем к рабочей станции (workstation).
Первое, что мы должны сделать – это настроить клиента, чтобы он доверял CA, отвечающему за выпуск сертификата на терминальном сервере. Лучший способ для этого заключается в использовании политики групп, но для упрощения мы установим проверенный корневой CA на нашем клиенте с помощью web браузера.
http://server/certsrv
где server необходимо заменить названием компьютера с CA.
Рисунок 9
Рисунок 10
Следующее, что нам нужно сделать на клиенте – обновить клиента удаленного рабочего стола (remote desktop client) до версии 5.2 или выше. Если вы используете операционную систему Windows Server 2003 с пакетом обновления SP1 или Vista, то шаг 1 и 2 можно пропустить.
%systemroot%\system32\clients\tsclient\win32\msrdpcli.msi
Просто установите клиента удаленного рабочего стола (remote desktop client) из этого места.
%Systemdrive%\Windows\System32\dllcache
%Systemdrive%\Windows\System32
Примечание: В результате работы защиты файлов Windows File Protection, может появится предупреждение. Нажмите на кнопку Yes для подтверждения того, что вы действительно хотите перезаписать файлы.
Рисунок 11
Рисунок 12
Этапы, описанные в этой статье, подразумевают, что ваши терминальные службы работают в среде домена Active Directory, а также используют ваш собственный Microsoft PKI. Однако стоит заметить, что это необязательно, до тех пор, пока вы не фокусируетесь на безопасности, когда компьютеры должны доверять иерархии CA.
Из-за неправильной конфигурации, непроверенный компьютер получит сообщение об ошибке при попытке подключения, но по-прежнему сможет увидеть сертификат на терминальном сервере. Если вы выберите просмотр сертификата у вас также будет настройка для установления доверия CA, выпустившему сертификат. И тогда вы не добьетесь ничего, кроме усложнения. Поэтому будьте осторожны.
В нашем примере мы использовали встроенный mmc для запроса сертификата. Вы также можете выполнить расширенный запрос сертификата из браузера и указать сертификат по умолчанию для веб сайта на CA, выпускающем сертификаты. Еще один способ заключается в использовании помощника по запросам сертификатов Certificate Request Wizard, который находится в IIS, и который обычно используется для запроса SSL сертификатов.
Если вы уже установили SSL сертификат на сервере для других целей, то продолжайте и используйте этот сертификат для ваших терминальных служб Microsoft Terminal Services. Просто убедитесь, что вы по-прежнему контролируете, кто может доверять вашей иерархии CA, а также проверьте, что URL, связанный с существующим сертификатом SSL certificate, также является FQDN, которое можно использовать для установления RDP соединения к терминальному серверу (terminal server), как из внутренней сети, так и из интернет.
Источник www.windowsecurity.com
Tags: cache, domain, ISA Server, redirect, Windows Vista, Windows XP
Предоставляю доступ к «SMTP Server Open mail relays»
Более полная информация по параметрам серверов, при контакте.
«ШКОЛЬНИКАМ», БОЛЬШАЯ ПРОСЬБА НЕ БЕСПОКОИТЬ!!!
Обращайтесь в lCQ: 8два99616 или Refcat(x)yandex.ru