RDP — Remote Desktop Protocol (Удаленный Рабочий Стол)
В первую очередь, здесь пойдет речь о StandAlone Server. То есть, об отдельно — стоящем сервере. А не о контроллерах домена и корпоративных сетях. (там как раз требуются высококвалифицированные специалисты)
Ситуация, когда тебе в голову пришла некая идея и ты решил ее воплотить в жизнь. И для ее реализации тебе необходимо наличие Сервера, который ты арендуешь в неком дата-центре.
Выбрал подходящий тариф, заплатил деньги и вот у тебя уже есть Сервер, на котором установлено необходимое тебе ПО. В большинстве случаев, для таких пробных проектов достаточно Windows 2003 Server. Вполне бюджетно и эффективно.
Техподдержка тебе выдаст IP адрес, Логин и Пароль для RDP доступа, и ты начинаешь свое путешествие, полное …, ну вообщем — мало не покажется.
По умолчанию, можно сказать, что этот сервис в Windows настроен так, чтобы доставить пользователю немало хлопот и проблем.
Ты начинаешь видеть и потом, возможно понимать.
С одной стороны — разработчики программного обеспечения делают вид, что они делают свои системы для обычного человека, и ты начинаешь этому верить.
Но с другой стороны — эти же разработчики, предполагают, что клавиатуру может взять в руки только сертифицированный специалист. И чтобы сертификат был этого года.
Такой вот парадокс.
Давай я расскажу тебе как все выглядит на самом деле.
А на самом деле, орды кулхацкеров прочитав дюжину строк на форумах скачивают готовые списки серверов у которых открыт RDP порт. И начинают ломиться на твою машину. Кто в ручную, (но это редко), а в основном разными программами, запуская словари по перебору: логин — пароль. И никто их ни в чем не ограничивает. Им там даже тесно порой.
Причем, я вот смотрю на логи, и вижу, что в большинстве своем, это одни и те же словари.
А твой сервер — вынужден отбиваться. А ты — не в курсе. И не понимаешь, почему у тебя низкая производительность, почему долго выполняются запросы.
Ты же о великом думаешь. Стратегически, о функционале. А тут — какие то тормоза не понятные.
Поэтому, ты начнешь оптимизировать память, удалять временные переменные, дефрагментировать диски и т.д.
И может быть даже внимательно посмотришь на вкладку «События» в оснастке управления.
Так, что давай, для начала — поправим эту ситуацию и приведем систему в нормальный рабочий вид.
Что мы сделаем:
- Запретим доступ к серверу с более чем 3000 IP адресов, которые собственно говоря ничем другим не занимаются, кроме доставлять людям проблемы. Импортируем Черный Список.
Если ты от нечего делать сделаешь запросы в сети о настройке RDP, то встретишь очень много советов (и я сам долго был уверен, что они весьма эффективны, пока не решил провести эксперимент)
Суть массовых рекомендаций сводится к тому, (и это выгляди вполне логично и разумно), что необходимо:
Признаюсь, я очень обрадовался, когда нашел такие статьи, и тут же все сделал как надо. Был уверен, что вот теперь можно сосредоточиться на самом проекте, и не беспокоиться сильно за безопасность.
Однако.
Как были десятки тысяч попыток в течении суток. (а я не сижу уткнувшись в монитор целый день, но раз в день захожу проверить работоспособность своих приложений) Так все и осталось.
Однажды, пришлось переносить один свой проект с одного сервера на другой, по причине выхода из строя RAID массива. И старый сервер, в течении некоторого времени был мне доступен, но на нем можно было без опасений попробовать провести опасные и не очень эксперименты. Поэтому — я решил на нем проверить.
Для этого, в течении нескольких минут пытался залогиниться с неправильным паролем, ожидая, что вот сейчас меня система аутентификации заблокирует. Фигушки. Ничего не произошло.
Я потратил пару дней на более детальное изучение этой проблемы. Погрузился в мануалы и скудные комментарии. Все как один уверяют на форумах — такой способ супер эффективный.
И вот, что я теперь тебе скажу:
- во первых — этот способ работает только под контроллером домена (не знаешь — что это такое? Плюнь — это тебе не надо) а для standalone server — нужно погрузиться в специальные знания и выучить заклинания.
Выходя из дома и заперев дверь — сломаю замок. Отморожу уши — назло Бабушке.
Но думаю, что расставание с такими иллюзиями — стоило пары дней мучений.
С преамбулой покончили. Давай займемся делом.
1. Ограничим количество разрешенных одновременно открытых сеансов.
Находим и открываем оснастку «Terminal Services Configuration»:
В этой оснастке выбираем открываем в «свойствах» RDP-Tcp вкладку [Network Adapter], где и ограничиваем «Msximum Connections» до 2х, для всех сетевых адаптеров.
2. Включаем отображение неудачных попыток входа в оснастке «Events».
Находим и открываем оснастку «Local Security Settings» и в ней — раздел: «Audit Policy»:
И изменяем значения свойств всех записей «Audit» — как показано на скриншоте. Надо будет затем перезагрузиться, чтобы изменения стали активны.
Можно подождать и через несколько часов посмотреть на теперь уже реальную картину, чтобы осмыслить в каком мире мы живем, и кто нас в действительности окружает.
3. Запрещаем доступ к серверу от 100% зловредных IP адресов. Импортируем Черный Список.
Тут у тебя 2 варианта:
- Быстрый и сразу все.
- Ручной, с пониманием, что именно ты делаешь.
Быстрый способ.
- Заходишь на страницу Download BlackList и скачиваешь Пакетное обновление.
- Загружаешь файл пакетного обновления на свой Сервер.
- Открываешь оснастку «Local Security Settings», Меню [All Tasks], раздел «Import Policies» и указываешь на загруженный файл. Жмешь [OK]
После чего, у тебя должно получиться вот так:
Ручной способ, с пониманием.
- Вначале, необходимо создать дополнительную политику. Открываешь оснастку «Local Security Settings».
- Выбираешь раздел «IP Security Policies on Local Computer» и правой кнопкой: «Create IP Security Policy…» запускаешь Мастер настройки.
- Придумываешь имя для нового Правила. Например: «Block IP».
- Дальше, на все вопросы жми [Next] и в завершении у тебя будет форма для редактирования свойств Политики.
- Добавляем новое Правило. Жмем [Add]. и если стоит галочка Wizard, то запустится еще один Мастер, на вопросы которого нужно ответить.
- Tunnel Endpoint. жми [Next]
- Network Type. Там уже стоит «All network connections». жми [Next]
- IP Filter List. Добавляем новый Фильтр. Жмем [Add] и придумываем осмысленное Имя. Например: Block brute forcing IP. Список у него пока, что пустой. Сохраняем как есть.жми [Next].
- Добавляем Filter Action. Создаем [Add] новое действие, например с названием: Block Access, выбрав метод = Block.жми [Next].
- В результате, у тебя получится новая Политика, с новым Фильтром.жми [OK]
- Осталось только активировать ее. Правой кнопкой мыши жми на новом Правиле и выбирай «Assign»После чего, новой Правило обретет зелененький индикатор.
- И вот только теперь — можно вводить в новое Правило «Block IP» новые IP адреса для блокировки. (Кликни по нему и дальше если ты все это проделал внимательно, то разберешься где нажать «Edit», а где «Add».
Читайте вторую часть об RDP: RDP — DDoS
Читайте третью часть об RDP: RDP — «Долговременная Распределенная Атака Супер — Короткими Уникальными Сеансами»
<label>Issue: *</label></li><label> Your Name: *</label></li><label> Your Email: *</label></li><label> Details: *</label></li>Используемые источники:
- https://fackers.ru/protect/rdp/