Имя: Пароль:
IT
Админ
Как правильно защищать RDP от брутфорса?
0 PR
 
25.07.24
17:48
Дома стоит сервер, наружу торчит 1С и RDP
С 1С все понятно, ничего страшного
А вот RDP в последнее время начали брутфорсить, то поляки, то укры
При этом RDP нужен только мне
Понятно, что правильнее всего сделать VPN или закрыть RDP вообще
Но, если все-таки без VPN и не закрывать вообще, то как?
Сразу скажу, дефолтный порт поменял, в брандмауере некоторые особенно наглые IP режу
Но хотелось бы попроще и понадежнее как-то
1 Fragster
 
25.07.24
17:49
есть ли под винду аналог fail2ban? есть ли под винду аналог port knocking?
2 Fragster
 
25.07.24
17:49
есть ли возможность на роутере настроить port knocking?
3 PR
 
25.07.24
17:51
(1) Про fail2ban не знаю, что это?

Про port knocking встречал, что есть такая тема (не под винду, а в принципе), но не изучал детально пока
Там тема, что не прорвутся, или что не будут регистрироваться в журнале событий винды?
4 PR
 
25.07.24
17:53
(2) Я, когда гуглил, видел примеры для Микротиков, у меня Асус, не увидел там такого, может плохо смотрел
5 Garykom
 
25.07.24
17:59
(1) fail2ban для RDP то еще извращение
port knocking штука хорошая
но проще и надежней VPN
6 Garykom
 
25.07.24
18:03
Если надо на любом роутере то проще всего поднять nginx
На своем компе, куда с роутера порт проброшен
Точнее даже не nginx а OpenResty с поддержкой скриптов на Lua
И там ваять что угодно

Ну или банально RDP with SSL
7 RoRu
 
25.07.24
18:05
(0) а чем плох ВПН? у клиентов опен впн поднят у одних , у других циско эни коннект
8 Garykom
 
25.07.24
18:06
9 zenon46
 
25.07.24
19:02
Я использую RDPGuard, отличная прога.
10 Fram
 
25.07.24
19:10
(0) поменяй порт еще раз, и не публикуй в этот раз нигде
11 PR
 
25.07.24
19:22
(6) Что такое nginx и OpenResty, если в двух словах?
И что такое RDP with SSL?
12 PR
 
25.07.24
19:22
(7) Тем, что клиентам нужно подключаться и тем, что на роутере максимум 10 подключений
13 PR
 
25.07.24
19:22
(9) Спасибо, гляну
14 PR
 
25.07.24
19:22
(10) В смысле "и не публикуй в этот раз нигде"?
Я и в этот раз нигде не публиковал
15 PR
 
25.07.24
19:25
Вообще, если предметно, я хочу, чтобы в журнале событий виндоус пропали записи типа такой
Может, я вообще на воду дую и можно забить на это
А может они и не пропадут, просто залогиниться не смогут

Пример записи
Учетной записи не удалось выполнить вход в систему.

Субъект:
    ИД безопасности:        NULL SID
    Имя учетной записи:        -
    Домен учетной записи:        -
    Код входа:        0x0

Тип входа:            3

Учетная запись, которой не удалось выполнить вход:
    ИД безопасности:        NULL SID
    Имя учетной записи:        ADMIN
    Домен учетной записи:        -

Сведения об ошибке:
    Причина ошибки:        Неизвестное имя пользователя или неверный пароль.
    Состояние:            0xC000006D
    Подсостояние:        0xC0000064

Сведения о процессе:
    Идентификатор процесса вызывающей стороны:    0x0
    Имя процесса вызывающей стороны:    -

Сведения о сети:
    Имя рабочей станции:    -
    Сетевой адрес источника:    194.180.49.40
    Порт источника:        0

Сведения о проверке подлинности:
    Процесс входа:        NtLmSsp
    Пакет проверки подлинности:    NTLM
    Промежуточные службы:    -
    Имя пакета (только NTLM):    -
    Длина ключа:        0

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

Поля "Субъект" указывают на учетную запись локальной системы, запросившую вход. Обычно это служба, например, служба "Сервер", или локальный процесс, такой как Winlogon.exe или Services.exe.

В поле "Тип входа" указан тип выполненного входа. Наиболее распространенными являются типы 2 (интерактивный) и 3 (сетевой).

В полях "Сведения о процессе" указано, какая учетная запись и процесс в системе выполнили запрос на вход.

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

Поля сведений о проверке подлинности содержат подробные данные о конкретном запросе на вход.
    - В поле "Промежуточные службы" указано, какие промежуточные службы участвовали в данном запросе на вход.
    - Поле "Имя пакета" указывает на подпротокол, использованный с протоколами NTLM.
    - Поле "Длина ключа" содержит длину созданного сеансового ключа. Это поле может иметь значение "0", если сеансовый ключ не запрашивался.
16 Garykom
 
25.07.24
19:27
(11) nginx
это HTTP-сервер и обратный прокси-сервер, почтовый прокси-сервер, а также TCP/UDP прокси-сервер общего назначения

очень крутая штука, используют много кто и где

OpenResty это сборка на основе nginx с добавками
Например добавлен язык скриптов Lua, на котором можно писать правила обработки запросов/ответов

RDP with SSL - появилось еще со времен W2k3 сервера, защита/шифрование соединения RDP протоколом SSL, через сертификаты
Нет сертификата/ключа - в пролете при подключении
17 Garykom
 
25.07.24
19:33
(16)+ на OpenResty можно наваять на Lua свой fail2ban
со своими ip и запретами
например несколько попыток неудачных подключения по порту (анализируем время подключения и отключения) - пошел нафик на время, баним
на сколько банить сам в скрипте можешь решить
https://habr.com/ru/articles/321864/
список ip и попыток подключений можно вести в sqlite
18 Garykom
 
25.07.24
19:37
(17)+ аналогично можно легко на OpenResty + Lua сделать port knocking
браузером стукаешься в порт, тебе выводят страничку с полем
вводишь код - если ОК то порт начинает перенаправляться на локальный RDP для твоего ip

причем все средствами nginx/lua, никаких еще апачей и прочих веб-серверов не надо
19 vde69
 
25.07.24
20:29
(0)

1. для начала загони RDP на левый порт
2. ограничь доступ к этому порту IP адресами РФ, а лучше своего региона + мобильные операторы (файлик с масками)
20 Garykom
 
25.07.24
20:49
(19) вот это ограничь - как сделать легко?
21 vde69
 
25.07.24
21:43
Пример 8. Разрешить доступ по протоколу RDP только с определенного внешнего IP-адреса

Предположим, что в Keenetic с помощью правила переадресации портов открыт доступ для подключения из Интернета к домашнему компьютеру по протоколу RDP (TCP/3389). Но в этом случае порт будет открыт для всех IP-адресов из Интернета. В целях безопасности рекомендуется разрешить доступ по RDP только с определенного внешнего IP-адреса. Сделать это можно с помощью правил межсетевого экрана на внешнем интерфейсе интернет-центра "Провайдер" (или другом, через который осуществляется доступ в Интернет).

Создайте сначала разрешающее правило для доступа с определенного IP-адреса на порт TCP 3389, а потом запрещающее правило для всех IP-адресов на порт TCP 3389.
В нашем примере разрешено подключение только с публичного IP-адреса 93.94.95.96.

https://help.keenetic.com/hc/ru/articles/360000991640-%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB-%D0%BC%D0%B5%D0%B6%D1%81%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B3%D0%BE-%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0#8
22 Garykom
 
25.07.24
21:56
(21) Ты это не увиливай
Как с одного ip разрешить это легко

Вот это:
2. ограничь доступ к этому порту IP адресами РФ, а лучше своего региона + мобильные операторы (файлик с масками)

Как сделать?
23 vde69
 
25.07.24
22:13
24 Garykom
 
25.07.24
22:27
(23) И снова увиливаешь :)
Не проблема добавить белый и черный списки ip на роутере
Проблема как их получить! Откуда взять?
25 Garykom
 
25.07.24
22:28
(24)+ сервисы GeoIP ? какие? как прикрутить на роутер?
26 Garykom
 
25.07.24
22:29
27 vde69
 
25.07.24
22:30
(24) https://suip.biz/ru/?act=all-country-ip&country=RU&all

обновлять вручную раз в месяц...
28 Garykom
 
25.07.24
22:32
(27) скачал, попробовал найти свой 92.101.89.XXX
не нашел - я не в РФ?
не смогу зайти???
29 Garykom
 
25.07.24
22:35
(28)+ уехал в Тай или еще куда в отпуск - не смогу зайти если забыл исправить?
30 Zamestas
 
26.07.24
01:02
(29) На RDP ограничение по IP из (27), для Тая - VPN наружу высунуть.
31 thezos
 
26.07.24
02:21
(0) Аналогичная проблема. В итоге сделал скрипт на powershell, который делает тоже самое что RDP Guard. Следующий шаг защиты - поднять VPN на роутере.
32 Fram
 
26.07.24
02:52
(14) как тогда "они" узнали в какой порт стучаться?
33 RAJAH
 
26.07.24
06:23
Можно двухфакторную авторизацию Multiotp прикрутить.
34 Valdis2007
 
26.07.24
07:25
(32) элементарно Ватсон...скан портов

Ска́нер порто́в — программное средство, разработанное для поиска хостов сети, в которых открыты нужные порты.
35 arsik
 
26.07.24
09:07
Если у вас сервер - это сервер виндовый, то я бы посоветовал подключатся через шлюз rdp - там сразу SSL есть. Сертификаты можно самому сделать серверный и клиентский и запретить всем кто без сертификата подключается.
https://winitpro.ru/index.php/2022/03/17/nastrojka-shlyuza-remote-desktop-gateway-windows-server/
А вот если там стоит простая винда то тут смотреть нужно.
36 User33
 
26.07.24
09:46
(0) Попробуй прогу RDP Defender. Устанавливается как служба, можно настроить автоматически блокировку и бан адресов при не удачных попытках авторизации. Количество попыток тоже настраивается.
37 PR
 
26.07.24
11:05
Я вообще не понял, (15) — это плохо и что-то нужно делать или фигня, можно не беспокоиться?
И почему в (15) нет порта, через который стучатся?
И как понять, что это RDP?
38 PR
 
26.07.24
11:06
(32) Сначала стандартный был, теперь поменял на нестандартный
Я вообще не пойму, писал в (15), может я на воду дую?
39 PR
 
26.07.24
11:08
Я, что интересно, заинтересовался темой тогда, когда меня как-то раз не пустило через RDP с фразой, что учетка заблочена, слишком много раз был введен неверный пароль
40 Garykom
 
26.07.24
12:36
Выставлять RDP голой жопой в инет нельзя категорически
Ломанут
41 Смотрящий от 1С
 
26.07.24
14:51
Шикарная вещь https://github.com/DigitalRuby/IPBan    Бесплатный аналог fail2ban. У меня на всех серваках молотит. Полет нормальный. Настраивается конфигами. Ничего сложного. Она тестит журналы всех критических сервисов и отслеживает неудачные попытки логинов. Если более скольки то раз неудачно то создает правило на фаерволе с этим ip. Можно настроить срок разблокировки. Правила не плодит, а добавляет в свое. При первом запуске глаза на лоб полезли сколько там нечисти было.
42 Смотрящий от 1С
 
26.07.24
15:03
(41) + конфиги  https://github.com/DigitalRuby/IPBan/wiki/Configuration
(39) Та же фигня была. Когда ты единственный админ на серваке то начинаешь очковать. Сделал запасные учетки после такого случая
43 ТДК
 
26.07.24
15:05
(0) сделать vpn, при количестве пользователей до 100, рекомендую mikrotik
44 PR
 
26.07.24
15:17
(42) Не, ну локально-то меня пустило
Но по RDP не пускало, да
Очкануть я тоже очканул малясь
45 PR
 
26.07.24
15:17
(43) Я же говорю, VPN означает, что даже для доступа к 1С всем нужно будет подключаться по VPN
А я так не хочу
47 Fram
 
26.07.24
17:42
(34) У рдп нет спец отклика. Это придется каждый порт дергать и ждать тайм-аут. Кому он (PR) нафиг нужен
48 Максимка_
Космонавтом
 
26.07.24
17:49
(0) KIS достаточно хорошо банит такие сетевые атаки. Было время китайцы этим прям увлекались, KIS успешно всё обнаруживал и блокировал
49 Garykom
 
26.07.24
17:56
(47) сам факт ответа на порту достаточен для сканера TCP SYN
50 probably
 
26.07.24
17:59
(45) это с чего вдруг? Редирект своего 80 порта можешь оставить.
51 Garykom
 
26.07.24
17:59
(48) когда обнаружен открытый порт (KIS тут не поможет)
начинается перебор протоколов - и тут KIS теоретически может но плохо ибо все банить нельзя
сам файрвол так же определяется сканером и начинают использовать таймауты и обращения с других ip уже по другим протоколам - тут KIS бессилен
52 Максимка_
Космонавтом
 
26.07.24
18:01
(51) Понял. Видимо, мне тогда везло, что такого не было
53 Garykom
 
26.07.24
18:06
(52) кроме профи с ботнетами есть куча мамкиных кулхацкеров, которые с домашнего ip пытаются
и тут KIS на ура ))
Основная теорема систематики: Новые системы плодят новые проблемы.