Как я могу ограничить (RDP) доступ к Windows Server не только именем пользователя и паролем, но и сертификатом клиента?
Представьте, что вы создаете сертификат и копируете его на все компьютеры, с которых я хочу иметь доступ к серверу.
Это не будет таким ограниченным, как правила на основе IP, но, с другой стороны, добавит некоторую гибкость, поскольку не каждый компьютер / ноутбук находится в определенном домене или фиксированном диапазоне IP.
Ты мог настроить IPSEC с сертификатами на пораженные машины, возможно совместно с NAP и используйте брандмауэр Windows для фильтровать трафик RDP, который поступает в незашифрованном виде.
Вот прохождение для сценария, аналогичного вашему запросу, но с использованием предварительных ключей вместо сертификатов.
Но имейте в виду, что «создать сертификат и скопировать его на все компьютеры» - плохая идея сама по себе - вам, очевидно, следует создать один сертификат на клиента и соответствующим образом настройте свои правила доступа. Это обеспечивает конфиденциальность ваших подключений, а также возможность отзыва сертификатов по мере их утери / раскрытия без нарушения подключений других машин.
Редактировать: может показаться заманчивым создание Шлюз удаленного рабочего стола (в основном туннельный шлюз HTTPS для RDP) и требуют проверки подлинности сертификата клиента при настройке SSL-соединения через свойства IIS (шлюз реализован как приложение ASP.NET в IIS). Однако, похоже, это не поддерживается клиентом удаленного рабочего стола - нет способа предоставить сертификат клиента для прокси-соединения.
Один из способов - реализовать смарт-карту. Вероятно, это не то, что вы ищете из-за стоимости и порога боли, но многие смарт-карты на самом деле являются именно таковыми (аппаратные сертификаты с надежной защитой закрытого ключа), а интеграция с удаленным рабочим столом проста.