Защита сервера с помощью анонимного proxy для протокола RDP [SafeRDP]

Приветствую, дорогие друзья, знакомые, посетители и прочие личности. Как говорится, рады видеть всех вновь.

Статья сегодня несколько необычная и будет посвящена защите сервера по протоколу RDP, используя анонимный прокси, а именно с помощью сервиса SafeRDP. Впрочем, защищать можно таким образом не только сервер, но просто какой-либо компьютер, к которому Вы подключаетесь с помощью вышеупомянутого протокола. Причем, собственно, не только защищать, но и скрывать его физическое местоположение.

Для тех, кто еще по каким-то причинам не знаком с RDP (а таковых людей предостаточно), мы пока кратко (ибо со временем мы посвятим сей теме отдельный цикл статей или рубрику) скажем, что RDP представляет из себя протокол удаленного рабочего стола (Remote Desktop Protocol) и позволяет подключаться к другому компьютеру/серверу/устройству и управлять оным удаленно так, словно Вы сидите перед ним физически.

RDP
Штука эта знакома не по наслышке всем толковым системным администраторам, многим айтишникам и некоторым простым пользователям (которые, как правило, выступали в качестве, так сказать, оператора удаленного компьютера). Для обычных пользователей, кстати, вещь удобна в случае, если у Вас дома несколько компьютеров и лень ходить из комнаты в комнату, дабы помочь родственнику, или же Вам хочется подключаться с рабочего компьютера на домашний и наоборот.. В общем, применений множество, но мы сейчас не о том.

Так вот, давайте поговорим о теме статьи, а именно о том, как защитить от взлома, скрыть физическое местоположение и вообще всячески обезопасить свой сервер/компьютер/устройство. Кстати, решение сие, по определенным причинам, будет полезно и всяческим бизнесменам, ведущим свой бизнес в России.

Поехали.

Защита сервера и айпишника RDP. Общая концепция

Что мы, собственно, с Вами имеем обычно изначально? Изначально наш сервер/компьютер/устройство имеет собственный IP-адрес и, как правило, стандартный RDP-порт для подключения к нему. Предположим, что это 81.133.135.22:3389. Многие наивно полагают, что вычислить этот адрес сложно и они надежно защищены, хотя на самом деле это далеко не так. Почему? Минимум потому, что:

  • Во-первых, найти этот адрес довольно легко и сделать это можно методом банального перебора, чем и занимаются типичные сканеры, доступные каждому любопытному пользователю (я уж молчу про опытных злоумышленников и хакеров) в интернете..IP-сканер
    А так же написанные специально для того черви, вирусы и прочая шушера, способные создавать единый ботнет, который не просто занимается сканированием диапазонов и портов, но и может подбирать пароли и вообще заниматься многими интересными вещами.
  • Во-вторых, процесс поиска упрощается в разы, если на сервере развернут web со всеми приблудами и сайт, который на нём крутится.. Ну, либо прочий функционал, смотрящий, простите за выражение, "попой" в интернет. Порой тут не всегда спасает даже фаерволл.
  • В-третьих.. Перечислять не буду по ряду причин (в частности, безопасность Ваших устройств и серверов), но есть еще несколько удобных способов найти IP-адрес и порт сервера, будь то RPD, SSH или прочие интересные доступы для всяких вредных целей.

Что дальше? Дальше, зная этот самый адрес, можно получить доступ к серверу, а так же узнать плюс-минус его физическое месторасположение. По поводу физического месторасположения - сие скорее важно для компаний, нежели для домашних пользователей, но всё же порой играет важную роль и для некоторых частных лиц. В чем здесь проблема? В том, что можно получить не только физическое положение устройства, но и тип ОС, конфигурацию оборудования/ПО и прочие данные, которые упрощают взлом системы и её использование в мошеннических целях.

Что касается получения доступа, то делается это тоже не очень сложно, хотя, конечно, тут играет роль сложность логина-пароля, а так же количество открытых портов и степень их защищенности. Пример простого перебора автоматом встречается частенько, благо всякой автоматической шушеры, как мы и говорили, гуляет множество.

перебор паролей к RDP
При этом далеко не всегда важно, работали Вы через стандартный порт или через какой-либо еще, ибо, как я говорил выше, - перебор портов штука тоже вполне себе простая, а на скриншоте, кстати, указан пример попытки перебора как раз таки при работе через нестандартный порт. Опять же, допустим, что Ваш сервер/устройство/компьютер защищен вполне себе надежно, но не смущает ли Вас необходимость тратить ресурсы системы   и трафик на защиту от стабильного флуда и сканирования (причем порой сразу с 10-тка разных IP-адресов, что делает невозможным стабильную быструю блокировку по правилу) даже с использованием фаерволла? Думаю, что многих бы это не порадовало. Впрочем, давайте пойдем дальше.

Собственно, перед нами встает задача защиты сервера для безопасного доступа к нему через удалёнку, а так же, так сказать, опционально, в целях скрыть его физическое местоположение при проверке через тот же whois и nslookup. Причем сделать это надо как можно удобней, быстрей и максимально безопасней, при всём при этом сократив собственные расходы. На ум, само собой, приходит использование прокси или прочих промежуточных серверов с подменой адреса. Но реализовать сие бесплатно представляется не то чтобы слабовозможным, но и далеко не совсем безопасным. Из платных вариантов обычно в голову приходит аренда оборудования/сервера/платных проксей или сервисов, сие предоставляющих. В качестве примера я хочу предложить Вам такой вот сервис, SafeRDP.  Давайте взглянем на него подробней.

Защита с использованием анонимного прокси и стороннего IP при помощи SafeRDP

В чём суть? Сервис позволяет получить IP-адрес (или несколько), так сказать, "взамен" родного адреса сервера RDP, используя их прокси-сервера, а так же защищая соединение посредством шифрования + перенаправления портов + опираясь на iptables, т.е. предоставляя доступ только с определенного списка ip-адресов, которые Вы сами можете и задать. Более того, предоставляется софт, который, в случае проблем различного характера, позволяет закрыть все текущие соединения и сеансы удаленного доступа, т.е. фактически полностью оборвать доступ к серверу/компьютеру/устройству, если возникнет внештатная ситуация, например, тот же взлом.

Если рассматривать визуально (но упрощенно), то эта конструкция, по заявлениям разработчиков, выглядит так:

соединение RDP

safeRDP - защита сервера
Выглядит, конечно, визуально вроде как наглядно, но как-то не очень детально и подробно, посему обращаемся еще и к текстовому описанию сервиса от разработчиков, которое выглядит следующим образом:

Безопасность и преимущество нашей системы обусловлены следующим:

  • Подмена IP-адреса и порта сервера/устройства (причем совершенно независимо от места расположения сервера)
  • Защита от сканирующих программ различного типа *
  • Всегда лучше скрыть сервер, чем окончательно уничтожить его или его данные в случае проблем со взломом или внештатных ситуаций
  • Управление доступностью сервера (нами предоставляется ПО, позволяющее управлять каналом связи с сервером), позволяющее прерывать полностью сеансы связи с доступом
  • Перенаправление портов и наличие шифрования
  • Никакого физического воздействия на сервер (в том числе, вообще никаких ресурсов железа пользователей/сервера не используется, т.е не создается нагрузка и нет необходимости что-то дополнительно покупать/настраивать)
  • Вход на сервер осуществляется с единого IP-адреса или его дублёра
  • Наши сотрудники не имеют доступа к Вашему серверу ни в каком виде, равно как его не имеют и злоумышленники извне
  • Сервис не оказывает практически никакого влияния на скорость работы, будь то излишние сетевые задержки или, как говорилось выше, физические ресурсы
  • Отсутствие "черных ходов" (т.е. нет предусмотренных, как говорится, "на всякий случай", способов обойти систему)
  • Отсутствуют нарушения действующего законодательства, что делает сервис законным и честным
  • Простота настройки, ибо справится любой пользователь с почти что любым уровнем знаний ПО

* - защита от сканирующих программ. Подразумевается, что, в основном, во многих «инструкциях» к добыванию (взлому) указаны три основных шага, а именно: (1) -  сканирование диапазонов IP; (2) - сканирование портов на доступных IP; (3) - процесс подбора паролей. А посему, если, как минимум, исключить первый шаг, то последующих может и не быть. Наша система позволяет это сделать.

Более подробную информацию можно почитать на сайте самого сервиса, чем и рекомендуем Вам заняться.

Мы же считаем, что слова словами, картинки картинками, а нам, как и всегда, важно проверить всё вышенаписанное вживую. Посему давайте в деталях посмотрим, как это выглядит поэтапно:

  • Для начала, собственно, мы делаем заказ услуги, дабы получить пробный доступ и посмотреть, что это за штука такая, благо такая функция имеется (покупать сразу кота в мешке было бы глупо). Для этого переходим на сайт и оформляем пробный заказ:пробный заказ safeRDPПримечание: Вам, конечно же, не обязательно писать именно такое письмо по содержанию, чтобы получить демо-доступ. Достаточно оформить заказ, и Вы сможете проверить сервис на своём канале/оборудовании в течение определенного промежутка времени.
  • В ответ на заявку, как правило, приходит письмо примерно следующего содержания (опубликовано с разрешения поддержки сервиса):

    Здравствуйте.
    Для настройки услуги SafeRDP сообщите, пожалуйста, на какой IP/порт* должно осуществляться подключение.
    Далее мы создаем для Вас индивидуальное правило, и Вы подключаетесь уже на новый предоставленный нами IP/порт.

    * - если не указано, то используется 3389 (порт по умолчанию), а после добавления правила система SafeRDP в течение часа будет готова к работе.

    Дальше, собственно, Вам остается указать свои данные и получить тестовый доступ.

  • После того, как всё настроено и заработало, собственно, остается сделать проверку. В простейшем случае это делается путём команды "Пуск - Выполнить - mstsc.exe" и нажатием кнопочки "ОК":подключение к удаленному рабочему столу
    Где вводим полученные данные, а именно IP+порт, а так же логин и, чуть позже, пароль. После чего попадаем на свой родной сервер, но по новому адресу:подключение через safe RDP
    Что ж, уже хорошо. Значит, всё работает.
  • Проверить, так сказать, новое местоположение сервера, можно, скажем, используя whois или nslookup, благо онлайн-сервисов для того существует великое множество.
  • Проверить же кое-какие иные нюансы можно, используя сканеры портов или сервисы, подобные услуги предоставляющие. Думаю, что для многих найти оные не составит труда, а опытные администраторы кое-что почерпнут для себя из банальных netstat и traceroute.
  • Так же заботливые разработчики сервиса делятся с Вами полезным скриптом, который очищает историю RDP-соединений:

    @ECHO OFF
    ::win 7 + win xp
    ::удаляет ветку реестра в которой хранятся записи о IP серверов на которые заходил пользователь
    reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client" /f

    ::отключает запущенный сеанс удаленного рабочего стола
    taskkill /F /IM mstsc.exe

    ::стирает скрытый файл Default.rdp который тоже помнит куда заходили (ХР)
    pushd %USERPROFILE%\Мои документы\
    del /A /S /F *.rdp
    popd

    ::стирает скрытый файл Default.rdp который тоже помнит куда заходили (WIN 7)
    pushd %USERPROFILE%\Documents\
    del /A /S /F *.rdp
    popd

    ::удаляет все ярлыки *.rdp с рабочего стола
    pushd %USERPROFILE%\Рабочий стол\
    del *.rdp
    popd

    ::очищает диспетчер учетных данных
    pushd %USERPROFILE%\AppData\Roaming\Microsoft\Credentials\
    del /Q /A H *.*
    popd

    ::очищает диспетчер учетных данных
    pushd %USERPROFILE%\AppData\Local\Microsoft\Credentials\
    del /Q /A H *.*
    popd

    ::очищает список недавно использованных програм (строка закомментирована т.к этот файл для WIN7, если используем XP то нужно убрать двоеточие на след. строке)
    ::pushd %UserProfile%\Recent\
    ::del *.* /Q

    ::очищает список недавно использованных програм (WIN 7)
    del %appdata%\microsoft\windows\recent\automaticdestinations\* /Q /F

    ::стирает сам себя
    del /Q /F %fpath%%~nx0

    ::стирает сам себя дубль два (на всякий случай)
    del %0

    Собственно, мы проверили. Работает.

  • Ко всему прочему, заказчиком после окончания тестового периода и оплаты будет выдана программа на случай внештатных ситуаций. Занимается она тем, что удаляет определенную ветку реестра (которая сохраняет информацию об IP, на которые подключались), стирает default.rdp из документов пользователя (как правило, сие есть скрытый файл), а еще, само собой, подтирает все ярлыки с рабочего стола с расширением *.rdp и сохраненные данные в диспетчере учетных данных. После чего, оная удаляет сама себя, предварительно закрыв все соединения и доступ к каналу. В случае же использования подобного отключения клиент, по желанию, сообщает о намерении возобновить работу канала письмом по электронной почте со своего почтового ящика с указанием контрольной информации. Письма, не содержащие контрольную информацию, игнорируются, что, как Вы понимаете, важно для безопасности.

В двух словах как-то так.
Мы поковырялись, в общем-то работает вполне бодро. Пользоваться или нет - решать Вам.

Послесловие

Такая вот получилась не совсем стандартная статья. Как и всегда, если есть какие-то вопросы, пожелания, мысли, дополнения и прочее, то смело пишите в комментариях к этому материалу.

Ну и, конечно же, оставайтесь с нами! Всё, как и всегда, для Вас и только для Вас! ;)

Оценить —

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(4 голоса, в среднем: 5 из 5)

Подписаться —

RSS Email Facebook Twitter G+ YouTube
Темы:  , , ,

Комментарии к статье

  1. Sonikelf

    Как бы первый :)

    • Sol

      Как бы мой мозг взорван, как же мне тяжело дается все что связанно с сетями... при том что статья то написана отлично. =)

      • Sonikelf

        Главное, что есть куда стремиться :)

  2. Станислав

    Ну данный способ актуален, если копутер не находится за роутером в режиме роутера.
    В противном же случае без проброса портов на самом роутере к компу/серверу подключиться и так не получится по внешке :-)
    Да и многие провайдеры режут доступ извне (на своем оборудловании) по левым портам, если не подключен внешний Ip адрес

  3. Артём

    Наконец-то серьёзная статья. Спасибо.
    Хотелось бы увидеть комментарии знающих людей.

    Ну а мне здесь делать нечего.
    Пойду запасусь поп-корном :-)

  4. stalker

    RDP для пользователя - это путь для заблудшей души..
    RDP = Так вот и живет бухгалтер,тело прописано в душном1 офисе, а душа в 1С на Кипре ))

    • Sonikelf

      Сурово, ноя бы не был так категоричен :)

  5. Андрей

    Спасибо, познавательно, но я думаю, для 99% рядовых пользователей не очень актуально IMHO :roll: . А мы к вам тоже заходим :lol: А насчёт настройки файервола на роутере ничего нет ? :shock:

    • Sonikelf

      Для рядовых, да, а вот не для совсем рядовых - полезно, тем более, что для них то как раз статей тут немного :)

  6. вадим

    Спасибо,действительно интересно и познавательно.
    Понял правда не всё,а точнее дафига чего не понял :smile:
    С whois и nslookup всё понятно,а вот для чего прятать сервер
    по протоколу RDP от самого себя не понятно.
    Боюсь показаться наивным но не проще использовать VPN. ;-)
    P.S простым языком про vpn

    • Sonikelf

      В том-то и штука, что не от самого себя :)

  7. neuch58

    Kamerad Sonikelf может рассказать, где на материнке находится порт 3389?
    Я на своей нашел только 232, 775 и 1394 :-(
    Темнит Белов... :-)

    • Sonikelf

      Странная шутка юмора :)

      • neuch58

        "Рядовому на привале нет хлопот,
        -Лишь бы в баню запустили в женский день..." (почти Сhigh)
        58 45 41

      • neuch58

        PS рядовой Neuch, 192.168.1.58:3389

  8. k909

    Прикольная штука, добавил в избранное.
    Единственное, что не озвучено - использование сертификатов.
    Чтобы шифровать трафик.
    У нас между офисами VPN, и еще терминальник по сертификатам.
    Спросил у SafeRDP, кроме того, что быстро ответили, подтвердили что должно работать, я бы проверил, но наружу RDP у меня не торчит.

    Дополнительная защита не помешает.

    • Sonikelf

      Да, забыл упомянуть. Спасибо за комментарий.

  9. Евгений Павлович

    Одного не понял, если будем подключаться через SafeRDP, то все равно нужно открывать свой сервер для этого сервиса, то есть зачем перебирать виртуальный IP, если физический все равно остается открытым?

    • k909

      Так ты открываешь доступ на FW только с IP адресов SafeRDP, а остальные будут игнорироваться.
      В противном случае, у тебя будет куча событий, и трудно будет определиться, где легитимный пользователь а где нет...
      Или тогда можно использовать GeoIP, но и там ошибки возможны, а если пользователь в другом городе?

      • Евгений Павлович

        Спасибо за ответ. Теперь все ясно.

  10. Евгений Павлович

    У меня возникает ещё два вопроса:) :

    1. По виртуальному IP не смогут ли брутить физический сервак, что им (злоумышленникам) мешает? Какие у них там технологии предотвращения брута?
    Не проще ли поставить в конце концов нормальный фаервол или в политиках установить блокировку на M минут после N неудачных попыток ввода логина-пароля?
    Или скрыть сервер за Керио на линуксе.

    2. Весь RDP трафик будет ходить через SafeRDP? Не скажется ли это на отклике при работе по RDP ?

    • k909

      1. Спросите техподдержку, они быстро и качественно отвечают
      На свое стороне Вы можете так и сделать, ограничить количество неудачных попыток.
      А качественный файер стоит на порядок/два порядка дороже стоимости услуг SafeRDP
      Выбор за Вами.
      2. Это может быть или лучше или хуже :smile:
      Как минимум можно попробывать.
      Что мешает повесить мониториг на их IP адреса и смотреть нагрузку/отклик?
      Я использую SmokePing и Zabbix. Уже не раз выручало, когда пинаешь провайдера и показываешь графики.

      • Евгений Павлович

        1. Спросите техподдержку, они быстро и качественно отвечают

        Послать на тех.поддержку легче всего, но поймите меня, смысл мне слушать заинтересованное лицо (спасибо лапшу не заказывали), если я хочу послушать независимых ИТшников, я так понимаю они в этих комментариях появляются.
        Вопрос остается открыт, о целесообразности этого прокси для защиты от брута.

        А качественный файер стоит на порядок/два порядка дороже стоимости услуг SafeRDP

        Сейчас вопрос не в деньгах, а в безопасности.
        И разница не большая, для компании.
        Сейчас совершенно нет смысла обсуждать стоимость.

        С уважением.

  11. валерий

    здравствуйте, проблема следующая: захожу в любой браузер ,пишет, ошибка подключения прокси серверу и инструкция как это исправить, выполняю действия по инструкции:захожу свойства обозревателя> подключение> настройка сети> ставлю галочку автоматическое определение параметров> убираю галочку использовать прокси сервер для локальных подключений> нажимаю окей͵ захожу снова > подключение >настройка сет>и все галочки на прежнем месте ничего не изменилось. подскажите что делать,

  12. Александр

    Я только учусь азам компьютера но думаю все эти RDFы и VPNы простые шпионы которые контролируют твоё присутствие в интернете. Те же комплексные защиты иностранных производств могут замутить маленькую отчётную отправку в свой центр, а что отправляется, кто принимает нам неизвестно. Давно существуют программы прослушки телефонов, которые включают запись от определённого слова или фразы.Лучший совет поменьше доверять.

    • k909

      Александр, не нужно путать теплое с мягким :smile:
      Топик предназначался в первую очередь защиту не от прослушки, а от атаки.
      Поэтому реальный IP адрес сервера неизвестен, и вся атака идет на SafeRDP.
      Это все обсуждалось в коментах
      Ввиду того, что у вас только азы компьютера, информация не верная о прослушке VPN, и отправке отчетов .

      Я не вижу смысла здесь ее обсуждать, это выходит за рамки данного топика.
      Зайдите на профильные сайты/форумы (защита, безопасность) и почитайте. Будет другое мнение.

      Волка бояться - в лес не ходить (с) народная мудрость.

* - комментарии могут появляться не сразу (или попасть в спам)