Я ищу необходимость предоставить доступ к моему серверу удаленного рабочего стола (службам терминалов) извне нашей сети. Прямо сейчас к нему можно получить доступ только изнутри нашей сети.
Я знаю, что открыть брандмауэр и перенаправить порт достаточно просто.
Однако как мне обезопасить саму машину и каковы лучшие практики в этой связи? Меня беспокоит, что хакеры смогут взломать его.
Будем очень признательны за любые руководящие принципы / рекомендации передовой практики.
Редактировать:
Вопрос о найденном мной продукте:
Фильтрация входящих подключений RDP по IP, MAC-адресу, имени компьютера и т. Д.
Кто-нибудь может прокомментировать безопасность этого? Похоже, я мог бы также использовать его для ограничения доступа по имени машины / Mac? Кто-нибудь еще использовал это?
Возможно, это больше, чем вы хотите, но вот как мы используем RDP для удаленных пользователей, которые не используют VPN.
Недавно мы начали использовать диспетчер шлюза удаленных рабочих столов со службами удаленных рабочих столов, ролью в Windows 2008. Мы настроили его для прохождения через наш сервер TMG и напрямую на пользовательский компьютер. Он использует NLA, как упоминалось выше. Пользователь, подключающийся к сети, должен быть членом правильной группы AD и членом правильной локальной группы, чтобы получить доступ. В зависимости от того, как вы хотите его настроить, вы можете подключиться через веб-страницу, которая в основном открывает mstsc и вводит настройки прокси для шлюза удаленных рабочих столов, или вы можете установить настройки на своем компьютере вручную, чтобы каждый раз, когда вы открываете его, он пытается через этот прокси. Пока что он работает достаточно хорошо и кажется безопасным.
Так как недавняя история показал нам, что раскрытие протокола сопряжено с определенными рисками. Но есть несколько шагов, которые вы можете предпринять для защиты системы:
Administrator
учетная запись или, в идеале, любые другие учетные записи с высокими привилегиями.Я настоятельно рекомендую использовать службу шлюза удаленного рабочего стола. Это дает вам место, где вы можете применять политики относительно того, кто и откуда может подключаться. Это дает вам хорошее место для ведения журнала, поэтому вы можете видеть, кто пытается войти в систему, не просматривая журналы событий отдельных серверов в вашей ферме.
Если вы еще этого не сделали, убедитесь, что политика блокировки вашей учетной записи достаточно строгая. RDP даже с NLA и шлюзом дает людям возможность попытаться подобрать пароли. Сильная политика локаута очень сильно затрудняет успешные попытки грубой силы.
Установите действующие сертификаты SSL в системах, чтобы клиент уведомлял конечных пользователей, если кто-то пытается выполнить какую-либо атаку MITM.
Это не очень безопасно, однако есть несколько способов усилить безопасность.
Запретить доступ в Интернет с этого сервера. Многие из наиболее серьезных вредоносных программ пытаются связаться со своим сервером управления и контроля, когда они компрометируют вашу систему. Настройка правила доступа брандмауэра для запрета исходящего доступа по умолчанию и правила, разрешающего исходящий доступ только к внутренним / известным сетям и подсетям RFC 1928, может снизить риск.
Используйте смарт-карты или какой-либо другой тип двухфакторной аутентификации. Обычно это дорого и встречается преимущественно в крупных организациях, однако варианты улучшаются (на ум приходит PhoneFactor). Обратите внимание, что требование смарт-карт может быть выполнено для каждого сервера в качестве опции для его настройки на уровне учетной записи.
Настройте сеть периметра, разместите сервер удаленного рабочего стола в периметре и используйте недорогую VPN для обеспечения доступа. Примером может служить Хамачи. Обратите внимание, что запрет на доступ в Интернет из периметральной сети также является хорошей практикой.
По возможности не предоставляйте полный рабочий стол, а публикуйте те приложения, которые им нужны. Если кому-то нужен доступ только к одному приложению, также можно настроить «начальную программу», которая может быть простой оболочкой-оболочкой, которая может принудительно выйти из системы при закрытии приложения.
Я бы предложил следующие меры:
По желанию
Ты мог бежать WinSSHD на порт 22, а затем используйте Tunnelier клиент, чтобы создать для вас туннель и автоматически открыть сеанс служб терминалов через туннель ОДНИМ щелчком мыши. Это также дает вам очень хороший безопасный вариант FTP для передачи файлов.
Я использую переадресацию портов ssh для этих вещей и разрешаю только аутентификацию на уровне пользователя с открытым ключом. Все закрытые ключи пользователей также должны быть зашифрованы. В Windows Putty хорошо справляется с этой задачей, а pageant позволяет пользователям легко загрузить свой ключ. Если у вас нет серверов Linux / BSD, на которых по умолчанию установлен ssh, вы можете использовать OpenSSH в Cygwin для этого.
Я рекомендую выделенный удаленный сервер оболочки с локальным брандмауэром, блокирующим вещи, с которыми вы не хотите, чтобы люди удаленно работали, поскольку разрешение перенаправления портов в SSH в основном открывает любой внутренний сервер / порт для пользователей, которых вы хотите.
Bitvise SSH - хороший бесплатный SSH для Windows.
Я бы выбрал дешевое завершение SSL VPN от клиента до периметра интернет-шлюза для чего-то большего, чем случайное использование (например, коммерческое недоверие).
Вышеупомянутые сообщения о защите RDP также являются хорошей практикой, и их всегда следует делать, если вы не хотите делиться своими компьютерами с халявщиками.
не совсем лучшая практика, но некоторые случайные мысли: