Перебор портов

Тема в разделе "Маршрутизация", создана пользователем gangz, 30 янв 2017.

  1. gangz

    gangz Новый участник

    Добрый день, форумчане

    Столкнулся с интересной проблемой.

    У меня есть несколько десятков виртуалок с WWW серверами и RDP выброшенными на разных портах.
    С недавнего времени начались попытки перебора паролей в RDP.

    Я знал, что рано или поздно до этого дойдёт и как мог пытался отсрочить этот день, в том числе и защитой от сканирования портов с автобанилкой.

    Злодеи, видимо, прочухав мою наглость начали действовать следующим образом:
    Попытки перебора идут с интервалом в 3-5 секунд.

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

    Прошу вашей помощи, сталкивался ли кто-нибудь с такой дрянью и как вы выходили из подобной ситуации наиболее красивым образом?

    З.Ы. Железка CCR1009-8G-1S-1S+ так что можно давать и тяжёлые для младших моделек решения.
     
  2. Илья Князев

    Илья Князев Администратор Команда форума

    Поставьте правильно правила.
    Вот кусок из действующего файрволла. Смысл в том, что мы блокируем после отправки на проверку и брутфорсер сам себе обновляет блеклист
    Код:
    #Отправляем на проверку все новые соединения по TCP/UDP 3389
    #Обратите внимание отправка ДО БЛОКИРОВКИ. Т.е. Если атакующий не перестанет ломиться, он не вылезет из блеклиста НИКОГДА
    add action=jump chain=forward connection-state=new dst-port=3389 jump-target=check-bruteforce protocol=tcp
    add action=jump chain=forward connection-state=new dst-port=3389 jump-target=check-bruteforce protocol=udp
    
    #Пошла защита от брутфорса. Грохаем все что попало в адрес-лист BruteForcer. Оно специально стоит ПОСЛЕ отправки на проверку.
    add action=drop chain=forward comment=Drop-Bruteforcers connection-state=new src-address-list=bruteforcer
    
    #Общая цепочка проверки на брутфорс. В нее отсылаем при помощи jump на проверку все, что у нас могут ломать
    #CHECK-BRUTEFORCE
    #10 минут вполне достаточно.
    add action=add-src-to-address-list address-list=bruteforcer address-list-timeout=10m chain=check-bruteforce \
    src-address-list=bruteforce-stage-5
    add action=add-src-to-address-list address-list=bruteforce-stage-5 address-list-timeout=1m chain=check-bruteforce \
    src-address-list=bruteforce-stage-4
    add action=add-src-to-address-list address-list=bruteforce-stage-4 address-list-timeout=1m chain=check-bruteforce \
    src-address-list=bruteforce-stage-3
    add action=add-src-to-address-list address-list=bruteforce-stage-3 address-list-timeout=1m chain=check-bruteforce \
    src-address-list=bruteforce-stage-2
    add action=add-src-to-address-list address-list=bruteforce-stage-2 address-list-timeout=1m chain=check-bruteforce \
    src-address-list=bruteforce-stage-1
    add action=add-src-to-address-list address-list=bruteforce-stage-1 address-list-timeout=1m chain=check-bruteforce
     
  3. gangz

    gangz Новый участник

    Спасибо за оперативный ответ, похожим образом дропаю сканеры портов.

    В данный момент у меня порядка 50 нестандартных портов для RDP, получается, что мне нужно продублировать первые 2 строчки 50 раз.

    Нельзя ли как-то порты группировать по аналогии с адрес-листами?
     
  4. Илья Князев

    Илья Князев Администратор Команда форума

    Зачем???
    Filter Forward отрабатывает ПОСЛЕ dst-nat. Т.е. если за машрутизатором порты серверов 3389, а снаружи другие, в файрволе ловим 3389.
    Я образец кинул именно как я делаю последовательность правил. Атакующий висящий на дропе и продолжающий попытки подключения, сам себе продлевает нахождение в блеклисте.
     
    Mama нравится это.
  5. gangz

    gangz Новый участник

    Понял, ещё раз внимательно изучу Traffic Flow Diagram, спасибо)
     
  6. Seinsa

    Seinsa Новый участник

    Илья,

    Я только начал работу с микротиком. Очень понравилась ваша схема по защите от перебора.

    Только вы приводите куски из фаервола. А можно пожалуйста прописать всю последовательность действий которые надо реализовать что бы претворить в жизнь эту защиту.

    Заранее прошу прощения за тупизм
     
  7. Илья Князев

    Илья Князев Администратор Команда форума

  8. Seinsa

    Seinsa Новый участник

    Спасибо огромное! Буду образовываться.
     
  9. z0rg59r

    z0rg59r Новый участник

    подниму тему...

    Здравствуйте, Илья.

    В Микротике поднят L2TP-ipsec сервер.
    Для отлова недоброжелателей использую следующие правила. Правила отлично отрабатывают, если подключаюсь к VPN с телефона. Если подключаюсь с раб. станции под windows, при первом подключении создается адрес-лист, при повторном уже не создается, пока не удалю соединения в connetions- tracker или не удалятся сами по истечении таймаутов.
    Подскажите, в чем может быть проблема, куда смотреть?
    P.S. Mikrotik hapAC (v6.40.2). Во время теста, комп и телефон были в одной сети.

    Код:
    add action=jump chain=input comment="Check Brutforce l2tp/ipsec" connection-state=new dst-port=1701 jump-target=check-bruteforce port="" \
        protocol=udp
    add action=drop chain=input comment=Drop-Bruteforcers connection-state=new src-address-list=bruteforcer
    add action=add-src-to-address-list address-list=bruteforcer address-list-timeout=2w chain=check-bruteforce src-address-list=\
        bruteforce-stage-4
    add action=add-src-to-address-list address-list=bruteforce-stage-4 address-list-timeout=1m chain=check-bruteforce src-address-list=\
        bruteforce-stage-3
    add action=add-src-to-address-list address-list=bruteforce-stage-3 address-list-timeout=1m chain=check-bruteforce src-address-list=\
        bruteforce-stage-2
    add action=add-src-to-address-list address-list=bruteforce-stage-2 address-list-timeout=1m chain=check-bruteforce src-address-list=\
        bruteforce-stage-1
    add action=add-src-to-address-list address-list=bruteforce-stage-1 address-list-timeout=1m chain=check-bruteforce
    add action=accept chain=input comment="Allow L2TP Ports" connection-nat-state="" connection-state="" dst-port=1701,4500,500 protocol=udp
     
    Последнее редактирование: 28 авг 2017
  10. А вас часто брутят по 1701 ? Я бы посмотрел в сторону портнокинга, если хотите увеличить безопасность вашей сети.
     
  11. z0rg59r

    z0rg59r Новый участник

    По 1701, еще ни разу не видел в логах, а вот по ipsec частенько бывает
     
    Последнее редактирование: 29 авг 2017
  12. rvb

    rvb Новый участник

    Добрый день!

    IP адрес сразу попадает во все 6 address-list списков и сразу блокируется. Так и должно быть?

    Версия прошивки 6.42.6
     
  13. нет должно постепенно попадать под правила.
     
  14. rvb

    rvb Новый участник

    Перепутал порядок правил проверки нахождения в address-list, поставил как написано, все работает! :)
     
  15. papakarlo

    papakarlo Новый участник

    Удалось решить проблему?
     
  16. Mikroterdam

    Mikroterdam Новый участник

    Почему в данном примере используется цепочка forward? Я хочу данным методом исключать возможность перебора извне и думаю, что в моём случае цепочка должна быть input (поправьте если ошибаюсь)
    Задача: защитить открытый интерфейс роутера от перебора, также порт RDP

    Похоже это и есть ответ на мой вопрос. Эта проверка как раз и должна проводиться в цепочке forward и указываем мы внутренние порты, а не внешние
     
  17. Илья Князев

    Илья Князев Администратор Команда форума

    Именно.
    Цепочка форвард это ВЕСЬ трафик который идет ЧЕРЕЗ роутер, вне зависимости от направления.
     
  18. Mikroterdam

    Mikroterdam Новый участник

    Настроил себе защиту из этой темы. Через некоторое время обнаружил, что переодически стал пропадать интернет. Залез в winbox и обнаружил свой локальный адрес в check-bruteforce листе. Включил логи для правила. В логах такое (см. скрин)
    vopros1.png

    Локальный ip попадает в список потому что устанавливает новое соединение на внешний ip c dst port 58291 (один из портов, которые я оберегаю от брутфорса и прописал в правиле проверки)

    vopros2.png

    Мой комп заражён? Каким образом ещё может мой компьютер устанавливать соединение по ip 42.109.143.78 в Индию?
     
  19. MaxoDroid

    MaxoDroid Новый участник

    Здравствуйте, форумчане!
    Если у меня стоит NAS, к которому извне подключаются клиенты по протоколу tcp к портам 5000,5001,6690,80,443,5005,5006 и по протоколу udp к портам 5000,5001, то, вероятно, переход в цепочку check-bruteforce должен выглядеть так:
    Код:
    add action=jump chain=forward connection-state=new dst-port=5000,5001,6690,80,443,5005,5006 jump-target=check-bruteforce protocol=tcp
    add action=jump chain=forward connection-state=new dst-port=5000,5001 jump-target=check-bruteforce protocol=udp
    
    Количество предполагаемых клиентов не превышает пяти, и пяти ступенек вполне хватит для логина всех, что бы при возможном одновременном подключении не попасть в бан.Поправьте, пожалуйста , новичка.
     
  20. Илья Князев

    Илья Князев Администратор Команда форума

    Похоже на правду )