Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Защита rdp (3389) порта

Автор: IoanSz
Дата сообщения: 18.07.2012 13:31
[more] [more] Добрый день.

Подскажите, пожалуйста. Необходимо защитить проброшенный в локальную сеть rdp порт от перебора паролей, нашел вот такой набор правил для защиты ssh порта самого микротика.
----------------------------------------
/ip firewall filter

add chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop comment="drop ssh brute forcers" disabled=no

add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_stage3 action=add-src-to-address-list address-list=ssh_blacklist address-list-timeout=10d comment="" disabled=no

add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_stage3 address-list-timeout=1m comment="" disabled=no

add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_stage1 action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m comment="" disabled=no

add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list address-list=ssh_stage1 address-list-timeout=1m comment="" disabled=no
-------------------------------------------------
Вот такой вопрос: Будет ли справедлив такой набор правил для порта 3389?
Под рукой микротика нет, а удаленно на нем играться с такими правилами - дурная примета .
Проверить смогу только в выходные.
Может до этого времени кто-нибудь что подскажет дельное по этому вопросу.
Заранее благодарен за любую помощь. [/more] [/more]
Автор: vlary
Дата сообщения: 18.07.2012 13:40
IoanSz
Цитата:
Всего записей: 1 | Зарегистр. 18-07-2012
Читай правила, пользуйся поиском, да и вообще потрудись хотя бы на первую страницу раздела взглянуть, прежде чем писать:
Firewall *nix: iptables, ipfw, pf etc...
Автор: IoanSz
Дата сообщения: 18.07.2012 13:44
Кратко, емко и бесполезно.
Но все равно спасибо.
Автор: Ruza
Дата сообщения: 19.07.2012 11:45

Цитата:
нашел вот такой набор правил для защиты ssh порта самого микротика.


Микротик защищает себя сам, не только с помощью правил firewall'a.


Цитата:
Вот такой вопрос: Будет ли справедлив такой набор правил для порта 3389?

Нет.
Автор: IoanSz
Дата сообщения: 20.07.2012 15:52
[more] Добрый вечер.

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

Привожу пример правил.

/ip firewall filter

add chain=forward protocol=tcp dst-port=3389 src-address-list=rdp_blacklist action=drop comment="drop rdp brute forcers" disabled=no
add chain=forward protocol=tcp dst-port=3389 connection-state=new src-address-list=rdp_stage2 action=add-src-to-address-list address-list=rdp_blacklist address-list-timeout=10d comment="" disabled=no
add chain=forward protocol=tcp dst-port=3389 connection-state=new src-address-list=rdp_stage1 action=add-src-to-address-list address-list=rdp_stage2 address-list-timeout=10m comment="" disabled=no
add chain=forward protocol=tcp dst-port=3389 connection-state=new action=add-src-to-address-list address-list=rdp_stage1 address-list-timeout=10m comment="" disabled=no

Получается что IP адрес подбирающего пароль попадает в список rdp_stage1 после первого соединения по протоколу RDP, в список rdp_stage2 после второго соединения (первое обрывается после 6 неверных вводов пароля), а вот уж после третьего соединения (т.е. еще 6 вводов) он уже банится. Итого получается что злоумышленник успевает набрать 12 паролей и отправляется в баню, в нашем случае на 10 суток.
Думаю что пользователю, имеющему доступ к серверу, ошибиться в наборе пароля 12 раз будет не просто, ну а если будут подобные эксцессы, ничто не мешает добавить еще пару шагов, в любом случае это нас избавит от 1 000 записей в логах сервера.

Как-то. Все же справедливо мнение что ру форумах, после того как задал вопрос, тебя обольют грязью (спасибо что тут такое не сделали) и в итоге отправят в поиск. [/more]
Автор: Ruza
Дата сообщения: 20.07.2012 17:01
IoanSz
А откуда микротик знает что пароль не правильный? Может 3 реконекта, при плохой связи и пользоваетль курит в бане,не?
Автор: IoanSz
Дата сообщения: 23.07.2012 05:32
Ruza
Да, ты прав, микротик не может знать о правильности или не правильности пароля, именно три реконнекта. Но как я писал, ничто не мешает увеличить количество шагов до, скажем 5. Или уменьшить время между шагами. В принципе меду шагами стоит время 1 минута, т.е. если повторный реконнект происходит в течении 1 минуты, то только тогда пользователь попадает в список. Суть в том что можно избавиться от тысяч записей в логах сервера.
Автор: Sergey250
Дата сообщения: 23.07.2012 06:09
IoanSz
Ну, во-первых, есть специальная тема MikroTik RouterOS.
Во-вторых, сам тоже занимался этим вопросом и в итоге сделал так: микроток слушает любой другой порт и пробрасывает его в сеть на 3389. У клиентов через двоеточие прописал нужный порт. Думаю довольно простое и эффективное решение. У меня проблема этим была решена.
Автор: IoanSz
Дата сообщения: 23.07.2012 06:30
Sergey250
В принципе тоже решение, но это ведь не защита порта, а скрытие, получается стандартный порт 3389 меняется на произвольный, чем убираем из-под сканирования на открытые стандартные порты, но от перебора паролей данный метод не защищает. Хотя уменьшает в разы количество желающих подобрать пароль.
Автор: Sergey250
Дата сообщения: 23.07.2012 06:57
IoanSz
Скажем так, после смены стандартного порта, количество желающих свелось практически к нулю.
Автор: Ruza
Дата сообщения: 23.07.2012 08:20
IoanSz
Sergey250
Вы оба правы, по своему... Но лучшим решением было бы создание VPN, не?
Автор: IoanSz
Дата сообщения: 23.07.2012 08:24
Ruza
VPN однозначно лучше, никто не спорит, но на данный момент имеется ситуация с открытым RDP в мир, и вот была задача защитить его от перебора паролей.
Автор: urodliv
Дата сообщения: 23.07.2012 08:40
IoanSz
1. По возможности ограничить круг адресов, с которых можно подключиться к серверу. Это возложить на микротик.
2. Подозреваю, что в роли rdp-сервера у вас работает винда. Если это так, то в её средствами задаёте количество попыток входа и таймаут между такими сериями. Только тут есть подводный камень: в момент таймаута зайти под пользователем, пароль которого подбирается, будет невозможно, даже если это будет "легальное" подключение.
Автор: IoanSz
Дата сообщения: 23.07.2012 09:03
urodliv
1. Круг адресов практически невозможно задать так как подключаются по RDP от разных провайдеров с динамическими IP адресами. А добавлять все адреса всех известных провайдеров - по моему, муть.
2. В политике стоит ограничение на 10 неверных вводов пароля и блок на 2 часа. Но от кучи записей с попытками подбора паролей в логах это не избавляет.

Всем спасибо за проявленную активность и советы.
С удовольствием выслушаю еще варианты.
Автор: urodliv
Дата сообщения: 23.07.2012 09:07

Цитата:
Но от кучи записей с попытками подбора паролей в логах это не избавляет

То есть вам "шашечки" нужны? Тогда журналируйте в аудите только успешные подключения.
Автор: IoanSz
Дата сообщения: 23.07.2012 09:18
urodliv

Ок, не совсем правильно сказал. Попытки перебора паролей будут забивать трафик вне зависимости заблокированная учетная запись пользователя или нет, что в условиях ограниченной пропускной способности - не есть гуд. А таким образом атакующего просто отсекаем и не даем ему доступа на порт 3389. Соответственно если таких желающих в один момент времени будет несколько то отсекаем всех. Думаю такая мотивация будет правильней, чем кол-во записей в логах
Если не правильно мыслю - поправьте меня.
Автор: TokImota
Дата сообщения: 23.07.2012 10:24
а к какой винде пробрасывается? если ws2008 или выше то можно и настройки rdp покрутить , хотя бы поставить NLA (правда клиенты тоже должны поддерживать NLA)
Автор: vlary
Дата сообщения: 23.07.2012 10:34
IoanSz Имеется совершенно простой и бесплатный вариант повышения секурности RDP порта.
Если он у вас проброшен, то просто меняете порт, на который он проброшен, с 3389 на какой-либо 34567. Если тупо торчит наружу интерфейс, в настройках RDP меняете порт.
Сообщаете новый номер порта тем, кого это касается.
Автор: IoanSz
Дата сообщения: 23.07.2012 10:39
TokImota
Win Server 2003
vlary
Да, этот вариант выше обсуждался. Но, повторюсь, это не защита порта, а скрытие его.
Автор: tankistua
Дата сообщения: 23.07.2012 11:22
если не можете авторизовать удаленных пользователей по IP - смените порт.

у меня ссш на 10011 болтается - за 4 года ни разу не подбирали пароли. А стоило не загрузить файервол на серваке, так на следующий день лог на 200 килобайт с подборами.
Автор: IoanSz
Дата сообщения: 23.07.2012 12:41
tankistua
Sergey250
Последовал ваши настоятельным рекомендациям и в дополнение к правилам перевесил еще и порт на не стандартный.
З.Ы. Попахивает паранойей, но что поделать Как говорится лучше перебдить, чем недобдить.
Думаю, что тему можно закрывать.
Автор: mark74
Дата сообщения: 12.09.2012 10:10
У меня десяток серверов как под Win2k3 так и под XP как со статическими так и с динамическими IP. На всех этих серверах в течении нескольких лет наблюдаю в журнале безопасности множество записей аудита отказов.

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

Единственное что я делаю иногда, это настраиваю Политику безопасности IP и блокирую вручную подсети из которых идут запросы:



Есть варианты автоматизации. Например PowerShell + фаервол wipfw. Но с WinXP такой, не прокатывает, вроде бы. Так как в журнал не пишутся адреса с которых идут попытки подключения.

Настоящим решением будет firewall который сам способен распознавать атаку на RDP-сервер и блокировать адрес-источник, а не учётную запись пользователя как это можно (и должно!) настроить в политике блокировки учетной записи.
Автор: Ruza
Дата сообщения: 12.09.2012 11:08
mark74

Цитата:
Настоящим решением будет firewall который сам способен распознавать атаку на RDP-сервер и блокировать адрес-источник

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

И почему на картинке блокируется /24, ведь whois говорит что надо 195.144.192.0/19

Цитата:
[root@www ~]# whois 195.144.205.44
[Querying whois.ripe.net]
[whois.ripe.net]
inetnum: 195.144.192.0 - 195.144.223.255
netname: RU-LVS-970402
descr: CJSC Togliatti Telecom
country: RU
org: ORG-BSJ1-RIPE
admin-c: AK4799-RIPE
tech-c: YM12-RIPE
status: ALLOCATED PA
mnt-by: RIPE-NCC-HM-MNT
mnt-lower: LIR-RU-LVS-MNT
mnt-routes: LIR-RU-LVS-MNT
source: RIPE # Filtered

organisation: ORG-BSJ1-RIPE
org-name: CJSC Togliatti Telecom
org-type: LIR
address: CJSC Togliatti Telecom
Alexey Kurlakov
41 Sverdlova St.
445026 Togliatti, Samara region
RUSSIAN FEDERATION
phone: +78482270002
phone: +78482270270
fax-no: +78482423500
admin-c: AK4799-RIPE
admin-c: OP3333-RIPE
admin-c: YM12-RIPE
mnt-ref: LIR-RU-LVS-MNT
mnt-ref: RIPE-NCC-HM-MNT
mnt-by: RIPE-NCC-HM-MNT
source: RIPE # Filtered

person: Aleksei Kurlakov
address: JSC Togliatti Telecom
address: 41 Sverdlova str
address: Togliatti 445026
address: Russian Federation
phone: +7 8482 420744
fax-no: +7 8482 420740
nic-hdl: AK4799-RIPE
mnt-by: TOTCOM-MNT
source: RIPE # Filtered

person: Yuri Mailjan
address: AVTOVAZ DIS
address: Yushnoje shosse 36
address: 445024 Togliatti
address: Samara region
address: Russia
phone: +7 8482 757444
nic-hdl: YM12-RIPE
mnt-by: VAZ-MNT
source: RIPE # Filtered

% Information related to '195.144.192.0/19AS8249'

route: 195.144.192.0/19
descr: Togliatti Telecom Service Provider networks
origin: AS8249
mnt-by: TOTCOM-MNT
source: RIPE # Filtered
Автор: mark74
Дата сообщения: 13.09.2012 05:21
Ruza

Цитата:
И почему на картинке блокируется /24, ведь whois говорит что надо 195.144.192.0/19


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


а что касается интеллектуального фаирвола, в sygete что то подобное возможно есть:
Автор: Ruza
Дата сообщения: 13.09.2012 14:25
mark74

Цитата:
а что касается интеллектуального фаирвола, в sygete что то подобное возможно есть:

То немного не то что ты думаешь... Отличить хакера от забывчивого юзера практически не возможно, как не крути...
Поэтому варианты защиты - это:
1. VPN
2. Ограничение IP адресов по принципу всё запрещено, разрешено только избранным.
3. Не стандартный порт.
4. Ну и ручное блокирование (но это не тема т.к. сильно зависит от человеческого фактора)
Автор: ITP08
Дата сообщения: 22.09.2012 18:39
анализирую журнал системы, после заношу в firewall, скрипт запускается каждый час
(пока работает)



Option Explicit

Dim objWMIService
Dim wmiDateTime

Dim objEvent
Dim colEvents
Dim dtmEventTime
Dim strEventQuery

Dim strMsg

Dim strPos
Dim strLength

Dim arrIP(10,2)
Dim idx

Dim objRequest






Sub GetHTTP(objRequest,stURL)

    objRequest.open "GET", stURL, False

    objRequest.setRequestHeader "Authorization", "Basic ZZZZZZZZZZZZZ="
    objRequest.setRequestHeader "User-Agent", "XXXXXXXXXXXXXXXXXXXX"
    objRequest.setRequestHeader "Accept", "YYYYYYYYYYYYY"
    objRequest.setRequestHeader "Accept-Language", "ru-RU,ru;q=0.9,en;q=0.8"
    objRequest.setRequestHeader "Referer", "http://modem"
    objRequest.setRequestHeader "Cache-Control", "no-cache"
    objRequest.setRequestHeader "Connection", "Keep-Alive"
    objRequest.send

    'WScript.Echo objRequest.Status

End Sub


strMsg = ""

For idx = 1 to 10

arrIP(idx - 1,0) = ""
arrIP(idx - 1,1) = 0

Next


On Error Resume Next
Set objWMIService = GetObject("winmgmts://./root/cimv2")
If Err.Number Then
WScript.Quit
End If

Set wmiDateTime = CreateObject("WbemScripting.SWbemDateTime")
If Err.Number Then
WScript.Quit
End If
On Error Goto 0

// проверять последний час
dtmEventTime = DateAdd("h",-1, Now)

wmiDateTime.SetVarDate dtmEventTime, True

strEventQuery = "SELECT * FROM Win32_NTLogEvent WHERE LogFile='Security' AND SourceName = 'Security' AND EventCode = '529' AND TimeGenerated > '" & wmiDateTime.Value & "'"

On Error Resume Next
Set colEvents = objWMIService.ExecQuery(strEventQuery)
For Each objEvent in colEvents
If Err.Number Then
WScript.Quit
End If
On Error Goto 0

        strMsg = objEvent.Message

        strPos = instr(strMsg,"Адрес сети источника:") + len("Адрес сети источника:")
        strLength = instr(strMsg,"Порт источника:") - strPos

        strMsg = Replace(Mid(strMsg,strPos,strLength),vbCrLf,"")
        strMsg = Trim(Replace(strMsg,vbTab,""))

        idx = 1
        For idx = 1 to 10

            if arrIP(idx - 1,0) = strMsg Then
                Exit For
            elseif    arrIP(idx - 1,0) = "" then
                arrIP(idx - 1,0) = strMsg
                Exit For
            End If

        Next

        if idx < 10 Then
            arrIP(idx - 1,1) = arrIP(idx - 1,1) + 1
        End If

Next
On Error Goto 0




Set objRequest = CreateObject("WinHttp.WinHttpRequest.5.1")

if objRequest is Nothing then
    WScript.Quit
end if


strPos = 0

For idx = 1 to 10

    if (arrIP(idx - 1,0) <> "") and (arrIP(idx - 1,0) <> "xxxx") and (arrIP(idx - 1,0) <> "yyyyy") and (arrIP(idx - 1,0) <> "jjjjjj") Then

    if arrIP(idx - 1,1) > 10 Then

        if strPos = 0 Then
        
            '//Auth
            call GetHTTP(objRequest,"http://modem")

        End If

        '//AddFilter
        call GetHTTP(objRequest,"http://modem/scipfilter.cmd?action=add&wanIf=ALL&fltName=0&IPFltAllow=0&protocol=0&srcAddr=" & arrIP(idx - 1,0) & "&srcMask=255.255.255.255")

        strPos = 1

    End If
    End If

Next

Set objRequest = Nothing

Автор: mark74
Дата сообщения: 24.09.2012 08:55
ITP08
очень хорошо!
обязательно проверю!
По крайней мере, в части обращения к журналу безопасности. Самому-то поиметь эти знания лень было а тут готовое ))
С фаерволом сложнее роутеры везде разные, где то просто ADSL-модем без встроенного фаервола.
Пока больше нравится идея через политику безопасности блокировать. Тоже наверное как-то можно автоматизировать.
Автор: DenIsKaSedoY
Дата сообщения: 15.11.2014 21:29
Приветствую!

Извините за поднятие темы, но может кому то пригодится.

Тоже стали напрягать боты, после ковыряния интернетов нашёл IPBan, работает как сервис на Windows Server 2008 и выше (проверял на 2008r2 английской).
Автор: YBRUKAX
Дата сообщения: 12.10.2015 11:14
Да, будет!
Реализуется на Mikrotik. Только необходимо отредактировать под RDP:
    
/ip firewall filter

add chain=input protocol=tcp dst-port=3389 src-address-list=rdp_blacklist action=drop comment="drop rdp brute forcers" disabled=no

add chain=input protocol=tcp dst-port=3389 connection-state=new src-address-list=rdp_stage3 action=add-src-to-address-list address-list=rdp_blacklist address-list-timeout=10d comment="" disabled=no

add chain=input protocol=tcp dst-port=3389 connection-state=new src-address-list=rdp_stage2 action=add-src-to-address-list address-list=rdp_stage3 address-list-timeout=1m comment="" disabled=no

add chain=input protocol=tcp dst-port=3389 connection-state=new src-address-list=rdp_stage1 action=add-src-to-address-list address-list=rdp_stage2 address-list-timeout=1m comment="" disabled=no

add chain=input protocol=tcp dst-port=3389 connection-state=new action=add-src-to-address-list address-list=rdp_stage1 address-list-timeout=1m comment="" disabled=no
Автор: dimasss1985
Дата сообщения: 06.03.2016 08:55
Вот мое решение для автоматической блокировки IP по аудиту отказа. Просто и функционально.

http://infostart.ru/public/462816/

Страницы: 12

Предыдущая тема: Проблемы с резервным КД


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.