В последнее время все кому не лень подбирают пароли к удаленному рабочему столу и другим открытым сервисам. Есть разные способы блокировки этого, например такой:
/ip firewall filter add action=reject chain=forward comment="Block RDP bruteforce" log=yes \ log-prefix="Blocked - " reject-with=icmp-network-unreachable \ src-address-list="Blocked bruteforcers" add action=add-src-to-address-list address-list="Blocked bruteforcers" \ address-list-timeout=60m chain=forward comment="RDP bruteforce stage4" \ connection-state=new dst-port=3389 log=yes log-prefix=\ "RDP BRUTEFORCE - " protocol=tcp src-address-list=rdp_bruteforce3 add action=add-src-to-address-list address-list=rdp_bruteforce3 \ address-list-timeout=15m chain=forward comment="RDP bruteforce stage3" \ connection-state=new dst-port=3389 log=yes log-prefix=\ "RDP BRUTEFORCE - STAGE3 - " protocol=tcp src-address-list=rdp_bruteforce2 add action=add-src-to-address-list address-list=rdp_bruteforce2 \ address-list-timeout=15m chain=forward comment="RDP bruteforce stage2" \ connection-state=new dst-port=3389 log=yes log-prefix=\ "RDP BRUTEFORCE - STAGE2 - " protocol=tcp src-address-list=rdp_bruteforce1 add action=add-src-to-address-list address-list=rdp_bruteforce1 \ address-list-timeout=15m chain=forward comment="RDP bruteforce stage1" \ connection-state=new dst-port=3389 log=yes log-prefix=\ "RDP BRUTEFORCE - STAGE1 -" protocol=tcp
Работает это таким образом.
При попытке подключения атакующий ip записывается в список rdp_bruteforce1 на указанный в address-list-timeout промежуток времени. При второй попытке подключения этот ip записывается в rdp_bruteforce2, при третьей — rdp_bruteforce3. При следующих попытках он попадает в список Blocked bruteforcers и блокируется.
Надо обратить внимание, что в dst-port должен указываться не внешний порт подключения, а конечный порт, на который пробрасывается соединение. Допустим, если для подключения по RDP используется внешний нестандартный порт 12345, который пробрасывается на порт 3389 внутреннего сервера, то в dst-port нужно указать 3389, а не 12345. Подробнее тут.
Спасибо , помогло )
А как сделать чтобы блокировались только ip из вне а то мне пришлось отключить эти правила так как они блокируют и локальных пользователей из внутренний сети которые работают по RDP и иногда путают пароли))
Очень просто: создаем белый список адресов в Firewall — Address Lists.
В самом первом правиле «RDP bruteforce stage1» добавляем на вкладке Advanced в поле Src. Address List наш созданный белый список, и ставим перед ним отрицание (восклицательный знак). Т.е. это правило не будет выполняться, если адрес присутствует в белом списке.
Как добавить несколько адресов в белый список? Там можно всего один записать.
В список можно записать сколько угодно адресов. В Firewall->Address Lists нажимаете +, и в выпадающем списке Name выбираете список, в который нужно добавить адрес.
Ещё проще, это указать порт, на котором надо ловить пакеты. List WAN
Спасибо!
Подборы прекратились
Блочит IP, рдп не цепляется
Спасибо, работает)
Спасибо вам огромное. Всё запахало как надо.
Работает, но не полностью — все равно проходят подборы, да и не добавляются ip в полную блокировку.
прошивка 6.47.2 — IP адрес попадает сразу во все rdp_bruteforce сразу 🙁
Все работает, супер!
Глупый вопрос, я введу этот код и если что-то пойдет не так, то как его можно будет отменить/удалить))? С Микротиком особо дела не имел.
Или создается новое правило и его можно будет отключить в веб-режиме?
Объясните пожалуйста. Если на роутере на DST NAT стоит проброс порта на определённый компьютер по RDP, то почему в правиле МАНГЛ работает форвард ? Если по всем канонам идёт трафик инпут на определённый внешний адрес с переводом на внутренний компьютер ? ???
Может в правилах нужно порядок поменять? Сперва первый этап, потом второй и так далее и в конце блокировка, а то получается сперва блокировка всего а потом 4-3-2-1 шаги..