rdp guard для чего
Защищаем RDP Windows Server без VPN
Часто у наших клиентов (обычно это небольшие организации без собственной IT службы) возникает необходимость предоставить доступ к своему серверу терминалов (о настройке и обеспечении отказоустойчивости будет отдельная статья) через глобальную сеть Интернет. Мы конечно же советуем так не делать, а использовать для подключения VPN (рекомендуем любимый нами SoftEther VPN Server), но если уж клиент настаивает, то стараемся максимально его обезопасить. И вот как раз про средства, которыми мы этого достигаем и пойдет речь в этой статье.
Первая программа, о которой мы расскажем называется Cyberarms Intrusion Detection and Defense Software (IDDS).
Enable «TLS/SSL Security Agent»
это инструмент для мультифакторной аутентификации от Duo Security (Cisco), коммерческий многофункциональный продукт, который безупречно работает и позволяет использовать смартфоны, токены и коды для 2FA.
Настраивается ПО немного сложнее предыдущей программы, но благодаря хорошей документации от разработчика довольно таки быстро.
Зарегистрируйте себе административный аккаунт, для доступа к панели управления (Личный кабинет). Рекомендуем сразу добавить еще одного администратора, потому как восстановить доступ с помощью разработчика довольно таки проблематично, а прецеденты с неожиданной утратой смартфона администратора возникают часто.
Войдите в панель администратора Duo и перейдите в Приложения (Applications).
Нажмите «Защитить приложение» и найдите в списке приложений запись для Microsoft RDP. Щелкните Защитить в крайнем правом углу, чтобы настроить приложение и получить ключ интеграции, секретный ключ и имя хоста API. Эта информация понадобится вам для завершения настройки (в процессе установки Duo Authentication for Windows Logon).
Мы рекомендуем установить политики по умолчанию для новых пользователей приложения Microsoft RDP значение «Запрет доступа«, поскольку ни один незарегистрированный в Duo пользователь не должен успешно проходить авторизацию. Но для этого вам будет необходимо добавить всех пользователей в Duo через панель управления вручную или, что намного удобнее, через импорт из Active Directory (об этом расскажем позже) и выслать им ссылку для активации приложения Duo Security, предварительно установленному на их смартфонах.
4. Загрузите и установите пакет установщика Duo Authentication for Windows Logon. Во время установки введите данные, полученные на предыдущем шаге.
Если вы хотите включить автономный доступ с помощью Duo MFA, вы можете сделать это сейчас в разделе «Настройки автономного доступа» на странице приложения Duo или вернуться в панель администратора позже, чтобы настроить автономный доступ после первой проверки успешного входа в систему с помощью двух-факторной аутентификации.
не лишним будет напоминание о безопасном хранении всех ключей:
Treat your secret key like a password
The security of your Duo application is tied to the security of your secret key (skey). Secure it as you would any sensitive credential. Don’t share it with unauthorized individuals or email it to anyone under any circumstances!
Теперь при подключении и успешной авторизации (по логину и паролю) пользователю будет отправлено Push уведомление на смартфон с активированным приложением Duo Mobile:
Если на смартфоне нет доступа в Интернет (и соответственно Push приходить не будут), то можно подтвердить авторизацию сгенерированным кодом (Passcode ) из приложения:
Защищаем удаленный сервер на Windows как можем
Тема безопасности сервера Windows не раз поднималась, в том числе и в этом блоге. Тем не менее мне хотелось бы еще раз освежить в памяти старые методы защиты и рассказать о малоизвестных новых. Разумеется, будем использовать по максимуму встроенные средства.
Итак, предположим, что у нас есть небольшая компания, которая арендует терминальный сервер в удаленном дата-центре.
При проектировании любой защиты следует начинать с модели угроз — от кого или чего, собственно, будем защищаться. В нашей типовой конфигурации я буду строить оборону от внешних злобных хакеров, от некомпетентных (а может, и немного злонамеренных) пользователей. Начнем с внешнего периметра обороны — фаервола.
За тобой как за огненной стеной
Во времена Windows 2003 встроенный фаервол представлял собой жалкое зрелище, и в случае невозможности применения сторонних средств приходилось использовать IPSec. Пример такой настройки разобран, например, в материале Secure Windows Servers using IPSec Firewall.
Сейчас, с появлением WFP (Windows Filtering Platform) дела стали получше. В принципе, с этим фаерволом так или иначе сталкивался, наверное, каждый системный администратор Windows, поэтому настройка удаленного доступа к серверу только с определенных IP не должна вызывать затруднений. Я обращу внимание на некоторые «фишки», которые используются редко.
По умолчанию фаервол блокирует все входящие соединения, кроме явно разрешенных, но исходящие разрешает все, кроме явно запрещенных. Политику эту можно изменить, открыв управление фаерволом через wf.msc и выбрав «Свойства».
Теперь, если мы захотим запретить пользователям терминального сервера выходить с этого сервера в интернет — у нас это получится.
Стоит отметить, что при настройке правил доступа к серверу (входящие подключения) явно создавать правила для исходящего трафика не нужно. В терминах iptables — established и related всегда разрешены.
Для ценителей командной строки настройку фаервола можно производить в контексте netsh advfirewall. Почитать про команды можно в материале «Брандмауэр Windows 7 в режиме повышенной безопасности», я же добавлю, что блокировка входящих и исходящих подключений включается командой:
Еще одной особенностью фаервола windows является то, что любая программа или настройка меняет его правила без уведомлений. Например, отключили вы все правила на нашем дедике, рядом появился второй, вы сделали между ними локальную сеть, настроили общий доступ и… внезапно у вас включается smb для всех и вся со всеми вытекающими последствиями.
Выхода, по сути, два с половиной (напомню, мы пока говорим только про встроенные средства): регулярно проверять, не изменились ли правила, и использовать старый добрый IPSec или — как по мне, самый разумный вариант — настраивать фаервол групповой политикой. Настройка производится в Конфигурация компьютера — Конфигурация Windows — Параметры Безопасности — Монитор брандмауэра Защитника Windows в режиме повышенной безопасности.
Настройка фаервола групповой политикой.
Также при помощи фаервола windows можно реализовать простой fail2ban. Достаточно включить аудит неудачных попыток входа и при нескольких неудачах подряд блокировать IP источника. Можно использовать самописные скрипты, а можно уже готовые средства, о которых я писал в статье «Как дать шифровальщикам потопить компанию».
Если же встроенного фаервола не хватает и хочется использовать что-то более серьезное, то можно установить стороннее ПО. Жаль, что большинство известных решений для Windows Server — платные. Другим вариантом будет поставить перед сервером роутер. Понятно, что такая установка подойдет, если мы используем colocation, а не аренду сервера где-то далеко-далеко за рубежом. Если же зарубежный дата-центр — это наш выбор, то можно использовать виртуализацию — например, встроенный Hyper-V — и установить в виртуалку привычный GNU\Linux или FreeBSD.
Возникает вопрос: как сделать так, чтоб виртуалка имела прямой выход в интернет, а сервер — нет? Да еще чтобы MAC-адрес сервера не светился хостеру и не требовал тем самым покупки еще одного IP-адреса.
Осторожно! Дальнейшие действия лучше проводить через IP-KVM!
Для этого виртуальную машину нужно снабдить двумя сетевыми адаптерами. Один — для непосредственного подключения к интернету, для него мы сделаем виртуальный коммутатор типа «внешний» и снимем галочку, разрешающую операционной системе взаимодействие с этим коммутатором. Этой самой галочкой мы лишим сервер прямого доступа в интернет (настройку виртуальной машины-фаервола лучше произвести заранее), и его MAC не будет светиться хостеру.
Настройка внешнего виртуального коммутатора.
Другой виртуальный коммутатор следует сделать типа «внутренний» для взаимодействия виртуальной машины и сервера. На нем уже нужно настроить локальную адресацию. Так получится создать виртуальный роутер, стоящий перед сервером и защищающий его.
Заодно на этой виртуальной машине можно настроить любимый VPN до офиса или удаленных сотрудников, не заморачиваясь с ролью «Маршрутизация и удаленный доступ» или со встроенным IPSec, как я рассказывал в статье «Как я базы 1С в Германии прятал». Главное, не забыть проверить автозапуск этой виртуальной машины при старте системы.
Подключаться к такому серверу можно при помощи обычного RDP или использовать HTML5 клиенты с двухфакторной аутентификацией. Стоит на случай брутфорса озаботиться и решениями fail2ban, и блокировкой учетной записи на некоторое время при нескольких неудачных попытках авторизации подряд.
Снаружи сервер мы более-менее защитили, перейдем к защите внутренней.
Защита внутренняя: остановить и не пущать
Конечно, для защиты сервера изнутри очень хочется поставить какой-нибудь антивирус — мало ли что пользователи сервера накопируют или накачают из интернета. Но на практике антивирус на сервере может принести больше вреда, чем пользы. Поэтому я обычно использую механизмы блокировки запуска ПО не из белого списка — в частности, механизм SRP (software restriction policies), о котором я тоже упоминал в статье «Как дать шифровальщикам потопить компанию».
Остановлюсь чуть подробнее на одном подводном камне, о котором часто забываем при включении SRP со стандартными настройками, когда блокируется все, кроме папок Windows и Program Files. Действительно, это отфильтровывает почти всех зловредов. Но не очень работает со злонамеренностью сотрудников, ведь в системных папках есть подпапки с правом на создание объектов пользователями. Например, можно посмотреть на папку C:\Windows\Temp.
Разрешения на папку, которая попадет в белый список.
И такая папка не одна. Можно, конечно, проводить аудит системных папок самостоятельно, а можно довериться людям, которые это уже сделали. Например, специалист Stefan Kanthak в своем блоге (по ссылке есть тестовый вирус EICAR, антивирус может сработать) в довольно агрессивной манере проходится по антивирусам и методам защиты Windows и заодно предлагает уже собранный пакет настроек SRP, который будет блокировать и такие подозрительные папки. По запросу автор предоставляет и программу для конвертирования этих настроек реестра в файлы локальных политик.
Если вы предпочитаете использовать механизм AppLocker c более гибкими настройками, то вам может помочь решение AaronLocker.
Редакция не рекомендует использовать и устанавливать скрипты и прочие программы из интернета без предварительного их изучения.
Если AppLocker появился уже довольно давно, а возраст SRP перевалил за 15 лет, то относительно свежей альтернативой является WDAC (Windows Defender Application Control). Действительно, со времен Security Essentials встроенный «антивирус» обзавелся многими интересными возможностями. Например, WDAC — модуль, который отвечает за политики доступа к приложениям и библиотекам. Ранее он являлся частью Device Guard (защита компьютера, в том числе с применением технологий виртуализации), и немного про его настройку рассказывалось в материале «Принцип работы S Mode в Windows 10 и настройка Device Guard своими руками». Подробнее со всеми тонкостями можно ознакомиться в официальной документации, мне же остается добавить несколько минусов, отличающих его от классических решений вроде SRP и AppLocker:
Зато возможна настройка в срезе приложения: например, если вы хотите дать доступ к cmd.exe вашему скрипту, а не стороннему вирусу — это можно реализовать. Да еще и политику можно применить до загрузки системы, при помощи UEFI.
Блокировка хрома через WDAC.
В целом из-за тягостной настройки сложилось впечатление, что WDAC больше позиционируется не сам по себе для управления компьютерами, а как средство, позволяющее интегрироваться с централизованными MDM-системами вроде Microsoft Intune. Но при этом разработка старых добрых SRP прекращена в Windows 10 1803.
Если говорить про Защитник Windows, нельзя не упомянуть про Credential Guard и Remote Credential Guard.
Первое средство использует опять же виртуализацию, запуская компонент LSA (Local Security Authority) в изолированном от операционной системы процессе, что сильно усложняет процесс кражи хешей паролей и билетов Kerberos. Подробнее про технологию можно почитать в официальной документации. Для работы процессор должен поддерживать виртуализацию, а также в системе должна быть включена безопасная загрузка (Secure Boot) и модуль TPM для привязки учетных данных к оборудованию. Включить Credential Guard можно через групповую политику Конфигурация компьютера — Административные шаблоны — Система — Device Guard — Включить средство обеспечения безопасности на основе виртуализации.
Включение Credential Guard.
Второе средство служит для защиты передаваемых учетных данных (особенно админских!) для удаленного подключения, например, по тому же RDP. Ранее для этих целей предлагался механизм Restricted Admin Mode, но он ограничивал подключение только одним сервером. Подключившись к серверу, нельзя было просто так использовать ресурсы сети, права администратора применялись только к одному серверу а-ля системный аккаунт Local System.
Remote Credential Guard позволяет передавать учетные данные с локальной машины удаленному серверу без явного ввода пароля, что, помимо расширенной безопасности, даст и удобство подключения к серверам (SSO). Почитать подробнее можно в документации, ну а я добавлю, что для работы механизма достаточно включить его поддержку на сервере — например, через реестр командой:
А потом подключаться к серверу командой:
Теперь учетные данные в безопасности, а сервер достаточно защищен. Правда, в материале я осознанно не касался вопросов защиты от злонамеренного хостера, но тут все сводится в общем-то к одному — к шифрованию дисков.
RDP Brute-Force Protection Configuration
RdpGuard detects and blocks dictionary-based brute-force attacks against RDP Server. It works with all RDP Security layers: RDP Security Layer, Negotiate, SSL (TLS)
Start RdpGuard Dashboard and click the link next to RDP
An RDP Settings dialog will open:
As you probably know, Windows 2008 (and 2008 R2) do not write attacker’s IP address to Security event log when RDP connections is made via TLS/SSL.
To work-around this issue, RdpGuard uses an alternate, traffic-based approach to detect failed RDP connections over TLS.
You usually do not need to enable traffic monitoring on Windows Server 2012 and later, log-based approach usually covers 100% of failed login attempts on these editions, but there are setups that may result to empty source network address events in the Security event log.
If you observe 4625 events in the Security event log with emtpy source network address, please enable traffic monitoring.
Traffic monitoring methods:
Monitoring via Raw Sockets
This monitoring method works on Windows Server 2008 R2 only if there are no 3-rd party firewalls or anti-viruses installed. It works out of the box and doesn’t require any additional software.
Addresses to monitor
When Monitoring via Raw Sockets is enabled, RdpGuard listens on RDP port for an each IP address associated with the machine. This may affect server performance if there are high number of IP addresses associated with the machine.
In order to avoid performance decrease, you may consider limiting the number of IP addresses available for RDP connection:
When you done with the firewall configuration, you may update addresses to monitor in RdpGuard.
Monitoring via WinPcap
This monitoring method works on all Windows Server 2008 editions but requires additional software installation. You need to download and install WinPcap.
3. Specify one or multiple RDP ports to monitor (you may skip this step if you are using RDP on a single port)
4. Click Save to save changes and restart RdpGuard service.
Как дать шифровальщикам потопить компанию
Пока что не все системные администраторы насладились в полной мере знакомством с криптолокерами, хотя стараются многие. В этой статье я расскажу, что нужно сделать, чтобы облегчить попадание шифровальщика в инфраструктуру и обеспечить максимально разрушительные последствия.
В зависимости от мировоззрения и настроения написанное можно воспринимать как буквально, так и творчески.
Вектор атаки и защита периметра
Чаще всего шифровальщики попадают в инфраструктуру двумя путями – через электронную почту, или снаружи, через RDP. С почтой все понятно: письма «из налоговой» и «из банка» доходят до своих получателей даже через спам-фильтры (лучше их, конечно, отключить вовсе). А вот на втором способе я остановлюсь подробнее.
Для начала нужно открыть RDP наружу – так будет проще работать сотрудникам, без всяких там неудобных VPN. Если шеф требует усилить информационную безопасность, просто повесьте внешний порт RDP на другой. Сканерам это не помешает, а начальник может и успокоится.
Брутфорс при включенном аудите неудачных попыток входа
Вирус будет пытаться попасть на ваш сервер с помощью перебора пароля. Чтобы максимально упросить ему эту задачу, проведите следующий «тюнинг»:
На терминальном сервере отключите блокировку учетных записей, которая срабатывает после нескольких неудачных попыток входа;
Если на сервере терминала работает аналог fail2ban, например, Ts_block, EvlWatcher или RdpGuard, то удалите его немедленно. Такой сервис обеспечит вам блокировку на фаерволе IP–адреса после неудачных попыток подключения. Вы же не хотите мешать взлому, верно?
Когда RDP открыт наружу, у всех пользователей заданы простые пароли, а письма со ссылками на архивы регулярно приходят на почту, то вирус себя ждать не заставит. Следующая задача администратора – облегчить вновь прибывшему достойное кормление в инфраструктуре.
Оптимизируем инфраструктуру
Когда шифровальщик «постучится» к вам в виде письма от «прокуратуры», то система может и насторожиться. Вот пользователь скачал архив, запустил исполняемый файл, но при запуске возникает сообщение:
Это означает, что в системе включена политика ограниченного использования программ (SRP – Software Restriction Policies). Эта технология появилась во времена Windows XP и ее принцип работы очень прост: при настроенной политике ни один из исполняемых файлов, кроме разрешенных, не будет запущен. И действительно опасными для системы останутся только эксплойты.
К счастью для шифровальщиков редкие администраторы включают эту политику. Если вашей системе «не повезло» и защита работает, то нужно изменить доменную или локальную групповую политику, поставив по умолчанию уровень безопасности «неограниченный»:
Но руководство может обратить внимание на отключение политики. В таком случае для вируса можно открыть другую лазейку. Обычно при настройке SRP разрешается запуск исполняемых файлов из системных папок, но остается без внимания один нюанс: в системных папках есть подпапки, в которых у пользователя есть права на создание файлов. Например, путь C:\Windows\Temp:
В параметрах безопасности разрешите создание файлов и их выполнение
Полный список занятных подпапок в системных каталогах можно получить с помощью Powershell или через утилиты вроде DumpSec.
Права администратора на компьютерах тоже помогают в получении хэшей. Поэтому если пользователю понадобится доступ к специфическим приложениям, то не стоит выделять его компьютер в отдельный VLAN. Оптимально вместе с правами локального администратора сразу выдать и доменного.
Если политика ограниченного использования программ отключена, то антивирус можно оставить: все равно шифровальщика, который использует установленный архиватор, антивирус сможет поймать только по сигнатурам. При этом UAC нужно отключить.
Теперь вирус гарантированно сможет проникнуть в инфраструктуру и зашифровать полезные данные. Однако для окончательного триумфа этого недостаточно: ведь у вас останутся резервные копии, которые быстро восстановят работоспособность. Поэтому что? Правильно, корректируем настройки резервного копирования – чтобы не мешали.
Настраиваем резервное копирование
Не стоит отключать резервное копирование целиком – это вызовет массу вопросов даже у не очень подкованных сотрудников, когда вы вдруг не сможете восстановить по их просьбе удаленный файл.
Есть более изящные способы сделать так, чтобы восстановление системы после атаки шифровальщика стало невозможным:
Бэкапы должны быть на одном сервере: шифровальщик их зашифрует, а имеющиеся теневые копии – удалит;
Нежелательно делать резервное копирование в облако или на сетевой ресурс, подключаемый по отдельному имени пользователя – так вирусу будет сложно до них добраться;
Другой хороший вариант – настроить резервное копирование в расшаренную папку с правами «Все — полный доступ».
Не следует хранить бэкапы за определенный период: лучше ежедневно создавать резервные копии, затирая предыдущие. И не нужно включать для бэкапа настройки копирования по собственному протоколу в свой репозиторий;
Теперь после атаки шифровальщика можно грустно, но уверенно говорить, что резервных копий нет. Это победа!
Spora ransomware удаляет теневые копии с помощью команды vssadmin.exe и отключает восстановление в загрузчике. UAC мог бы остановить это действие.
Хотя нет – вы можете сделать завершающий аккорд и стать посредником между организацией и авторами шифровальщиков. Для этого скажите начальнику, что вымогателям платить не надо, но есть компании, занимающиеся расшифровкой. После этого возьмите у него сумму, равную той, которую просят вымогатели плюс накиньте свой процент – и вуаля, к моральному удовольствию прибавилась еще и тихая денежная радость. Можно смело считать себя богом системных интриг и… лучше уволиться.
А теперь серьезно
На написание этой статьи сподвигло одиннадцатое за последние полгода обращение от организаций, пострадавших от действий шифровальщика. При расследованиях вектора атаки встречались дивные вещи вроде открытого наружу RDP для пользователя «1» с паролем «1», открытых вложений из писем «от банка», и исследователя, перепутавшего изолированный компьютер-песочницу с доменной машиной.
Обидно, что простейшая настройка SRP и закрытый чуть более серьезно периметр позволили бы избежать грустных последствий. Надеюсь, материал поможет кому-то организовать защиту предприятия более разумно или хотя бы задуматься об этом.